https://llvm.org/bugs/show_bug.cgi?id=28902
Bug ID: 28902 Summary: Segmentation fault in TokenLexer::Lex Product: clang Version: 3.8 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Frontend Assignee: unassignedclangb...@nondot.org Reporter: vanya...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified On the following input clang crashes. float foo2; unsigned ((bar3 [foo2 < (unsigned (&)[)+(struct foo1 { } &)])) { } 0 libLLVMSupport.so.3.7 0x00007fc352e4218d llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 45 1 libLLVMSupport.so.3.7 0x00007fc352e41061 2 libc.so.6 0x00007fc3521831f0 3 clang-3.7 0x0000000001451b00 clang::TokenLexer::Lex(clang::Token&) + 368 4 clang-3.7 0x000000000144dcaf clang::Preprocessor::Lex(clang::Token&) + 95 5 clang-3.7 0x000000000141183e clang::Preprocessor::CachingLex(clang::Token&) + 190 6 clang-3.7 0x000000000144dc8b clang::Preprocessor::Lex(clang::Token&) + 59 7 clang-3.7 0x0000000000a6762e 8 clang-3.7 0x0000000000a9cb2b clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::Parser::ParsedAttributesWithRange&, unsigned int, clang::Decl*) + 1835 9 clang-3.7 0x0000000000a9e23e clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::Parser::ParsedAttributesWithRange&) + 3182 10 clang-3.7 0x0000000000a80648 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) + 3496 11 clang-3.7 0x0000000000a81e38 clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&, clang::AccessSpecifier, clang::Parser::DeclSpecContext) + 72 12 clang-3.7 0x0000000000aa968d clang::Parser::ParseParenExpression(clang::Parser::ParenParseOption&, bool, bool, clang::OpaquePtr<clang::QualType>&, clang::SourceLocation&) + 973 13 clang-3.7 0x0000000000aa1cda clang::Parser::ParseCastExpression(bool, bool, bool&, clang::Parser::TypeCastState) + 458 14 clang-3.7 0x0000000000aa478d clang::Parser::ParseCastExpression(bool, bool, clang::Parser::TypeCastState) + 29 15 clang-3.7 0x0000000000aa502e clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level) + 1934 16 clang-3.7 0x0000000000aa4e2a clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level) + 1418 17 clang-3.7 0x0000000000aa926e clang::Parser::ParseConstantExpression(clang::Parser::TypeCastState) + 62 18 clang-3.7 0x0000000000a859b7 clang::Parser::ParseBracketDeclarator(clang::Declarator&) + 1015 19 clang-3.7 0x0000000000a8cf3e clang::Parser::ParseDirectDeclarator(clang::Declarator&) + 1022 20 clang-3.7 0x0000000000a84d9e clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) + 718 21 clang-3.7 0x0000000000a8c9b3 clang::Parser::ParseParenDeclarator(clang::Declarator&) + 595 22 clang-3.7 0x0000000000a8d5ab clang::Parser::ParseDirectDeclarator(clang::Declarator&) + 2667 23 clang-3.7 0x0000000000a84d9e clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) + 718 24 clang-3.7 0x0000000000a8c9b3 clang::Parser::ParseParenDeclarator(clang::Declarator&) + 595 25 clang-3.7 0x0000000000a8d5ab clang::Parser::ParseDirectDeclarator(clang::Declarator&) + 2667 26 clang-3.7 0x0000000000a84d9e clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) + 718 27 clang-3.7 0x0000000000a855b2 clang::Parser::ParseDeclarator(clang::Declarator&) + 18 28 clang-3.7 0x0000000000a876bf clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 623 29 clang-3.7 0x0000000000a6b8b2 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) + 274 30 clang-3.7 0x0000000000a6bef1 31 clang-3.7 0x0000000000a6bf1f clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) + 31 32 clang-3.7 0x0000000000a724ef clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) + 255 33 clang-3.7 0x0000000000a72e89 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 393 34 clang-3.7 0x0000000000a6732b clang::ParseAST(clang::Sema&, bool, bool) + 459 35 clang-3.7 0x00000000008c2f46 clang::FrontendAction::Execute() + 454 36 clang-3.7 0x000000000089a2a9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 297 37 clang-3.7 0x0000000000936073 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1923 38 clang-3.7 0x0000000000619b10 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 2272 39 clang-3.7 0x0000000000615032 main + 978 40 libc.so.6 0x00007fc352170865 __libc_start_main + 245 41 clang-3.7 0x0000000000617c09 _start + 41 Stack dump: 0. Program arguments: /nix/store/yfnk21i2c1ajy136l06g7czhw6ar1sdl-clang-3.7.1/bin/clang-3.7 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name g1.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -nostdsysteminc -resource-dir /nix/store/yfnk21i2c1ajy136l06g7czhw6ar1sdl-clang-3.7.1/bin/../lib/clang/3.7.1 -idirafter /nix/store/gwl3ppqj4i730nhd4f50ncl5jc4n97ks-glibc-2.23/include -idirafter /nix/store/yfnk21i2c1ajy136l06g7czhw6ar1sdl-clang-3.7.1/lib/gcc/*/*/include-fixed -isystem /nix/store/c7ipds48nb7sfzhb7vqp26rrllirxwxv-gcc-5.3.0/include/c++/5.3.0 -isystem /nix/store/c7ipds48nb7sfzhb7vqp26rrllirxwxv-gcc-5.3.0/include/c++/5.3.0/x86_64-unknown-linux-gnu -internal-isystem /nix/store/yfnk21i2c1ajy136l06g7czhw6ar1sdl-clang-3.7.1/bin/../lib/clang/3.7.1/include -fdeprecated-macro -fdebug-compilation-dir /home/ivan/d/build-cppgen-Desktop-Debug -ferror-limit 0 -fmessage-length 190 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/g1-7fd6f4.o -x c++ g1.cpp 1. <invalid loc> <Spelling=<invalid loc>>: unknown current parser token 2. g1.cpp:2:43: parsing struct/union/class body 'foo1' clang-3.7: error: unable to execute command: Segmentation fault clang-3.7: error: clang frontend command failed due to signal (use -v to see invocation) -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs