aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c b/gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c
new file mode 100644
index 000000000..5b0de5720
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/builtin-assume-aligned-2.c
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+
+double *bar (void);
+
+void
+foo (double *ptr, int i)
+{
+ double *a = __builtin_assume_aligned (ptr, 16, 8, 7); /* { dg-error "too many arguments to function" } */
+ double *b = __builtin_assume_aligned (bar (), 16);
+ double *c = __builtin_assume_aligned (bar (), 16, 8);
+ double *d = __builtin_assume_aligned (ptr, i, ptr); /* { dg-error "non-integer argument 3 in call to function" } */
+ double *e = __builtin_assume_aligned (ptr, i, *ptr); /* { dg-error "non-integer argument 3 in call to function" } */
+ *a = 0.0;
+ *b = 0.0;
+ *c = 0.0;
+ *d = 0.0;
+ *e = 0.0;
+}