[LLVMbugs] [Bug 8386] New: template default parameter type of function default argument causes missing symbol
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Oct 15 06:36:04 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8386
Summary: template default parameter type of function default
argument causes missing symbol
Product: new-bugs
Version: trunk
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: Axel.Naumann at cern.ch
CC: llvmbugs at cs.uiuc.edu
$ cat t.cxx
#include <vector>
void Invoke(const std::vector<void*>& = std::vector<void*>());
void f() { Invoke(); }
$ clang++ -O2 -c t.cxx && nm t.o | grep __ZNSaIPvEC1Ev
U __ZNSaIPvEC1Ev
whereas e.g.:
$ g++ -O2 -c t.cxx && nm t.o | grep __ZNSaIPvEC1Ev
I'm pretty sure that g++ is correct here. This behavior of clang++ results in
an undefined symbol __ZNSaIPvEC1Ev when loading the library containing t.o.
Cheers, Axel.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list