summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/ppcg/tests/call3.c
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/ppcg/tests/call3.c')
-rw-r--r--polly/lib/External/ppcg/tests/call3.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/polly/lib/External/ppcg/tests/call3.c b/polly/lib/External/ppcg/tests/call3.c
new file mode 100644
index 00000000000..51b1e290ce4
--- /dev/null
+++ b/polly/lib/External/ppcg/tests/call3.c
@@ -0,0 +1,32 @@
+#include <stdlib.h>
+
+void copy_summary(int b[100], int a[100])
+{
+ for (int i = 0; i < 100; ++i) {
+ b[i] = 0;
+ int c = a[i];
+ }
+}
+
+#ifdef pencil_access
+__attribute__((pencil_access(copy_summary)))
+#endif
+void copy(int b[100], int a[100]);
+
+int main()
+{
+ int A[100][100], B[100];
+
+ for (int i = 0; i < 100; ++i)
+ B[i] = i;
+#pragma scop
+ for (int i = 0; i < 100; ++i)
+ copy(A[i], B);
+#pragma endscop
+ for (int i = 0; i < 100; ++i)
+ for (int j = 0; j < 100; ++j)
+ if (A[j][i] != B[i])
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
OpenPOWER on IntegriCloud