https://bugs.llvm.org/show_bug.cgi?id=47683
Bug ID: 47683
Summary: Constructor for template class codegen'd multiple
times with dllexport explicit instantiation
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedb...@nondot.org
Reporter: aeuba...@google.com
CC: h...@chromium.org, htmldevelo...@gmail.com,
llvm-bugs@lists.llvm.org, r...@google.com
$ cat /tmp/repro.cc
class a {
public:
a();
};
class b;
template <class> class c {
c() = default;
a d;
};
extern template class c<b>;
template class __declspec(dllexport) c<b>;
$ clang -cc1 -triple x86_64-pc-windows-msvc19.16.0 -fms-compatibility
-emit-llvm /tmp/repro.cc
clang: ../../clang/lib/CodeGen/CodeGenFunction.cpp:694: void
clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl,
clang::QualType, llvm::Function *, const clang::CodeGen::CGFunctionInfo &,
const clang::CodeGen::FunctionArgList &, clang::SourceLocation,
clang::SourceLocation): Assertion `CurFn->isDeclaration() && "Function already
has body?"' failed.
https://bugs.llvm.org/show_bug.cgi?id=42857 seems related.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs