summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/guality
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gfortran.dg/guality
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
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