Revert
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 23 Apr 2014 10:29:47 +0000 (10:29 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Wed, 23 Apr 2014 10:29:47 +0000 (10:29 +0000)
2014-04-22  Richard Henderson  <rth@redhat.com>

* gcc-interface/Makefile.in: Support aarch64-linux.

2014-04-22  Eric Botcazou  <ebotcazou@adacore.com>

* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
(Error_Msg_N): Likewise.
(Error_Msg_NE): Likewise.
(Get_External_Name_With_Suffix): Likewise.
* types.h (Fat_Pointer): Delete.
(String_Pointer): New type.
(DECLARE_STRING_POINTER): New macro.
* gcc-interface/decl.c (create_concat_name): Adjust.
* gcc-interface/trans.c (post_error): Likewise.
(post_error_ne): Likewise.
* gcc-interface/misc.c (internal_error_function): Likewise.

From-SVN: r209684

gcc/ada/ChangeLog
gcc/ada/fe.h
gcc/ada/gcc-interface/Makefile.in
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/misc.c
gcc/ada/gcc-interface/trans.c
gcc/ada/types.h

index 9c42a02..6dc0c11 100644 (file)
@@ -1,3 +1,24 @@
+2014-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Revert
+       2014-04-22  Richard Henderson  <rth@redhat.com>
+
+       * gcc-interface/Makefile.in: Support aarch64-linux.
+
+       2014-04-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
+       (Error_Msg_N): Likewise.
+       (Error_Msg_NE): Likewise.
+       (Get_External_Name_With_Suffix): Likewise.
+       * types.h (Fat_Pointer): Delete.
+       (String_Pointer): New type.
+       (DECLARE_STRING_POINTER): New macro.
+       * gcc-interface/decl.c (create_concat_name): Adjust.
+       * gcc-interface/trans.c (post_error): Likewise.
+       (post_error_ne): Likewise.
+       * gcc-interface/misc.c (internal_error_function): Likewise.
+
 2014-04-22  Richard Henderson  <rth@redhat.com>
 
        * gcc-interface/Makefile.in: Support aarch64-linux.
index 5183820..d9fe48b 100644 (file)
@@ -39,7 +39,7 @@ extern "C" {
 /* comperr:  */
 
 #define Compiler_Abort comperr__compiler_abort
-extern int Compiler_Abort (String_Pointer, int, String_Pointer) ATTRIBUTE_NORETURN;
+extern int Compiler_Abort (Fat_Pointer, int, Fat_Pointer) ATTRIBUTE_NORETURN;
 
 /* csets: */
 
@@ -90,8 +90,8 @@ extern Node_Id Get_Attribute_Definition_Clause (Entity_Id, char);
 #define Error_Msg_NE              errout__error_msg_ne
 #define Set_Identifier_Casing     errout__set_identifier_casing
 
-extern void Error_Msg_N                  (String_Pointer, Node_Id);
-extern void Error_Msg_NE          (String_Pointer, Node_Id, Entity_Id);
+extern void Error_Msg_N                  (Fat_Pointer, Node_Id);
+extern void Error_Msg_NE          (Fat_Pointer, Node_Id, Entity_Id);
 extern void Set_Identifier_Casing (Char *, const Char *);
 
 /* err_vars: */
@@ -151,7 +151,7 @@ extern void Setup_Asm_Outputs               (Node_Id);
 
 extern void Get_Encoded_Name                   (Entity_Id);
 extern void Get_External_Name                  (Entity_Id, Boolean);
-extern void Get_External_Name_With_Suffix      (Entity_Id, String_Pointer);
+extern void Get_External_Name_With_Suffix      (Entity_Id, Fat_Pointer);
 
 /* exp_util: */
 
index cc21b79..9af1967 100644 (file)
@@ -2188,44 +2188,6 @@ ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),)
   LIBRARY_VERSION := $(LIB_VERSION)
 endif
 
-# AArch64 Linux
-ifeq ($(strip $(filter-out aarch64% linux%,$(arch) $(osys))),)
-  LIBGNAT_TARGET_PAIRS = \
-  a-exetim.adb<a-exetim-posix.adb \
-  a-exetim.ads<a-exetim-default.ads \
-  a-intnam.ads<a-intnam-linux.ads \
-  a-synbar.adb<a-synbar-posix.adb \
-  a-synbar.ads<a-synbar-posix.ads \
-  s-inmaop.adb<s-inmaop-posix.adb \
-  s-intman.adb<s-intman-posix.adb \
-  s-linux.ads<s-linux.ads \
-  s-mudido.adb<s-mudido-affinity.adb \
-  s-osinte.ads<s-osinte-linux.ads \
-  s-osinte.adb<s-osinte-posix.adb \
-  s-osprim.adb<s-osprim-posix.adb \
-  s-taprop.adb<s-taprop-linux.adb \
-  s-tasinf.ads<s-tasinf-linux.ads \
-  s-tasinf.adb<s-tasinf-linux.adb \
-  s-tpopsp.adb<s-tpopsp-tls.adb \
-  s-taspri.ads<s-taspri-posix.ads \
-  g-sercom.adb<g-sercom-linux.adb \
-  $(ATOMICS_TARGET_PAIRS) \
-  $(ATOMICS_BUILTINS_TARGET_PAIRS) \
-  system.ads<system-linux-x86_64.ads
-  ## ^^ Note the above is a pretty-close placeholder.
-
-  TOOLS_TARGET_PAIRS =  \
-    mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
-    indepsw.adb<indepsw-gnu.adb
-
-  EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o
-  EH_MECHANISM=-gcc
-  THREADSLIB=-lpthread -lrt
-  GNATLIB_SHARED=gnatlib-shared-dual
-  GMEM_LIB = gmemlib
-  LIBRARY_VERSION := $(LIB_VERSION)
-endif
-
 # x86-64 Linux
 ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
   LIBGNAT_TARGET_PAIRS = \
index 0873bae..7c3f7e5 100644 (file)
@@ -8861,10 +8861,8 @@ create_concat_name (Entity_Id gnat_entity, const char *suffix)
   if (suffix)
     {
       String_Template temp = {1, (int) strlen (suffix)};
-      DECLARE_STRING_POINTER (sp);
-      sp.Bounds = &temp;
-      sp.Array = suffix;
-      Get_External_Name_With_Suffix (gnat_entity, sp);
+      Fat_Pointer fp = {suffix, &temp};
+      Get_External_Name_With_Suffix (gnat_entity, fp);
     }
   else
     Get_External_Name (gnat_entity, 0);
index 33db181..a5f2881 100644 (file)
@@ -283,8 +283,8 @@ internal_error_function (diagnostic_context *context,
   text_info tinfo;
   char *buffer, *p, *loc;
   String_Template temp, temp_loc;
-  DECLARE_STRING_POINTER (sp, sp_loc);
-  expanded_location xloc;
+  Fat_Pointer fp, fp_loc;
+  expanded_location s;
 
   /* Warn if plugins present.  */
   warn_if_plugins ();
@@ -311,21 +311,21 @@ internal_error_function (diagnostic_context *context,
 
   temp.Low_Bound = 1;
   temp.High_Bound = p - buffer;
-  sp.Bounds = &temp;
-  sp.Array = buffer;
+  fp.Bounds = &temp;
+  fp.Array = buffer;
 
-  xloc = expand_location (input_location);
-  if (context->show_column && xloc.column != 0)
-    asprintf (&loc, "%s:%d:%d", xloc.file, xloc.line, xloc.column);
+  s = expand_location (input_location);
+  if (context->show_column && s.column != 0)
+    asprintf (&loc, "%s:%d:%d", s.file, s.line, s.column);
   else
-    asprintf (&loc, "%s:%d", xloc.file, xloc.line);
+    asprintf (&loc, "%s:%d", s.file, s.line);
   temp_loc.Low_Bound = 1;
   temp_loc.High_Bound = strlen (loc);
-  sp_loc.Bounds = &temp_loc;
-  sp_loc.Array = loc;
+  fp_loc.Bounds = &temp_loc;
+  fp_loc.Array = loc;
 
   Current_Error_Node = error_gnat_node;
-  Compiler_Abort (sp, -1, sp_loc);
+  Compiler_Abort (fp, -1, fp_loc);
 }
 
 /* Perform all the initialization steps that are language-specific.  */
index 0e55f94..813a1dc 100644 (file)
@@ -9356,16 +9356,16 @@ void
 post_error (const char *msg, Node_Id node)
 {
   String_Template temp;
-  DECLARE_STRING_POINTER (sp);
+  Fat_Pointer fp;
 
   if (No (node))
     return;
 
   temp.Low_Bound = 1;
   temp.High_Bound = strlen (msg);
-  sp.Bounds = &temp;
-  sp.Array = msg;
-  Error_Msg_N (sp, node);
+  fp.Bounds = &temp;
+  fp.Array = msg;
+  Error_Msg_N (fp, node);
 }
 
 /* Similar to post_error, but NODE is the node at which to post the error and
@@ -9375,16 +9375,16 @@ void
 post_error_ne (const char *msg, Node_Id node, Entity_Id ent)
 {
   String_Template temp;
-  DECLARE_STRING_POINTER (sp);
+  Fat_Pointer fp;
 
   if (No (node))
     return;
 
   temp.Low_Bound = 1;
   temp.High_Bound = strlen (msg);
-  sp.Bounds = &temp;
-  sp.Array = msg;
-  Error_Msg_NE (sp, node, ent);
+  fp.Bounds = &temp;
+  fp.Array = msg;
+  Error_Msg_NE (fp, node, ent);
 }
 
 /* Similar to post_error_ne, but NUM is the number to use for the '^'.  */
index 268579e..dd049db 100644 (file)
@@ -76,14 +76,11 @@ typedef Char *Str;
 /* Pointer to string of Chars */
 typedef Char *Str_Ptr;
 
-/* Types for the fat pointer used for strings and the template it points to.
-   On most platforms the fat pointer is naturally aligned but, on the rest,
-   it is given twice the natural alignment.  For maximum portability, we do
-   not overalign the type but only the objects.  */
-typedef struct { int Low_Bound, High_Bound; } String_Template;
-typedef struct { const char *Array; String_Template *Bounds; } String_Pointer;
-#define DECLARE_STRING_POINTER(...) \
-  __attribute__ ((aligned (sizeof (char *) * 2))) String_Pointer __VA_ARGS__
+/* Types for the fat pointer used for strings and the template it
+   points to.  */
+typedef struct {int Low_Bound, High_Bound; } String_Template;
+typedef struct {const char *Array; String_Template *Bounds; }
+       __attribute ((aligned (sizeof (char *) * 2))) Fat_Pointer;
 
 /* Types for Node/Entity Kinds:  */