[multiple changes]

2010-01-26  Thomas Quinot  <quinot@adacore.com>

	* gnat_ugn.texi: Adjust documentation of -gnatz switches.
	* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
	-gnatzr.

2010-01-26  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: Add new attribute Library_Install_Name_Option
	Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
	* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
	attributes Run_Path_Option and Library_Install_Name_Option.
	* prj.ads (Project_Configuration): Replace component
	Run_Path_Origin_Supported with component Run_Path_Origin. Add new
	component Library_Install_Name_Option.
	* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
	Replace Run_Path_Origin_Supported with Run_Path_Origin

2010-01-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
	is not hidden by a homograph declared in another actual package.

From-SVN: r156248
This commit is contained in:
Arnaud Charlet 2010-01-26 15:02:25 +01:00
parent 65564d08a2
commit c94a0b9db5
8 changed files with 79 additions and 30 deletions

View File

@ -1,3 +1,26 @@
2010-01-26 Thomas Quinot <quinot@adacore.com>
* gnat_ugn.texi: Adjust documentation of -gnatz switches.
* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
-gnatzr.
2010-01-26 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attribute Library_Install_Name_Option
Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
attributes Run_Path_Option and Library_Install_Name_Option.
* prj.ads (Project_Configuration): Replace component
Run_Path_Origin_Supported with component Run_Path_Origin. Add new
component Library_Install_Name_Option.
* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
Replace Run_Path_Origin_Supported with Run_Path_Origin
2010-01-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
is not hidden by a homograph declared in another actual package.
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Only generate

View File

@ -4572,8 +4572,9 @@ first in the string.
@item
The switches
@option{^-gnatz^/DISTRIBUTION_STUBS^}, @option{-gnatzc}, and @option{-gnatzr}
may not be combined with any other switches.
^^@option{/DISTRIBUTION_STUBS=},^
@option{-gnatzc} and @option{-gnatzr} may not be combined with any other
switches, and only one of them may appear in the command line.
@ifclear vms
@item

View File

@ -112,7 +112,7 @@ package body Prj.Attr is
"SVdefault_language#" &
"LVrun_path_option#" &
"SVrun_path_origin_supported#" &
"SVrun_path_origin#" &
"SVseparate_run_path_options#" &
"Satoolchain_version#" &
"Satoolchain_description#" &
@ -142,6 +142,7 @@ package body Prj.Attr is
"SVlibrary_auto_init_supported#" &
"LVshared_library_minimum_switches#" &
"LVlibrary_version_switches#" &
"SVlibrary_install_name_option#" &
"Saruntime_library_dir#" &
"Saruntime_source_dir#" &

View File

@ -2093,21 +2093,21 @@ package body Prj.Nmsc is
In_Tree => Data.Tree);
end if;
elsif Attribute.Name = Name_Run_Path_Origin_Supported then
declare
pragma Unsuppress (All_Checks);
begin
Project.Config.Run_Path_Origin_Supported :=
Boolean'Value (Get_Name_String (Attribute.Value.Value));
exception
when Constraint_Error =>
Error_Msg
(Data.Flags,
"invalid value """ &
Get_Name_String (Attribute.Value.Value) &
""" for Run_Path_Origin_Supported",
Attribute.Value.Location, Project);
end;
elsif Attribute.Name = Name_Run_Path_Origin then
Get_Name_String (Attribute.Value.Value);
if Name_Len = 0 then
Error_Msg
(Data.Flags,
"run path origin cannot be empty",
Attribute.Value.Location, Project);
end if;
Project.Config.Run_Path_Origin := Attribute.Value.Value;
elsif Attribute.Name = Name_Library_Install_Name_Option then
Project.Config.Library_Install_Name_Option :=
Attribute.Value.Value;
elsif Attribute.Name = Name_Separate_Run_Path_Options then
declare

View File

@ -906,9 +906,14 @@ package Prj is
-- The option to use when linking to specify the path where to look for
-- libraries.
Run_Path_Origin_Supported : Boolean := False;
-- Specify if the run path option support $ORIGIN to indicate paths
-- reative to the directory of the executable.
Run_Path_Origin : Name_Id := No_Name;
-- Specify the string (such as "$ORIGIN") to indicate paths relative to
-- the directory of the executable in the run path option.
Library_Install_Name_Option : Name_Id := No_Name;
-- When this is not an empty list, this option, followed by the single
-- name of the shared library file is used when linking a shared
-- library.
Separate_Run_Path_Options : Boolean := False;
-- True if each directory needs to be specified in a separate run path
@ -1021,7 +1026,8 @@ package Prj is
Default_Project_Config : constant Project_Configuration :=
(Target => No_Name,
Run_Path_Option => No_Name_List,
Run_Path_Origin_Supported => False,
Run_Path_Origin => No_Name,
Library_Install_Name_Option => No_Name,
Separate_Run_Path_Options => False,
Executable_Suffix => No_Name,
Linker => No_Path,

View File

@ -7162,7 +7162,11 @@ package body Sem_Ch8 is
-- we compare the scope depth of its scope with that of the
-- current instance. However, a generic actual of a subprogram
-- instance is declared in the wrapper package but will not be
-- hidden by a use-visible entity.
-- hidden by a use-visible entity. Similarly, a generic actual
-- will not be hidden by an entity declared in another generic
-- actual, which can only have been use-visible in the generic.
-- Is this condition complete, and can the following complex
-- test be simplified ???
-- If Id is called Standard, the predefined package with the
-- same name is in the homonym chain. It has to be ignored
@ -7177,9 +7181,17 @@ package body Sem_Ch8 is
and then (Scope (Prev) /= Standard_Standard
or else Sloc (Prev) > Standard_Location)
then
Set_Is_Potentially_Use_Visible (Id);
Set_Is_Immediately_Visible (Prev, False);
Append_Elmt (Prev, Hidden_By_Use_Clause (N));
if Ekind (Prev) = E_Package
and then Present (Associated_Formal_Package (Prev))
and then Present (Associated_Formal_Package (P))
then
null;
else
Set_Is_Potentially_Use_Visible (Id);
Set_Is_Immediately_Visible (Prev, False);
Append_Elmt (Prev, Hidden_By_Use_Clause (N));
end if;
end if;
-- A user-defined operator is not use-visible if the predefined

View File

@ -1080,6 +1080,7 @@ package Snames is
Name_Library_Builder : constant Name_Id := N + $;
Name_Library_Dir : constant Name_Id := N + $;
Name_Library_GCC : constant Name_Id := N + $;
Name_Library_Install_Name_Option : constant Name_Id := N + $;
Name_Library_Interface : constant Name_Id := N + $;
Name_Library_Kind : constant Name_Id := N + $;
Name_Library_Name : constant Name_Id := N + $;
@ -1130,7 +1131,7 @@ package Snames is
Name_Roots : constant Name_Id := N + $; -- GPR
Name_Required_Switches : constant Name_Id := N + $;
Name_Run_Path_Option : constant Name_Id := N + $;
Name_Run_Path_Origin_Supported : constant Name_Id := N + $;
Name_Run_Path_Origin : constant Name_Id := N + $;
Name_Separate_Run_Path_Options : constant Name_Id := N + $;
Name_Shared_Library_Minimum_Switches : constant Name_Id := N + $;
Name_Shared_Library_Prefix : constant Name_Id := N + $;

View File

@ -563,10 +563,15 @@ begin
Write_Switch_Char ("yN");
Write_Line ("Cancel all previously set style checks");
-- Lines for -gnatz switch
-- Lines for -gnatzc switch
Write_Switch_Char ("z");
Write_Line ("Distribution stub generation (r/c for receiver/caller stubs)");
Write_Switch_Char ("zc");
Write_Line ("Distribution stub generation for caller stubs");
-- Lines for -gnatzr switch
Write_Switch_Char ("zr");
Write_Line ("Distribution stub generation for receiver stubs");
-- Line for -gnat83 switch