diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2011-02-28 19:55:59 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-02-28 19:55:59 +0000 |
| commit | 79246322a6103e5435464e6e194f040157e13ba2 (patch) | |
| tree | bdeb693fb2787771b5f09aca405b53fcf7034890 /clang/test/CodeGenObjCXX | |
| parent | 9eb02dfa8931c9b6f2b60eafa0baf20ec5cf83a2 (diff) | |
| download | bcm5719-llvm-79246322a6103e5435464e6e194f040157e13ba2.tar.gz bcm5719-llvm-79246322a6103e5435464e6e194f040157e13ba2.zip | |
objc IRGen for Next runtime message API.
The prototype for objc_msgSend() is technically variadic -
`id objc_msgSend(id, SEL, ...)`.
But all method calls should use a prototype that matches the method,
not the prototype for objc_msgSend itself().
// rdar://9048030
llvm-svn: 126678
Diffstat (limited to 'clang/test/CodeGenObjCXX')
| -rw-r--r-- | clang/test/CodeGenObjCXX/property-dot-reference.mm | 6 | ||||
| -rw-r--r-- | clang/test/CodeGenObjCXX/property-object-conditional-exp.mm | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/CodeGenObjCXX/property-dot-reference.mm b/clang/test/CodeGenObjCXX/property-dot-reference.mm index 6b53639f54c..820525c9ca4 100644 --- a/clang/test/CodeGenObjCXX/property-dot-reference.mm +++ b/clang/test/CodeGenObjCXX/property-dot-reference.mm @@ -11,7 +11,7 @@ void GetURL() const; @implementation TNodeIconAndNameCell - (const TFENode&) node { -// CHECK: call %struct.TFENode* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend +// CHECK: call %struct.TFENode* bitcast (i8* (i8*, i8*)* @objc_msgSend // CHECK-NEXT: call void @_ZNK7TFENode6GetURLEv(%struct.TFENode* %{{.*}}) self.node.GetURL(); } // expected-warning {{control reaches end of non-void function}} @@ -27,11 +27,11 @@ void f0(const X &parent); - (const X&) target; @end void f1(A *a) { -// CHECK: [[PRP:%.*]] = call %struct.X* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend +// CHECK: [[PRP:%.*]] = call %struct.X* bitcast (i8* (i8*, i8*)* @objc_msgSend // CHECK-NEXT:call void @_Z2f0RK1X(%struct.X* [[PRP]]) f0(a.target); -// CHECK: [[MSG:%.*]] = call %struct.X* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend +// CHECK: [[MSG:%.*]] = call %struct.X* bitcast (i8* (i8*, i8*)* @objc_msgSend // CHECK-NEXT:call void @_Z2f0RK1X(%struct.X* [[MSG]]) f0([a target]); } diff --git a/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm b/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm index 826c351e79e..631158135b9 100644 --- a/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm +++ b/clang/test/CodeGenObjCXX/property-object-conditional-exp.mm @@ -22,7 +22,7 @@ extern "C" bool CGRectIsEmpty(CGRect); CGRect dataRect; CGRect virtualBounds; -// CHECK: [[SRC:%.*]] = call %struct.CGRect bitcast (i8* (i8*, i8*, ...)* @objc_msgSend +// CHECK: [[SRC:%.*]] = call %struct.CGRect bitcast (i8* (i8*, i8*)* @objc_msgSend // CHECK-NEXT:store %struct.CGRect [[SRC]], %struct.CGRect* dataRect = CGRectIsEmpty(virtualBounds) ? self.bounds : virtualBounds; dataRect = CGRectIsEmpty(virtualBounds) ? [self bounds] : virtualBounds; |

