* adaint.c: Move directive around.
* argv.c: Likewise.
* cio.c: Likewise.
* cstreams.c: Likewise.
* env.c: Likewise.
* exit.c: Likewise.
* init.c: Likewise.
* initialize.c: Likewise.
* raise.c: Likewise.
* seh_init.c: Likewise.
* targext.c: Likewise.
From-SVN: r194660
+2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * adaint.c: Move directive around.
+ * argv.c: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * exit.c: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * raise.c: Likewise.
+ * seh_init.c: Likewise.
+ * targext.c: Likewise.
+
2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
Martin Ettl <ettl.martin@gmx.de>
package Osint. Many of the subprograms in OS_Lib import standard
library calls directly. This file contains all other routines. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef __vxworks
/* No need to redefine exit here. */
#include "version.h"
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#if defined (__MINGW32__)
#if defined (RTX)
main program, and these routines are accessed from the
Ada.Command_Line.Environment package. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#include "adaint.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* argc and argv of the main program are saved under gnat_argc and gnat_argv,
envp of the main program is saved under gnat_envp. */
* *
****************************************************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#include "adaint.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Don't use macros on GNU/Linux since they cause incompatible changes between
glibc 2.0 and 2.1 */
#ifdef linux
/* Routines required for implementing routines in Interfaces.C.Streams. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef __vxworks
#include "vxWorks.h"
#endif
#include "adaint.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef VMS
#include <unixlib.h>
#endif
* *
****************************************************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#include "system.h"
#endif /* IN_RTS */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#if defined (__APPLE__)
#include <crt_externs.h>
#endif
* *
****************************************************************************/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef __alpha_vxworks
#include "vxWorks.h"
#endif
#include "adaint.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Routine used by Ada.Command_Line.Set_Exit_Status. */
int gnat_exit_status = 0;
installed by this file are used to catch the resulting signals that come
from these probes failing (i.e. touching protected pages). */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/* This file should be kept synchronized with 2sinit.ads, 2sinit.adb,
s-init-ae653-cert.adb and s-init-xi-sparc.adb. All these files implement
the required functionality for different targets. */
#include "adaint.h"
#include "raise.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern void __gnat_raise_program_error (const char *, int);
/* Addresses of exception data blocks for predefined exceptions. Tasking_Error
in a separate file/object so that users can replace it easily.
The default implementation should be null on most targets. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/* The following include is here to meet the published VxWorks requirement
that the __vxworks header appear before any other include. */
#ifdef __vxworks
#include "raise.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/******************************************/
/* __gnat_initialize (NT-mingw32 Version) */
/******************************************/
/* Shared routines to support exception handling. __gnat_unhandled_terminate
is shared between all exception handling mechanisms. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#include "adaint.h"
#include "raise.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Wrapper to builtin_longjmp. This is for the compiler eh only, as the sjlj
runtime library interfaces directly to the intrinsic. We can't yet do
this for the compiler itself, because this capability relies on changes
/* This unit contains support for SEH (Structured Exception Handling).
Right now the only implementation is for Win32. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#include "raise.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Addresses of exception data blocks for predefined exceptions. */
extern struct Exception_Data constraint_error;
extern struct Exception_Data numeric_error;
Note that, in order to have access to the TARGET_* macros used below,
the file must be compiled with IN_GCC defined, even for the library. */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef IN_RTS
#include "tconfig.h"
#include "tsystem.h"
#define TARGET_EXECUTABLE_SUFFIX ""
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
const char *__gnat_target_object_extension = TARGET_OBJECT_SUFFIX;
const char *__gnat_target_executable_extension = TARGET_EXECUTABLE_SUFFIX;
const char *__gnat_target_debuggable_extension = TARGET_EXECUTABLE_SUFFIX;