summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/used_types_27.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/used_types_27.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/used_types_27.f9018
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/used_types_27.f90 b/gcc/testsuite/gfortran.dg/used_types_27.f90
new file mode 100644
index 00000000000..4797f855cac
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/used_types_27.f90
@@ -0,0 +1,18 @@
+! { dg-do compile }
+!
+! PR fortran/56674
+! PR fortran/58813
+! PR fortran/59016
+! PR fortran/59024
+! The generic name 'atomic_kind_types' was keeping pointers to freed
+! symbols, leading to random error-recovery ICEs.
+!
+! Original test case from Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>.
+
+MODULE atomic_kind_types
+ PUBLIC :: atomic_kind_type
+CONTAINS
+ INTEGER FUNCTION is_hydrogen(atomic_kind)
+ TYPE(atomic_kind_type), pointer :: atomic_kind ! { dg-error "used before it is defined" }
+ END FUNCTION
+END MODULE