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

Reply via email to