[Bug c++/81371] New: Too much C++ templates output in output

jg at jguk dot org gcc-bugzilla@gcc.gnu.org
Mon Jul 10 05:33:00 GMT 2017


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


More information about the Gcc-bugs mailing list