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] |
> > * dwarf2read.c (add_partial_symbol): Do not add new psym for > > STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada > > class as typedefs. See lookup_partial_symbol function. > > (new_symbol): Similar to add_partial_symbol, do not create symbol for > > the typedef. See lookup_block_symbol. > > * symtab.c (symbol_matches_domain): New function, takes care > > of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java. > > (lookup_partial_symbol): Use symbol_matches_domain to see if the > > found psym domain matches the given domain. > > (lookup_block_symbol): Likewise. > > Thanks. Joel, could you give this a try with GNAT? If it works for > Joel, it's OK to commit. This is a nice welcome space saver! I missed the patch when it was sent. There was a piece missing, however. The Ada module has its own bunch of symbol lookup routines, and some of them were checking the symbol domain. So I had to make the symbol_matches_domain routine non-static, and add a declaration in symtab.h. I also took the opportunity to fix an indentation issue, spell "C++" instead of "c++" as well as extend a comment to explain the Ada situation. * ada-lang.c: Update throughout to use symbol_matches_domain instead of matching the symbol domain explictly. I tested the above on x86-linux against the AdaCore testsuite and the gdb.ada section of our testsuite. -- Joel
Attachment:
sym-dups.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |