Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 50db34ef289d288e6865a77c2c573249 > files > 135

gdb-7.1-34.fc13.src.rpm

[patch] Fix ADL anonymous type crash
http://sourceware.org/ml/gdb-patches/2010-06/msg00004.html
http://sourceware.org/ml/gdb-cvs/2010-06/msg00012.html

[ Backported the testcase.  ]

### src/gdb/ChangeLog	2010/06/02 06:24:00	1.11862
### src/gdb/ChangeLog	2010/06/02 15:31:29	1.11863
## -1,3 +1,8 @@
+2010-06-02  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* cp-support.c (make_symbol_overload_list_adl_namespace): Handle
+	anonymous type case.
+
 2010-06-02  Pierre Muller  <muller@ics.u-strasbg.fr>
 
 	* dwarf2read.c (read_subrange_type): Handle missing base type
### src/gdb/testsuite/ChangeLog	2010/06/01 21:29:21	1.2298
### src/gdb/testsuite/ChangeLog	2010/06/02 15:31:30	1.2299
## -1,3 +1,8 @@
+2010-06-02  Sami Wagiaalla  <swagiaal@redhat.com>
+
+	* gdb.cp/namespace-koenig.exp: Added new test case.
+	* gdb.cp/namespace-koenig.cc: Ditto.
+
 2010-06-01  Michael Snyder  <msnyder@vmware.com>
 
 	* gdb.base/arithmet.exp: Use gdb_test_no_output.
--- src/gdb/cp-support.c	2010/05/13 23:53:32	1.40
+++ src/gdb/cp-support.c	2010/06/02 15:31:30	1.41
@@ -752,6 +752,9 @@
 
   type_name = TYPE_NAME (type);
 
+  if (type_name == NULL)
+    return;
+
   prefix_len = cp_entire_prefix_len (type_name);
 
   if (prefix_len != 0)
--- gdb-7.1/gdb/testsuite/gdb.cp/namespace-koenig.cc.orig	2010-06-09 08:20:14.000000000 +0200
+++ gdb-7.1/gdb/testsuite/gdb.cp/namespace-koenig.cc	2010-06-09 11:09:29.000000000 +0200
@@ -165,6 +165,13 @@ namespace M {
 
 }
 //------------
+static union {
+    int  a;
+    char b;
+}p_union;
+
+//------------
+
 int
 main ()
 {
--- gdb-7.1/gdb/testsuite/gdb.cp/namespace-koenig.exp.orig	2010-06-09 08:20:14.000000000 +0200
+++ gdb-7.1/gdb/testsuite/gdb.cp/namespace-koenig.exp	2010-06-09 11:09:48.000000000 +0200
@@ -110,3 +111,7 @@ gdb_test "p o + 5.0f" "= 22"
 gdb_test "p o + 5" "= 23"
 
 gdb_test "p o++" "= 24"
+
+#test that lookup is not thwarted by anonymous types
+gdb_test "p foo (p_union)" \
+  "Cannot resolve function foo to any overloaded instance"