This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type
- From: "drow at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Apr 2010 15:45:35 -0000
- Subject: [Bug debug/43628] [4.5 Regression] in-class func-ptr type parameter has unspecified DW_AT_type
- References: <bug-43628-12292@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from drow at gcc dot gnu dot org 2010-04-04 15:45 -------
FYI, this patch also fixes a number of failures in cpexprs.exp in GDB.
Testcase:
struct s
{
bool operator!= (s const& o) const { return false; }
};
bool
func (const struct s& arg, const struct s& right)
{
return arg != right;
}
The THIS argument of operator!= gets a valid type. The O argument gets the
self-typedef, and produces a DW_TAG_const_type with no type argument.
I'd say an assertion in modified_type_die after creating a new const or
volatile DIE with sub_die == NULL would be appropriate, if it weren't for the
ERROR_MARK handling... I don't know if we get here after errors.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43628