Hi.
I don't know if this is known, but tinycc seems to have some issues
zero-initializing bitfields.
Here's an example program:
#include <stdio.h>
#include <assert.h>
#include <stdint.h>
typedef struct TYPE TYPE;
struct TYPE { uint32_t bit:1,bits7:7,bits24:24; int32_t upper; };
int main()
{
TYPE x = (TYPE){.bit=1};
fprintf(stderr,"%u\n", x.bits7); //tends to be nonzero!
fprintf(stderr,"%u\n", x.bits24); //tends to be nonzero!
assert(x.upper==0); //OK
assert(x.bits24==0); //tends to fail on tcc
assert(x.bits7==0); //tends to fail on tcc
}
Regards,
Petr Skocik
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel