mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
New test case.
llvm-svn: 57023
This commit is contained in:
parent
dc99a744fd
commit
bc226c3882
50
test/FrontendObjC++/2008-10-3-EhValue.mm
Normal file
50
test/FrontendObjC++/2008-10-3-EhValue.mm
Normal file
@ -0,0 +1,50 @@
|
||||
// RUN: %llvmgcc -w -x objective-c++ -c %s -o /dev/null
|
||||
|
||||
@interface Object {
|
||||
@public
|
||||
Class isa;
|
||||
}
|
||||
+initialize;
|
||||
+alloc;
|
||||
+new;
|
||||
+free;
|
||||
-free;
|
||||
+(Class)class;
|
||||
-(Class)class;
|
||||
-init;
|
||||
-superclass;
|
||||
-(const char *)name;
|
||||
@end
|
||||
|
||||
@interface Frob: Object
|
||||
@end
|
||||
|
||||
@implementation Frob: Object
|
||||
@end
|
||||
|
||||
static Frob* _connection = ((void *)0);
|
||||
|
||||
extern void abort(void);
|
||||
|
||||
void test (Object* sendPort)
|
||||
{
|
||||
int cleanupPorts = 1;
|
||||
Frob* receivePort = ((void *)0);
|
||||
|
||||
@try {
|
||||
receivePort = (Frob *) -1;
|
||||
_connection = (Frob *) -1;
|
||||
receivePort = ((void *)0);
|
||||
sendPort = ((void *)0);
|
||||
cleanupPorts = 0;
|
||||
@throw [Object new];
|
||||
}
|
||||
@catch(Frob *obj) {
|
||||
if(!(0)) abort();
|
||||
}
|
||||
@catch(id exc) {
|
||||
if(!(!receivePort)) abort();
|
||||
if(!(!sendPort)) abort();
|
||||
if(!(!cleanupPorts)) abort();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user