summaryrefslogtreecommitdiff
path: root/gcc/ada/tempdir.adb
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2007-08-31 12:24:29 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-08-31 12:24:29 +0200
commit98d68cf1e21e23331a95c636f43fe769d02e9677 (patch)
tree57d50e33aa789538ff490e3ed306e768cc9977b9 /gcc/ada/tempdir.adb
parentf33abf26a8dc2dc946e9ad7c5e4496ecfe494766 (diff)
downloadgcc-98d68cf1e21e23331a95c636f43fe769d02e9677.tar.gz
tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
2007-08-31 Vincent Celier <celier@adacore.com> * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR From-SVN: r127982
Diffstat (limited to 'gcc/ada/tempdir.adb')
-rw-r--r--gcc/ada/tempdir.adb29
1 files changed, 23 insertions, 6 deletions
diff --git a/gcc/ada/tempdir.adb b/gcc/ada/tempdir.adb
index 7044271532f..cc13a4c1643 100644
--- a/gcc/ada/tempdir.adb
+++ b/gcc/ada/tempdir.adb
@@ -26,16 +26,18 @@
with GNAT.Directory_Operations; use GNAT.Directory_Operations;
-with Opt; use Opt;
-with Output; use Output;
+with Hostparm; use Hostparm;
+with Opt; use Opt;
+with Output; use Output;
package body Tempdir is
Tmpdir_Needs_To_Be_Displayed : Boolean := True;
- Tmpdir : constant String := "TMPDIR";
- No_Dir : aliased String := "";
- Temp_Dir : String_Access := No_Dir'Access;
+ Tmpdir : constant String := "TMPDIR";
+ Gnutmpdir : constant String := "GNUTMPDIR";
+ No_Dir : aliased String := "";
+ Temp_Dir : String_Access := No_Dir'Access;
----------------------
-- Create_Temp_File --
@@ -114,9 +116,24 @@ package body Tempdir is
begin
declare
- Dir : String_Access := Getenv (Tmpdir);
+ Dir : String_Access;
begin
+ -- On VMS, if GNUTMPDIR is defined, use it
+
+ if OpenVMS then
+ Dir := Getenv (Gnutmpdir);
+
+ -- Otherwise, if GNUTMPDIR is not defined, try TMPDIR
+
+ if Dir'Length = 0 then
+ Dir := Getenv (Tmpdir);
+ end if;
+
+ else
+ Dir := Getenv (Tmpdir);
+ end if;
+
if Dir'Length > 0 and then
Is_Absolute_Path (Dir.all) and then
Is_Directory (Dir.all)