[LLVMbugs] [Bug 10402] New: [C++] aborts during compilation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 18 16:48:17 PDT 2011


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

           Summary: [C++] aborts during compilation
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++0x
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: pipping at exherbo.org
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


Created an attachment (id=6905)
 --> (http://llvm.org/bugs/attachment.cgi?id=6905)
delta-reduced input (not valid code but manages to make clang++ crash)

The following happens when colour_pretty_printer.cc is compiled with `clang++
-std=c++0x` and headers from libc++:

clang: DeclSpec.cpp:511: bool clang::DeclSpec::SetTypeSpecType(TST,
clang::SourceLocation, clang::SourceLocation, const char *&, unsigned int &,
ParsedType): Assertion `Rep && "no type provided!"' failed.
0  libLLVM-3.0svn.so 0x00007f1518ded8af
1  libLLVM-3.0svn.so 0x00007f1518dedc21
2  libpthread.so.0   0x00007f1517846ff0
3  libc.so.6         0x00007f1516b64605 gsignal + 53
4  libc.so.6         0x00007f1516b65905 abort + 389
5  libc.so.6         0x00007f1516b5d235 __assert_fail + 245
6  clang             0x0000000000cb3881
7  clang             0x0000000000c9beba
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool) + 5002
8  clang             0x0000000000c90215
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext) + 2245
9  clang             0x0000000000c9d4b5
clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject*) + 1221
10 clang             0x0000000000c9c6ee
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, unsigned int,
clang::Decl*) + 1246
11 clang             0x0000000000c9be1a
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool) + 4842
12 clang             0x0000000000c90215
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext) + 2245
13 clang             0x0000000000c9d4b5
clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject*) + 1221
14 clang             0x0000000000c7f069
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject&, clang::SourceLocation&,
clang::AccessSpecifier) + 73
15 clang             0x0000000000c7ee28
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 680
16 clang             0x0000000000c7eaf0
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 112
17 clang             0x0000000000c9d31a
clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject*) + 810
18 clang             0x0000000000c9c6ee
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, unsigned int,
clang::Decl*) + 1246
19 clang             0x0000000000c9be1a
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool) + 4842
20 clang             0x0000000000c90215
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext) + 2245
21 clang             0x0000000000c7f11a
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject&, clang::SourceLocation&,
clang::AccessSpecifier) + 250
22 clang             0x0000000000c7ee28
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 680
23 clang             0x0000000000c7eaf0
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 112
24 clang             0x0000000000c8f74c
clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&,
unsigned int, clang::SourceLocation&,
clang::Parser::ParsedAttributesWithRange&) + 252
25 clang             0x0000000000c86c77
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::Parser::ParsingDeclSpec*) + 1239
26 clang             0x0000000000c86774
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 212
27 clang             0x0000000000c6feaf clang::ParseAST(clang::Sema&, bool) +
335
28 clang             0x0000000000b6ce71 clang::CodeGenAction::ExecuteAction() +
641
29 clang             0x0000000000a89d07 clang::FrontendAction::Execute() + 231
30 clang             0x0000000000a773aa
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 506
31 clang             0x0000000000a599e0
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 640
32 clang             0x0000000000a4fa81 cc1_main(char const**, char const**,
char const*, void*) + 657
33 clang             0x0000000000a56180 main + 368
34 libc.so.6         0x00007f1516b50c7d __libc_start_main + 253
35 clang             0x0000000000a4f729
Stack dump:
0.      Program arguments: /usr/bin/clang -cc1 -triple x86_64-pc-linux-gnu
-emit-obj -mrelax-all -disable-free -main-file-name colour_pretty_printer.1.ii
-mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases
-munwind-tables -target-cpu x86-64 -target-linker-version 2.21.1
-momit-leaf-frame-pointer -coverage-file colour_pretty_printer.1.o
-resource-dir /usr/bin/../lib/clang/3.0 -std=c++0x -fdeprecated-macro
-ferror-limit 19 -fmessage-length 238 -fcxx-exceptions -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o colour_pretty_printer.1.o -x
c++-cpp-output colour_pretty_printer.1.ii 
1.      colour_pretty_printer.1.ii:7:31: current parser token ';'
2.      colour_pretty_printer.1.ii:2:1: parsing struct/union/class body
'basic_string'
3.      colour_pretty_printer.1.ii:6:27: parsing struct/union/class body
'bitset'
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal 2 (use -v to see
invocation)

As a result of running multidelta, the attached file is not valid C++ code.

This is with clang version 3.0 git-1fba8281b9fab5bf11c4083e88f31047413f94f2.

-- 
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