summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/guality
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/guality')
-rw-r--r--gcc/testsuite/gfortran.dg/guality/arg1.f9015
-rw-r--r--gcc/testsuite/gfortran.dg/guality/guality.exp29
-rw-r--r--gcc/testsuite/gfortran.dg/guality/pr41558.f9010
3 files changed, 54 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/guality/arg1.f90 b/gcc/testsuite/gfortran.dg/guality/arg1.f90
new file mode 100644
index 000000000..332a4ed1d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/guality/arg1.f90
@@ -0,0 +1,15 @@
+! { dg-do run }
+! { dg-options "-g" }
+ integer :: a(10), b(12)
+ call sub (a, 10)
+ call sub (b, 12)
+ write (*,*) a, b
+end
+
+subroutine sub (a, n)
+ integer :: a(n), n
+ do i = 1, n
+ a(i) = i
+ end do
+ write (*,*) a ! { dg-final { gdb-test 14 "a(10)" "10" } }
+end subroutine
diff --git a/gcc/testsuite/gfortran.dg/guality/guality.exp b/gcc/testsuite/gfortran.dg/guality/guality.exp
new file mode 100644
index 000000000..2444d8de7
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/guality/guality.exp
@@ -0,0 +1,29 @@
+# This harness is for tests that should be run at all optimisation levels.
+
+load_lib gfortran-dg.exp
+load_lib gcc-gdb-test.exp
+
+# Disable on darwin until radr://7264615 is resolved.
+if { [istarget *-*-darwin*] } {
+ return
+}
+
+dg-init
+
+global GDB
+if ![info exists ::env(GUALITY_GDB_NAME)] {
+ if [info exists GDB] {
+ set guality_gdb_name "$GDB"
+ } else {
+ set guality_gdb_name "[transform gdb]"
+ }
+ setenv GUALITY_GDB_NAME "$guality_gdb_name"
+}
+
+gfortran-dg-runtest [lsort [glob $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] ""
+
+if [info exists guality_gdb_name] {
+ unsetenv GUALITY_GDB_NAME
+}
+
+dg-finish
diff --git a/gcc/testsuite/gfortran.dg/guality/pr41558.f90 b/gcc/testsuite/gfortran.dg/guality/pr41558.f90
new file mode 100644
index 000000000..9d1e83399
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/guality/pr41558.f90
@@ -0,0 +1,10 @@
+! PR debug/41558
+! { dg-do run }
+! { dg-options "-g" }
+
+subroutine f (s)
+ character(len=3) :: s
+ write (*,*), s ! { dg-final { gdb-test 7 "s" "'foo'" } }
+end
+ call f ('foo')
+end