[Bug c++/25689] New: missed diagnostic about assignment used as truth value.
pluto at agmk dot net
gcc-bugzilla@gcc.gnu.org
Fri Jan 6 09:45:00 GMT 2006
[ foo.cpp ]
struct Var {
operator int() const;
Var& operator = (int);
bool operator == (int);
};
bool operator == (int, Var&);
void foo(Var var)
{
if (var = 0); // if (var.operator=(0))
}
[ foo.cpp.t03.gimple ]
void foo(Var) (var)
{
bool retval.0;
struct Var & D.1768;
int D.1769;
D.1768 = operator= (&var, 0);
D.1769 = operator 1 (D.1768);
retval.0 = D.1769 != 0;
}
--
Summary: missed diagnostic about assignment used as truth value.
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pluto at agmk dot net
GCC build triplet: i686-pld-linux
GCC host triplet: i686-pld-linux
GCC target triplet: i686-pld-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25689
More information about the Gcc-bugs
mailing list