Fix ADL anonymous name crash.
2010-06-02 Sami Wagiaalla <swagiaal@redhat.com> * cp-support.c (make_symbol_overload_list_adl_namespace): Handle anonymous type case. 2010-06-02 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/koenig.exp: Added new test case. * gdb.cp/koenig.cc: Ditto.
This commit is contained in:
parent
d0ef7741c5
commit
7d3fe98e4f
5 changed files with 25 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -752,6 +752,9 @@ make_symbol_overload_list_adl_namespace (struct type *type,
|
|||
|
||||
type_name = TYPE_NAME (type);
|
||||
|
||||
if (type_name == NULL)
|
||||
return;
|
||||
|
||||
prefix_len = cp_entire_prefix_len (type_name);
|
||||
|
||||
if (prefix_len != 0)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-06-02 Sami Wagiaalla <swagiaal@redhat.com>
|
||||
|
||||
* gdb.cp/koenig.exp: Added new test case.
|
||||
* gdb.cp/koenig.cc: Ditto.
|
||||
|
||||
2010-06-01 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* gdb.base/arithmet.exp: Use gdb_test_no_output.
|
||||
|
|
|
@ -175,6 +175,13 @@ typedef O::A TOA;
|
|||
typedef TOA TTOA;
|
||||
|
||||
//------------
|
||||
static union {
|
||||
int a;
|
||||
char b;
|
||||
}p_union;
|
||||
|
||||
//------------
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
|
|
@ -64,6 +64,7 @@ gdb_test "p foo(go, fo, eo)" "= 6"
|
|||
|
||||
#test that gdb fails gracefully
|
||||
gdb_test "p fake(eo)" "No symbol \"fake\" in current context."
|
||||
gdb_test "p foo (fake)" "No symbol \"fake\" in current context."
|
||||
|
||||
#test that namespaces of base classes are searched
|
||||
gdb_test "p foo(io)" "= 7"
|
||||
|
@ -104,3 +105,7 @@ gdb_test "p M::N::bar('a')" "= 22"
|
|||
|
||||
#test that lookup supports typedef
|
||||
gdb_test "p foo(ttoa, 'a')" "= 23"
|
||||
|
||||
#test that lookup is not thwarted by anonymous types
|
||||
gdb_test "p foo (p_union)" \
|
||||
"Cannot resolve function foo to any overloaded instance"
|
||||
|
|
Loading…
Reference in a new issue