[Bug c/36232] New: Optimizer removes condition check to terminate loop

2008-05-13 Thread nick dot spence at freescale dot com
dot gnu dot org ReportedBy: nick dot spence at freescale dot com GCC build triplet: gcc version 4.1.2 20070626 (Red Hat 4.1.2-13) GCC host triplet: i386-redhat-linux GCC target triplet: i386-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232

[Bug c/36232] Optimizer removes condition check to terminate loop

2008-05-13 Thread nick dot spence at freescale dot com
--- Comment #1 from nick dot spence at freescale dot com 2008-05-13 19:51 --- Created an attachment (id=15636) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15636&action=view) Example code source file Compile with 'gcc -Os test.c' or 'gcc -O2 test.c'

[Bug c/36232] Optimizer removes condition check to terminate loop

2008-05-13 Thread nick dot spence at freescale dot com
--- Comment #2 from nick dot spence at freescale dot com 2008-05-13 19:52 --- Created an attachment (id=15637) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15637&action=view) Compiler intermediate file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36232

[Bug c/36232] Optimizer removes condition check to terminate loop

2008-05-13 Thread nick dot spence at freescale dot com
--- Comment #3 from nick dot spence at freescale dot com 2008-05-13 19:56 --- The code has two loops, which compile correctly when no optimization, or -O1 are used, but the second loop becomes infinite if -Os or -O2 is used. .file "test.c"

[Bug c/36232] Optimizer removes condition check to terminate loop

2008-05-13 Thread nick dot spence at freescale dot com
--- Comment #6 from nick dot spence at freescale dot com 2008-05-13 20:41 --- 1) Since most bootloaders are written in C your view is very interesting but probably not shared by everyone else working with embedded software. 2) If the compiler now treats this as an undefined condition