aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
committerBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
commit1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch)
treec607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c
parent283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff)
downloadtoolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c b/gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c
new file mode 100644
index 000000000..aa6571874
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/test_c_assoc.c
@@ -0,0 +1,55 @@
+/* use 0 for NULL so no need for system header */
+
+int test_c_assoc_0(void *my_c_ptr);
+int test_c_assoc_1(void *my_c_ptr_1, void *my_c_ptr_2);
+int test_c_assoc_2(void *my_c_ptr_1, void *my_c_ptr_2, int num_ptrs);
+void verify_assoc(void *my_c_ptr_1, void *my_c_ptr_2);
+
+extern void abort(void);
+
+int main(int argc, char **argv)
+{
+ int i;
+ int j;
+
+ if(test_c_assoc_0(0) != 0)
+ abort();
+
+ if(test_c_assoc_0(&i) != 1)
+ abort();
+
+ if(test_c_assoc_1(0, 0) != 0)
+ abort();
+
+ if(test_c_assoc_1(0, &i) != 0)
+ abort();
+
+ if(test_c_assoc_1(&i, &i) != 1)
+ abort();
+
+ if(test_c_assoc_1(&i, 0) != 0)
+ abort();
+
+ if(test_c_assoc_1(&i, &j) != 0)
+ abort();
+
+ /* this should be associated, cause only testing 1 ptr (i) */
+ if(test_c_assoc_2(&i, 0, 1) != 1)
+ abort();
+
+ /* this should be associated */
+ if(test_c_assoc_2(&i, &i, 2) != 1)
+ abort();
+
+ /* this should not be associated (i) */
+ if(test_c_assoc_2(&i, &j, 2) != 0)
+ abort();
+
+ /* this should be associated, cause only testing 1 ptr (i) */
+ if(test_c_assoc_2(&i, &j, 1) != 1)
+ abort();
+
+ verify_assoc(&i, &i);
+
+ return 0;
+}/* end main() */