[Bug c++/55698] New: gcc does not report warning if operator not used : control reaches end of non-void function [-Wreturn-type]
maxim.prohorenko at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Dec 14 21:07:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55698
Bug #: 55698
Summary: gcc does not report warning if operator not used :
control reaches end of non-void function
[-Wreturn-type]
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: maxim.prohorenko@gmail.com
Two unused functions, but only 1 warning report. But if comment "return 0;" in
main - 2 warnings.
gcc -Wall -Wno-long-long -pedantic ../gcc_operator/main.cpp -o main.o
../gcc_operator/main.cpp: In function 'int f(double)':
../gcc_operator/main.cpp:5:1: warning: control reaches end of non-void function
[-Wreturn-type]
-- main.cpp --
int f (double x)
{
if (x > 0 || x < 0)
return 1;
}
struct value
{
double x;
int operator== (const value &a)
{
if (a.x < x || a.x > x)
return 0;
}
};
int main (int argc, char **argv)
{
value a, b;
return 0;
return a == b;
}
-- cut --
gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
yum info gcc
Loaded plugins: langpacks, presto, refresh-packagekit
Installed Packages
Name : gcc
Arch : x86_64
Version : 4.7.2
Release : 8.fc18
Size : 32 M
More information about the Gcc-bugs
mailing list