I have below code and try to bring under unit test with CppUtest in Linux.
1 typedef union { 2 unsigned char Byte; 3 struct { 4 byte :1; 5 byte :1; 6 byte :1; 7 byte :1; 8 } Bits; 9 10 } foo;
And got compile error: "error: type of bit-field ‘<anonymous>’ is a GCC extension [-pedantic] " with gcc.
Had a searching and it's said in gcc it's not supported. We can use g++ if we can to compile such kind of code.
See more in http://stackoverflow.com/questions/1972003/how-to-use-anonymous-structs-unions-in-c
Workaround I applied to the makefile is to force CppUtest use g++ for .c files: by adding CC = g++ in it.