diff options
Diffstat (limited to 'libmudflap/testsuite/libmudflap.c/pass22-frag.c')
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/pass22-frag.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libmudflap/testsuite/libmudflap.c/pass22-frag.c b/libmudflap/testsuite/libmudflap.c/pass22-frag.c new file mode 100644 index 00000000000..b092ea0b277 --- /dev/null +++ b/libmudflap/testsuite/libmudflap.c/pass22-frag.c @@ -0,0 +1,23 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +int main () +{ +struct foo { + unsigned base:8; + unsigned flag1:1; + unsigned flag2:3; + unsigned flag3:4; + char nothing[0]; +}; + +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER) + +struct foo* f = (struct foo *) malloc (offsetof (struct foo, nothing)); +f->base = 1; +f->flag1 = 1; +free (f); + + +return 0; +} |