From 16654bbe99ac3467ed1cf622ea3b8ac282c38bcf Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Tue, 6 Sep 1994 20:23:16 +0000 Subject: [PATCH] * pr-5016.ch, pr-5016.exp, Makefile.in: New testcase. * Makefile.in (.exe.check): New rule, to run just one test. --- gdb/testsuite/gdb.chill/.Sanitize | 2 + gdb/testsuite/gdb.chill/Makefile.in | 12 +++++- gdb/testsuite/gdb.chill/pr-5016.ch | 24 ++++++++++++ gdb/testsuite/gdb.chill/pr-5016.exp | 59 +++++++++++++++++++++++++++++ 4 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 gdb/testsuite/gdb.chill/pr-5016.ch create mode 100644 gdb/testsuite/gdb.chill/pr-5016.exp diff --git a/gdb/testsuite/gdb.chill/.Sanitize b/gdb/testsuite/gdb.chill/.Sanitize index 05a08054a56..f9fdaaa1086 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 6922f85f725..144b1c1bcb2 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 00000000000..a6829bf70c1 --- /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 00000000000..827c4052d4c --- /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 +} -- 2.30.2