This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/2] Test and support all cpp operator types
- From: Tom Tromey <tromey at redhat dot com>
- To: sami wagiaalla <swagiaal at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 04 Jun 2010 14:55:25 -0600
- Subject: Re: [PATCH 1/2] Test and support all cpp operator types
- References: <4BE9BE28.6080800@redhat.com> <m3ljbozrqb.fsf@fleche.redhat.com> <4BF2F4F6.8080303@redhat.com>
- Reply-to: tromey at redhat dot com
>>>>> "Sami" == sami wagiaalla <swagiaal@redhat.com> writes:
Sami> It is weird but it is due to the nature of the symbol tables. The
Sami> first iteration, by make_symbol_overload_list_using, is iteration over
Sami> the blocks' import statements. The Second iteration is actually
Sami> searching for the symbol.
Sami> If we assume that names belonging to namespaces can only be in the
Sami> static scope -since namespace symbols are flattened to the nearest
Sami> parent- then we can separate the qualified and unqualified searches
Sami> and eliminate the nesting of the iterations.
Sami> Please see patch 2/2.
Thanks.
Sami> 2010-05-18 Sami Wagiaalla <swagiaal@redhat.com>
Sami> * value.h: Created oload_search_type enum.
Sami> (find_overload_match): Use oload_search_type enum.
Sami> * valops.c (find_overload_match): Support combined member and
Sami> non-member search.
Sami> * eval.c (evaluate_subexp_standard): Calls to
Sami> find_overload_match now use oload_search_type enum.
Sami> (oload_method_static): Verify index is a proper value.
Sami> * valarith.c (value_user_defined_cpp_op): Search for and handle
Sami> both member and non-member operators.
Sami> (value_user_defined_cpp_op): New function.
Sami> (value_user_defined_op): New function.
Sami> (value_x_unop): Use value_user_defined_op.
Sami> (value_x_binop): Ditto.
Sami> * cp-support.c (make_symbol_overload_list_using): Added block
Sami> iteration.
Sami> Add check for namespace aliases and imported declarations.
> 2010-05-18 Sami Wagiaalla <swagiaal@redhat.com>
Sami> * gdb.cp/koenig.exp: Test for ADL operators.
Sami> * gdb.cp/koenig.cc: Added ADL operators.
Sami> * gdb.cp/operator.exp: New test.
Sami> * gdb.cp/operator.cc: New test.
This is ok. Thanks again.
Tom