http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59622
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Further reduced: markus@x4 tmp % cat test.ii namespace { class A { public: virtual int *m_fn1(); int *m_fn2() { return m_fn1(); } }; A a; int b = *a.m_fn2(); } markus@x4 tmp % g++ -O2 -c /var/tmp/test.ii /var/tmp/test.ii: In member function ‘int* {anonymous}::A::m_fn2()’: /var/tmp/test.ii:5:8: error: LHS in noreturn call int *m_fn2() { return m_fn1(); } ^ D.2269 = __builtin_unreachable (this); /var/tmp/test.ii:5:8: internal compiler error: verify_gimple failed 0xb74c4f verify_gimple_in_seq(gimple_statement_base*) ../../gcc/gcc/tree-cfg.c:4521 0x99ffe1 gimplify_body(tree_node*, bool) ../../gcc/gcc/gimplify.c:8599 0x9a0399 gimplify_function_tree(tree_node*) ../../gcc/gcc/gimplify.c:8684 0x82eb97 analyze_function ../../gcc/gcc/cgraphunit.c:649 0x82fe4b analyze_functions ../../gcc/gcc/cgraphunit.c:1017 0x831475 finalize_compilation_unit() ../../gcc/gcc/cgraphunit.c:2271 0x62a57e cp_write_global_declarations() ../../gcc/gcc/cp/decl2.c:4431 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. markus@x4 tmp % clang++ -c /var/tmp/test.ii /var/tmp/test.ii:4:16: warning: function '<anonymous namespace>::A::m_fn1' has internal linkage but is not defined [-Wundefined-internal] virtual int *m_fn1(); ^ /var/tmp/test.ii:5:25: note: used here int *m_fn2() { return m_fn1(); } ^ 1 warning generated. markus@x4 tmp %