* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207358
138bc75d-0d04-0410-961f-
82ee72b054a4
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_rm.texi: Add example to Restriction_Warnings documentation.
* exp_util.adb: Minor reformatting.
function Is_Global_Entity (N : Node_Id) return Traverse_Result is
E : Entity_Id;
S : Entity_Id;
+
begin
if Is_Entity_Name (N) and then Present (Entity (N)) then
E := Entity (N);
-- this safe. This is a common (if dubious) idiom.
elsif S = Scope (Prot)
- and then (Ekind (S) = E_Package
- or else Ekind (S) = E_Generic_Package)
+ and then Ekind_In (S, E_Package, E_Generic_Package)
and then Nkind (Parent (E)) = N_Object_Declaration
and then Nkind (Parent (Parent (E))) = N_Package_Body
then
null;
else
- Error_Msg_N ("potentially unsynchronized barrier ?", N);
- Error_Msg_N ("!& should be private component of type?", N);
+ Error_Msg_N ("potentially unsynchronized barrier?", N);
+ Error_Msg_N ("\& should be private component of type?", N);
end if;
end if;
end if;
end Is_Global_Entity;
procedure Check_Unprotected_Barrier is
- new Traverse_Proc (Is_Global_Entity);
- -- Start of processing for Expand_Entry_Barrier
+ new Traverse_Proc (Is_Global_Entity);
+
+ -- Start of processing for Expand_Entry_Barrier
begin
if No_Run_Time_Mode then
-- --
-- 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 --
-- terms of the GNU General Public License as published by the Free Soft- --
-- the argument. In the second case, the switch matches "*",
-- 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,
Parser => Parser);
For an indexed attribute, if it is allowed to use @b{others} as the index,
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
@node Project Level Attributes
-- Start of processing for Analyze_Refinement_Clause
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
State := First (Choices (Clause));