This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] call cp_lookup_symbol_namespace recursively to search symbols in C++ base classes


On 2010å11æ03æ 03:48, Tom Tromey wrote:
">" == Liu, Lei<lei.liu2@windriver.com> writes:

This patch is trying to fix a bug in gdb.  The problem is found in
following C++ test case.

Thanks.


This looks pretty reasonable overall.  In order for it to go in, we
would need a couple things:

* Copyright assignment forms filed with the FSF.  If you don't have this
   already, one of us can get you started.

I don't have this yet. We can get start to do it.



* A test case -- the one you have is fine, it just needs to be in the form used by our test suite.

Right. I'll reform it.



2010-11-02 Lei Liu<lei.liu2@windriver.com>

     * cp-namespace.c (cp_lookup_symbol_namespace): Recursively call
     itself to search C++ base classes.

It isn't 100% clear to me that cp_lookup_symbol_namespace is the right function. That file is kind of spaghetti-ish right now :(

It seems to me that all the C++ specific symbol looking up code are located in this file. I don't know where else I can put my code in.


+  scope_sym = lookup_symbol (scope, NULL, VAR_DOMAIN, NULL);
+  if (scope_sym == NULL)
+    return NULL;
+
+  scope_type = SYMBOL_TYPE(scope_sym);
+  if (scope_type == NULL)
+    return NULL;

I think lookup_typename is better here.

Well, I tried that first, but we must have a GDBARCH passed to it. I'm not sure where can I get this.


+ if (TYPE_CODE (scope_type) == TYPE_CODE_STRUCT)

I think you should call check_typedef on scope_type before this check.

OK. I missed that.



thanks, Tom


Thanks. Lei


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]