Fixed void* vs int* overload issue (PR C++/10343).
authorSami Wagiaalla <swagiaal@redhat.com>
Thu, 14 Oct 2010 16:13:43 +0000 (16:13 +0000)
committerSami Wagiaalla <swagiaal@redhat.com>
Thu, 14 Oct 2010 16:13:43 +0000 (16:13 +0000)
commit7062b0a0dfe70957e9cb04749efb627a3032c3f2
tree304772526bc6562280716509edb63433a0bc3eab
parent5c3da5ea2ef28d1f272e737e5165d671149291a0
Fixed void* vs int* overload issue (PR C++/10343).

2010-10-14  Sami Wagiaalla  <swagiaal@redhat.com>

* gdbtypes.h: Create BASE_PTR_CONVERSION_BADNESS.
* gdbtypes.c (rank_one_type): Move type comparison code out of here
to...
(types_equal): ...here. And changed it as follows:
Outside of typedefs type must be of the same TYPE_CODE.
When compairing two pointers or references they are equal if their
targets are equal.
Correct pointer conversions.

2010-10-14  Sami Wagiaalla  <swagiaal@redhat.com>

* gdb.cp/converts.cc: New test program.
* gdb.cp/converts.exp: New test.
* gdb.cp/overload.exp: Added test for void* vs int*.
* gdb.cp/overload.exp: Ditto.
* gdb.cp/oranking.exp: Removed related kfail.
gdb/ChangeLog
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/converts.cc [new file with mode: 0644]
gdb/testsuite/gdb.cp/converts.exp [new file with mode: 0644]
gdb/testsuite/gdb.cp/oranking.exp
gdb/testsuite/gdb.cp/overload.cc
gdb/testsuite/gdb.cp/overload.exp