type_align: handle range types the same as ints and enums

This commit enhances type_align to handle TYPE_CODE_RANGE types
the same as integers and enums, rather than returning zero,
which means for this function that it could not determine its
alignment.

gdb/ChangeLog:

	* gdbtypes.c (type_align): Handle TYPE_CODE_RANGE the same as
        integers and enumeration types.

Tested on x86_64-linux. Also tested on a variety of platforms
(with CPUs being ARM, AArch64, Leon3 (SPARC-like), PowerPC,
PowerPC64, RV64, Visium, x86, x86_64).
This commit is contained in:
Joel Brobecker 2019-02-17 10:04:57 -05:00
parent a2cd4f1475
commit 75ba10dc55
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2019-02-17 Joel Brobecker <brobecker@adacore.com>
* gdbtypes.c (type_align): Handle TYPE_CODE_RANGE the same as
integers and enumeration types.
2019-02-17 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (standard_lookup): Use ada_lookup_encoded_symbol

View File

@ -3003,6 +3003,7 @@ type_align (struct type *type)
case TYPE_CODE_FUNC:
case TYPE_CODE_FLAGS:
case TYPE_CODE_INT:
case TYPE_CODE_RANGE:
case TYPE_CODE_FLT:
case TYPE_CODE_ENUM:
case TYPE_CODE_REF:
@ -3047,7 +3048,6 @@ type_align (struct type *type)
break;
case TYPE_CODE_SET:
case TYPE_CODE_RANGE:
case TYPE_CODE_STRING:
/* Not sure what to do here, and these can't appear in C or C++
anyway. */