This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] ada: Use mkstemp() on NetBSD as is done on FreeBSD
- From: Samuel Tardieu <sam at rfc1149 dot net>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 23 Dec 2007 23:26:23 +0100
- Subject: [PATCH] ada: Use mkstemp() on NetBSD as is done on FreeBSD
- Organisation: RFC1149 (see http://www.rfc1149.net/)
Fix for bug 34533. I have not tried this patch, but it is trivial (treat
NetBSD as FreeBSD wrt mkstemp()), it has been suggested and tested by the
submitter and I have checked that mkstemp() has been present in NetBSD
libc at least since version 1.4 (current version is 4.0).
Ok for trunk?
And while I'm at it: is it legitimate to check for conditions like this?
#if defined (_WIN32) && ! defined (__vxworks)
Can __vxworks be defined at the same time as _WIN32, linux or __FreeBSD__?
gcc/ada/
PR ada/34553
* adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp()
instead of mktemp() or tmpnam() on NetBSD.
---
gcc/ada/adaint.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 6c5d440..1556b28 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -887,7 +887,8 @@ __gnat_open_new_temp (char *path, int fmode)
strcpy (path, "GNAT-XXXXXX");
-#if (defined (__FreeBSD__) || defined (linux)) && !defined (__vxworks)
+#if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (linux)) && \
+ !defined (__vxworks)
return mkstemp (path);
#elif defined (__Lynx__)
mktemp (path);
@@ -979,7 +980,7 @@ __gnat_tmp_name (char *tmp_filename)
free (pname);
}
-#elif defined (linux) || defined (__FreeBSD__)
+#elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__)
#define MAX_SAFE_PATH 1000
char *tmpdir = getenv ("TMPDIR");
--
1.5.3.7