diff options
author | Joel Brobecker <brobecker@gnat.com> | 2011-07-01 18:26:50 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2011-07-01 18:26:50 +0000 |
commit | 8f17729f21e54827ba8de614be382c4fbd6b690f (patch) | |
tree | 92add7a0018deb53f1793f0ea2d22f4fc38fd14d /gdb/README | |
parent | f5aa6869dee6874a9d1a3a386b1d5893f0ac46d4 (diff) | |
download | gdb-8f17729f21e54827ba8de614be382c4fbd6b690f.zip gdb-8f17729f21e54827ba8de614be382c4fbd6b690f.tar.gz gdb-8f17729f21e54827ba8de614be382c4fbd6b690f.tar.bz2 |
treat identical enum types as the same type
This is to avoid an unnecessary multiple-choice menu for an
expression involving an enumeral declared in two types, when
the second type is an identical copy of the first type. This
happens in the following situation:
type Color is (Black, Red, Green, Blue, White);
type RGB_Color is new Color range Red .. Blue;
In that case, an implict type is created, and is used as the base
type for type RGB_Color. This base type is a copy of type Color.
We've added some extensive comments explaining the situation and
our approach further.
gdb/ChangeLog:
* ada-lang.c (ada_identical_enum_types_p): New function.
(symbols_are_identical_enums): New function.
(remove_extra_symbols): Do nothing if NSYMS < 2.
Use symbols_are_identical_enums.
gdb/testsuite/ChangeLog:
* gdb.ada/same_enum: New testcase.
Diffstat (limited to 'gdb/README')
0 files changed, 0 insertions, 0 deletions