]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/blobdiff - gdb/patches/gdb-6.7-charsign-test.patch
gdb: Update to 7.3.50.20110722.
[people/pmueller/ipfire-3.x.git] / gdb / patches / gdb-6.7-charsign-test.patch
diff --git a/gdb/patches/gdb-6.7-charsign-test.patch b/gdb/patches/gdb-6.7-charsign-test.patch
new file mode 100644 (file)
index 0000000..793ff8a
--- /dev/null
@@ -0,0 +1,118 @@
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=224128
+
+2007-01-25  Jan Kratochvil <jan.kratochvil@redhat.com>
+
+       * gdb.base/charsign.exp, gdb.base/charsign.c: New files.
+       [ stripped ]
+
+2007-10-19  Jan Kratochvil <jan.kratochvil@redhat.com>
+
+       Port to GDB-6.7 - only the testcase left, patch has been reverted,
+       char-vectors restricted.
+
+--- /dev/null  1 Jan 1970 00:00:00 -0000
++++ ./gdb/testsuite/gdb.base/charsign.c        26 Jan 2007 10:32:00 -0000
+@@ -0,0 +1,37 @@
++/* This testcase is part of GDB, the GNU debugger.
++
++   Copyright 2007 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  */
++
++int main()
++{
++  return 0;
++}
++
++char n[]="A";
++signed char s[]="A";
++unsigned char u[]="A";
++
++typedef char char_n;
++typedef signed char char_s;
++typedef unsigned char char_u;
++
++char_n n_typed[]="A";
++char_s s_typed[]="A";
++char_u u_typed[]="A";
+--- /dev/null  1 Jan 1970 00:00:00 -0000
++++ ./gdb/testsuite/gdb.base/charsign.exp      26 Jan 2007 10:32:00 -0000
+@@ -0,0 +1,63 @@
++# Copyright 2007 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.  
++
++set testfile charsign
++set srcfile ${testfile}.c
++set binfile ${objdir}/${subdir}/${testfile}
++
++proc do_test { cflags } {
++    global srcdir
++    global binfile
++    global subdir
++    global srcfile
++    global gdb_prompt
++
++    if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug additional_flags=$cflags]] != "" } {
++      untested "Couldn't compile test program"
++      return -1
++    }
++
++    # Get things started.
++
++    gdb_exit
++    gdb_start
++    gdb_reinitialize_dir $srcdir/$subdir
++    gdb_load ${binfile}
++
++    # For C programs, "start" should stop in main().
++
++    gdb_test "p n" \
++           "= \"A\""
++    gdb_test "p s" \
++           "= \\{65 'A', 0 '\\\\0'\\}"
++    gdb_test "p u" \
++           "= \\{65 'A', 0 '\\\\0'\\}"
++    gdb_test "p n_typed" \
++           "= \"A\""
++    gdb_test "p s_typed" \
++           "= \\{65 'A', 0 '\\\\0'\\}"
++    gdb_test "p u_typed" \
++           "= \\{65 'A', 0 '\\\\0'\\}"
++}
++
++# The string identification works despite the compiler flags below due to
++# gdbtypes.c:
++#   if (name && strcmp (name, "char") == 0)
++#     TYPE_FLAGS (type) |= TYPE_FLAG_NOSIGN;
++
++do_test {}
++do_test {-fsigned-char}
++do_test {-funsigned-char}