mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-25 06:40:18 +00:00
e9492f7239
Rewriter tests rewrite Objective-C++ to C++, and then compile the result. The rewritten result sometimes doesn't work with C++11. As we want to allow Clang's default dialect to become C++11, we need to make sure the tests will still pass. llvm-svn: 289167
33 lines
696 B
Plaintext
33 lines
696 B
Plaintext
// RUN: %clang_cc1 -E %s -o %t.mm
|
|
// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o %t-rw.cpp
|
|
// RUN: FileCheck --input-file=%t-rw.cpp %s
|
|
// RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
|
|
// radar 11474836
|
|
|
|
extern "C"
|
|
void *sel_registerName(const char *);
|
|
|
|
@interface I
|
|
{
|
|
id ivar;
|
|
}
|
|
- (id) Meth;
|
|
+ (id) MyAlloc;;
|
|
@end
|
|
|
|
@implementation I
|
|
- (id) Meth {
|
|
@autoreleasepool {
|
|
id p = [I MyAlloc];
|
|
if (!p)
|
|
return ivar;
|
|
}
|
|
return 0;
|
|
}
|
|
+ (id) MyAlloc {
|
|
return 0;
|
|
}
|
|
@end
|
|
|
|
// CHECK: /* @autoreleasepool */ { __AtAutoreleasePool __autoreleasepool;
|