diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-10-04 23:47:28 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-10-04 23:47:28 +0000 |
commit | 417dd179b2e92dcad3adb817b311e6297321a583 (patch) | |
tree | 6e44af8a3fc18e643ff4f70b5b6e185d6efadadb /test/Coverage/objc-language-features.inc | |
parent | b0adbba45c3537cba66abd788eff884ed621a7d2 (diff) |
Add coverage tests of C and Obj-C language features.
- AST printing, dumping, serialization, codegen.
- HTML printing.
- Parser callbacks.
Several of these are XFAIL because they trigger unimplemented code.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57081 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Coverage/objc-language-features.inc')
-rw-r--r-- | test/Coverage/objc-language-features.inc | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/test/Coverage/objc-language-features.inc b/test/Coverage/objc-language-features.inc new file mode 100644 index 0000000000..d341032b82 --- /dev/null +++ b/test/Coverage/objc-language-features.inc @@ -0,0 +1,69 @@ +//-*- ObjC -*- + +@protocol P0; + +@protocol P1 +-(void) fm0; +@end + +@class B; + +@interface Root +@end + +@interface A : Root <P1> { + int iv0; + B *iv1; +} + +@property(assign,readonly) int p0; +@property(assign,nonatomic,readwrite) int p1; +@property(copy) id p2; +@property(retain) id p3; +@property(assign, getter=getme, setter=setme:) id p4; +@end + +@implementation A +@dynamic p0; +@synthesize p1 = iv0; ++(void) fm0 { + [super fm0]; +} +-(void) im0 { + [super im0]; +} +-(void) im1: (int) x, ... { +} +@end + +@implementation C : A +@end + +#if 0 +@interface A (Cat) +@end + +@implementation A (Cat) +@end +#endif + +int f0(id x) { + @synchronized(x) { + } + + @try { + @throw x; + } @catch(A *e) { + @throw; + } @finally { + ; + } + + for (id y in x) { + break; + } +} + +struct s0 { + @defs(A); +}; |