aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/env.c
diff options
context:
space:
mode:
authorJohn Marino <gnugcc@marino.st>2015-06-08 07:27:56 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-06-08 07:27:56 +0000
commit90af599007327974978d9eac58996e71e0f24663 (patch)
tree140536a75e83c90805df0c8fccec94af3a96c835 /gcc/ada/env.c
parent1dbb8d2d3dd1fcf93b4fe0f6f26771ea586abb73 (diff)
downloadgcc-90af599007327974978d9eac58996e71e0f24663.zip
gcc-90af599007327974978d9eac58996e71e0f24663.tar.gz
gcc-90af599007327974978d9eac58996e71e0f24663.tar.bz2
configure.ac (*-*-dragonfly*): New configuration.
gnattools/ * configure.ac (*-*-dragonfly*): New configuration. * configure: Regenerate. gcc/ada/ * a-intnam-dragonfly.ads: New. * s-osinte-dragonfly.adb: Likewise. * s-osinte-dragonfly.ads: Likewise. * system-dragonfly-x86_64.ads: Likewise. * adaint.c: Add BSD macros. * cstreams.c: Likewise. * gsocket.h: Likewise. * link.c: Likewise. * socket.c: Likewise. * env.c: Add __DragonFly__, remove __FreeBSD__ macro. * init.c: Add __DragonFly__, change __gnat_install_handler prototype from empty to void. * initialize.c: Add __DragonFly__. * sysdep.c: Likewise. * s-osinte-freebsd.adb: Use __get_errno instead of __error. * tracebak.c: Set unwinder for i386 BSD. * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak x86_64 FreeBSD and x86 FreeBSD. From-SVN: r224207
Diffstat (limited to 'gcc/ada/env.c')
-rw-r--r--gcc/ada/env.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/ada/env.c b/gcc/ada/env.c
index dcb03f7..1bf9ef0 100644
--- a/gcc/ada/env.c
+++ b/gcc/ada/env.c
@@ -192,12 +192,9 @@ __gnat_setenv (char *name, char *value)
sprintf (expression, "%s=%s", name, value);
putenv (expression);
-#if (defined (__FreeBSD__) && (__FreeBSD__ < 7)) \
- || 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
- it after the call to putenv */
+#if defined (__MINGW32__) || (defined (__vxworks) && ! defined (__RTP__))
+ /* On some systems like MacOS X and Windows, putenv is making a copy of the
+ expression string so we can free it after the call to putenv */
free (expression);
#endif
#endif
@@ -304,7 +301,8 @@ void __gnat_clearenv (void)
}
#elif defined (__MINGW32__) || defined (__FreeBSD__) || defined (__APPLE__) \
|| (defined (__vxworks) && defined (__RTP__)) || defined (__CYGWIN__) \
- || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__rtems__)
+ || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__rtems__) \
+ || defined (__DragonFly__)
/* On Windows, FreeBSD and MacOS there is no function to clean all the
environment but there is a "clean" way to unset a variable. So go
through the environ table and call __gnat_unsetenv on all entries */