* pr-5016.ch, pr-5016.exp, Makefile.in: New testcase.

* Makefile.in (.exe.check):  New rule, to run just one test.
This commit is contained in:
Per Bothner 1994-09-06 20:23:16 +00:00
parent b19d7c45d7
commit 16654bbe99
4 changed files with 95 additions and 2 deletions

View File

@ -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

View File

@ -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:

View File

@ -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;

View File

@ -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
}