diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 3 | ||||
-rw-r--r-- | gcc/stor-layout.c | 20 | ||||
-rw-r--r-- | gcc/stor-layout.h | 1 |
5 files changed, 19 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dc85cf8ea03..88faabab3ea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2016-04-28 Eric Botcazou <ebotcazou@adacore.com> + + Backport from mainline + 2016-04-27 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/70759 + * stor-layout.h (internal_reference_types): Delete. + * stor-layout.c (reference_types_internal): Likewise. + (internal_reference_types): Likewise. + (layout_type) <REFERENCE_TYPE>: Adjust. + 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Backport from mainline diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 7b0b08bc53f..a235c06ca85 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2016-04-28 Eric Botcazou <ebotcazou@adacore.com> + + Backport from mainline + 2016-04-27 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/misc.c (gnat_init): Do not call + internal_reference_types. + 2016-04-27 Release Manager * GCC 6.1.0 released. diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 61a61fad40f..521f8b99071 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 d1738d280b3..26581e3e131 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 b240ea12c54..d25661bc1c7 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); |