aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1994-09-06 20:23:16 +0000
committerPer Bothner <per@bothner.com>1994-09-06 20:23:16 +0000
commit16654bbe99ac3467ed1cf622ea3b8ac282c38bcf (patch)
treeb9a8d13a0c86be47dc0539e882f5311688b9a2c1 /gdb/testsuite
parentb19d7c45d726b324c84950c9bf6f1165b7125226 (diff)
downloadgdb-16654bbe99ac3467ed1cf622ea3b8ac282c38bcf.zip
gdb-16654bbe99ac3467ed1cf622ea3b8ac282c38bcf.tar.gz
gdb-16654bbe99ac3467ed1cf622ea3b8ac282c38bcf.tar.bz2
* pr-5016.ch, pr-5016.exp, Makefile.in: New testcase.
* Makefile.in (.exe.check): New rule, to run just one test.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/gdb.chill/.Sanitize2
-rw-r--r--gdb/testsuite/gdb.chill/Makefile.in12
-rw-r--r--gdb/testsuite/gdb.chill/pr-5016.ch24
-rw-r--r--gdb/testsuite/gdb.chill/pr-5016.exp59
4 files changed, 95 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.chill/.Sanitize b/gdb/testsuite/gdb.chill/.Sanitize
index 05a0805..f9fdaaa 100644
--- a/gdb/testsuite/gdb.chill/.Sanitize
+++ b/gdb/testsuite/gdb.chill/.Sanitize
@@ -31,6 +31,8 @@ configure.in
pr-4975.ch
pr-4975-grt.ch
pr-4975.exp
+pr-5016.ch
+pr-5016.exp
pr-5020.ch
pr-5020.exp
pr-5022.ch
diff --git a/gdb/testsuite/gdb.chill/Makefile.in b/gdb/testsuite/gdb.chill/Makefile.in
index 6922f85..144b1c1 100644
--- a/gdb/testsuite/gdb.chill/Makefile.in
+++ b/gdb/testsuite/gdb.chill/Makefile.in
@@ -103,7 +103,7 @@ GDBFLAGS = -nx
#### host, target, and site specific Makefile frags come in here.
EXECUTABLES = chillvars.exe result.exe \
- pr-4975.exe pr-5020.exe pr-5022.exe
+ pr-4975.exe pr-5016.exe pr-5020.exe pr-5022.exe
# To force pr-4975-grt to be compiled before pr-4975, so the
# latter can use the former's grant file.
@@ -111,7 +111,7 @@ pr-4975.o: pr-4975-grt.o
all: $(EXECUTABLES)
-.SUFFIXES: .ch .exe
+.SUFFIXES: .ch .exe .check
.o.exe:
$(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o $*.exe $*.o $(CHILL_LIB) $(LIBS)
@@ -119,6 +119,14 @@ all: $(EXECUTABLES)
.ch.o:
$(CHILL_FOR_TARGET) $(CHILLFLAGS) -fspecial_UC -c $<
+# Do 'make chillvars.check' to run just the chillvars.{ch,exp} test.
+
+.exe.check:
+ rootme=`pwd`/; export rootme; \
+ cd .. ; \
+ $(MAKE) just-check RUNTESTFLAGS="${RUNTESTFLAGS} $*.exp" \
+ GDB=${GDB} EXPECT=${EXPECT}
+
.NOEXPORT:
INFODIRS=doc
info:
diff --git a/gdb/testsuite/gdb.chill/pr-5016.ch b/gdb/testsuite/gdb.chill/pr-5016.ch
new file mode 100644
index 0000000..a6829bf
--- /dev/null
+++ b/gdb/testsuite/gdb.chill/pr-5016.ch
@@ -0,0 +1,24 @@
+vector: MODULE
+
+SYNMODE m_index = RANGE(1:10);
+NEWMODE vector = ARRAY (m_index) INT;
+
+DCL a, b, c vector;
+
+dump: PROC( a vector LOC, c CHAR );
+ DCL i m_index;
+ DO FOR i IN m_index;
+ WRITETEXT( STDOUT, "%C(%C)=%C ", c, i, a(i) );
+ OD;
+ WRITETEXT( STDOUT, "%/" );
+END dump;
+
+a := vector [ 1, -1, 2, -2, 3, -3, 4, -4, 5, -5 ];
+b := a;
+b(4) := 4;
+b(7) := 7;
+c := vector [(*): 0];
+
+dump(a,'a');
+
+END vector;
diff --git a/gdb/testsuite/gdb.chill/pr-5016.exp b/gdb/testsuite/gdb.chill/pr-5016.exp
new file mode 100644
index 0000000..827c405
--- /dev/null
+++ b/gdb/testsuite/gdb.chill/pr-5016.exp
@@ -0,0 +1,59 @@
+# Copyright (C) 1992 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+# This file was written by Per Bothner. (bothner@cygnus.com)
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+proc do_tests {} {
+ global prms_id bug_id subdir objdir srcdir binfile prompt
+
+ set prms_id 0
+ set bug_id 0
+
+ # Start with a fresh gdb.
+
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load $objdir/$subdir/$binfile
+
+ send "set language chill\n" ; expect -re "$prompt $"
+
+ runto dump
+ gdb_test "whatis i" "type = m_index" "whatis int-range"
+ gdb_test_exact "ptype m_index" "type = RANGE (1:10)" "ptype m_index"
+ gdb_test_exact "whatis a" "type = /*LOC*/ vector"
+ gdb_test_exact "ptype a" "type = /*LOC*/ ARRAY (1:10) INT"
+}
+
+# Check to see if we have an executable to test. If not, then either we
+# haven't tried to compile one, or the compilation failed for some reason.
+# In either case, just notify the user and skip the tests in this file.
+
+set binfile "pr-5016.exe"
+set srcfile $binfile.ch
+
+if ![file exists $objdir/$subdir/$binfile] then {
+ warning "$binfile does not exist; tests suppressed."
+} else {
+ do_tests
+}