Hello, Currently we synthesize typedef info for java and c++ (and ada, but I am not familiar with that language) for any symbol with STRUCT_DOMAIN domain. This can add up to a lot of redundant data. For partial symbols, we generate two identical names for the same symbol, once as struct second as typedef. The same happens with symbols, except we do not duplicate symbol name, but we do allocate another symbol struture. Instead of generating redundant data for symbols with STRUCT_DOMAIN domain in java and c++ languages, treat STRUCT_DOMAIN as equal to VAR_DOMAIN for these two languages when looking up symbols. See the patch for details. Running tests on linux x86, no regressions. --- Aleksandar Ristovski QNX Software Systems 2008-02-08 Aleksandar Ristovski * dwarf2read.c (add_partial_symbol): Do not add new psym for STRUCT_DOMAIN. Make sure you recognize c++ struct and java 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++ and java. (lookup_partial_symbol): Use symbol_matches_domain to see if the found psym domain matches the given domain. (lookup_block_symbol): Likewise.