#include #define GCTYPEBITS 3 # define DECL_ALIGN(type, var) \ type __attribute__ ((__aligned__ (1 << GCTYPEBITS))) var struct SS { char *ptr; long nr; }; DECL_ALIGN (struct SS, ss1); DECL_ALIGN (struct SS, ss2); DECL_ALIGN (struct SS, ss3); DECL_ALIGN (struct SS, ss4); int main () { int rem; rem = (unsigned long)&ss1 % 8; printf ("ss1: rem %d\n", rem); rem = (unsigned long)&ss2 % 8; printf ("ss2: rem %d\n", rem); rem = (unsigned long)&ss3 % 8; printf ("ss3: rem %d\n", rem); rem = (unsigned long)&ss4 % 8; printf ("ss4: rem %d\n", rem); return 0; }