Как мне заставить анонимное поведение struct / union активироваться -fplan9-extensions
в GCC для работы в Clang?
Я получаю ошибки при назначении членов анонимного использования назначенных инициализаторов, и я не получаю бесплатное приведение к типу анонимного члена. Обе они работают в GCC с активированным вышеупомянутым расширением.
typedef struct {int hi;} Embedded;
typedef struct {Embedded;} Encapsulating;
Encapsulating poo = {.hi = 3;};
error: field designator 'hi' does not refer to any field in type 'Encapsulating'
void takes_embedded(Embedded *m);
takes_embedded(&poo);
warning: incompatible pointer types passing 'Encapsuating *' to parameter of type 'Embedded *'