diff options
Diffstat (limited to 'gcc/ada/adaint.c')
-rw-r--r-- | gcc/ada/adaint.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 26c6289..adc702a 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -1240,6 +1240,23 @@ __gnat_tmp_name (char *tmp_filename) sprintf (tmp_filename, "%s/gnat-XXXXXX", tmpdir); close (mkstemp(tmp_filename)); +#elif defined (__vxworks) && !(defined (__RTP__) || defined (VTHREADS)) + int index; + char * pos; + ushort_t t; + static ushort_t seed = 0; /* used to generate unique name */ + + /* generate unique name */ + strcpy (tmp_filename, "tmp"); + + /* fill up the name buffer from the last position */ + index = 5; + pos = tmp_filename + strlen (tmp_filename) + index; + *pos = '\0'; + + seed++; + for (t = seed; 0 <= --index; t >>= 3) + *--pos = '0' + (t & 07); #else tmpnam (tmp_filename); #endif |