Hallo,
doing some experiments about compiler support for anon structs, i found
an erroneous assignment in tcc.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct a {
int x;
};
struct b {
int y;
struct a;
} p1,p2;
int main() {
p1.x = 8;
printf("p1.y=%d p1.x=%d\n",p1.y,p1.x);
p2 = p1;
printf("p2.y=%d p2.x=%d\n",p2.y,p2.x);
p1 = (struct b) { .y=5, .x=3 }; // this works
printf("p1.y=%d p1.x=%d\n",p1.y,p1.x);
p2 = (struct b) { 5, 3 }; // this doesn't
printf("p2.y=%d p2.x=%d\n",p2.y,p2.x);
}
/*
Output :
p1.y=0 p1.x=8
p2.y=0 p2.x=8
p1.y=5 p1.x=3
p2.y=0 p2.x=0 <-- wrong output
*/
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel