The following snippet, if compiled with -Wall, complains about a missing return
statement, indicating GCC is erroneously folding the comparison to false.

int foo(void) { if (.0e200000000 == 0 ) return 1; }

-- 
           Summary: real.c incorrectly values zero with a large exponent
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: neil at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21781

Reply via email to