[D] Implement looking up members of D enums.
authorIain Buclaw <ibuclaw@gdcproject.org>
Mon, 17 Aug 2015 19:45:42 +0000 (21:45 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Mon, 17 Aug 2015 19:53:47 +0000 (21:53 +0200)
commit7f3706ebfeb44e6b1f39f95fe44b7099a91c32c9
tree86932e98d06300e8fa849041cee59ddd96b9c369
parentad89c2aa677c28c76ffd5a35e2b36eece4d82597
[D] Implement looking up members of D enums.

In D, all named enums are explicitly scoped (the C++ equivalent of enum class)
so they should be handled as such in the language-specific symbol lookup
routines.  However so as to support D compilers that don't emit enums as
DW_AT_enum_class, need to make sure that appropriate checks for
TYPE_DECLARED_CLASS are done.

gdb/ChangeLog

* d-exp.y (type_aggregate_p): New function.
(PrimaryExpression : TypeExp '.' IdentifierExp): Use it.
(classify_inner_name): Likewise.
* d-namespace.c (d_lookup_nested_symbol): Handle TYPE_CODE_ENUM.
gdb/ChangeLog
gdb/d-exp.y
gdb/d-namespace.c