]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR ada/70759 (Ada rts fails to build with -mabi=ilp32)
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 27 Apr 2016 07:49:49 +0000 (07:49 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 27 Apr 2016 07:49:49 +0000 (07:49 +0000)
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.
ada/
* gcc-interface/misc.c (gnat_init): Do not call
internal_reference_types.

From-SVN: r235472

gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/misc.c
gcc/stor-layout.c
gcc/stor-layout.h

index 2ed5c25bc4f1d77dd3348b2521aba6a8ef0e9b52..1e28a4b521fec2d373bc2e0e3d96d9b075fd81b8 100644 (file)
@@ -1,3 +1,11 @@
+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  Jakub Jelinek  <jakub@redhat.com>
 
        PR sanitizer/70683
index 1c41831e4d2b339e1811d51f7e3f048d5f3678d8..aff9a45a66d35d34d3fa36705bc99f2cb57a6f55 100644 (file)
@@ -1,3 +1,8 @@
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (gnat_init): Do not call
+       internal_reference_types.
+
 2016-04-27  Svante Signell  <svante.signell@gmail.com>
 
        * gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb.
index 61a61fad40fc06ce96fb12ca5562c283243938a9..521f8b99071e740e99d435073c71828d026c2f89 100644 (file)
@@ -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;
 
index 5bae23bb4e524314d09d7d6a18caf5fed0c01f2b..cba2e6f47c60d60d531f787cfaaa4d4ffe667f6f 100644 (file)
@@ -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);
 \f
-/* 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;
index b240ea12c5475e0c44e9faf57f387dfc69dbe1b2..d25661bc1c76478390b1adcfa7c15e4972b9ce1e 100644 (file)
@@ -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);