crash in clang ToT when using __attribute((ns_consumed)) |
||||
Issue description
Command-line:
third_party/llvm-build/Release+Asserts/bin/clang -cc1 -emit-obj -fblocks -fobjc-arc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk scoped_nsobject_unittest_arc-6041b8.mm
Content of scoped_nsobject_unittest_arc-6041b8.mm:
#import <Foundation/Foundation.h>
struct t {
t(__attribute((ns_consumed)) id object, int policy);
};
void ScopedNSObjectTestARCScopedNSObject() {
t p(nil, 0);
}
Crash:
Assertion failed: (paramInfos.empty() || paramInfos.size() == argTypes.size()), function create, file /b/build/slave/build_and_upload_clang/build/src/third_party/llvm/tools/clang/lib/CodeGen/CGCall.cpp, line 709.
0 clang 0x000000010840781b llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 43
1 clang 0x0000000108406a36 llvm::sys::RunSignalHandlers() + 70
2 clang 0x0000000108408094 abort + 916
3 libsystem_platform.dylib 0x00007fff9ba2a52a _sigtramp + 26
4 clang 0x000000010aac22b9 clang::Stmt::StatisticsEnabled + 106189
5 clang 0x0000000108407d0e abort + 14
6 clang 0x0000000108407cf1 __assert_rtn + 81
7 clang 0x0000000108630d91 clang::CodeGen::CGFunctionInfo::create(unsigned int, bool, bool, clang::FunctionType::ExtInfo const&, llvm::ArrayRef<clang::FunctionProtoType::ExtParameterInfo>, clang::CanQual<clang::Type>, llvm::ArrayRef<clang::CanQual<clang::Type> >, clang::CodeGen::RequiredArgs) + 417
8 clang 0x000000010862ccf9 clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(clang::CanQual<clang::Type>, bool, bool, llvm::ArrayRef<clang::CanQual<clang::Type> >, clang::FunctionType::ExtInfo, llvm::ArrayRef<clang::FunctionProtoType::ExtParameterInfo>, clang::CodeGen::RequiredArgs) + 569
9 clang 0x000000010862da33 clang::CodeGen::CodeGenTypes::arrangeCXXStructorDeclaration(clang::CXXMethodDecl const*, clang::CodeGen::StructorType) + 915
10 clang 0x000000010862aa08 clang::CodeGen::CodeGenModule::getAddrOfCXXStructor(clang::CXXMethodDecl const*, clang::CodeGen::StructorType, clang::CodeGen::CGFunctionInfo const*, llvm::FunctionType*, bool, bool) + 152
11 clang 0x00000001086524ab clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(clang::CXXConstructorDecl const*, clang::CXXCtorType, bool, bool, clang::CodeGen::Address, clang::CXXConstructExpr const*) + 827
12 clang 0x00000001086bce63 clang::CodeGen::CodeGenFunction::EmitCXXConstructExpr(clang::CXXConstructExpr const*, clang::CodeGen::AggValueSlot) + 2883
13 clang 0x00000001086b612e clang::CodeGen::CodeGenFunction::EmitAggregateCopy(clang::CodeGen::Address, clang::CodeGen::Address, clang::QualType, bool, bool) + 18094
14 clang 0x00000001086b1762 clang::CodeGen::CodeGenFunction::EmitAggExpr(clang::Expr const*, clang::CodeGen::AggValueSlot) + 770
15 clang 0x000000010867e77e clang::CodeGen::CodeGenFunction::EmitExprAsInit(clang::Expr const*, clang::ValueDecl const*, clang::CodeGen::LValue, bool) + 654
16 clang 0x000000010867d209 clang::CodeGen::CodeGenFunction::EmitAutoVarInit(clang::CodeGen::CodeGenFunction::AutoVarEmission const&) + 713
17 clang 0x0000000108679e27 clang::CodeGen::CodeGenFunction::EmitVarDecl(clang::VarDecl const&) + 343
18 clang 0x000000010877c11b clang::CodeGen::CodeGenFunction::EmitDeclStmt(clang::DeclStmt const&) + 155
19 clang 0x0000000108774ebc clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 316
20 clang 0x00000001087740d8 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 200
21 clang 0x000000010877cdfb clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 91
22 clang 0x00000001087aee1f clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 1679
23 clang 0x00000001087c14c2 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 450
24 clang 0x00000001087bd6d8 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 184
25 clang 0x00000001087c3322 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 226
26 clang 0x000000010883f8df clang::CreateLLVMCodeGen(clang::DiagnosticsEngine&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, clang::HeaderSearchOptions const&, clang::PreprocessorOptions const&, clang::CodeGenOptions const&, llvm::LLVMContext&, clang::CoverageSourceInfo*) + 1199
27 clang 0x00000001087a85c5 clang::EmitObjAction::EmitObjAction(llvm::LLVMContext*) + 805
28 clang 0x0000000108f61b62 clang::ParseAST(clang::Sema&, bool, bool) + 482
29 clang 0x00000001089c0079 clang::FrontendAction::Execute() + 73
30 clang 0x00000001089835e1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1089
31 clang 0x0000000108a18e81 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4465
32 clang 0x00000001070f2183 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 1363
33 clang 0x00000001070f0b53 main + 11699
34 clang 0x00000001070edd34 start + 52
35 clang 0x0000000000000008 start + 4176552712
Stack dump:
0. Program arguments: ../third_party/llvm-build/Release+Asserts/bin/clang -cc1 -emit-obj -fblocks -fobjc-arc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk scoped_nsobject_unittest_arc-6041b8.mm
1. <eof> parser at end of file
2. scoped_nsobject_unittest_arc-6041b8.mm:7:6: LLVM IR generation of declaration 'ScopedNSObjectTestARCScopedNSObject'
3. scoped_nsobject_unittest_arc-6041b8.mm:7:6: Generating code for declaration 'ScopedNSObjectTestARCScopedNSObject'
scoped_nsobject_unittest_arc-6041b8.sh: line 1: 17284 Illegal instruction: 4 ../third_party/llvm-build/Release+Asserts/bin/clang -cc1 -emit-obj -fblocks -fobjc-arc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.2.sdk scoped_nsobject_unittest_arc-6041b8.mm
,
Apr 1 2016
,
Apr 1 2016
That code is pretty new. Asked here: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160328/154539.html
,
Apr 4 2016
,
Apr 7 2016
,
Apr 8 2016
,
Apr 19 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by sdefresne@chromium.org
, Apr 1 2016