From 09dde100604dd5357e58cdb6ba7940dcc97c4d9a Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Wed, 29 Mar 1995 01:15:04 +0000 Subject: [PATCH] * pr-6632.ch, pr-6632-grt.ch, pr-6632.exp, Makefile.in: New test case. --- gdb/testsuite/gdb.chill/.Sanitize | 3 ++ gdb/testsuite/gdb.chill/ChangeLog | 4 ++ gdb/testsuite/gdb.chill/Makefile.in | 7 ++- gdb/testsuite/gdb.chill/pr-6632-grt.ch | 34 +++++++++++++++ gdb/testsuite/gdb.chill/pr-6632.ch | 31 +++++++++++++ gdb/testsuite/gdb.chill/pr-6632.exp | 60 ++++++++++++++++++++++++++ 6 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 gdb/testsuite/gdb.chill/pr-6632-grt.ch create mode 100644 gdb/testsuite/gdb.chill/pr-6632.ch create mode 100644 gdb/testsuite/gdb.chill/pr-6632.exp diff --git a/gdb/testsuite/gdb.chill/.Sanitize b/gdb/testsuite/gdb.chill/.Sanitize index 1ac0a9d2516..1d52094a537 100644 --- a/gdb/testsuite/gdb.chill/.Sanitize +++ b/gdb/testsuite/gdb.chill/.Sanitize @@ -46,6 +46,9 @@ pr-5646-grt.ch pr-5646.exp pr-6292.ch pr-6292.exp +pr-6632.ch +pr-6632-grt.ch +pr-6632.exp result.ch result.exp string.ch diff --git a/gdb/testsuite/gdb.chill/ChangeLog b/gdb/testsuite/gdb.chill/ChangeLog index 42b380e6a28..bd966a4526c 100644 --- a/gdb/testsuite/gdb.chill/ChangeLog +++ b/gdb/testsuite/gdb.chill/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 28 17:13:13 1995 Per Bothner + + * pr-6632.ch, pr-6632-grt.ch, pr-6632.exp, Makefile.in: New test case. + Tue Mar 21 12:10:06 1995 Jim Kingdon (kingdon@lioth.cygnus.com) * tuples.exp (do_tests): Make names of "print v_ps" test unique. diff --git a/gdb/testsuite/gdb.chill/Makefile.in b/gdb/testsuite/gdb.chill/Makefile.in index d6b0310db99..dcee2a05e41 100644 --- a/gdb/testsuite/gdb.chill/Makefile.in +++ b/gdb/testsuite/gdb.chill/Makefile.in @@ -97,7 +97,7 @@ CHILL_LIB = ` \ EXECUTABLES = callch.exe chillvars.exe misc.exe \ result.exe string.exe tuples.exe \ pr-4975.exe pr-5016.exe pr-5020.exe pr-5022.exe pr-5646.exe pr-5984.exe \ - pr-6292.exe + pr-6292.exe pr-6632.exe all: $(EXECUTABLES) @@ -105,9 +105,14 @@ all: $(EXECUTABLES) # latter can use the former's grant file. pr-4975.o: pr-4975-grt.o pr-5646.o: pr-5646-grt.o +pr-6632.o: pr-6632-grt.o .SUFFIXES: .ch .exe .check +pr-6632.exe: pr-6632.o pr-6632-grt.o + $(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o pr-6632.exe \ + pr-6632.o pr-6632-grt.o $(CHILL_LIB) $(LIBS) + .o.exe: $(CHILL_FOR_TARGET) $(CHILLFLAGS) $(LDFLAGS) -o $*.exe $*.o $(CHILL_LIB) $(LIBS) diff --git a/gdb/testsuite/gdb.chill/pr-6632-grt.ch b/gdb/testsuite/gdb.chill/pr-6632-grt.ch new file mode 100644 index 00000000000..e9434f1bb48 --- /dev/null +++ b/gdb/testsuite/gdb.chill/pr-6632-grt.ch @@ -0,0 +1,34 @@ +markus1: MODULE + +SYNMODE m_dummy = SET (dummy_1, + dummy_2, + dummy_3, + dummy_4, + dummy_5, + dummy_6, + dummy_7, + dummy_8, + dummy_9, + dummy_10, + dummy_11, + dummy_12, + dummy_13, + dummy_14, + dummy_15, + dummy_16, + dummy_17, + dummy_18, + dummy_19, + dummy_20, + dummy_21, + dummy_22, + dummy_23, + dummy_24, + dummy_25, + dummy_26); + +SYNMODE m_dummy_range = m_dummy(dummy_6 : dummy_22); + +GRANT m_dummy, m_dummy_range; + +END markus1; diff --git a/gdb/testsuite/gdb.chill/pr-6632.ch b/gdb/testsuite/gdb.chill/pr-6632.ch new file mode 100644 index 00000000000..b82c7ae1c88 --- /dev/null +++ b/gdb/testsuite/gdb.chill/pr-6632.ch @@ -0,0 +1,31 @@ +markus: MODULE + +<> USE_SEIZE_FILE "pr-6632-grt.grt" <> +SEIZE m_dummy, m_dummy_range; + +DCL v m_dummy_range; + +NEWMODE is_str_descr = STRUCT (p PTR, + l INT, + flag STRUCT (x UBYTE, + y SET (aa, bb, cc, dd, ee, ff))); +DCL des is_str_descr; + +NEWMODE is_cb_debug = STRUCT (i INT, + channel m_dummy_range, + p PTR); +NEWMODE is_cb_debug_array = ARRAY (0:20) is_cb_debug; +DCL cb_debug is_cb_debug_array; +DCL cb_debug_index INT := 0; + +p: PROC (pp is_str_descr IN, x m_dummy_range IN) + DO WITH cb_debug(cb_debug_index); + channel := x; + OD; +END p; + +p (des, dummy_10); +WRITETEXT (stdout, "cb_debug(%C).channel := %C%/", + cb_debug_index, cb_debug(cb_debug_index).channel); + +END markus; diff --git a/gdb/testsuite/gdb.chill/pr-6632.exp b/gdb/testsuite/gdb.chill/pr-6632.exp new file mode 100644 index 00000000000..259290c1e40 --- /dev/null +++ b/gdb/testsuite/gdb.chill/pr-6632.exp @@ -0,0 +1,60 @@ +# Copyright (C) 1995 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 p + gdb_test "whatis x" {type = m_dummy_range} + gdb_test_exact "ptype x" {type = m_dummy (dummy_6:dummy_22)} + gdb_test "print x" { = dummy_10} +} + +# 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-6632.exe" +set srcfile $binfile.ch + +if [skip_chill_tests] then { continue } + +if ![file exists $objdir/$subdir/$binfile] then { + warning "$binfile does not exist; tests suppressed." +} else { + do_tests +} -- 2.30.2