aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/env.c
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2008-04-01 22:23:04 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2008-04-01 22:23:04 +0000
commita6a0635ec111936464b2529edf809b17fe29d4c3 (patch)
treeb382ba84d2ce61564962972bc5eb8444535302d3 /gcc/ada/env.c
parent10743280477e38895d983bccb4e5cd80b16306af (diff)
downloadgcc-a6a0635ec111936464b2529edf809b17fe29d4c3.zip
gcc-a6a0635ec111936464b2529edf809b17fe29d4c3.tar.gz
gcc-a6a0635ec111936464b2529edf809b17fe29d4c3.tar.bz2
re PR ada/33857 (Cannot bootstrap Ada with host gnatmake-4.2)
PR ada/33857 * env.c: Always include crt_externs.h if __APPLE__ is defined. (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined. From-SVN: r133806
Diffstat (limited to 'gcc/ada/env.c')
-rw-r--r--gcc/ada/env.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ada/env.c b/gcc/ada/env.c
index 01c25d6..2b708c3 100644
--- a/gcc/ada/env.c
+++ b/gcc/ada/env.c
@@ -41,10 +41,6 @@
#include <unixio.h>
#endif
-#if defined (__APPLE__)
-#include <crt_externs.h>
-#endif
-
#if defined (__MINGW32__)
#include <stdlib.h>
#endif
@@ -61,6 +57,10 @@ extern char** ppGlobalEnviron;
#include "system.h"
#endif /* IN_RTS */
+#if defined (__APPLE__)
+#include <crt_externs.h>
+#endif
+
#include "env.h"
void
@@ -166,7 +166,7 @@ __gnat_setenv (char *name, char *value)
LIB$SIGNAL (status);
}
-#elif defined (__vxworks) && defined (__RTP__)
+#elif (defined (__vxworks) && defined (__RTP__)) || defined (__APPLE__)
setenv (name, value, 1);
#else
@@ -178,7 +178,7 @@ __gnat_setenv (char *name, char *value)
sprintf (expression, "%s=%s", name, value);
putenv (expression);
#if (defined (__FreeBSD__) && (__FreeBSD__ < 7)) \
- || defined (__APPLE__) || defined (__MINGW32__) \
+ || defined (__MINGW32__) \
||(defined (__vxworks) && ! defined (__RTP__))
/* On some systems like FreeBSD 6.x and earlier, MacOS X and Windows,
putenv is making a copy of the expression string so we can free