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

Reply via email to