https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83045
Bug ID: 83045
Summary: -Wreturn-type regression in C++
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: tschwinge at gcc dot gnu.org
CC: marxin at gcc dot gnu.org
Target Milestone: ---
Created attachment 42652
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42652&action=edit
rt.c
... starting with r254437 "Instrument function exit with __builtin_unreachable
in C++" (assuming that I bisected that correctly).
For "-Wreturn-type -x c" compilation of the attached rt.c, we see:
[...]/rt.c: In function 'test1':
[...]/rt.c:6:1: warning: control reaches end of non-void function
[-Wreturn-type]
}
^
[...]/rt.c: In function 'test2':
[...]/rt.c:13:1: warning: control reaches end of non-void function
[-Wreturn-type]
}
^
... whereas for "-Wreturn-type -x c++" compilation, we now only see:
[...]/rt.c: In function 'int test1(int)':
[...]/rt.c:6:1: warning: no return statement in function returning non-void
[-Wreturn-type]
}
^
..., but used to see (and with r254437 reverted again see):
[...]/rt.c: In function 'int test1(int)':
[...]/rt.c:6:1: warning: no return statement in function returning non-void
[-Wreturn-type]
}
^
[...]/rt.c: In function 'int test2(int)':
[...]/rt.c:13:1: warning: control reaches end of non-void function
[-Wreturn-type]
}
^