diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-12-07 01:26:03 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-12-07 01:26:03 +0000 |
commit | da8025c09e77b9f893184a4905f43253c31b3df9 (patch) | |
tree | 7e51df82e48439d9ebae6463a74614e8fcaf1604 /clang/test | |
parent | 7ce1c1eaa312e67cb76bae8996900e57efe4bf9d (diff) | |
download | bcm5719-llvm-da8025c09e77b9f893184a4905f43253c31b3df9.tar.gz bcm5719-llvm-da8025c09e77b9f893184a4905f43253c31b3df9.zip |
Extern the ASTImporter to import @implementation declarations.
llvm-svn: 121097
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/ASTMerge/Inputs/interface1.m | 22 | ||||
-rw-r--r-- | clang/test/ASTMerge/Inputs/interface2.m | 20 | ||||
-rw-r--r-- | clang/test/ASTMerge/interface.m | 5 |
3 files changed, 46 insertions, 1 deletions
diff --git a/clang/test/ASTMerge/Inputs/interface1.m b/clang/test/ASTMerge/Inputs/interface1.m index 7e9935db7c7..5865c0eff07 100644 --- a/clang/test/ASTMerge/Inputs/interface1.m +++ b/clang/test/ASTMerge/Inputs/interface1.m @@ -79,3 +79,25 @@ @protocol P4 - (double)honk:(int)a; @end + +// Interface with implementation +@interface I13 +@end + +@implementation I13 +@end + +@interface I13a +@end + +@implementation I13a +@end + +// Implementation by itself +@implementation I14 : I12 +@end + +@implementation I15 : I12 +@end + + diff --git a/clang/test/ASTMerge/Inputs/interface2.m b/clang/test/ASTMerge/Inputs/interface2.m index bef7fb838c0..3fb43f5930c 100644 --- a/clang/test/ASTMerge/Inputs/interface2.m +++ b/clang/test/ASTMerge/Inputs/interface2.m @@ -78,3 +78,23 @@ @protocol P5 - (double)honk:(int)a; @end + +// Interface with implementation +@interface I13 +@end + +@implementation I13 +@end + +@interface I13b +@end + +@implementation I13b +@end + +// Implementation by itself +@implementation I14 : I12 +@end + +@implementation I15 : I11 +@end diff --git a/clang/test/ASTMerge/interface.m b/clang/test/ASTMerge/interface.m index 420ae388254..e37e3807e51 100644 --- a/clang/test/ASTMerge/interface.m +++ b/clang/test/ASTMerge/interface.m @@ -15,5 +15,8 @@ // CHECK: interface1.m:46:1: note: class method 'bar:' also declared here // CHECK: interface2.m:57:20: error: instance method 'bar:' has a parameter with a different types in different translation units ('double' vs. 'float') // CHECK: interface1.m:58:19: note: declared here with type 'float' -// CHECK: 6 errors generated +// CHECK: interface1.m:100:1: error: class 'I15' has incompatible superclasses +// CHECK: interface1.m:100:1: note: inherits from superclass 'I12' here +// CHECK: interface2.m:99:1: note: inherits from superclass 'I11' here +// CHECK: 8 errors generated |