------- Comment #3 from rguenth at gcc dot gnu dot org 2008-03-19 19:56 ------- -O vs. -O -fstrict-aliasing. This is another flow-insensitive alias problem.
diff -u t.c.099t.optimized t.c.099t.optimizedx --- t.c.099t.optimized 2008-03-19 20:45:05.000000000 +0100 +++ t.c.099t.optimizedx 2008-03-19 20:45:00.000000000 +0100 @@ -16,9 +16,9 @@ Analyzing Edge Insertions. cli_chm_prepare_file (metadata) { - char * temp.77; uint64_t section; char * D.1574; + char * D.1572; char * D.1565; <bb 2>: @@ -30,12 +30,10 @@ metadata->chunk_data = D.1565 + (char *) (unsigned int) metadata->chunk_offset; <L3>:; - D.1574 = metadata->chunk_data + 20B; - metadata->chunk_current = D.1574; - temp.77 = D.1574 + 1B + (char *) (uint64_t) *D.1574; - metadata->chunk_current = temp.77; - section = (uint64_t) *temp.77; - metadata->chunk_current = temp.77 + 1B; + D.1572 = metadata->chunk_data + 20B; + D.1574 = D.1572 + (char *) (uint64_t) *D.1572; + section = (uint64_t) *D.1574; + metadata->chunk_current = D.1574 + 1B; if (section > 1) goto <L9>; else goto <L10>; <L9>:; -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |alias, wrong-code Known to fail| |4.2.3 Known to work| |4.1.3 4.3.0 Last reconfirmed|0000-00-00 00:00:00 |2008-03-19 19:56:20 date| | Summary|gcc-4.2 -O1 -fstrict- |[4.2 Regression] gcc-4.2 -O1 |aliasing misoptimization |-fstrict-aliasing | |misoptimization Target Milestone|--- |4.2.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35643