diff options
author | Vincent Celier <celier@adacore.com> | 2005-03-29 18:13:14 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2005-03-29 18:13:14 +0200 |
commit | a50c33459fc9967a388f254e93de7cdbae438a66 (patch) | |
tree | 8a1db4e7ae4271afa67025e1b59a2e88bfb8713b /gcc/ada | |
parent | bc5f3720c12852b05a9be63752e98331f214ab3b (diff) | |
download | gcc-a50c33459fc9967a388f254e93de7cdbae438a66.tar.gz |
2005-03-29 Vincent Celier <celier@adacore.com>
* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
(Build_Dynamic_Library.Version_String): Return the empty string when
Lib_Version is empty or when the symbol policy is not Autonomous.
* symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
a symbol is not in the reference symbol file, increase the Major ID
and set the Minor ID to 0.
Use gsmatch=lequal instead of gsmatch=equal
From-SVN: r97166
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/mlib-tgt-vms-alpha.adb | 12 | ||||
-rw-r--r-- | gcc/ada/mlib-tgt-vms-ia64.adb | 12 | ||||
-rw-r--r-- | gcc/ada/symbols-vms-alpha.adb | 15 |
3 files changed, 22 insertions, 17 deletions
diff --git a/gcc/ada/mlib-tgt-vms-alpha.adb b/gcc/ada/mlib-tgt-vms-alpha.adb index ca7596b22f9..ed713ca3984 100644 --- a/gcc/ada/mlib-tgt-vms-alpha.adb +++ b/gcc/ada/mlib-tgt-vms-alpha.adb @@ -160,8 +160,10 @@ package body MLib.Tgt is -- Returns Symbol_File, if not empty. Otherwise, returns "symvec.opt" function Version_String return String; - -- Returns Lib_Version if not empty, otherwise returns "1". - -- Fails gnatmake if Lib_Version is not the image of a positive number. + -- Returns Lib_Version if not empty and if Symbol_Data.Symbol_Policy is + -- not Autonomous, otherwise returns "". + -- When Symbol_Data.Symbol_Policy is Autonomous, fails gnatmake if + -- Lib_Version is not the image of a positive number. ------------------ -- Is_Interface -- @@ -215,8 +217,10 @@ package body MLib.Tgt is function Version_String return String is Version : Integer := 0; begin - if Lib_Version = "" then - return "1"; + if Lib_Version = "" + or else Symbol_Data.Symbol_Policy /= Autonomous + then + return ""; else begin diff --git a/gcc/ada/mlib-tgt-vms-ia64.adb b/gcc/ada/mlib-tgt-vms-ia64.adb index d3fba7e708f..8dfbcc2ed80 100644 --- a/gcc/ada/mlib-tgt-vms-ia64.adb +++ b/gcc/ada/mlib-tgt-vms-ia64.adb @@ -160,8 +160,10 @@ package body MLib.Tgt is -- Returns Symbol_File, if not empty. Otherwise, returns "symvec.opt" function Version_String return String; - -- Returns Lib_Version if not empty, otherwise returns "1". - -- Fails gnatmake if Lib_Version is not the image of a positive number. + -- Returns Lib_Version if not empty and if Symbol_Data.Symbol_Policy is + -- not Autonomous, otherwise returns "". + -- When Symbol_Data.Symbol_Policy is Autonomous, fails gnatmake if + -- Lib_Version is not the image of a positive number. ------------------ -- Is_Interface -- @@ -215,8 +217,10 @@ package body MLib.Tgt is function Version_String return String is Version : Integer := 0; begin - if Lib_Version = "" then - return "1"; + if Lib_Version = "" + or else Symbol_Data.Symbol_Policy /= Autonomous + then + return ""; else begin diff --git a/gcc/ada/symbols-vms-alpha.adb b/gcc/ada/symbols-vms-alpha.adb index 2151706bc43..4fb68318f99 100644 --- a/gcc/ada/symbols-vms-alpha.adb +++ b/gcc/ada/symbols-vms-alpha.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2003-2004 Free Software Foundation, Inc. -- +-- Copyright (C) 2003-2005 Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -36,7 +36,7 @@ package body Symbols is Symbol_Vector : constant String := "SYMBOL_VECTOR=("; Equal_Data : constant String := "=DATA)"; Equal_Procedure : constant String := "=PROCEDURE)"; - Gsmatch : constant String := "gsmatch=equal,"; + Gsmatch : constant String := "gsmatch=lequal,"; Symbol_File_Name : String_Access := null; -- Name of the symbol file @@ -668,18 +668,15 @@ package body Symbols is Success := False; return; - elsif Soft_Minor_ID then - Minor_ID := Minor_ID + 1; + elsif Soft_Major_ID then + Major_ID := Major_ID + 1; + Minor_ID := 0; + Soft_Major_ID := False; Soft_Minor_ID := False; end if; Original_Symbols.Table (Index_1).Present := False; Free (Original_Symbols.Table (Index_1).Name); - - if Soft_Minor_ID then - Minor_ID := Minor_ID + 1; - Soft_Minor_ID := False; - end if; end if; end loop; |