[LLVMbugs] [Bug 8821] New: clang crashes when compiling webkit

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Dec 19 15:25:59 PST 2010


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

           Summary: clang crashes when compiling webkit
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu


Reduced test case:


dhcp-172-19-253-91:WebCore.gyp thakis$ cat tmp.cpp 
#define WTF_MAKE_NONCOPYABLE(ClassName) \
    _Pragma("clang diagnostic push") \
    _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"") \
    _Pragma("clang diagnostic pop")

template<typename T> class RefCountedCustomAllocated {
    WTF_MAKE_NONCOPYABLE(RefCountedCustomAllocated);
};

dhcp-172-19-253-91:WebCore.gyp thakis$ ~/src/llvm-rw/Release+Asserts/bin/clang
-c tmp.cpp
Assertion failed: ((Loc.isInvalid() || DiagStatePoints.empty() ||
DiagStatePoints.back().Loc.isInvalid() ||
DiagStatePoints.back().Loc.isBeforeInTranslationUnitThan(Loc)) && "Previous
point loc comes after or is the same as new one"), function PushDiagStatePoint,
file
/Users/thakis/src/llvm-rw/tools/clang/lib/Basic/../../include/clang/Basic/Diagnostic.h,
line 231.
0  clang             0x0000000101483462 PrintStackTrace(void*) + 34
1  clang             0x00000001014842b3 SignalHandler(int) + 707
2  libSystem.B.dylib 0x00007fff8059635a _sigtramp + 26
3  libSystem.B.dylib 000000000000000000 _sigtramp + 2141625536
4  clang             0x0000000100019662 __assert_rtn + 66
5  clang             0x000000010089e7c8
clang::Diagnostic::popMappings(clang::SourceLocation) + 280
6  clang             0x00000001008903f9 (anonymous
namespace)::PragmaDiagnosticHandler::HandlePragma(clang::Preprocessor&,
clang::PragmaIntroducerKind, clang::Token&) + 2153
7  clang             0x000000010089098d
clang::PragmaNamespace::HandlePragma(clang::Preprocessor&,
clang::PragmaIntroducerKind, clang::Token&) + 333
8  clang             0x000000010089098d
clang::PragmaNamespace::HandlePragma(clang::Preprocessor&,
clang::PragmaIntroducerKind, clang::Token&) + 333
9  clang             0x00000001008899d6
clang::Preprocessor::Handle_Pragma(unsigned int, std::string const&,
clang::SourceLocation, clang::SourceLocation) + 166
10 clang             0x000000010088d308
clang::Preprocessor::Handle_Pragma(clang::Token&) + 1464
11 clang             0x0000000100884d70
clang::Preprocessor::ExpandBuiltinMacro(clang::Token&) + 1392
12 clang             0x000000010088630b
clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&,
clang::MacroInfo*) + 475
13 clang             0x0000000100894bad
clang::Preprocessor::HandleIdentifier(clang::Token&) + 477
14 clang             0x000000010089a517 clang::TokenLexer::Lex(clang::Token&) +
727
15 clang             0x0000000100865007
clang::Lexer::LexTokenInternal(clang::Token&) + 6503
16 clang             0x000000010088d35e
clang::Preprocessor::Handle_Pragma(clang::Token&) + 1550
17 clang             0x0000000100884d70
clang::Preprocessor::ExpandBuiltinMacro(clang::Token&) + 1392
18 clang             0x000000010088630b
clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&,
clang::MacroInfo*) + 475
19 clang             0x0000000100894bad
clang::Preprocessor::HandleIdentifier(clang::Token&) + 477
20 clang             0x000000010089a517 clang::TokenLexer::Lex(clang::Token&) +
727
21 clang             0x0000000100865007
clang::Lexer::LexTokenInternal(clang::Token&) + 6503
22 clang             0x000000010088d35e
clang::Preprocessor::Handle_Pragma(clang::Token&) + 1550
23 clang             0x0000000100884d70
clang::Preprocessor::ExpandBuiltinMacro(clang::Token&) + 1392
24 clang             0x000000010088630b
clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&,
clang::MacroInfo*) + 475
25 clang             0x0000000100894bad
clang::Preprocessor::HandleIdentifier(clang::Token&) + 477
26 clang             0x000000010089a517 clang::TokenLexer::Lex(clang::Token&) +
727
27 clang             0x0000000100886465
clang::Preprocessor::HandleMacroExpandedIdentifier(clang::Token&,
clang::MacroInfo*) + 821
28 clang             0x0000000100894bad
clang::Preprocessor::HandleIdentifier(clang::Token&) + 477
29 clang             0x0000000100861965
clang::Lexer::LexIdentifier(clang::Token&, char const*) + 757
30 clang             0x0000000100863a85
clang::Lexer::LexTokenInternal(clang::Token&) + 997
31 clang             0x000000010087075f
clang::Preprocessor::CachingLex(clang::Token&) + 303
32 clang             0x00000001002fd9ab
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, unsigned int,
clang::Decl*) + 1755
33 clang             0x00000001002ff251
clang::Parser::ParseClassSpecifier(clang::tok::TokenKind,
clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo
const&, clang::AccessSpecifier, bool) + 6017
34 clang             0x00000001002ee439
clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&,
clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier,
clang::Parser::DeclSpecContext) + 6425
35 clang             0x000000010032858b
clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int,
clang::Parser::ParsedTemplateInfo const&,
clang::Parser::ParsingDeclRAIIObject&, clang::SourceLocation&,
clang::AccessSpecifier) + 539
36 clang             0x000000010032b0de
clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 878
37 clang             0x000000010032b551
clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int,
clang::SourceLocation&, clang::AccessSpecifier) + 417
38 clang             0x00000001002f5bce
clang::Parser::ParseDeclaration(clang::ASTOwningVector<clang::Stmt*, 32u>&,
unsigned int, clang::SourceLocation&, clang::CXX0XAttributeList) + 1118
39 clang             0x00000001003370d1
clang::Parser::ParseExternalDeclaration(clang::CXX0XAttributeList,
clang::Parser::ParsingDeclSpec*) + 2737
40 clang             0x0000000100337490
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 112
41 clang             0x00000001002e2e0f clang::ParseAST(clang::Sema&, bool) +
159
42 clang             0x000000010029dbcc clang::CodeGenAction::ExecuteAction() +
60
43 clang             0x00000001000514c9
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 393
44 clang             0x0000000100023652
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1602
45 clang             0x000000010001b3ca cc1_main(char const**, char const**,
char const*, void*) + 586
46 clang             0x00000001000225f4 main + 4964
47 clang             0x0000000100019d44 start + 52
Stack dump:
0.    Program arguments: /Users/thakis/src/llvm-rw/Release+Asserts/bin/clang
-cc1 -triple x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free
-main-file-name tmp.cpp -pic-level 1 -mdisable-fp-elim -masm-verbose
-munwind-tables -target-cpu core2 -target-linker-version 97.17 -resource-dir
/Users/thakis/src/llvm-rw/Release+Asserts/bin/../lib/clang/2.9 -ferror-limit 19
-fmessage-length 247 -stack-protector 1 -fblocks -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o tmp.o -x c++ tmp.cpp 
1.    tmp.cpp:7:5 <Spelling=tmp.cpp:4:35>: current parser token ')'
2.    tmp.cpp:6:22: parsing struct/union/class body 'RefCountedCustomAllocated'
clang: error: unable to execute command: Illegal instruction
clang: error: clang frontend command failed due to signal 1 (use -v to see
invocation)

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