Thank you all for the feedback. There seems to be general consensus that
enumerators should be present in the name index.

However, I am starting to have second thoughts about imported declarations.
While the entities they declare are (can be) global in the sense that they
are not (don't have to be) inside a function, they are also *local* in the
sense that they are valid only inside one compilation unit -- just because
one .cpp file does a "namespace X = foo:bar", it does not mean that
everyone can refer to these entities that way.

The example of "using namespace a" in Greg's very informative response made
my realize I may be going about this the wrong way. If I were to represent
every name imported by "using namespace std", I would have to create
thousands of entries. That seems like a bad idea, and totally unnecessary,
as lldb seems to handle the "using namspace" case just fine without this.

Greg, could you elaborate on how this works? Do we just parse the
compilation unit we are stopped in and pick out the "using" declarations
from there? If that is the case, then why doesn't the namespace alias
declaration work as well ? The expression 2 from my example fails in lldb.
Could it be that it's just an lldb bug, and that we don't need to change
anything in the accelerator tables?
Dwarf-Discuss mailing list

Reply via email to