* gdb.base/structs2.exp: New file.
authorDoug Evans <dje@google.com>
Sun, 17 May 1998 01:50:06 +0000 (01:50 +0000)
committerDoug Evans <dje@google.com>
Sun, 17 May 1998 01:50:06 +0000 (01:50 +0000)
* gdb.base/structs2.c: New file.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/.Sanitize
gdb/testsuite/gdb.base/structs2.c [new file with mode: 0644]
gdb/testsuite/gdb.base/structs2.exp [new file with mode: 0644]

index 4af0c78380e7df48df32c518d97229dee0f84499..ec7975cb2161ec245a3c9bb9388f0753401d9b6d 100644 (file)
@@ -1,3 +1,33 @@
+Sat May 16 18:48:08 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * gdb.base/structs2.exp: New file.
+       * gdb.base/structs2.c: New file.
+
+Wed May 13 13:36:14 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * gdb.asm/common.inc: New file.
+       * gdb.asm/d10v.inc: New file.
+       * asm-source.exp: Pass -I's to gas to find .inc files.
+       Update line numbers in expected output.
+       * asmsrc1.s: Rewrite.
+       * asmsrc2.s: Rewrite.
+       * configure.in: Create arch.inc symlink.
+       * configure: Regenerate.
+       * Makefile.in (distclean): Delete arch.inc.
+
+Wed May  6 10:30:54 1998  John Metzler  <jmetzler@cygnus.com>
+
+       *  callfuncs.c (t_enum_value1) : Cleanup return value warnings
+       (t_enum_value2): ditto
+       (t_enum_value3): ditto
+       (main): ditto
+Fri May  1 09:33:37 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
+
+       * gdb.base/break.exp:  Remove xfail for `deleting all breakpoints
+       when none' unexpected prompt case, fixed by breakpoint.c:delete_command
+       change.
+       Use gdb_test instead of send_gdb/gdb_expect sequences.
+
 Thu Apr 23 12:56:19 1998  Jason Molenda  (crash@bugshack.cygnus.com)
 
        * gdb.c++/virtfunc.cc: Declare extern "C" printf to return int,
index d57be362618dc5a0acdc05a0d9a9d320b52f00e6..84a667861bd1fa48c15f25d1d0e912086fadb32c 100644 (file)
@@ -121,6 +121,8 @@ whatis.exp
 Things-to-lose:
 structs.c
 structs.exp
+structs2.c
+structs2.exp
 
 # The lines between the "Do-last:" line and the end of the file
 # are executed as a /bin/sh shell script after everything else is
diff --git a/gdb/testsuite/gdb.base/structs2.c b/gdb/testsuite/gdb.base/structs2.c
new file mode 100644 (file)
index 0000000..f9f59e9
--- /dev/null
@@ -0,0 +1,38 @@
+/* pr 13536 */
+
+static void param_reg (register char pr_char,
+                      register unsigned char pr_uchar,
+                      register short pr_short,
+                      register unsigned short pr_ushort);
+
+int bkpt;
+
+int
+main ()
+{
+#ifdef usestubs
+  set_debug_traps ();
+  breakpoint ();
+#endif
+
+  bkpt = 0;
+  param_reg (120, 130, 32000, 33000);
+  param_reg (130, 120, 33000, 32000);
+
+  return 0;
+}
+
+static void dummy () {}
+
+static void
+param_reg(register char pr_char,
+         register unsigned char pr_uchar,
+         register short pr_short,
+         register unsigned short pr_ushort)
+{
+  bkpt = 1;
+  dummy ();
+  pr_char = 1;
+  pr_uchar = pr_short = pr_ushort = 1;
+  dummy ();
+}
diff --git a/gdb/testsuite/gdb.base/structs2.exp b/gdb/testsuite/gdb.base/structs2.exp
new file mode 100644 (file)
index 0000000..14652be
--- /dev/null
@@ -0,0 +1,79 @@
+# Copyright (C) 1998 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-gdb@prep.ai.mit.edu
+
+if $tracelevel then {
+       strace $tracelevel
+}
+
+set prms_id 0
+set bug_id 0
+
+set prototypes 1
+set testfile "structs2"
+set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile}
+
+# build the first test case
+if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    # built the second test case since we can't use prototypes
+    warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES"
+    if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DNO_PROTOTYPES}] != "" } {
+       gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+    }
+    set prototypes 0
+}
+
+# Start with a fresh gdb.
+
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+gdb_load ${binfile}
+
+gdb_test "set width 0" "" ""
+
+if { ![runto_main] } then {
+    gdb_suppress_tests
+}
+
+# Ok, we're finally ready to actually do our tests.
+
+set prms_id 13536
+set bug_id 0
+
+gdb_test "f" \
+    ".*bkpt = 0.*" \
+    "structs2 sanity check"
+
+gdb_test "break param_reg" \
+    "Breakpoint .* at .*" \
+    "structs2 breakpoint set"
+
+gdb_test "continue" \
+    ".*pr_char=120.*pr_uchar=130.*pr_short=32000.*pr_ushort=33000.*bkpt = 1.*" \
+    "structs2 continue1"
+
+gdb_test "continue" \
+    ".*pr_char=-126.*pr_uchar=120.*pr_short=-32536.*pr_ushort=32000.*bkpt = 1.*" \
+    "structs2 continue2"
+
+# End of tests.
+
+gdb_stop_suppressing_tests
+
+return 0