zoecarver updated this revision to Diff 255361.
zoecarver added a comment.

Fix based on review:

- Use static_assert directly in the test
- Update run command to work on non-objc platforms (e.g. linux)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77519/new/

https://reviews.llvm.org/D77519

Files:
  clang/test/SemaObjC/type-traits-is-pointer.mm
  clang/test/SemaObjCXX/type-traits-is-pointer.mm

Index: clang/test/SemaObjCXX/type-traits-is-pointer.mm
===================================================================
--- /dev/null
+++ clang/test/SemaObjCXX/type-traits-is-pointer.mm
@@ -0,0 +1,48 @@
+// RUN: %clang_cc1 -fsyntax-only -fobjc-arc -fobjc-runtime-has-weak -verify %s
+// expected-no-diagnostics
+
+template <typename T>
+void test_is_pointer() {
+    static_assert(__is_pointer(T), "");
+
+    static_assert(__is_pointer(T __weak), "");
+    static_assert(__is_pointer(T __strong), "");
+    static_assert(__is_pointer(T __autoreleasing), "");
+    static_assert(__is_pointer(T __unsafe_unretained), "");
+
+    static_assert(__is_pointer(T __weak const), "");
+    static_assert(__is_pointer(T __strong const), "");
+    static_assert(__is_pointer(T __autoreleasing const), "");
+    static_assert(__is_pointer(T __unsafe_unretained const), "");
+
+    static_assert(__is_pointer(T __weak volatile), "");
+    static_assert(__is_pointer(T __strong volatile), "");
+    static_assert(__is_pointer(T __autoreleasing volatile), "");
+    static_assert(__is_pointer(T __unsafe_unretained volatile), "");
+
+    static_assert(__is_pointer(T __weak const volatile), "");
+    static_assert(__is_pointer(T __strong const volatile), "");
+    static_assert(__is_pointer(T __autoreleasing const volatile), "");
+    static_assert(__is_pointer(T __unsafe_unretained const volatile), "");
+}
+
+@class Foo;
+
+int main(int, char**) {
+    test_is_pointer<id>();
+    test_is_pointer<id const>();
+    test_is_pointer<id volatile>();
+    test_is_pointer<id const volatile>();
+
+    test_is_pointer<Foo*>();
+    test_is_pointer<Foo const*>();
+    test_is_pointer<Foo volatile*>();
+    test_is_pointer<Foo const volatile*>();
+
+    test_is_pointer<void*>();
+    test_is_pointer<void const*>();
+    test_is_pointer<void volatile*>();
+    test_is_pointer<void const volatile*>();
+
+    return 0;
+}
Index: clang/test/SemaObjC/type-traits-is-pointer.mm
===================================================================
--- clang/test/SemaObjC/type-traits-is-pointer.mm
+++ /dev/null
@@ -1,52 +0,0 @@
-// RUN: %clang -fobjc-arc %s
-
-template <typename T>
-void assert_is_pointer() {
-    static_assert(__is_pointer(T), "");
-}
-
-template <typename T>
-void test_is_pointer() {
-    assert_is_pointer<T>();
-
-    assert_is_pointer<T __weak>();
-    assert_is_pointer<T __strong>();
-    assert_is_pointer<T __autoreleasing>();
-    assert_is_pointer<T __unsafe_unretained>();
-
-    assert_is_pointer<T __weak const>();
-    assert_is_pointer<T __strong const>();
-    assert_is_pointer<T __autoreleasing const>();
-    assert_is_pointer<T __unsafe_unretained const>();
-
-    assert_is_pointer<T __weak volatile>();
-    assert_is_pointer<T __strong volatile>();
-    assert_is_pointer<T __autoreleasing volatile>();
-    assert_is_pointer<T __unsafe_unretained volatile>();
-
-    assert_is_pointer<T __weak const volatile>();
-    assert_is_pointer<T __strong const volatile>();
-    assert_is_pointer<T __autoreleasing const volatile>();
-    assert_is_pointer<T __unsafe_unretained const volatile>();
-}
-
-@class Foo;
-
-int main(int, char**) {
-    test_is_pointer<id>();
-    test_is_pointer<id const>();
-    test_is_pointer<id volatile>();
-    test_is_pointer<id const volatile>();
-
-    test_is_pointer<Foo*>();
-    test_is_pointer<Foo const*>();
-    test_is_pointer<Foo volatile*>();
-    test_is_pointer<Foo const volatile*>();
-
-    test_is_pointer<void*>();
-    test_is_pointer<void const*>();
-    test_is_pointer<void volatile*>();
-    test_is_pointer<void const volatile*>();
-
-    return 0;
-}
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to