mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-28 11:30:19 +00:00
44 lines
793 B
Plaintext
44 lines
793 B
Plaintext
/* Ensure that overload resolution does not produce warnings as
|
|
side-effects. */
|
|
/* { dg-do run } */
|
|
/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
|
|
|
|
#include "../objc-obj-c++-shared/TestsuiteObject.m"
|
|
#include <stdlib.h>
|
|
|
|
#define CHECK_IF(E) if(!(E)) abort ()
|
|
|
|
@interface MyCursor: TestsuiteObject
|
|
+ (MyCursor *)crosshairCursor;
|
|
@end
|
|
|
|
@class MyImage;
|
|
|
|
class A {
|
|
public:
|
|
A();
|
|
|
|
int foo(MyImage *);
|
|
int foo(MyCursor *);
|
|
};
|
|
|
|
A::A() {}
|
|
int A::foo(MyCursor * c) { return 17; }
|
|
int A::foo(MyImage * i) { return 29; }
|
|
|
|
@implementation MyCursor
|
|
+ (MyCursor *)crosshairCursor {
|
|
return self;
|
|
}
|
|
@end
|
|
|
|
int main(void) {
|
|
A a;
|
|
|
|
int r = a.foo([MyCursor crosshairCursor]);
|
|
|
|
CHECK_IF (r == 17);
|
|
return 0;
|
|
}
|
|
|