summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/graphite/id-18.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/graphite/id-18.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/id-18.f9026
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/graphite/id-18.f90 b/gcc/testsuite/gfortran.dg/graphite/id-18.f90
new file mode 100644
index 000000000..ed7806736
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/graphite/id-18.f90
@@ -0,0 +1,26 @@
+MODULE spherical_harmonics
+ INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND ( 14, 200 )
+CONTAINS
+ FUNCTION dlegendre (x, l, m) RESULT (dplm)
+ SELECT CASE ( l )
+ CASE ( 0 )
+ dplm = 0.0_dp
+ CASE ( 1 )
+ dplm = 1.0_dp
+ CASE DEFAULT
+ IF ( mm > 0 ) THEN
+ dpmm = -m
+ DO im = 1, mm
+ dpmm = -dpmm
+ END DO
+ IF ( l == mm + 1 ) THEN
+ DO il = mm + 2, l
+ dpll = dpmm
+ END DO
+ dplm = dpll
+ END IF
+ END IF
+ END SELECT
+ END FUNCTION dlegendre
+END MODULE spherical_harmonics
+! { dg-final { cleanup-modules "spherical_harmonics" } }