chibicc icon indicating copy to clipboard operation
chibicc copied to clipboard

initialization only inits first 2 bytes

Open youbitchoc opened this issue 1 year ago • 1 comments

initialization uses store to load the initial value, but store only loads the first two bytes, so the rest of the struct is left uninitialized.

typedef struct {
	char a, b;
	int c;
} Ty2;

Ty2 foo = { 1, 2, 3 }; // only initializes a and b (first two bytes), c left uninitialized
Ty2 bar; bar = { 4, 5, 6 }; // assignment works though

just documenting this here in case i forget to circle back to it, ideas for deduplicating assign/store stuff greatly appreciated

youbitchoc avatar Aug 11 '24 09:08 youbitchoc