This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/49615] New: internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
- From: "harald at gigawatt dot nl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 2 Jul 2011 20:30:37 +0000
- Subject: [Bug c++/49615] New: internal compiler error: verify_stmts failed / LHS in noreturn call with pointer-to-never-returning-member
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49615
Summary: internal compiler error: verify_stmts failed / LHS in
noreturn call with pointer-to-never-returning-member
Product: gcc
Version: 4.6.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: harald@gigawatt.nl
I came across this while reducing another testcase (which I'll report
separately):
$ cat bug.ii
template <class T>
static inline bool Dispatch (T* obj, bool (T::*func) ())
{
return (obj->*func) ();
}
class C
{
bool f (int);
bool g ();
};
bool C::f (int n)
{
bool b;
switch (n)
{
case 0:
b = Dispatch (this, &C::g);
case 1:
b = Dispatch (this, &C::g);
}
}
bool C::g ()
{
for (;;) { }
}
$ gcc -O bug.ii
bug.ii: In member function âbool C::f(int)â:
bug.ii:11:6: error: LHS in noreturn call
b_48 = C::g (D.2160_46);
bug.ii:11:6: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
$ gcc -v:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/pkgbuild/sys-devel/gcc-4.6.1/work/gcc-4.6.1/configure
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --prefix=/usr
--libdir='/usr/lib64' --sysconfdir=/etc --enable-languages=c,c++
--enable-checking --enable-build-with-cxx
Thread model: posix
gcc version 4.6.1 (GCC)