Commit d66f9f0b by Arnaud Charlet

[multiple changes]

2014-01-31  Robert Dewar  <dewar@adacore.com>

	* exp_ch9.adb: Minor reformatting.

2014-01-31  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Set_Command_Line): Take the switches
	configuration from the Command_Line_Config.

2014-01-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed
	refinement clause.

2014-01-31  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add more documentation about others used as an
	index in indexed attributes.

From-SVN: r207358
parent f3920a13
2014-01-31 Robert Dewar <dewar@adacore.com> 2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb: Minor reformatting.
2014-01-31 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Set_Command_Line): Take the switches
configuration from the Command_Line_Config.
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed
refinement clause.
2014-01-31 Vincent Celier <celier@adacore.com>
* projects.texi: Add more documentation about others used as an
index in indexed attributes.
2014-01-31 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor update. * gnat_ugn.texi: Minor update.
* gnat_rm.texi: Add example to Restriction_Warnings documentation. * gnat_rm.texi: Add example to Restriction_Warnings documentation.
* exp_util.adb: Minor reformatting. * exp_util.adb: Minor reformatting.
......
...@@ -6195,6 +6195,7 @@ package body Exp_Ch9 is ...@@ -6195,6 +6195,7 @@ package body Exp_Ch9 is
function Is_Global_Entity (N : Node_Id) return Traverse_Result is function Is_Global_Entity (N : Node_Id) return Traverse_Result is
E : Entity_Id; E : Entity_Id;
S : Entity_Id; S : Entity_Id;
begin begin
if Is_Entity_Name (N) and then Present (Entity (N)) then if Is_Entity_Name (N) and then Present (Entity (N)) then
E := Entity (N); E := Entity (N);
...@@ -6213,16 +6214,15 @@ package body Exp_Ch9 is ...@@ -6213,16 +6214,15 @@ package body Exp_Ch9 is
-- this safe. This is a common (if dubious) idiom. -- this safe. This is a common (if dubious) idiom.
elsif S = Scope (Prot) elsif S = Scope (Prot)
and then (Ekind (S) = E_Package and then Ekind_In (S, E_Package, E_Generic_Package)
or else Ekind (S) = E_Generic_Package)
and then Nkind (Parent (E)) = N_Object_Declaration and then Nkind (Parent (E)) = N_Object_Declaration
and then Nkind (Parent (Parent (E))) = N_Package_Body and then Nkind (Parent (Parent (E))) = N_Package_Body
then then
null; null;
else else
Error_Msg_N ("potentially unsynchronized barrier ?", N); Error_Msg_N ("potentially unsynchronized barrier?", N);
Error_Msg_N ("!& should be private component of type?", N); Error_Msg_N ("\& should be private component of type?", N);
end if; end if;
end if; end if;
end if; end if;
...@@ -6231,8 +6231,9 @@ package body Exp_Ch9 is ...@@ -6231,8 +6231,9 @@ package body Exp_Ch9 is
end Is_Global_Entity; end Is_Global_Entity;
procedure Check_Unprotected_Barrier is procedure Check_Unprotected_Barrier is
new Traverse_Proc (Is_Global_Entity); new Traverse_Proc (Is_Global_Entity);
-- Start of processing for Expand_Entry_Barrier
-- Start of processing for Expand_Entry_Barrier
begin begin
if No_Run_Time_Mode then if No_Run_Time_Mode then
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1999-2012, Free Software Foundation, Inc. -- -- Copyright (C) 1999-2013, Free Software Foundation, Inc. --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -1681,7 +1681,13 @@ package body GNAT.Command_Line is ...@@ -1681,7 +1681,13 @@ package body GNAT.Command_Line is
-- the argument. In the second case, the switch matches "*", -- the argument. In the second case, the switch matches "*",
-- and is then decomposed below. -- and is then decomposed below.
S := Getopt (Switches => "*", -- Note: When a Command_Line object is associated with a
-- Command_Line_Config (which is mostly the case for tools
-- that let users chose the command line before spawning
-- other tools, for instance IDEs), the configuration of
-- the switches must be taken from the Command_Line_Config.
S := Getopt (Switches => "* " & Get_Switches (Cmd.Config),
Concatenate => False, Concatenate => False,
Parser => Parser); Parser => Parser);
......
...@@ -3806,6 +3806,9 @@ depending on the platform. ...@@ -3806,6 +3806,9 @@ depending on the platform.
For an indexed attribute, if it is allowed to use @b{others} as the index, For an indexed attribute, if it is allowed to use @b{others} as the index,
this is indicated by the words "others allowed". this is indicated by the words "others allowed".
When @b{others} is used as the index of an indexed attribute, the value of
the attribute indexed by @b{others} is used when no other index would apply.
@end itemize @end itemize
@node Project Level Attributes @node Project Level Attributes
......
...@@ -23137,6 +23137,14 @@ package body Sem_Prag is ...@@ -23137,6 +23137,14 @@ package body Sem_Prag is
-- Start of processing for Analyze_Refinement_Clause -- Start of processing for Analyze_Refinement_Clause
begin begin
-- A refinement clause appears as a component association where the
-- sole choice is the state and the expressions are the constituents.
if Nkind (Clause) /= N_Component_Association then
Error_Msg_N ("malformed state refinement clause", Clause);
return;
end if;
-- Analyze the state name of a refinement clause -- Analyze the state name of a refinement clause
State := First (Choices (Clause)); State := First (Choices (Clause));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment