aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/parens_3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/parens_3.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/parens_3.f9048
1 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/parens_3.f90 b/gcc/testsuite/gfortran.dg/parens_3.f90
new file mode 100644
index 0000000..47bb75e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/parens_3.f90
@@ -0,0 +1,48 @@
+! PR 14771
+! { dg-do run }
+! Originally contributed by Walt Brainerd, modified for the testsuite
+ PROGRAM fc107
+
+! Submitted by Walt Brainerd, The Fortran Company
+! GNU Fortran 95 (GCC 4.1.0 20050322 (experimental))
+! Windows XP
+
+! Return value should be 3
+
+ INTEGER I, J, M(2), N(2)
+ integer, pointer :: k
+ integer, target :: l
+ INTEGER TRYME
+
+ interface
+ FUNCTION TRYyou(RTNME,HITME)
+ INTEGER RTNME(2),HITME(2), tryyou(2)
+ END function tryyou
+ end interface
+
+ m = 7
+ l = 5
+ I = 3
+ k => l
+
+ j = tryme((i),i)
+ if (j .ne. 3) call abort ()
+
+ j = tryme((k),k)
+ if (j .ne. 5) call abort ()
+
+ n = tryyou((m),m)
+ if (any(n .ne. 7)) call abort ()
+ END
+
+ INTEGER FUNCTION TRYME(RTNME,HITME)
+ INTEGER RTNME,HITME
+ HITME = 999
+ TRYME = RTNME
+ END
+
+ FUNCTION TRYyou(RTNME,HITME)
+ INTEGER RTNME(2),HITME(2), tryyou(2)
+ HITME = 999
+ TRYyou = RTNME
+ END