[Bug c++/17041] New: [regression 3.5] Erroneous "suggest parentheses around assignment used as truth value" warning in template members.
carlo at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Aug 15 22:38:00 GMT 2004
The current CVS (20040813) gives a wrong warning that the compiler
never gave before.
>g++-cvs-3.5 -Wall -v -c test.cc
Reading specs from /usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/specs
Configured with: /usr/src/gcc/gcc-cvs-3.5/configure
--prefix=/usr/local/gcc-cvs-3.5 --enable-shared --with-gnu-as --with-gnu-ld
--enable-languages=c++ --enable-debug --enable-threads=posix --disable-checking
--with-system-zlib --enable-__cxa_atexit --host=i686-redhat-linux
Thread model: posix
gcc version 3.5.0 20040813 (experimental)
/usr/src/GNU/install/bin/../libexec/gcc/i686-redhat-linux/3.5.0/cc1plus -quiet
-v -iprefix /usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/
-D_GNU_SOURCE test.cc -quiet -dumpbase test.cc -mtune=pentiumpro -auxbase test
-Wall -version -o /tmp/ccVItywf.s
ignoring nonexistent directory
"/usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/../../../../i686-redhat-linux/include"
ignoring duplicate directory
"/usr/local/gcc-cvs-3.5/lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0"
ignoring duplicate directory
"/usr/local/gcc-cvs-3.5/lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0/i686-redhat-linux"
ignoring duplicate directory
"/usr/local/gcc-cvs-3.5/lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0/backward"
ignoring duplicate directory
"/usr/local/gcc-cvs-3.5/lib/gcc/i686-redhat-linux/3.5.0/include"
ignoring nonexistent directory
"/usr/local/gcc-cvs-3.5/lib/gcc/i686-redhat-linux/3.5.0/../../../../i686-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0
/usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0/i686-redhat-linux
/usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/../../../../include/c++/3.5.0/backward
/usr/src/GNU/install/bin/../lib/gcc/i686-redhat-linux/3.5.0/include
/usr/local/include
/usr/local/gcc-cvs-3.5/include
/usr/include
End of search list.
GNU C++ version 3.5.0 20040813 (experimental) (i686-redhat-linux)
compiled by GNU C version 3.5.0 20040813 (experimental).
GGC heuristics: --param ggc-min-expand=90 --param ggc-min-heapsize=113141
test.cc: In member function `void A<T>::f() [with T = int]':
test.cc:14: instantiated from here
test.cc:6: warning: suggest parentheses around assignment used as truth value
as -V -Qy -o test.o /tmp/ccVItywf.s
GNU assembler version 2.14.90.0.8 (i386-redhat-linux) using BFD version
2.14.90.0.8 20040114
Where 'test.cc' is:
>cat test.cc
template<typename T>
struct A {
void f()
{
int i;
if ((i = 0)) // LINE 6
return;
}
};
void g()
{
A<int> a;
a.f();
}
--
Summary: [regression 3.5] Erroneous "suggest parentheses around
assignment used as truth value" warning in template
members.
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Keywords: diagnostic
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carlo at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17041
More information about the Gcc-bugs
mailing list