Using the 20060401 g++ 4.2 snapshot, built with checking enabled:

$ ~/local/gcc-4.2-20060401/bin/g++ -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /lab/rjpeters/build/gcc-4.2-20060401/configure
--enable-languages=c,c++ --prefix=/lab/rjpeters/local/gcc-4.2-20060401
--enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 4.2.0 20060401 (experimental)

I get an ICE with the following code; the ICE is apparently triggered by the
invalid 'xxx' bogus code, but as I was whittling down the test case I found
that any number of pieces of invalid code would also trigger the bug. The ICE
appears at -O1 or greater, but not at -O0.

No ICE using 4.1.0 or 3.4.4; both just correctly report the error in the test
code.

$ cat test.ii
struct A {
  A();
};

void f();

struct B {
  virtual ~B() {
    A a[1];
    f();
  }
};

struct C : B {
};

C c;
xxx // <--- this triggers the ICE

$ ~/local/gcc-4.2-20060401/bin/g++ -c test.ii -o /dev/null  -O1
test.ii:18: error: expected constructor, destructor, or type conversion at end
of input
test.ii:19: error: inlined_to pointer is set but no predecesors found
virtual C::~C()/21: (inline copy in void __tcf_0(void*)/8)
availability:available(6) 35 insns (73 after inlining) tree externally_visible
finalized inlinable
  called by:
  calls: B::~B()/1 (inlined) void operator delete(void*)/18
test.ii:19: internal compiler error: verify_cgraph_node failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

$ ~/local/gcc-4.2-20060401/bin/g++ -c test.ii -o /dev/null  -O1
test.ii:18: error: expected constructor, destructor, or type conversion at end
of input
test.ii:19: error: inlined_to pointer is set but no predecesors found
virtual C::~C()/21: (inline copy in void __tcf_0(void*)/8)
availability:available(6) 35 insns (73 after inlining) tree externally_visible
finalized inlinable
  called by:
  calls: B::~B()/1 (inlined) void operator delete(void*)/18
test.ii:19: internal compiler error: verify_cgraph_node failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Thanks for everyone's efforts on the compiler -- it's a great tool and I enjoy
using it.

Cheers,
Rob


-- 
           Summary: ICE-on-invalid "verify_cgraph_node failed"
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rjpeters at klab dot caltech dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26979

Reply via email to