more cases added
[libfirm] / ir / be / test / bf_localinit.c
index 06d5100..7e3237e 100644 (file)
@@ -1,4 +1,5 @@
 #include <stdlib.h>
+#include <string.h>
 #include "dumpmem.h"
 
 struct bf {
@@ -6,7 +7,7 @@ struct bf {
        unsigned x:13;
        unsigned y:17;
        unsigned z:3;
-       char c;
+       unsigned char c;
        double d;
        unsigned w:9;
 };
@@ -19,7 +20,8 @@ struct bf {
 int main(int argc, char **argv) {
        struct bf mybf = { 0xffffffff, 4097, 65537, 5, 0xff, 4.5, 257 };
 
-       dumpMem(&mybf, sizeof mybf);
+       if(argc > 1)
+               dumpMem(&mybf, sizeof mybf);
        printf("sizeof mybf %d\n", sizeof mybf);
        printf("offset a = %d\n", offsetof(struct bf, a));
        printf("offset c = %d\n", offsetof(struct bf, c));
@@ -29,7 +31,7 @@ int main(int argc, char **argv) {
        printf("unsigned x:13 (expected 4097): %u\n", mybf.x);
        printf("unsigned y:17 (expected 65537): %u\n", mybf.y);
        printf("unsigned y:3 (expected 5): %u\n", mybf.z);
-       printf("char c (expected ff): %x\n", mybf.c);
+       printf("unsigned char c (expected ff): %x\n", mybf.c);
        printf("double d (expected 4.5): %.1f\n", mybf.d);
        printf("unsigned w:9 (expected 257): %u\n", mybf.w);