[LLVMbugs] [Bug 16134] New: PointerUnion.h:129 Assertion `is<T>() && "Invalid accessor called"' failed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 24 05:29:03 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=16134

            Bug ID: 16134
           Summary: PointerUnion.h:129 Assertion `is<T>() && "Invalid
                    accessor called"' failed
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: aedla at google.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

This invalid code hits an assertion:

template <class P> struct S
template <> static S<Q>::f()

clang:
/usr/local/google/chrome/src/third_party/llvm/include/llvm/ADT/PointerUnion.h:129:
T llvm::PointerUnion<llvm::PointerUnion<clang::FunctionTemplateDecl *,
clang::MemberSpecializationInfo *>,
llvm::PointerUnion<clang::FunctionTemplateSpecializationInfo *,
clang::DependentFunctionTemplateSpecializationInfo *> >::get() const [PT1 =
llvm::PointerUnion<clang::FunctionTemplateDecl *,
clang::MemberSpecializationInfo *>, PT2 =
llvm::PointerUnion<clang::FunctionTemplateSpecializationInfo *,
clang::DependentFunctionTemplateSpecializationInfo *>, T =
llvm::PointerUnion<clang::FunctionTemplateSpecializationInfo *,
clang::DependentFunctionTemplateSpecializationInfo *>]: Assertion `is<T>() &&
"Invalid accessor called"' failed.
0  clang     0x0000000001e8c825 llvm::sys::PrintStackTrace(_IO_FILE*) + 37
1  clang     0x0000000001e8cd13
2  libc.so.6 0x00007fa68ba614a0
3  libc.so.6 0x00007fa68ba61425 gsignal + 53
4  libc.so.6 0x00007fa68ba64b8b abort + 379
5  libc.so.6 0x00007fa68ba5a0ee
6  libc.so.6 0x00007fa68ba5a192
7  clang     0x0000000000a6cc93
clang::Sema::ActOnFunctionDeclarator(clang::Scope*, clang::Declarator&,
clang::DeclContext*, clang::TypeSourceInfo*, clang::LookupResult&,
llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&) + 16547
8  clang     0x0000000000a67f67 clang::Sema::HandleDeclarator(clang::Scope*,
clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) +
3207
9  clang     0x0000000000c2cbd8
clang::Sema::ActOnTemplateDeclarator(clang::Scope*,
llvm::MutableArrayRef<clang::TemplateParameterList*>, clang::Declarator&) + 24
10 clang     0x000000000096d146
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&) + 70
11 clang     0x00000000009c59fb
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int,
clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 2635
12 clang     0x00000000009c4b68
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 824
13 clang     0x00000000009c45f1
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 257
14 clang     0x0000000000968233
clang::Parser::ParseDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, unsigned
int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 867
15 clang     0x000000000095acd5
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 1749
16 clang     0x000000000095a580
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 304
17 clang     0x0000000000956ae6 clang::ParseAST(clang::Sema&, bool, bool) + 454
18 clang     0x000000000080a452 clang::CodeGenAction::ExecuteAction() + 194
19 clang     0x00000000006938c1 clang::FrontendAction::Execute() + 113
20 clang     0x00000000006731dd
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 909
21 clang     0x000000000065a667
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3031
22 clang     0x00000000006512e5 cc1_main(char const**, char const**, char
const*, void*) + 693
23 clang     0x000000000065796b main + 7099
24 libc.so.6 0x00007fa68ba4c76d __libc_start_main + 237
25 clang     0x0000000000650f69

$ clang++ --version
clang version 3.3 (trunk 179138)
Target: x86_64-unknown-linux-gnu
Thread model: posix

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20130524/a1edc535/attachment.html>


More information about the llvm-bugs mailing list