diff mbox series

[Ada] Small cleanup in C header files

Message ID 20210616084355.GA94434@adacore.com
State New
Headers show
Series [Ada] Small cleanup in C header files | expand

Commit Message

Pierre-Marie de Rodat June 16, 2021, 8:43 a.m. UTC
This removes obsolete stuff.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* initialize.c: Do not include vxWorks.h and fcntl.h from here.
	(__gnat_initialize) [__MINGW32__]: Remove #ifdef and attribute
	(__gnat_initialize) [init_float]: Delete.
	(__gnat_initialize) [VxWorks]: Likewise.
	(__gnat_initialize) [PA-RISC HP-UX 10]: Likewise.
	* runtime.h: Add comment about vxWorks.h include.
diff mbox series

Patch

diff --git a/gcc/ada/initialize.c b/gcc/ada/initialize.c
--- a/gcc/ada/initialize.c
+++ b/gcc/ada/initialize.c
@@ -29,29 +29,19 @@ 
  *                                                                          *
  ****************************************************************************/
 
-/*  This unit provides default implementation for __gnat_initialize ()
-    which is called before the elaboration of the partition. It is provided
-    in a separate file/object so that users can replace it easily.
-    The default implementation should be null on most targets.  */
-
-/* The following include is here to meet the published VxWorks requirement
-   that the __vxworks header appear before any other include.  */
-#ifdef __vxworks
-#include "vxWorks.h"
-#endif
+/*  This unit provides the default implementation of __gnat_initialize, which
+    is called before the elaboration of the partition.  It is provided in a
+    separate file so that users can replace it easily.  But the implementation
+    should be empty on most targets.  */
 
 #ifdef IN_RTS
 #include "runtime.h"
-/* We don't have libiberty, so use malloc.  */
-#define xmalloc(S) malloc (S)
-#define xrealloc(V,S) realloc (V,S)
 #else
 #include "config.h"
 #include "system.h"
 #endif
 
 #include "raise.h"
-#include <fcntl.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -63,65 +53,16 @@  extern "C" {
 
 #if defined (__MINGW32__)
 
-extern void __gnat_install_SEH_handler (void *);
-
 void
-__gnat_initialize (void *eh ATTRIBUTE_UNUSED)
+__gnat_initialize (void *eh)
 {
-   /* Note that we do not activate this for the compiler itself to avoid a
-      bootstrap path problem.  Older version of gnatbind will generate a call
-      to __gnat_initialize() without argument. Therefore we cannot use eh in
-      this case.  It will be possible to remove the following #ifdef at some
-      point.  */
-#ifdef IN_RTS
    /* Install the Structured Exception handler.  */
    if (eh)
      __gnat_install_SEH_handler (eh);
-#endif
-}
-
-/******************************************/
-/* __gnat_initialize (init_float version) */
-/******************************************/
-
-#elif defined (__Lynx__) || defined (__FreeBSD__) || defined(__NetBSD__) \
-  || defined (__OpenBSD__) || defined (__DragonFly__)
-
-void
-__gnat_initialize (void *eh ATTRIBUTE_UNUSED)
-{
-}
-
-/***************************************/
-/* __gnat_initialize (VxWorks Version) */
-/***************************************/
-
-#elif defined(__vxworks)
-
-void
-__gnat_initialize (void *eh)
-{
-}
-
-#elif defined(_T_HPUX10) || (!defined(IN_RTS) && defined(_X_HPUX10))
-
-/************************************************/
-/* __gnat_initialize (PA-RISC HP-UX 10 Version) */
-/************************************************/
-
-extern void __main (void);
-
-void
-__gnat_initialize (void *eh ATTRIBUTE_UNUSED)
-{
-  __main ();
 }
 
 #else
 
-/* For all other versions of GNAT, the initialize routine and handler
-   installation do nothing */
-
 /***************************************/
 /* __gnat_initialize (Default Version) */
 /***************************************/
@@ -130,6 +71,7 @@  void
 __gnat_initialize (void *eh ATTRIBUTE_UNUSED)
 {
 }
+
 #endif
 
 #ifdef __cplusplus


diff --git a/gcc/ada/runtime.h b/gcc/ada/runtime.h
--- a/gcc/ada/runtime.h
+++ b/gcc/ada/runtime.h
@@ -31,9 +31,11 @@ 
 
 /* This file provides common definitions used by GNAT C runtime files.  */
 
+/* The following include is here to meet the published VxWorks requirement
+   that the vxWorks.h header appear before any other header.  */
 #ifdef __vxworks
 #include "vxWorks.h"
-#endif /* __vxworks */
+#endif
 
 #ifndef ATTRIBUTE_UNUSED
 #define ATTRIBUTE_UNUSED __attribute__((unused))