[Bug c++/44328] New: switch/case optimization produces an invalid jump table index

2010-05-29 Thread eblot dot ml at gmail dot com
lib/gcc/arm-eabi/:/usr/local/homebrew/Cellar/gcc-arm-ecos/4.5.0/lib/gcc/arm-eabi/4.5.0/../../../../arm-eabi/bin/ LIBRARY_PATH=/usr/local/homebrew/Cellar/gcc-arm-ecos/4.5.0/lib/gcc/arm-eabi/4.5.0/:/usr/local/homebrew/Cellar/gcc-arm-ecos/4.5.0/lib/gcc/arm-eabi/4.5.0/../../../../arm-eabi/lib/ CO

[Bug c++/44328] switch/case optimization produces an invalid jump table index

2010-05-30 Thread eblot dot ml at gmail dot com
--- Comment #1 from eblot dot ml at gmail dot com 2010-05-30 10:36 --- Update: This is a C++ only bug, the same code in C language does not exhibit the bug: # --- Building as C language --- $> arm-eabi-gcc -c -O2 -mcpu=arm926ej-s -o fopen.o -x c fopen.c -Wextra -save-temps &am

[Bug c++/44328] switch/case optimization produces an invalid jump table index

2010-05-30 Thread eblot dot ml at gmail dot com
--- Comment #3 from eblot dot ml at gmail dot com 2010-05-30 17:36 --- > I can confirm this wrong-code when gcc 4.4/4.5 targets arm-unknown-eabi. > However, a 4.4/4.5 running natively on arm-unknown-linux-gnueabi does not exhibit this behaviour. IIRC, Linux ABI does not follow t

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-04 Thread eblot dot ml at gmail dot com
--- Comment #4 from eblot dot ml at gmail dot com 2010-06-04 23:41 --- (fixing up description) -- eblot dot ml at gmail dot com changed: What|Removed |Added

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-17 Thread eblot dot ml at gmail dot com
--- Comment #6 from eblot dot ml at gmail dot com 2010-06-17 09:20 --- (In reply to comment #5) > Unfortunately I don't see this happening on the x86_64-linux -> > arm-linux-gnueabi cross compiler I built for myself. The generated > assembly has all four elements in t

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-17 Thread eblot dot ml at gmail dot com
--- Comment #7 from eblot dot ml at gmail dot com 2010-06-17 09:34 --- (In reply to comment #5) > Could you please first try to reproduce the bug with the > -fno-tree-switch-conversion swithch? Using GCC 4.5.0 (tarball) With -fno-tree-switch-conversion switch option switch, t

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-17 Thread eblot dot ml at gmail dot com
--- Comment #11 from eblot dot ml at gmail dot com 2010-06-17 16:34 --- (In reply to comment #10) > > With -fno-tree-switch-conversion switch option switch, the bug does not > > appear. > Really? See below... Below is the dump WITHOUT the `-fno-tree-switch-conver

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-17 Thread eblot dot ml at gmail dot com
--- Comment #13 from eblot dot ml at gmail dot com 2010-06-17 16:41 --- (In reply to comment #10) > When I use -fshort-enums my dumps specifically state unsigned char. > But I assume that char is actually unsigned here by default. AAPCS specifies the following (7.1.1) C/C+

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-20 Thread eblot dot ml at gmail dot com
--- Comment #14 from eblot dot ml at gmail dot com 2010-06-20 13:53 --- (In reply to comment #10) > I'd suggest generating all dumps, going through them and looking where and why the if statement disappears and how the switch statement evolved before being removed by switch co

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-20 Thread eblot dot ml at gmail dot com
--- Comment #16 from eblot dot ml at gmail dot com 2010-06-20 16:57 --- (In reply to comment #15) > ... I cannot reproduce the problem. I can send you either the compiler binaries (hosts: cygwin/linux i386/linux x64/darwin x64) or the configuration options to build the binutils and

[Bug c++/44328] switch/case optimization produces an invalid lookup table index

2010-06-20 Thread eblot dot ml at gmail dot com
--- Comment #17 from eblot dot ml at gmail dot com 2010-06-20 17:02 --- Created an attachment (id=20947) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20947&action=view) File output with -fdump-tree-all option switch Here are the requested tree dumps -- http://gcc.