[clang-tools-extra] r316221 - [clang-tidy] Add missing test files in r316090.

Haojian Wu via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 20 10:54:53 PDT 2017


Author: hokein
Date: Fri Oct 20 10:54:53 2017
New Revision: 316221

URL: http://llvm.org/viewvc/llvm-project?rev=316221&view=rev
Log:
[clang-tidy] Add missing test files in r316090.

Added:
    clang-tools-extra/trunk/test/clang-tidy/objc-arc-and-properties.m
    clang-tools-extra/trunk/test/clang-tidy/objc-no-arc-or-properties.m

Added: clang-tools-extra/trunk/test/clang-tidy/objc-arc-and-properties.m
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/objc-arc-and-properties.m?rev=316221&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/objc-arc-and-properties.m (added)
+++ clang-tools-extra/trunk/test/clang-tidy/objc-arc-and-properties.m Fri Oct 20 10:54:53 2017
@@ -0,0 +1,21 @@
+// RUN: %check_clang_tidy %s misc-suspicious-semicolon %t
+
+// This test checks if Objective-C 2.0 (@properties) and
+// Automatic Reference Counting (ARC) are enabled for .m files
+// checked via check_clang_tidy.py.
+
+#if !__has_feature(objc_arc)
+#error Objective-C ARC not enabled as expected
+#endif
+
+ at interface Foo
+ at property (nonatomic, assign) int shouldDoStuff;
+- (void)nop;
+ at end
+
+void fail(Foo *f)
+{
+  if(f.shouldDoStuff); [f nop];
+  // CHECK-MESSAGES: :[[@LINE-1]]:22: warning: potentially unintended semicolon [misc-suspicious-semicolon]
+  // CHECK-FIXES: if(f.shouldDoStuff) [f nop];
+}

Added: clang-tools-extra/trunk/test/clang-tidy/objc-no-arc-or-properties.m
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/objc-no-arc-or-properties.m?rev=316221&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/objc-no-arc-or-properties.m (added)
+++ clang-tools-extra/trunk/test/clang-tidy/objc-no-arc-or-properties.m Fri Oct 20 10:54:53 2017
@@ -0,0 +1,29 @@
+// RUN: %check_clang_tidy %s misc-suspicious-semicolon %t -- -- -fno-objc-arc -fobjc-abi-version=1
+
+// This test ensures check_clang_tidy.py allows disabling Objective-C ARC and
+// Objective-C 2.0 via passing arguments after -- on the command line.
+//
+// (We could include a test which doesn't pass any arguments after --
+// to check if ARC and ObjC 2.0 are disabled by default, but that test
+// could change behavior based on the default Objective-C runtime for
+// the platform, which would make this test flaky.)
+
+#if __has_feature(objc_arc)
+#error Objective-C ARC unexpectedly enabled even with -fno-objc-arc
+#endif
+
+#ifdef __OBJC2__
+#error Objective-C 2.0 unexpectedly enabled even with -fobjc-abi-version=1
+#endif
+
+ at interface Foo
+- (int)shouldDoStuff;
+- (void)nop;
+ at end
+
+void fail(Foo *f)
+{
+  if([f shouldDoStuff]); [f nop];
+  // CHECK-MESSAGES: :[[@LINE-1]]:24: warning: potentially unintended semicolon [misc-suspicious-semicolon]
+  // CHECK-FIXES: if([f shouldDoStuff]) [f nop];
+}




More information about the cfe-commits mailing list