diff options
| author | Michael Matz <matz@suse.de> | 2012-04-15 01:06:46 +0200 |
|---|---|---|
| committer | Michael Matz <matz@suse.de> | 2012-04-18 20:57:13 +0200 |
| commit | 5c0a2366a3bb5bdeb3b3617389d4584375d5bfbc (patch) | |
| tree | a4c54ec32646daf3b3bb5a947a40299713d45563 /tests | |
| parent | 6471ec0a2bd523edd4bbc79277a33d0b853940fa (diff) | |
| download | tinycc-5c0a2366a3bb5bdeb3b3617389d4584375d5bfbc.tar.gz tinycc-5c0a2366a3bb5bdeb3b3617389d4584375d5bfbc.tar.bz2 | |
Fix bitfield loads into char/short.
Removes a premature optimization of char/short loads
rewriting the source type. It did so also for bitfield
loads, thereby removing all the shifts/maskings.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/tcctest.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/tcctest.c b/tests/tcctest.c index 723adc1..afb0825 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -1461,6 +1461,8 @@ void c99_bool_test(void) void bitfield_test(void) { int a; + short sa; + unsigned char ca; struct sbf1 { int f1 : 3; int : 2; @@ -1482,6 +1484,9 @@ void bitfield_test(void) st1.f5++; printf("%d %d %d %d %d\n", st1.f1, st1.f2, st1.f3, st1.f4, st1.f5); + sa = st1.f5; + ca = st1.f5; + printf("%d %d\n", sa, ca); st1.f1 = 7; if (st1.f1 == -1) |
