]> granicus.if.org Git - clang/commitdiff
Clean up test case and remove XFAIL. This test can now distinguish between
authorTed Kremenek <kremenek@apple.com>
Mon, 17 May 2010 23:03:33 +0000 (23:03 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 17 May 2010 23:03:33 +0000 (23:03 +0000)
cases where Clang can suggest and fix and suggest and not auto-fix (because of
current limitations).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103987 91177308-0d34-0410-b5e6-96231b3b80d8

test/FixIt/typo.m

index f161bb8d9948bf3413166ce300e7629f4ff288c9..2ee6831da6fc178411d10ddcbc3a457142a3a7a7 100644 (file)
@@ -1,17 +1,18 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-// RUN: cp %s %t
-// RUN: %clang_cc1 -fsyntax-only -fixit %t || true
-// RUN: %clang_cc1 -fsyntax-only -pedantic -Werror -x objective-c %t
-// XFAIL: *
+// RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -DNON_FIXITS -verify %s
+// RUN: %clang -E -P %s -o %t
+// RUN: %clang_cc1 -x objective-c -fsyntax-only -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fixit %t || true
+// RUN: %clang_cc1 -x objective-c -fsyntax-only -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -pedantic -Werror %t
 
 @interface NSString // expected-note{{'NSString' declared here}}
 + (int)method:(int)x;
 @end
 
+#ifdef NON_FIXITS
 void test() {
   // FIXME: not providing fix-its
   NSstring *str = @"A string"; // expected-error{{use of undeclared identifier 'NSstring'; did you mean 'NSString'?}}
 }
+#endif
 
 @protocol P1
 @optional
@@ -80,18 +81,22 @@ void test2(Collide *a) {
   a->vale = 17; // expected-error{{'Collide' does not have a member named 'vale'; did you mean 'value'?}}
 }
 
+#ifdef NON_FIXITS
 @interface Derived : Collid // expected-error{{cannot find interface declaration for 'Collid', superclass of 'Derived'; did you mean 'Collide'?}}
 @end
+#endif
 
+#ifdef NON_FIXITS
 @protocol NetworkSocket // expected-note{{'NetworkSocket' declared here}}
 - (int)send:(void*)buffer bytes:(int)bytes;
 @end
 
 @interface IPv6 <Network_Socket> // expected-error{{cannot find protocol declaration for 'Network_Socket'; did you mean 'NetworkSocket'?}}
 @end
+#endif
 
 @interface Super
-- (int)method;
+- (int)method; // expected-note{{using}}
 @end
 
 @interface Sub : Super
@@ -112,29 +117,19 @@ void test2(Collide *a) {
 @property (retain) id ivar;
 @end
 
+#ifdef NON_FIXITS
 @interface User <Proto>
-- (void)method;
+- (void)method; // expected-note{{also found}}
 @end
 
 @implementation User
 @synthesize ivar;
 
 - (void)method {
-    [ivar method]; // Test that we don't correct 'ivar' to 'Ivar'
+  // Test that we don't correct 'ivar' to 'Ivar'  e
+  [ivar method]; // expected-warning{{multiple methods named 'method' found}}
 }
 @end
+#endif
 
-@interface User2
-@end
 
-@interface User2 (Cat) < Proto>
-- (void)method;
-@end
-
-@implementation User2 (Cat)
-@synthesize ivar;
-
-- (void)method {
-    [ivar method]; // Test that we don't correct 'ivar' to 'Ivar'
-}
-@end