Hi David,
After your checkin, a couple of tests are hitting this assertion on
clang-x86_64-darwin10-gcc42-RA:
Assertion failed: ((i >= FTy->getNumParams() || FTy->getParamType(i) ==
Params[i]->getType()) && "Calling a function with a bad signature!"), function
init, file
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/lib/VMCore/Instructions.cpp,
line 196.
Failing Tests (2):
Clang :: CodeGenObjC/messages.m
Clang :: Coverage/codegen-gnu.m
Title: Log File contents
(view as text)
******************** TEST 'Clang :: Coverage/codegen-gnu.m' FAILED ********************Script:
--
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -triple i386-unknown-unknown -fobjc-exceptions -fgnu-runtime -emit-llvm -o /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/tools/clang/test/Coverage/Output/codegen-gnu.m.tmp /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/codegen-gnu.m
--
Exit Code: 132
Command Output (stderr):
--
In file included from /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/codegen-gnu.m:3:
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/objc-language-features.inc:36:3: warning: method '+fm0' not found (return type defaults to 'id')
[super fm0];
^~~~~~~~~~~
Assertion failed: ((i >= FTy->getNumParams() || FTy->getParamType(i) == Params[i]->getType()) && "Calling a function with a bad signature!"), function init, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/lib/VMCore/Instructions.cpp, line 196.
0 clang 0x00000001015d5862 PrintStackTrace(void*) + 34
1 clang 0x00000001015d66b3 SignalHandler(int) + 707
2 libSystem.B.dylib 0x00007fff804de67a _sigtramp + 26
3 libSystem.B.dylib 0x00007fff8048523c szone_free_definite_size + 2083
4 clang 0x0000000100016552 __assert_rtn + 66
5 clang 0x00000001014e2475 llvm::CallInst::init(llvm::Value*, llvm::Value* const*, unsigned int) + 341
6 clang 0x00000001010a5c4a llvm::CallInst::CallInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&, llvm::Instruction*) + 186
7 clang 0x0000000100255993 (anonymous namespace)::CGObjCGNU::GenerateMessageSendSuper(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, clang::ObjCInterfaceDecl const*, bool, llvm::Value*, bool, clang::CodeGen::CallArgList const&, clang::ObjCMethodDecl const*) + 4723
8 clang 0x000000010023bdd0 clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr const*, clang::CodeGen::ReturnValueSlot) + 672
9 clang 0x000000010022da31 clang::StmtVisitor<(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 6001
10 clang 0x000000010022dfdd clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 141
11 clang 0x00000001001f0b96 clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) + 86
12 clang 0x00000001001fac6e clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 46
13 clang 0x0000000100294c96 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1270
14 clang 0x0000000100297b1b clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 283
15 clang 0x0000000100297ee2 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 498
16 clang 0x00000001002947d0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 48
17 clang 0x00000001002360c7 clang::CodeGen::CodeGenFunction::GenerateObjCMethod(clang::ObjCMethodDecl const*) + 55
18 clang 0x00000001002ca25f clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 943
19 clang 0x00000001002dc82f (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 63
20 clang 0x00000001002b911b clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 155
21 clang 0x00000001002e9262 clang::ParseAST(clang::Sema&, bool) + 322
22 clang 0x00000001002b768c clang::CodeGenAction::ExecuteAction() + 60
23 clang 0x00000001000536a1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 433
24 clang 0x0000000100020f25 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1493
25 clang 0x0000000100018468 cc1_main(char const**, char const**, char const*, void*) + 568
26 clang 0x000000010001fff4 main + 5252
27 clang 0x0000000100016cd4 start + 52
Stack dump:
0. Program arguments: /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -triple i386-unknown-unknown -fobjc-exceptions -fgnu-runtime -emit-llvm -o /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/tools/clang/test/Coverage/Output/codegen-gnu.m.tmp /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/codegen-gnu.m
1. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/objc-language-features.inc:38:1: current parser token '-'
2. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/objc-language-features.inc:35:1: LLVM IR generation of declaration 'A::fm0'
3. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/objc-language-features.inc:35:13: LLVM IR generation of compound statement ('{}')
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/tools/clang/test/Coverage/Output/codegen-gnu.m.script: line 1: 60142 Illegal instruction /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -triple i386-unknown-unknown -fobjc-exceptions -fgnu-runtime -emit-llvm -o /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/tools/clang/test/Coverage/Output/codegen-gnu.m.tmp /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/Coverage/codegen-gnu.m
--
********************
|
Title: Log File contents
(view as text)
******************** TEST 'Clang :: CodeGenObjC/messages.m' FAILED ********************Script:
--
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -emit-llvm -o - /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m | FileCheck /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m -check-prefix=CHECK-MAC
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -emit-llvm -fobjc-nonfragile-abi -o - /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m | FileCheck /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m -check-prefix=CHECK-MAC-NF
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -fgnu-runtime -emit-llvm -o - /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m | FileCheck /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m -check-prefix=CHECK-GNU
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -fgnu-runtime -fobjc-nonfragile-abi -emit-llvm -o - /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m | FileCheck /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m -check-prefix CHECK-GNU-NF
--
Exit Code: 1
Command Output (stderr):
--
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:20:3: warning: method '-print0' not found (return type defaults to 'id')
[a print0];
^~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:26:3: warning: method '-print1:' not found (return type defaults to 'id')
[a print1: 10];
^~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:32:3: warning: method '-print2:and:and:' not found (return type defaults to 'id')
[a print2: 10 and: "hello" and: 2.2];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:38:3: warning: method '-takeStruct:' not found (return type defaults to 'id')
[a takeStruct: pt ];
^~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:46:5: warning: method '-performSelector:' not found (return type defaults to 'id')
[a performSelector:s];
^~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:20:3: warning: method '-print0' not found (return type defaults to 'id')
[a print0];
^~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:26:3: warning: method '-print1:' not found (return type defaults to 'id')
[a print1: 10];
^~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:32:3: warning: method '-print2:and:and:' not found (return type defaults to 'id')
[a print2: 10 and: "hello" and: 2.2];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:38:3: warning: method '-takeStruct:' not found (return type defaults to 'id')
[a takeStruct: pt ];
^~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:46:5: warning: method '-performSelector:' not found (return type defaults to 'id')
[a performSelector:s];
^~~~~~~~~~~~~~~~~~~~~
5 warnings generated.
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:20:3: warning: method '-print0' not found (return type defaults to 'id')
[a print0];
^~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:26:3: warning: method '-print1:' not found (return type defaults to 'id')
[a print1: 10];
^~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:32:3: warning: method '-print2:and:and:' not found (return type defaults to 'id')
[a print2: 10 and: "hello" and: 2.2];
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:38:3: warning: method '-takeStruct:' not found (return type defaults to 'id')
[a takeStruct: pt ];
^~~~~~~~~~~~~~~~~~~
/Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:46:5: warning: method '-performSelector:' not found (return type defaults to 'id')
[a performSelector:s];
^~~~~~~~~~~~~~~~~~~~~
Assertion failed: ((i >= FTy->getNumParams() || FTy->getParamType(i) == Params[i]->getType()) && "Calling a function with a bad signature!"), function init, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/lib/VMCore/Instructions.cpp, line 196.
0 clang 0x00000001015d5862 PrintStackTrace(void*) + 34
1 clang 0x00000001015d66b3 SignalHandler(int) + 707
2 libSystem.B.dylib 0x00007fff804de67a _sigtramp + 26
3 libSystem.B.dylib 0x0000000000000020 _sigtramp + 2142378432
4 clang 0x0000000100016552 __assert_rtn + 66
5 clang 0x00000001014e2475 llvm::CallInst::init(llvm::Value*, llvm::Value* const*, unsigned int) + 341
6 clang 0x00000001010a5c4a llvm::CallInst::CallInst<llvm::Value**>(llvm::Value*, llvm::Value**, llvm::Value**, llvm::Twine const&, llvm::Instruction*) + 186
7 clang 0x0000000100252556 (anonymous namespace)::CGObjCGNU::GenerateMessageSend(clang::CodeGen::CodeGenFunction&, clang::CodeGen::ReturnValueSlot, clang::QualType, clang::Selector, llvm::Value*, clang::CodeGen::CallArgList const&, clang::ObjCInterfaceDecl const*, clang::ObjCMethodDecl const*) + 3350
8 clang 0x000000010023bc9a clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr const*, clang::CodeGen::ReturnValueSlot) + 362
9 clang 0x000000010022da31 clang::StmtVisitor<(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 6001
10 clang 0x000000010022dfdd clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 141
11 clang 0x00000001001f0b96 clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) + 86
12 clang 0x00000001001fac6e clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 46
13 clang 0x0000000100294c96 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1270
14 clang 0x0000000100297b1b clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 283
15 clang 0x0000000100297ee2 clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 498
16 clang 0x00000001002947d0 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 48
17 clang 0x00000001002beacd clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 909
18 clang 0x00000001002c677b clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::CodeGen::GlobalDecl) + 1035
19 clang 0x00000001002c944b clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl) + 379
20 clang 0x00000001002c95c0 clang::CodeGen::CodeGenModule::EmitGlobal(clang::CodeGen::GlobalDecl) + 144
21 clang 0x00000001002ca2ba clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 1034
22 clang 0x00000001002dc82f (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 63
23 clang 0x00000001002b911b clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 155
24 clang 0x00000001002e9262 clang::ParseAST(clang::Sema&, bool) + 322
25 clang 0x00000001002b768c clang::CodeGenAction::ExecuteAction() + 60
26 clang 0x00000001000536a1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 433
27 clang 0x0000000100020f25 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1493
28 clang 0x0000000100018468 cc1_main(char const**, char const**, char const*, void*) + 568
29 clang 0x000000010001fff4 main + 5252
30 clang 0x0000000100016cd4 start + 52
Stack dump:
0. Program arguments: /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/clang-build/Release+Asserts/bin/clang -cc1 -fgnu-runtime -emit-llvm -o - /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m
1. <eof> parser at end of file
2. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:12:6: LLVM IR generation of declaration 'f0'
3. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:12:6: Generating code for declaration 'f0'
4. /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.clang-x86_64-darwin10-gcc42-RA/llvm/tools/clang/test/CodeGenObjC/messages.m:12:15: LLVM IR generation of compound statement ('{}')
FileCheck error: '-' is empty.
--
********************
|
-Andy
On Mar 23, 2011, at 11:39 AM, David Chisnall wrote:
> Author: theraven
> Date: Wed Mar 23 13:39:12 2011
> New Revision: 128156
>
> URL: http://llvm.org/viewvc/llvm-project?rev=128156&view=rev
> Log:
> Remove the redundant loads / stores to globals that we were generating for
> selectors (GNU runtimes).
>
>
> Modified:
> cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp?rev=128156&r1=128155&r2=128156&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGObjCGNU.cpp Wed Mar 23 13:39:12 2011
> @@ -521,9 +521,12 @@
> Types.push_back(TypedSelector(TypeEncoding, SelValue));
> }
>
> - if (lval)
> - return SelValue;
> - return Builder.CreateLoad(SelValue);
> + if (lval) {
> + llvm::Value *tmp = Builder.CreateAlloca(SelValue->getType());
> + Builder.CreateStore(SelValue, tmp);
> + return tmp;
> + }
> + return SelValue;
> }
>
> llvm::Value *CGObjCGNU::GetSelector(CGBuilderTy &Builder, Selector Sel,
> @@ -1906,16 +1909,12 @@
> llvm::Constant *Idxs[] = {Zeros[0],
> llvm::ConstantInt::get(llvm::Type::getInt32Ty(VMContext), i), Zeros[0]};
> // FIXME: We're generating redundant loads and stores here!
> - llvm::Constant *SelPtr = new llvm::GlobalVariable(TheModule,
> SelStructPtrTy,
> - true, llvm::GlobalValue::InternalLinkage,
> - llvm::ConstantExpr::getGetElementPtr(SelectorList, Idxs, 2),
> - ".objc_sel_ptr");
> + llvm::Constant *SelPtr =
> llvm::ConstantExpr::getGetElementPtr(SelectorList,
> + Idxs, 2);
> // If selectors are defined as an opaque type, cast the pointer to this
> // type.
> - if (isSelOpaque) {
> - SelPtr = llvm::ConstantExpr::getBitCast(SelPtr,
> + SelPtr = llvm::ConstantExpr::getBitCast(SelPtr,
> llvm::PointerType::getUnqual(SelectorTy));
> - }
> SelectorAliases[i]->replaceAllUsesWith(SelPtr);
> SelectorAliases[i]->eraseFromParent();
> }
>
>
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits