ARM: Add test for ACLE memory barrier intrinsics
authorYi Kong <Yi.Kong@arm.com>
Fri, 18 Jul 2014 10:36:37 +0000 (10:36 +0000)
committerYi Kong <Yi.Kong@arm.com>
Fri, 18 Jul 2014 10:36:37 +0000 (10:36 +0000)
Add an additional test to ensure that someone doesn't accidentally
change the definitions such that they can take a non-constant value.

llvm-svn: 213364

clang/test/Sema/arm_acle.c

index 9a70f85..866626f 100644 (file)
@@ -1,6 +1,22 @@
 // RUN: %clang_cc1 -triple armv8 -target-cpu cortex-a57 -fsyntax-only -ffreestanding -verify %s
 
 #include <arm_acle.h>
+/*
+ * Memory barrier intrinsics
+ * Argument for dmb, dsb, isb must be compile-time constant,
+ * otherwise an error should be raised.
+ */
+void test_dmb_const_diag(const unsigned int t) {
+  return __dmb(t);  // expected-error-re {{argument to {{.*}} must be a constant integer}}
+}
+
+void test_dsb_const_diag(const unsigned int t) {
+  return __dsb(t);  // expected-error-re {{argument to {{.*}} must be a constant integer}}
+}
+
+void test_isb_const_diag(const unsigned int t) {
+  return __isb(t);  // expected-error-re {{argument to {{.*}} must be a constant integer}}
+}
 
 /*
  * Saturating intrinsics