This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] pr11594
- From: Tom Tromey <tromey at redhat dot com>
- To: Chris Moller <cmoller at redhat dot com>
- Cc: "gdb-patches\ at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Tue, 22 Jun 2010 12:38:11 -0600
- Subject: Re: [patch] pr11594
- References: <4C20A875.7060204@redhat.com>
- Reply-to: tromey at redhat dot com
>>>>> "Chris" == Chris Moller <cmoller@redhat.com> writes:
Chris> I'm fairly sure that the
Chris> type2 = check_typedef (type1);
Chris> at valarith.c:277 is a typo and treally should be
Chris> type2 = check_typedef (type2);
Yes.
Chris> but, with gdb, who knows?
The maintainers are here to help. Feel free to ask questions either on
the gdb list or #gdb.
Chris> +2010-06-21 Chris Moller <cmoller@redhat.com>
Chris> +
Chris> + * eval.c (evaluate_subexp_standard): Add a test for an overloaded
Chris> + comma operator.
Put the PR info at the top of the ChangeLog entry.
See ChangeLog for examples of the format.
Chris> case BINOP_COMMA:
Chris> - evaluate_subexp (NULL_TYPE, exp, pos, noside);
Chris> - return evaluate_subexp (NULL_TYPE, exp, pos, noside);
Chris> + arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
Chris> + arg2 = evaluate_subexp (value_type (arg1), exp, pos, noside);
Chris> + if (noside == EVAL_SKIP)
Chris> + goto nosideret;
Chris> + if (current_language->la_language == language_cplus
Chris> + && binop_user_defined_p (op, arg1, arg2))
Chris> + {
Chris> + struct value *rc;
Chris> +
Chris> + rc = value_x_binop (arg1, arg2, op, OP_NULL, noside);
Chris> + if (rc != NULL)
Chris> + return rc;
Chris> + else
Chris> + return arg2;
I think I understand why the current_language check and the result check
of value_x_binop are needed.
However, I think it would be better to do all the work in value_x_binop
and also remove the current_language check. This is more similar to
what other code does and it consolidates the (broken) current_language
checks in the value code.
I'm guessing this means a change to value_user_defined_op.
Chris> Index: testsuite/gdb.cp/pr11594.cc
Chris> ===================================================================
Chris> RCS file: testsuite/gdb.cp/pr11594.cc
Chris> diff -N testsuite/gdb.cp/pr11594.cc
Chris> --- /dev/null 1 Jan 1970 00:00:00 -0000
Chris> +++ testsuite/gdb.cp/pr11594.cc 22 Jun 2010 02:38:57 -0000
Chris> @@ -0,0 +1,46 @@
Chris> +class complx
Needs a GPL header.
Tom