fuhsnn / slimcc

C11 compiler with GNU extensions for x86-64 Linux, working towards C23
MIT License
34 stars 4 forks source link

Union initialization issues #19

Closed fuhsnn closed 11 months ago

fuhsnn commented 11 months ago

These are valid init patterns that chibicc rejects.

int fn(void) {
  union U { struct {char a,b;}; };

  // trailing comma in initializer list
  union U u0 = {.a = 4,};

  // multiple initializers for inner struct member
  union U u1 = {.a = 7, 8};
  union U u2 = {.b = 4, .a = 3};

  // direct assignment
  union U u3; 
  union U u4 = u3;
}