From 06aed101fc1eb7bc685e334352a599f0a4718a22 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 27 Apr 2016 07:49:49 +0000 Subject: [PATCH] re PR ada/70759 (Ada rts fails to build with -mabi=ilp32) PR ada/70759 * stor-layout.h (internal_reference_types): Delete. * stor-layout.c (reference_types_internal): Likewise. (internal_reference_types): Likewise. (layout_type) : Adjust. ada/ * gcc-interface/misc.c (gnat_init): Do not call internal_reference_types. From-SVN: r235472 --- gcc/ChangeLog | 8 ++++++++ gcc/ada/ChangeLog | 5 +++++ gcc/ada/gcc-interface/misc.c | 3 --- gcc/stor-layout.c | 20 -------------------- gcc/stor-layout.h | 1 - 5 files changed, 13 insertions(+), 24 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ed5c25bc4f1..1e28a4b521fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-04-27 Eric Botcazou + + PR ada/70759 + * stor-layout.h (internal_reference_types): Delete. + * stor-layout.c (reference_types_internal): Likewise. + (internal_reference_types): Likewise. + (layout_type) : Adjust. + 2016-04-27 Jakub Jelinek PR sanitizer/70683 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1c41831e4d2b..aff9a45a66d3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-04-27 Eric Botcazou + + * gcc-interface/misc.c (gnat_init): Do not call + internal_reference_types. + 2016-04-27 Svante Signell * gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 61a61fad40fc..521f8b99071e 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -369,9 +369,6 @@ gnat_init (void) sbitsize_one_node = sbitsize_int (1); sbitsize_unit_node = sbitsize_int (BITS_PER_UNIT); - /* Show that REFERENCE_TYPEs are internal and should be Pmode. */ - internal_reference_types (); - /* Register our internal error function. */ global_dc->internal_error = &internal_error_function; diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 5bae23bb4e52..cba2e6f47c60 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -49,11 +49,6 @@ tree sizetype_tab[(int) stk_type_kind_last]; The value is measured in bits. */ unsigned int maximum_field_alignment = TARGET_DEFAULT_PACK_STRUCT * BITS_PER_UNIT; -/* Nonzero if all REFERENCE_TYPEs are internal and hence should be allocated - in the address spaces' address_mode, not pointer_mode. Set only by - internal_reference_types called only by a front end. */ -static int reference_types_internal = 0; - static tree self_referential_size (tree); static void finalize_record_size (record_layout_info); static void finalize_type_size (tree); @@ -62,15 +57,6 @@ static int excess_unit_span (HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, HOST_WIDE_INT, tree); extern void debug_rli (record_layout_info); -/* Show that REFERENCE_TYPES are internal and should use address_mode. - Called only by front end. */ - -void -internal_reference_types (void) -{ - reference_types_internal = 1; -} - /* Given a size SIZE that may not be a constant, return a SAVE_EXPR to serve as the actual size-expression for a type or decl. */ @@ -2245,12 +2231,6 @@ layout_type (tree type) case REFERENCE_TYPE: { machine_mode mode = TYPE_MODE (type); - if (TREE_CODE (type) == REFERENCE_TYPE && reference_types_internal) - { - addr_space_t as = TYPE_ADDR_SPACE (TREE_TYPE (type)); - mode = targetm.addr_space.address_mode (as); - } - TYPE_SIZE (type) = bitsize_int (GET_MODE_BITSIZE (mode)); TYPE_SIZE_UNIT (type) = size_int (GET_MODE_SIZE (mode)); TYPE_UNSIGNED (type) = 1; diff --git a/gcc/stor-layout.h b/gcc/stor-layout.h index b240ea12c547..d25661bc1c76 100644 --- a/gcc/stor-layout.h +++ b/gcc/stor-layout.h @@ -22,7 +22,6 @@ along with GCC; see the file COPYING3. If not see extern void set_min_and_max_values_for_integral_type (tree, int, signop); extern void fixup_signed_type (tree); -extern void internal_reference_types (void); extern unsigned int update_alignment_for_field (record_layout_info, tree, unsigned int); extern record_layout_info start_record_layout (tree); -- 2.47.2