From 7ab4a236ce85f1e0950e88e267e679a066b77bed Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 25 Nov 2019 11:14:50 -0700 Subject: [PATCH] Move type_byte_order earlier I failed to notice that the scalar_storage_order patch put type_byte_order at the end of gdbtypes.c. The end of the file is normally where the file's _initialize function goes. This moves type_byte_order earlier, into a more relevant section. gdb/ChangeLog 2019-12-04 Tom Tromey * gdbtypes.c (type_byte_order): Move earlier. Assert for unknown endian-ness. Change-Id: I4666431ecbb32ec98918f39f72d22c86b2bc8dde --- gdb/ChangeLog | 5 +++++ gdb/gdbtypes.c | 38 ++++++++++++++++++++------------------ 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ffae608630..af3962160e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2019-12-04 Tom Tromey + + * gdbtypes.c (type_byte_order): Move earlier. Assert for unknown + endian-ness. + 2019-12-04 Tom Tromey * dwarf2read.c (dwarf2_init_float_type) diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 06096344b4..737ebfecc5 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -3423,6 +3423,26 @@ is_unique_ancestor (struct type *base, struct value *val) value_address (val), val) == 1; } +/* See gdbtypes.h. */ + +enum bfd_endian +type_byte_order (const struct type *type) +{ + bfd_endian byteorder = gdbarch_byte_order (get_type_arch (type)); + if (TYPE_ENDIANITY_NOT_DEFAULT (type)) + { + if (byteorder == BFD_ENDIAN_BIG) + return BFD_ENDIAN_LITTLE; + else + { + gdb_assert (byteorder == BFD_ENDIAN_LITTLE); + return BFD_ENDIAN_BIG; + } + } + + return byteorder; +} + /* Overload resolution. */ @@ -5701,21 +5721,3 @@ _initialize_gdbtypes (void) show_strict_type_checking, &setchecklist, &showchecklist); } - -/* See gdbtypes.h. */ -enum bfd_endian -type_byte_order (const struct type *type) -{ - bfd_endian byteorder = gdbarch_byte_order (get_type_arch (type)); - if (TYPE_ENDIANITY_NOT_DEFAULT (type)) - { - if (byteorder == BFD_ENDIAN_BIG) - return BFD_ENDIAN_LITTLE; - else if (byteorder == BFD_ENDIAN_LITTLE) - return BFD_ENDIAN_BIG; - else - return BFD_ENDIAN_UNKNOWN; - } - - return byteorder; -}