From 372f4b6a4ecca33191159328989dbd16d5fcc527 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 15 Aug 2016 18:54:11 +0200 Subject: Fix enum bitfields passed to stdarg functions VT_ENUM types use the .ref member and can be VT_BITFIELD, so we need to copy it as well. Simply do it always. --- tests/tcctest.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/tcctest.c') diff --git a/tests/tcctest.c b/tests/tcctest.c index 8f1fbf4..f8e2040 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -602,11 +602,16 @@ enum test { E5 = 1000, }; +struct S_enum { + enum {E6 = 42, E7, E8} e:8; +}; void enum_test() { enum test b1; /* The following should give no warning */ unsigned *p = &b1; + struct S_enum s = {E7}; + printf("enum: %d\n", s.e); printf("enum:\n%d %d %d %d %d %d\n", E0, E1, E2, E3, E4, E5); b1 = 1; -- cgit v1.3.1