[Bug c/25151] New: GCC issues warnings to a syntactically correct expression.
Put the following code in a file tt.c and compile tt.c with command "gcc -Wall tt.c", then the compiler will complain. int main() { void *pv; pv = (pv=0); return 0; } The compiler complains: tt.c: In function `main': tt.c:5: warning: operation on `pv' may be undefined The result of "gcc --version" is: gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-52) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The result of "cat /etc/issue" is: Red Hat Enterprise Linux AS release 3 (Taroon Update 5) Kernel \r on an \m The result of "uname -a" is: Linux AS3-A64 2.4.21-32.EL #1 SMP Fri Apr 15 21:02:58 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux In fact the type of pv has no matter with the warning. The warning will still show up if the type of pv is changed to int, short or double. -- Summary: GCC issues warnings to a syntactically correct expression. Product: gcc Version: 3.2.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mishabear at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25151
[Bug c/25151] GCC issues warnings to a syntactically correct expression.
--- Comment #2 from mishabear at gmail dot com 2005-11-29 07:44 --- Subject: Re: GCC issues warnings to a syntactically correct expression. In fact I want to do something lik this: int main() { int ia[10]; int *pi, i; i=10; pi = ( ((i>=0) && (i<10)) ? (pi=&(ia[i]), i=(i+1)%10, pi) : (pi=0) ); return 0; } and I don't think there are any semantical problems. 29 Nov 2005 06:28:10 -, pinskia at gcc dot gnu dot org <[EMAIL PROTECTED]>: > > > --- Comment #1 from pinskia at gcc dot gnu dot org 2005-11-29 06:28 > --- > Note the warning is to warn things like: > a = a++; > which is syntactically correct but semantically questionable. > > Note there are a lot of things which are syntactially correct but are > semantically questionable > > > -- > > pinskia at gcc dot gnu dot org changed: > > What|Removed |Added > > Keywords||diagnostic > Known to fail||4.0.3 > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25151 > > --- You are receiving this mail because: --- > You reported the bug, or are watching the reporter. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25151