> > The only caller is translate_all_program_units.
> > Since we free only module gsyms, even -fdump-fortran-global is
> > unaffected by this, fwiw.

AFAICS we do not have a test for -fdump-fortran-global
Do we want to add one, would the attached be OK?

thanks,
>From 7e7856cf9ec88ab7fb48e7c73f9cc6495a4a9c22 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <al...@gcc.gnu.org>
Date: Sat, 30 Oct 2021 23:43:12 +0200
Subject: [PATCH] Fortran: add testcase

gcc/testsuite/ChangeLog:
2021-10-30  Bernhard Reutner-Fischer  <al...@gcc.gnu.org>

	* gfortran.dg/dump-fortran-global-1.f90: New test.
---
 .../gfortran.dg/dump-fortran-global-1.f90     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 gcc/testsuite/gfortran.dg/dump-fortran-global-1.f90

diff --git a/gcc/testsuite/gfortran.dg/dump-fortran-global-1.f90 b/gcc/testsuite/gfortran.dg/dump-fortran-global-1.f90
new file mode 100644
index 00000000000..a8a1b15cce3
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/dump-fortran-global-1.f90
@@ -0,0 +1,25 @@
+! { dg-do compile }
+! { dg-options "-fdump-fortran-global" }
+!
+! Test that -fdump-fortran-global works
+
+integer function myifun ()
+  myifun = 42
+end function myifun
+
+program testprogram
+  implicit none
+  interface
+    subroutine sub1()
+    end subroutine sub1
+  end interface
+  integer :: myifun
+  integer :: myint1 = 42
+  real :: myreal1 = .0815
+  if (myreal1 > 1.0) stop 1
+  if (myint1 < 1) stop 2
+  if (myint1 /= myifun()) stop 3
+end program testprogram
+! { dg-output "\[\n\r]*name=myifun, sym_name=myifun\[\n\r]" }
+! { dg-output "\[\n\r]*name=testprogram\[\n\r]" }
+! { dg-prune-output "\[\n\r]*" }
-- 
2.33.0

Reply via email to