LINUX.ORG.RU

История изменений

Исправление metaprog, (текущая версия) :

Кстати, вспомнил главную проблему. Она в сложных рекурсивных типах.

union mpsd_2_ {
__uint32_t element0;
struct mpsd_0_ element1;
};
struct mpsd_1_ {
char element0;
union mpsd_2_ element1;
};
struct mpsd_0_ {
struct mpsd_1_ element0;
struct mpsd_1_ element1;
int element2;
};

int main(int argc, char **argv){
struct mpsd_0_ mp_0_structure_constant_2871949313530728449_0;

}

Исходная версия metaprog, :

Кстати, вспомнил главную проблему. Она в сложных рекурсивных типах.

struct mpsd_0_;
struct mpsd_1_;
struct mpsd_2_;

union mpsd_2_ {
__uint32_t element0;
struct mpsd_0_ element1;
};
struct mpsd_1_ {
char element0;
union mpsd_2_ element1;
};
struct mpsd_0_ {
struct mpsd_1_ element0;
struct mpsd_1_ element1;
int element2;
};

int main(int argc, char **argv){
struct mpsd_0_ mp_0_structure_constant_2871949313530728449_0;

}