rpms/gdb/devel gdb-archer.patch,1.10,1.11 gdb.spec,1.337,1.338
Jan Kratochvil
jkratoch at fedoraproject.org
Sun Apr 5 20:34:21 UTC 2009
- Previous message (by thread): rpms/python-mutagen/devel import.log, NONE, 1.1 .cvsignore, 1.9, 1.10 python-mutagen.spec, 1.13, 1.14 sources, 1.9, 1.10
- Next message (by thread): rpms/eclipse-phpeclipse/F-9 eclipse-phpeclipse-fix-phpmanual-view.patch, NONE, 1.1 eclipse-phpeclipse-httpd-integration.patch, 1.5, 1.6 eclipse-phpeclipse.spec, 1.8, 1.9 get-phpeclipse.sh, 1.2, 1.3 sources, 1.4, 1.5 eclipse-phpeclipse-no-htmlparser.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14931
Modified Files:
gdb-archer.patch gdb.spec
Log Message:
* Sun Apr 5 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-14
- Archer update to the snapshot: f6273d446ff87e50976600ba3f71b88d61043e20
- Archer backport: f6273d446ff87e50976600ba3f71b88d61043e20
- Use pretty-printers to print base classes inside a derived class.
gdb-archer.patch:
Index: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- gdb-archer.patch 30 Mar 2009 17:32:00 -0000 1.10
+++ gdb-archer.patch 5 Apr 2009 20:34:20 -0000 1.11
@@ -2,7 +2,7 @@
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
-commit d144a3633454046aaeae3e2c369c271834431d36
+commit f6273d446ff87e50976600ba3f71b88d61043e20
branch `archer' - the merge of branches:
archer-jankratochvil-merge-expr
@@ -12318,10 +12318,52 @@
const char *name,
const char *linkage_name,
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
-index 8b7d868..dcd32cb 100644
+index 8b7d868..4e33fa0 100644
--- a/gdb/cp-valprint.c
+++ b/gdb/cp-valprint.c
-@@ -461,6 +461,7 @@ cp_print_static_field (struct type *type,
+@@ -36,6 +36,7 @@
+ #include "valprint.h"
+ #include "cp-support.h"
+ #include "language.h"
++#include "python/python.h"
+
+ /* Controls printing of vtbl's */
+ static void
+@@ -418,12 +419,27 @@ cp_print_value (struct type *type, struct type *real_type,
+ if (skip >= 1)
+ fprintf_filtered (stream, "<invalid address>");
+ else
+- cp_print_value_fields (baseclass, thistype, base_valaddr,
+- thisoffset + boffset, address + boffset,
+- stream, recurse, options,
+- ((struct type **)
+- obstack_base (&dont_print_vb_obstack)),
+- 0);
++ {
++ int result = 0;
++
++ /* Attempt to run the Python pretty-printers on the
++ baseclass if possible. */
++ if (!options->raw)
++ result = apply_val_pretty_printer (baseclass, base_valaddr,
++ thisoffset + boffset,
++ address + boffset,
++ stream, recurse,
++ options,
++ current_language);
++
++ if (!result)
++ cp_print_value_fields (baseclass, thistype, base_valaddr,
++ thisoffset + boffset, address + boffset,
++ stream, recurse, options,
++ ((struct type **)
++ obstack_base (&dont_print_vb_obstack)),
++ 0);
++ }
+ fputs_filtered (", ", stream);
+
+ flush_it:
+@@ -461,6 +477,7 @@ cp_print_static_field (struct type *type,
if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
{
CORE_ADDR *first_dont_print;
@@ -12329,7 +12371,7 @@
int i;
first_dont_print
-@@ -470,7 +471,7 @@ cp_print_static_field (struct type *type,
+@@ -470,7 +487,7 @@ cp_print_static_field (struct type *type,
while (--i >= 0)
{
@@ -12338,7 +12380,7 @@
{
fputs_filtered ("<same as static member of an already"
" seen type>",
-@@ -479,12 +480,13 @@ cp_print_static_field (struct type *type,
+@@ -479,12 +496,13 @@ cp_print_static_field (struct type *type,
}
}
@@ -12354,7 +12396,7 @@
stream, recurse, options, NULL, 1);
return;
}
-@@ -492,7 +494,7 @@ cp_print_static_field (struct type *type,
+@@ -492,7 +510,7 @@ cp_print_static_field (struct type *type,
opts = *options;
opts.deref_ref = 0;
val_print (type, value_contents_all (val),
@@ -40681,13 +40723,13 @@
+mi_varobj_update_with_type_change container int 0 "update after type change"
diff --git a/gdb/testsuite/gdb.python/python-prettyprint.c b/gdb/testsuite/gdb.python/python-prettyprint.c
new file mode 100644
-index 0000000..f8c2435
+index 0000000..399be23
--- /dev/null
+++ b/gdb/testsuite/gdb.python/python-prettyprint.c
-@@ -0,0 +1,159 @@
+@@ -0,0 +1,191 @@
+/* This testcase is part of GDB, the GNU debugger.
+
-+ Copyright 2008 Free Software Foundation, Inc.
++ Copyright 2008, 2009 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
@@ -40731,6 +40773,35 @@
+ const S &b;
+};
+SSS::SSS (int x, const S& r) : a(x), b(r) { }
++
++class VirtualTest
++{
++ private:
++ int value;
++
++ public:
++ VirtualTest ()
++ {
++ value = 1;
++ }
++};
++
++class Vbase1 : public virtual VirtualTest { };
++class Vbase2 : public virtual VirtualTest { };
++class Vbase3 : public virtual VirtualTest { };
++
++class Derived : public Vbase1, public Vbase2, public Vbase3
++{
++ private:
++ int value;
++
++ public:
++ Derived ()
++ {
++ value = 2;
++ }
++};
++
+#endif
+
+typedef struct string_repr
@@ -40833,6 +40904,9 @@
+ SSS sss(15, cps);
+
+ SSS& ref (sss);
++
++ Derived derived;
++
+#endif
+
+ add_item (&c, 23); /* MI breakpoint here */
@@ -40846,11 +40920,11 @@
+}
diff --git a/gdb/testsuite/gdb.python/python-prettyprint.exp b/gdb/testsuite/gdb.python/python-prettyprint.exp
new file mode 100644
-index 0000000..b2ccb2b
+index 0000000..f83b1cd
--- /dev/null
+++ b/gdb/testsuite/gdb.python/python-prettyprint.exp
-@@ -0,0 +1,90 @@
-+# Copyright (C) 2008 Free Software Foundation, Inc.
+@@ -0,0 +1,92 @@
++# Copyright (C) 2008, 2009 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
@@ -40928,6 +41002,8 @@
+ gdb_test "print cpssa" " = {{$nl *zss = 11, *$nl *s = a=<12> b=<$hex>$nl *}, {$nl *zss = 13, *$nl *s = a=<14> b=<$hex>$nl *}}"
+ gdb_test "print sss" "= a=<15> b=< a=<8> b=<$hex>>"
+ gdb_test "print ref" "= a=<15> b=< a=<8> b=<$hex>>"
++ gdb_test "print derived" \
++ " = \{.*<Vbase1> = pp class name: Vbase1.*<Vbase2> = \{.*<VirtualTest> = pp value variable is: 1,.*members of Vbase2:.*_vptr.Vbase2 = $hex.*<Vbase3> = \{.*members of Vbase3.*members of Derived:.*value = 2.*"
+ }
+
+ gdb_test "print x" " = $hex \"this is x\""
@@ -40942,10 +41018,10 @@
+run_lang_tests "c++"
diff --git a/gdb/testsuite/gdb.python/python-prettyprint.py b/gdb/testsuite/gdb.python/python-prettyprint.py
new file mode 100644
-index 0000000..0d9cb87
+index 0000000..8379ecf
--- /dev/null
+++ b/gdb/testsuite/gdb.python/python-prettyprint.py
-@@ -0,0 +1,134 @@
+@@ -0,0 +1,151 @@
+# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@@ -41026,6 +41102,20 @@
+ def to_string(self):
+ return "a=<" + str(self.val['a']) + "> b=<" + str(self.val["b"]) + ">"
+
++class pp_multiple_virtual:
++ def __init__ (self, val):
++ self.val = val
++
++ def to_string (self):
++ return "pp value variable is: " + str (self.val['value'])
++
++class pp_vbase1:
++ def __init__ (self, val):
++ self.val = val
++
++ def to_string (self):
++ return "pp class name: " + self.val.type ().tag ()
++
+def lookup_function (val):
+ "Look-up and return a pretty-printer that can print val."
+
@@ -41067,6 +41157,9 @@
+ pretty_printers_dict[re.compile ('^const S &$')] = pp_s
+ pretty_printers_dict[re.compile ('^SSS$')] = pp_sss
+
++ pretty_printers_dict[re.compile ('^VirtualTest$')] = pp_multiple_virtual
++ pretty_printers_dict[re.compile ('^Vbase1$')] = pp_vbase1
++
+ # Note that we purposely omit the typedef names here.
+ # Printer lookup is based on canonical name.
+ # However, we do need both tagged and untagged variants, to handle
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.337
retrieving revision 1.338
diff -u -r1.337 -r1.338
--- gdb.spec 30 Mar 2009 17:32:01 -0000 1.337
+++ gdb.spec 5 Apr 2009 20:34:21 -0000 1.338
@@ -13,7 +13,7 @@
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 13%{?_with_upstream:.upstream}%{?dist}
+Release: 14%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+
Group: Development/Debuggers
@@ -851,6 +851,11 @@
%endif
%changelog
+* Sun Apr 5 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-14
+- Archer update to the snapshot: f6273d446ff87e50976600ba3f71b88d61043e20
+- Archer backport: f6273d446ff87e50976600ba3f71b88d61043e20
+ - Use pretty-printers to print base classes inside a derived class.
+
* Mon Mar 30 2009 Jan Kratochvil <jan.kratochvil at redhat.com> - 6.8.50.20090302-13
- Archer update to the snapshot: d144a3633454046aaeae3e2c369c271834431d36
- Archer backport: a2c49b7640ebe7ce1376902d48d5bbbee600996b
- Previous message (by thread): rpms/python-mutagen/devel import.log, NONE, 1.1 .cvsignore, 1.9, 1.10 python-mutagen.spec, 1.13, 1.14 sources, 1.9, 1.10
- Next message (by thread): rpms/eclipse-phpeclipse/F-9 eclipse-phpeclipse-fix-phpmanual-view.patch, NONE, 1.1 eclipse-phpeclipse-httpd-integration.patch, 1.5, 1.6 eclipse-phpeclipse.spec, 1.8, 1.9 get-phpeclipse.sh, 1.2, 1.3 sources, 1.4, 1.5 eclipse-phpeclipse-no-htmlparser.patch, 1.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list