diff options
Diffstat (limited to 'test/ASTMerge/interface')
-rw-r--r-- | test/ASTMerge/interface/Inputs/interface1.m | 105 | ||||
-rw-r--r-- | test/ASTMerge/interface/Inputs/interface2.m | 100 | ||||
-rw-r--r-- | test/ASTMerge/interface/test.m | 22 |
3 files changed, 0 insertions, 227 deletions
diff --git a/test/ASTMerge/interface/Inputs/interface1.m b/test/ASTMerge/interface/Inputs/interface1.m deleted file mode 100644 index 6192150089..0000000000 --- a/test/ASTMerge/interface/Inputs/interface1.m +++ /dev/null @@ -1,105 +0,0 @@ -// Matches -@interface I1 { - int ivar1; -} -@end - -// Matches -@interface I2 : I1 { - float ivar2; -} -@end - -// Ivar mismatch -@interface I3 { - int ivar1; - int ivar2; -} -@end - -// Superclass mismatch -@interface I4 : I2 { -} -@end - -// Methods match -@interface I5 -- (int)foo; -+ (float)bar; -@end - -// Method mismatch -@interface I6 -- (int)foo; -+ (int)foo; -@end - -// Method mismatch -@interface I7 -- (int)foo; -+ (int)bar:(int)x; -@end - -// Method mismatch -@interface I8 -- (int)foo; -+ (int)bar:(float)x; -@end - -// Matching protocol -@protocol P0 -+ (int)foo; -- (int)bar:(float)x; -@end - -// Protocol with mismatching method -@protocol P1 -+ (int)foo; -- (int)bar:(float)x; -@end - -// Interface with protocol -@interface I9 <P0> -+ (int)foo; -- (int)bar:(float)x; -@end - -// Protocol with protocol -@protocol P2 <P0> -- (float)wibble:(int)a1 second:(int)a2; -@end - -// Forward-declared interfaces -@class I10, I11; -@interface I12 -@end - -// Forward-declared protocols -@protocol P3, P5; -@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 - -@interface ImportSelectorSLoc { } --(int)addInt:(int)a toInt:(int)b moduloInt:(int)c; // don't crash here -@end diff --git a/test/ASTMerge/interface/Inputs/interface2.m b/test/ASTMerge/interface/Inputs/interface2.m deleted file mode 100644 index 2133bd1381..0000000000 --- a/test/ASTMerge/interface/Inputs/interface2.m +++ /dev/null @@ -1,100 +0,0 @@ -// Matches -@interface I1 { - int ivar1; -} -@end - -// Matches -@interface I2 : I1 { - float ivar2; -} -@end - -// Ivar mismatch -@interface I3 { - int ivar1; - float ivar2; -} -@end - -// Superclass mismatch -@interface I4 : I1 { -} -@end - -// Methods match -@interface I5 -+ (float)bar; -- (int)foo; -@end - -// Method mismatch -@interface I6 -+ (float)foo; -@end - -// Method mismatch -@interface I7 -- (int)foo; -+ (int)bar:(float)x; -@end - -// Method mismatch -@interface I8 -- (int)foo; -+ (int)bar:(float)x, ...; -@end - -// Matching protocol -@protocol P0 -+ (int)foo; -- (int)bar:(float)x; -@end - -// Protocol with mismatching method -@protocol P1 -+ (int)foo; -- (int)bar:(double)x; -@end - -// Interface with protocol -@interface I9 <P0> -+ (int)foo; -- (int)bar:(float)x; -@end - -// Protocol with protocol -@protocol P2 <P0> -- (float)wibble:(int)a1 second:(int)a2; -@end - -// Forward-declared interface -@class I10; @interface I12 @end -@interface I11 -@end - -// Forward-declared protocols -@protocol P3, P4; -@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/test/ASTMerge/interface/test.m b/test/ASTMerge/interface/test.m deleted file mode 100644 index 8ba5d73753..0000000000 --- a/test/ASTMerge/interface/test.m +++ /dev/null @@ -1,22 +0,0 @@ -// RUN: %clang_cc1 -emit-pch -o %t.1.ast %S/Inputs/interface1.m -// RUN: %clang_cc1 -emit-pch -o %t.2.ast %S/Inputs/interface2.m -// RUN: not %clang_cc1 -ast-merge %t.1.ast -ast-merge %t.2.ast -fsyntax-only %s 2>&1 | FileCheck %s - -// CHECK: interface2.m:16:9: error: instance variable 'ivar2' declared with incompatible types in different translation units ('float' vs. 'int') -// CHECK: interface1.m:16:7: note: declared here with type 'int' -// CHECK: interface1.m:21:12: error: class 'I4' has incompatible superclasses -// CHECK: interface1.m:21:17: note: inherits from superclass 'I2' here -// CHECK: interface2.m:21:17: note: inherits from superclass 'I1' here -// CHECK: interface2.m:33:1: error: class method 'foo' has incompatible result types in different translation units ('float' vs. 'int') -// CHECK: interface1.m:34:1: note: class method 'foo' also declared here -// CHECK: interface2.m:39:19: error: class method 'bar:' has a parameter with a different types in different translation units ('float' vs. 'int') -// CHECK: interface1.m:40:17: note: declared here with type 'int' -// CHECK: interface2.m:45:1: error: class method 'bar:' is variadic in one translation unit and not variadic in another -// 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: interface1.m:100:17: error: class 'I15' has incompatible superclasses -// CHECK: interface1.m:100:17: note: inherits from superclass 'I12' here -// CHECK: interface2.m:99:17: note: inherits from superclass 'I11' here -// CHECK: 8 errors generated - |