------- Comment #2 from rguenth at gcc dot gnu dot org 2010-07-23 10:25 ------- Reduced testcase:
struct JSContext; struct JSObject; class WorkerHooks { virtual JSObject *newGlobalObject(JSContext *cx) = 0; }; int shell(JSContext *cx, int argc, char **argv, char **envp) { class ShellWorkerHooks : public WorkerHooks { JSObject *newGlobalObject(JSContext *cx) { } }; ShellWorkerHooks hooks; } > ./g++ -B. -flto -r -nostdlib -g js.3.ii lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22271 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: ./g++ returned 1 exit status collect2: lto-wrapper returned 1 exit status #1 0x00000000005d46a8 in dwarf2out_finish (filename=0x1664040 "js.3.o") at /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:22269 22269 gcc_assert (context 22270 && (TREE_CODE (context) == FUNCTION_DECL 22271 || TREE_CODE (context) == NAMESPACE_DECL)); (gdb) p context->base.code $2 = RECORD_TYPE (gdb) call debug_generic_expr (node->created_for) __base_ctor (for ShellWorkerHooks) -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-07-23 10:25:17 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44950