http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58201
Bug ID: 58201 Summary: [g++] Undefined reference to `B::B(void const**)' Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: aivchenk at gmail dot com Testcase: ----ABC.h----- class A { protected: A(); virtual ~A(); }; class B : virtual public A { public: B(); virtual ~B(); }; class C { private: class C2 : public B { public: C2(); virtual ~C2(); }; }; ----AB.cpp----- #include "ABC.h" A::A() { } A::~A() { } B::B() { } B::~B() { } ----C.cpp------ #include "ABC.h" C::C2::C2(){ } C::C2::~C2() { } int main () { return 0; } --------------- Compiling the usual way: g++ AB.cpp -c g++ C.cpp -c g++ AB.o C.o C.o: In function `C::C2::C2()': C.cpp:(.text+0x23): undefined reference to `B::B(void const**)' C.o: In function `C::C2::C2()': C.cpp:(.text+0x8d): undefined reference to `B::B(void const**)' C.o: In function `C::C2::~C2()': C.cpp:(.text+0x129): undefined reference to `B::~B(void const**)' C.o: In function `C::C2::~C2()': C.cpp:(.text+0x1c3): undefined reference to `B::~B(void const**)' collect2: error: ld returned 1 exit status We cannot right now build the Android Open Source Tree with the trunk because of that bug. It was introduced with this commit: Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Jul 25 17:10:21 2013 +0000 * cgraph.c (release_function_body): Break out from ... (cgraph_release_function_body): ... this one; also release DECL_RESULT and DECL_ARGUMENTS. * ipa-cp.c (get_replacement_map): Add parm_num argument; do not set old_tree in the map. (create_specialized_node): Update. * lto-cgraph.c (output_node_opt_summary): Do not translate old_tree into index. * cgraphclones.c (cgraph_create_virtual_clone): Do not copy DECL_ARGUMENTS, DECL_INITIAL and DECL_RESULT. * ipa-prop.c (ipa_populate_param_decls): Look for origin of clones. * tree-inline.c (initialize_cfun): Initialize DECL_ARGUMENTS and DECL_RESULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201251 138bc75d-0d04-0410-961f-82ee72b054a4