ПК
A{}.d и B{}.d - это поля а не структуры (типы). В данном случае нам гарантируется, что если мы приведём A к B, то их поля d будут храниться в одном и том же месте.Size: a a a
ПК
A{}.d и B{}.d - это поля а не структуры (типы). В данном случае нам гарантируется, что если мы приведём A к B, то их поля d будут храниться в одном и том же месте.AD
-fno-strict-aliasing и без выдал разные результаты для test1() — 8 и 9.AR
ПК
ПК
AR
A и B pointer-interconvertible по первому полю выше показано.AR
in и out не пересекается, вполне очевидно.ПК
A и B pointer-interconvertible по первому полю выше показано.A a и a.d are pointer-interconvertible потому что второй объект является первым полем первого.a.d и b.d не pointer-interconvertible потому что нет там правила для двух разных полей (если есть - процитируй).A a и B b не pointer-interconvertible, потому что транзитивность не выполняется.AR
SS
ПК
AR
A и double pointer-interconvertible?SS
A и double pointer-interconvertible?ПК
A и double pointer-interconvertible?A и double, а объекты A a и a.d. Конкретные два объектаAR
SS
ПК
AR
ioctl? С кучей недоопределённых структур?ПК
ioctl? С кучей недоопределённых структур?AR