This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
optimization/4280: Misplaced warnings with optimized `foo / 0.0'
- To: gcc-gnats at gcc dot gnu dot org
- Subject: optimization/4280: Misplaced warnings with optimized `foo / 0.0'
- From: Hallvard B Furuseth <h dot b dot furuseth at usit dot uio dot no>
- Date: Mon, 10 Sep 2001 02:12:55 +0200
>Number: 4280
>Category: optimization
>Synopsis: Misplaced warnings with optimized `foo / 0.0'
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Sep 09 17:16:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Hallvard B Furuseth
>Release: 3.0.1
>Organization:
University of Oslo
>Environment:
System: SunOS bombur.uio.no 5.8 Generic_108528-03 sun4u sparc SUNW,Ultra-5_10
Architecture: sun4
host: sparc-sun-solaris2.8
build: sparc-sun-solaris2.8
target: sparc-sun-solaris2.8
configured with: ../gcc-3.0.1/configure --prefix=/usit/bombur/hbf --program-suffix=3 --enable-version-specific-runtime-libs --enable-languages=c --quiet
>Description:
Warnings `division: NaN - producing operation'
and `division: function singularity' form optimized code
get the wrong line numbers. (The line of the closing
brace of the end of the function.)
`gcc -W' produces some correctly placed warnings.
`gcc -W -O' produces some additional misplaced warnings.
The warnings which `gcc -W' also produced, are not misplaced.
>How-To-Repeat:
$ cat a.c
double a, b, c, d, e, f;
void y()
{
double zero = 0.0;
/* Misplaced warnings: */
a = zero / zero; /* "line 15" NaN */
b = 0.0 / zero; /* "line 15" NaN */
c = zero / 0.0; /* "line 15" NaN */
d = 1.0 / zero; /* "line 15" singularity */
/* Correctly placed warnings: */
e = 0.0 / 0.0; /* line 13 NaN */
f = 1.0 / 0.0; /* line 14 singularity */
} /* line 15 */
/* Correctly placed warnings: */
double g = 0.0 / 0.0; /* line 18 NaN */
double h = 1.0 / 0.0; /* line 19 singularity */
$ gcc3 -W -S a.c
a.c: In function `y':
a.c:13: warning: division: NaN - producing operation
a.c:14: warning: division: function singularity
a.c: At top level:
a.c:18: warning: division: NaN - producing operation
a.c:19: warning: division: function singularity
$ gcc3 -W -O -S a.c
a.c: In function `y':
a.c:13: warning: division: NaN - producing operation
a.c:14: warning: division: function singularity
a.c:15: warning: division: NaN - producing operation
a.c:15: warning: division: NaN - producing operation
a.c:15: warning: division: NaN - producing operation
a.c:15: warning: division: function singularity
a.c: At top level:
a.c:18: warning: division: NaN - producing operation
a.c:19: warning: division: function singularity
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: