Commit c32d542a authored by Matthias Braun's avatar Matthias Braun
Browse files

improve tests

parent b1b98c1e
#include "dumpmem.h"
struct bf {
int a;
unsigned x:13;
unsigned y:17;
unsigned z:3;
char c;
double d;
unsigned w:9;
int a;
unsigned x:13;
unsigned y:17;
unsigned z:3;
char c;
double d;
unsigned w:9;
};
struct bf mybf = { 0xffffffff, 4097, 65537, 5, 0xff, 4.5, 257 };
int main(void) {
int main(int argc, char **argv) {
//dumpMem(&mybf, sizeof mybf);
//printf("sizeof mybf %d\n", sizeof mybf);
if(argc > 1) {
dumpMem(&mybf, sizeof mybf);
printf("sizeof mybf %d\n", sizeof mybf);
}
printf("int a (expected -1): %d\n", mybf.a);
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("double d (expected 4.5): %.1f\n", mybf.d);
printf("unsigned w:9 (expected 257): %u\n", mybf.w);
printf("int a (expected -1): %d\n", mybf.a);
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("double d (expected 4.5): %.1f\n", mybf.d);
printf("unsigned w:9 (expected 257): %u\n", mybf.w);
return 0;
return 0;
}
#include "dumpmem.h"
struct bf {
int a;
unsigned x:13;
unsigned y:17;
unsigned z:3;
char c;
double d;
unsigned w:9;
int a;
unsigned x:13;
unsigned y:17;
unsigned z:3;
char c;
double d;
unsigned w:9;
};
#ifdef offsetof
#undef offsetof
#endif
#define offsetof(TYPE, MEMB) ((size_t) &((TYPE *)0)->MEMB)
int main(void) {
struct bf mybf = { 0xffffffff, 4097, 65537, 5, 0xff, 4.5, 257 };
int main(int argc, char **argv) {
struct bf mybf = { 0xffffffff, 4097, 65537, 5, 0xff, 4.5, 257 };
#if 0
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));
printf("offset d = %d\n", offsetof(struct bf, d));
#endif
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));
printf("offset d = %d\n", offsetof(struct bf, d));
}
printf("int a (expected -1): %d\n", mybf.a);
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("double d (expected 4.5): %.1f\n", mybf.d);
printf("unsigned w:9 (expected 257): %u\n", mybf.w);
printf("int a (expected -1): %d\n", mybf.a);
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("double d (expected 4.5): %.1f\n", mybf.d);
printf("unsigned w:9 (expected 257): %u\n", mybf.w);
return 0;
return 0;
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment