[llvm-bugs] [Bug 25613] New: clang::Sema::checkCall crashes on attached code

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 23 11:03:49 PST 2015


https://llvm.org/bugs/show_bug.cgi?id=25613

            Bug ID: 25613
           Summary: clang::Sema::checkCall crashes on attached code
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: unassignedclangbugs at nondot.org
          Reporter: mihail.popa at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 15339
  --> https://llvm.org/bugs/attachment.cgi?id=15339&action=edit
source file

Compile attached file with: clang source.c

Will crash with stacktrace:

0  clang-3.8       0x0000000002051997
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 44
1  clang-3.8       0x0000000002051d14
2  clang-3.8       0x0000000002050491 llvm::sys::RunSignalHandlers() + 138
3  clang-3.8       0x0000000002051496
4  libpthread.so.0 0x000000325760f710
5  clang-3.8       0x0000000002209e06
6  clang-3.8       0x0000000002209eb4
7  clang-3.8       0x000000000374446a
8  clang-3.8       0x0000000003742901
9  clang-3.8       0x0000000003715267 clang::Sema::checkCall(clang::NamedDecl*,
clang::FunctionProtoType const*, llvm::ArrayRef<clang::Expr const*>, bool,
clang::SourceLocation, clang::SourceRange, clang::Sema::VariadicCallType) + 845
10 clang-3.8       0x0000000003715c38
clang::Sema::CheckOtherCall(clang::CallExpr*, clang::FunctionProtoType const*)
+ 220
11 clang-3.8       0x00000000038fc883
clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*,
clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation,
clang::Expr*, bool) + 4403
12 clang-3.8       0x00000000038fb526 clang::Sema::ActOnCallExpr(clang::Scope*,
clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool) + 3276
13 clang-3.8       0x000000000342d8e9
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*,
true>) + 4359
14 clang-3.8       0x000000000342c74f clang::Parser::ParseCastExpression(bool,
bool, bool&, clang::Parser::TypeCastState) + 14045
15 clang-3.8       0x0000000003428e4a clang::Parser::ParseCastExpression(bool,
bool, clang::Parser::TypeCastState) + 54
16 clang-3.8       0x0000000003427c42
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) + 206
17 clang-3.8       0x0000000003427a46
clang::Parser::ParseExpression(clang::Parser::TypeCastState) + 32
18 clang-3.8       0x0000000003464bff clang::Parser::ParseExprStatement() + 69
19 clang-3.8       0x0000000003464491
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)
+ 959
20 clang-3.8       0x0000000003463e24
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*) + 128
21 clang-3.8       0x0000000003463d54
clang::Parser::ParseStatement(clang::SourceLocation*) + 94
22 clang-3.8       0x0000000003469756
clang::Parser::ParseForStatement(clang::SourceLocation*) + 4554
23 clang-3.8       0x00000000034645d1
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&)
+ 1279
24 clang-3.8       0x0000000003463e24
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, bool, clang::SourceLocation*) + 128
25 clang-3.8       0x0000000003466e3f
clang::Parser::ParseCompoundStatementBody(bool) + 1099
26 clang-3.8       0x000000000346a22a
clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 428
27 clang-3.8       0x00000000033d88e0
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) +
3290
28 clang-3.8       0x00000000033f33cc
clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, unsigned int,
clang::SourceLocation*, clang::Parser::ForRangeInit*) + 1036
29 clang-3.8       0x00000000033d7b20
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier) + 1198
30 clang-3.8       0x00000000033d7bd8
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) + 174
31 clang-3.8       0x00000000033d733e
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 2892
32 clang-3.8       0x00000000033d67c2
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 722
33 clang-3.8       0x00000000033d2ca4 clang::ParseAST(clang::Sema&, bool, bool)
+ 634
34 clang-3.8       0x00000000026da5fd clang::ASTFrontendAction::ExecuteAction()
+ 323
35 clang-3.8       0x0000000002a7735e clang::CodeGenAction::ExecuteAction() +
1722
36 clang-3.8       0x00000000026da093 clang::FrontendAction::Execute() + 135
37 clang-3.8       0x0000000002691a93
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1109
38 clang-3.8       0x00000000027e3638
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1160
39 clang-3.8       0x00000000012d7f3c cc1_main(llvm::ArrayRef<char const*>,
char const*, void*) + 998
40 clang-3.8       0x00000000012ce39e
41 clang-3.8       0x00000000012cecfd main + 1965
42 libc.so.6       0x0000003256e1ed1d __libc_start_main + 253
43 clang-3.8       0x00000000012cbd79

Last reproduced with:

commit e462cf3ab7ff446c982ff68074ddbf054400f2e3
Author: Richard Smith <richard-llvm at metafoo.co.uk>
Date:   Sun Nov 22 07:33:28 2015 +0000

    [coroutines] Check for overload sets in co_yield / co_return operands being
resolved by a call to yield_value / return_value before rejecting them.


    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253817
91177308-0d34-0410-b5e6-96231b3b80d8

It works just fine with 3.7.

-- 
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/20151123/a8779efb/attachment-0001.html>


More information about the llvm-bugs mailing list