From 51356f864933f664f7dfbf6e25ddcd97b587441a Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 16 Nov 1994 21:10:09 +0000 Subject: Check target endianness at run time, not compile time git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8470 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/dwarfout.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'gcc/dwarfout.c') diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index ccf436b5d18..4287e106a09 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -2204,12 +2204,10 @@ location_or_const_value_attribute (decl) if (declared_type == passed_type) rtl = DECL_INCOMING_RTL (decl); -#if (BYTES_BIG_ENDIAN == 0) - else + else if (! BYTES_BIG_ENDIAN) if (TREE_CODE (declared_type) == INTEGER_TYPE) if (TYPE_SIZE (declared_type) <= TYPE_SIZE (passed_type)) rtl = DECL_INCOMING_RTL (decl); -#endif /* (BYTES_BIG_ENDIAN == 0) */ } if (rtl == NULL_RTX) @@ -2519,19 +2517,18 @@ bit_offset_attribute (decl) highest_order_object_bit_offset = object_offset_in_bytes * BITS_PER_UNIT; highest_order_field_bit_offset = bitpos_int; -#if (BYTES_BIG_ENDIAN == 0) - highest_order_field_bit_offset - += (unsigned) TREE_INT_CST_LOW (DECL_SIZE (decl)); + if (! BYTES_BIG_ENDIAN) + { + highest_order_field_bit_offset + += (unsigned) TREE_INT_CST_LOW (DECL_SIZE (decl)); - highest_order_object_bit_offset += simple_type_size_in_bits (type); -#endif /* (BYTES_BIG_ENDIAN == 0) */ + highest_order_object_bit_offset += simple_type_size_in_bits (type); + } bit_offset = -#if (BYTES_BIG_ENDIAN == 0) - highest_order_object_bit_offset - highest_order_field_bit_offset; -#else /* (BYTES_BIG_ENDIAN != 0) */ - highest_order_field_bit_offset - highest_order_object_bit_offset; -#endif /* (BYTES_BIG_ENDIAN != 0) */ + (! BYTES_BIG_ENDIAN + ? highest_order_object_bit_offset - highest_order_field_bit_offset + : highest_order_field_bit_offset - highest_order_object_bit_offset); ASM_OUTPUT_DWARF_ATTRIBUTE (asm_out_file, AT_bit_offset); ASM_OUTPUT_DWARF_DATA2 (asm_out_file, bit_offset); -- cgit v1.2.1