[LLVMbugs] [Bug 14929] New: getLinkageAndVisibility(): Assertion `LV == computeLVForDecl(this, false)' failed
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Jan 11 17:26:24 PST 2013
http://llvm.org/bugs/show_bug.cgi?id=14929
Bug #: 14929
Summary: getLinkageAndVisibility(): Assertion `LV ==
computeLVForDecl(this, false)' failed
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: release blocker
Priority: P
Component: C++
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: clang at martinien.de
CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
Hi,
the following code causes an assert in a clang Release+Asserts build of trunk.
Similiar issues were fixed in Bug#14835 and bug#14898 but this example still
fails. I am setting it to release blocker since it worked previously and also
in an earlier post-3.2 version of trunk.
class TemplateArg1
{
};
class TemplateArg2
{
};
template <typename T1>
class Class1
{
void f1()
{
f2();
}
inline void f2()
{
}
};
template<>
inline void Class1<TemplateArg1>::f2()
{
}
template<>
inline void Class1<TemplateArg2>::f2()
{
}
template class __attribute__ ((visibility("default"))) Class1<TemplateArg1>;
0 clang 0x0000000001bf4125 llvm::sys::PrintStackTrace(_IO_FILE*) +
37
1 clang 0x0000000001bf4613
2 libpthread.so.0 0x00002b32ea3716b0
3 libc.so.6 0x00002b32eb138945 gsignal + 53
4 libc.so.6 0x00002b32eb139f21 abort + 385
5 libc.so.6 0x00002b32eb131810 __assert_fail + 240
6 clang 0x0000000000fce599
clang::NamedDecl::getLinkageAndVisibility() const + 121
7 clang 0x00000000007ca4ef
clang::CodeGen::CodeGenModule::SetFunctionAttributes(clang::GlobalDecl,
llvm::Function*, bool) + 255
8 clang 0x00000000007cbe1a
clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef,
llvm::Type*, clang::GlobalDecl, bool, llvm::Attribute) + 362
9 clang 0x00000000007cdbda
clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::GlobalDecl,
llvm::Type*, bool) + 106
10 clang 0x000000000084d50e
clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(clang::CXXMemberCallExpr
const*, clang::CodeGen::ReturnValueSlot) + 1390
11 clang 0x0000000000841a23
clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*,
clang::CodeGen::ReturnValueSlot) + 227
12 clang 0x000000000086a8d3
13 clang 0x0000000000865484
14 clang 0x000000000085f9fd
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 93
15 clang 0x000000000083513e
clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*,
clang::CodeGen::AggValueSlot, bool) + 174
16 clang 0x0000000000835089
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 57
17 clang 0x00000000008b6469
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 217
18 clang 0x00000000008bb57b
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 235
19 clang 0x00000000008b6c3f
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 351
20 clang 0x00000000008b63b5
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 37
21 clang 0x00000000008c6370
clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 672
22 clang 0x00000000007cd19f
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl)
+ 623
23 clang 0x00000000007ca7e5
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl) + 293
24 clang 0x00000000007cc796
clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) + 806
25 clang 0x00000000007d15c7
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 951
1. preproc2.cpp:33:76: current parser token ';'
2. preproc2.cpp:12:8: LLVM IR generation of declaration
'Class1<TemplateArg1>::f1'
3. preproc2.cpp:12:8: Generating code for declaration
'Class1<TemplateArg1>::f1'
4. preproc2.cpp:13:3: LLVM IR generation of compound statement ('{}')
--
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