aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/osint.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/osint.adb')
-rw-r--r--gcc/ada/osint.adb11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/osint.adb b/gcc/ada/osint.adb
index fcf4e13..07355ed 100644
--- a/gcc/ada/osint.adb
+++ b/gcc/ada/osint.adb
@@ -1406,7 +1406,7 @@ package body Osint is
end loop;
if Munit_Index /= 0 then
- Add_Char_To_Name_Buffer ('~');
+ Add_Char_To_Name_Buffer (Multi_Unit_Index_Character);
Add_Nat_To_Name_Buffer (Munit_Index);
end if;
@@ -2132,7 +2132,7 @@ package body Osint is
type Actual_Source_Ptr is access Actual_Source_Buffer;
-- This is the pointer type for the physical buffer allocated
- Actual_Ptr : Actual_Source_Ptr := new Actual_Source_Buffer;
+ Actual_Ptr : constant Actual_Source_Ptr := new Actual_Source_Buffer;
-- And this is the actual physical buffer
begin
@@ -2754,6 +2754,13 @@ begin
Identifier_Character_Set := Get_Default_Identifier_Character_Set;
Maximum_File_Name_Length := Get_Maximum_File_Name_Length;
+ -- On VMS, '~' is not allowed in file names. Change the multi unit
+ -- index character to '$'.
+
+ if Hostparm.OpenVMS then
+ Multi_Unit_Index_Character := '$';
+ end if;
+
-- Following should be removed by having above function return
-- Integer'Last as indication of no maximum instead of -1 ???