On 3/25/13, Tom Tromey <tro...@redhat.com> wrote:
> I think the intro text of this message provides the best summary
> of the approach:
>
> http://sourceware.org/ml/gdb-patches/2010-07/msg00284.html

Are the symbol searches specific to the scope context, or does it
search all globally defined symbols?

If you recreate the name lookup as the compiler did, I think the
approach will be workable.  Otherwise, there is a potential for
doing overload resoulution and getting a different result.  I don't
think the template names directly make much difference here.

There is a weakness in the patch, int that the following is legal.

template<typename T> T func(T arg) { return arg + 0; }
template<> int func(int arg) { return arg + 1; }
int func(int arg) { return arg + 2; }
int main() { return func(0); }

The language prefers to call a non-template function over a template
instance with the same paramter types.

So, in your new search, you could have two functions with the same
name and same parameter types.  You will need to keep a bit on the
template-derived version so that you can break the tie.

-- 
Lawrence Crowl

Reply via email to