https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81371
Bug ID: 81371 Summary: Too much C++ templates output in output Product: gcc Version: 5.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jg at jguk dot org Target Milestone: --- Hello Could G++ store the function symbols in their form as per function declaration? The symbol LD seems to be given the whole inheritance for template params, so all the templates are output for a missing function void myfunc(string s1); Expected something like: $ g++ -Wall -o main main.cpp /tmp/ccS79eZp.o: In function `main': main.cpp:(.text+0x41): undefined reference to `myfunc(std::string)' collect2: error: ld returned 1 exit status What I actually got: $ g++ -Wall -o main main.cpp /tmp/ccS79eZp.o: In function `main': main.cpp:(.text+0x41): undefined reference to `myfunc(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' collect2: error: ld returned 1 exit status