This is the mail archive of the
mailing list for the Archer project.
Re: Interpretation of DW_AT_external
While GCC does use a somewhat different convention for DW_AT_external than
other compilers, this seems clearly correct; A::a is a globally
visible name. Why shouldn't 'a' be found in the global scope? Or do
you mean that 'a' with no 'A::' is found?
Yes I meant 'a' without 'A::', but it looks like that is not found.
Which is the correct behaviour.
However, I am trying to construct a kind of "block" object from
namespaces so that cp_lookup_symbol_namespace can look inside them
instead of concatenating the expression elements and doing a global
search. And that function ends up putting the variable in the global
scope instead of my object.
The name in GDB's symbol table will be "A::a".
Is this because the linkage_name is used ?.. I am trying to not depend
on linkage_name. There are situations where A::a is visible as just a,
or if it was enclosed in another namespace B it would be B::A::a.
Btw I should have mention on this earlier on this list but I am
investigation test failures that I am getting with the namespace test in
gdb test suit.