[multiple changes]

2012-07-09  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor code reorganization (use Ekind_In).
	* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
	sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
	sem_ch13.adb, snames.ads-tmpl: Minor reformatting.

2012-07-09  Tristan Gingold  <gingold@adacore.com>

	* raise-gcc.c: Adjust previous patch.

2012-07-09  Vincent Celier  <celier@adacore.com>

	* make.adb (Compilation_Phase): Do not build libraries in
	Codepeer mode (do not call Library_Phase).

From-SVN: r189379
This commit is contained in:
Arnaud Charlet 2012-07-09 15:24:20 +02:00
parent d48f3dca79
commit d27f3ff4c3
14 changed files with 72 additions and 43 deletions

View File

@ -1,3 +1,19 @@
2012-07-09 Robert Dewar <dewar@adacore.com>
* freeze.adb: Minor code reorganization (use Ekind_In).
* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
2012-07-09 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Adjust previous patch.
2012-07-09 Vincent Celier <celier@adacore.com>
* make.adb (Compilation_Phase): Do not build libraries in
Codepeer mode (do not call Library_Phase).
2012-07-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb: Extend previous change to elementary types.

View File

@ -838,8 +838,8 @@ package body Exp_Attr is
Attribute_Variable_Indexing =>
null;
-- Internal attributes used to deal with Ada 2012 delayed aspects
-- (already diagnosed by parser, thus nothing more to do here).
-- Internal attributes used to deal with Ada 2012 delayed aspects. These
-- were already rejected by the parser. Thus they shouldn't appear here.
when Attribute_CPU |
Attribute_Dispatching_Domain |

View File

@ -243,8 +243,12 @@ package body Exp_Ch8 is
Id : constant Entity_Id := Defining_Entity (N);
function Build_Body_For_Renaming return Node_Id;
-- Build and return the body for the renaming declaration of an
-- equality or unequality operator.
-- Build and return the body for the renaming declaration of an equality
-- or inequality operator.
-----------------------------
-- Build_Body_For_Renaming --
-----------------------------
function Build_Body_For_Renaming return Node_Id is
Body_Id : Entity_Id;
@ -275,10 +279,12 @@ package body Exp_Ch8 is
return Decl;
end Build_Body_For_Renaming;
-- Local variable
-- Local variables
Nam : constant Node_Id := Name (N);
-- Start of processing for Expand_N_Subprogram_Renaming_Declaration
begin
-- When the prefix of the name is a function call, we must force the
-- call to be made by removing side effects from the call, since we
@ -334,9 +340,9 @@ package body Exp_Ch8 is
Expression =>
Expand_Record_Equality
(Id,
Typ => Typ,
Lhs => Make_Identifier (Loc, Chars (Left)),
Rhs => Make_Identifier (Loc, Chars (Right)),
Typ => Typ,
Lhs => Make_Identifier (Loc, Chars (Left)),
Rhs => Make_Identifier (Loc, Chars (Right)),
Bodies => Declarations (Decl))))));
Append (Decl, List_Containing (N));

View File

@ -1908,8 +1908,8 @@ package body Freeze is
begin
-- Deal with delayed aspect specifications for components. The
-- analysis of the aspect is required to be delayed to the freeze
-- point, thus we analyze the pragma or attribute definition clause
-- in the tree at this point. We also analyze the aspect
-- point, thus we analyze the pragma or attribute definition
-- clause in the tree at this point. We also analyze the aspect
-- specification node at the freeze point when the aspect doesn't
-- correspond to pragma/attribute definition clause.
@ -1955,9 +1955,7 @@ package body Freeze is
-- Handle the component and discriminant case
if Ekind (Comp) = E_Component
or else Ekind (Comp) = E_Discriminant
then
if Ekind_In (Comp, E_Component, E_Discriminant) then
declare
CC : constant Node_Id := Component_Clause (Comp);

View File

@ -4811,6 +4811,7 @@ package body Make is
-- have been regenerated.
if Main_Project /= No_Project
and then not Codepeer_Mode
and then MLib.Tgt.Support_For_Libraries /= Prj.None
and then (Do_Bind_Step
or Unique_Compile_All_Projects

View File

@ -435,7 +435,8 @@ package body Ch4 is
Attr_Name := Token_Name;
-- Note that internal attributes names don't denote real
-- attribute.
-- attributes, so do not count in this error test. We just
-- want to consider them as not being attribute names.
if not Is_Attribute_Name (Attr_Name)
or else Is_Internal_Attribute_Name (Attr_Name)

View File

@ -721,8 +721,9 @@ package body Util is
Error_Msg_Name_1 := First_Attribute_Name;
while Error_Msg_Name_1 <= Last_Attribute_Name loop
-- No mispelling possible with internal attribute names since they
-- don't denote real attribute.
-- don't denote real attributes.
if not Is_Internal_Attribute_Name (Error_Msg_Name_1)
and then Is_Bad_Spelling_Of (Token_Name, Error_Msg_Name_1)

View File

@ -1167,7 +1167,7 @@ __gnat_cleanupunwind_handler (int version,
{
/* Terminate when the end of the stack is reached. */
if ((phases & _UA_END_OF_STACK) != 0
#if defined (__ia64__) && defined (USE_LIBUNWIND_EXCEPTIONS)
#if defined (__ia64__) && defined (__hpux__)
/* Strictely follow the ia64 ABI: when end of stack is reached,
the callback will be called with a NULL stack pointer.
No need for that when using libgcc unwinder. */

View File

@ -725,15 +725,17 @@ package body System.Task_Primitives.Operations is
pragma Unreferenced (Loss_Of_Inheritance);
begin
Res := SetThreadPriority
(T.Common.LL.Thread, Interfaces.C.int (Underlying_Priorities (Prio)));
Res :=
SetThreadPriority
(T.Common.LL.Thread,
Interfaces.C.int (Underlying_Priorities (Prio)));
pragma Assert (Res = Win32.TRUE);
-- Note: Annex D (RM D.2.3(5/2)) requires the task to be placed at the
-- head of its priority queue when decreasing its priority as a result
-- of a loss of inherited priority. This is not the case, but we
-- consider it an acceptable variation (RM 1.1.3(6)), given this is the
-- built-in behavior offered by the Windows operating system.
-- consider it an acceptable variation (RM 1.1.3(6)), given this is
-- the built-in behavior offered by the Windows operating system.
-- In older versions we attempted to better approximate the Annex D
-- required behavior, but this simulation was not entirely accurate,

View File

@ -2215,8 +2215,8 @@ package body Sem_Attr is
Attribute_Variable_Indexing =>
Error_Msg_N ("illegal attribute", N);
-- Internal attributes used to deal with Ada 2012 delayed aspects
-- (already diagnosed by parser, thus nothing more to do here).
-- Internal attributes used to deal with Ada 2012 delayed aspects. These
-- were already rejected by the parser. Thus they shouldn't appear here.
when Attribute_CPU |
Attribute_Dispatching_Domain |

View File

@ -7741,6 +7741,7 @@ package body Sem_Ch13 is
and then Siz > UI_From_Int (Int'Last)
then
Error_Msg_N ("Size value too large for elementary type", N);
if Nkind (Original_Node (N)) = N_Op_Expon then
Error_Msg_N
("\maybe '* was meant, rather than '*'*", Original_Node (N));

View File

@ -138,8 +138,7 @@ package body Sem_Ch9 is
Pdef : constant Node_Id := Protected_Definition (N);
Priv_Decls : constant List_Id := Private_Declarations (Pdef);
Vis_Decls : constant List_Id := Visible_Declarations (Pdef);
Decl : Node_Id;
Decl : Node_Id;
begin
-- Examine the visible and the private declarations
@ -152,8 +151,8 @@ package body Sem_Ch9 is
if Nkind (Decl) = N_Entry_Declaration then
if Complain then
Error_Msg_N ("entry not allowed when Lock_Free given",
Decl);
Error_Msg_N
("entry not allowed when Lock_Free given", Decl);
end if;
return False;
@ -162,10 +161,10 @@ package body Sem_Ch9 is
-- allowed by the lock-free restrictions.
elsif Nkind (Decl) = N_Subprogram_Declaration
and then Nkind (Specification (Decl)) =
N_Procedure_Specification
and then Present
(Parameter_Specifications (Specification (Decl)))
and then
Nkind (Specification (Decl)) = N_Procedure_Specification
and then
Present (Parameter_Specifications (Specification (Decl)))
then
declare
Par_Specs : constant List_Id :=
@ -192,8 +191,7 @@ package body Sem_Ch9 is
end;
end if;
-- Examine the private declarations after the visible
-- declarations.
-- Examine private declarations after visible declarations
if No (Next (Decl))
and then List_Containing (Decl) = Vis_Decls
@ -433,14 +431,13 @@ package body Sem_Ch9 is
begin
Decl := First (Decls);
while Present (Decl) loop
if Nkind (Decl) = N_Subprogram_Body
and then not Satisfies_Lock_Free_Requirements (Decl)
then
if Complain then
Error_Msg_N ("body not allowed when Lock_Free given",
Decl);
Error_Msg_N
("body not allowed when Lock_Free given", Decl);
end if;
return False;
@ -479,7 +476,7 @@ package body Sem_Ch9 is
else
if Ada_Version >= Ada_2005 then
Error_Msg_N ("expect task name or task interface class-wide "
& "object for ABORT", T_Name);
& "object for ABORT", T_Name);
else
Error_Msg_N ("expect task name for ABORT", T_Name);
end if;
@ -1782,13 +1779,14 @@ package body Sem_Ch9 is
-- issued by Allows_Lock_Free_Implementation.
if Uses_Lock_Free (Defining_Identifier (N)) then
-- Complain when there is an explicit aspect/pragma Priority (or
-- Interrupt_Priority) while the lock-free implementation is forced
-- by an aspect/pragma.
declare
Id : constant Entity_Id :=
Defining_Identifier (Original_Node (N));
Id : constant Entity_Id :=
Defining_Identifier (Original_Node (N));
-- The warning must be issued on the original identifier in order
-- to deal properly with the case of a single protected object.
@ -1800,6 +1798,7 @@ package body Sem_Ch9 is
begin
if Present (Prio_Item) then
-- Aspect case
if Nkind (Prio_Item) = N_Aspect_Specification

View File

@ -398,9 +398,10 @@ package body Snames is
function Is_Internal_Attribute_Name (N : Name_Id) return Boolean is
begin
return N = Name_CPU
or N = Name_Interrupt_Priority
or N = Name_Dispatching_Domain;
return
N = Name_CPU or else
N = Name_Interrupt_Priority or else
N = Name_Dispatching_Domain;
end Is_Internal_Attribute_Name;
----------------------------

View File

@ -754,9 +754,12 @@ package Snames is
-- section in Sem_Attr.
-- The entries marked INT are not real attributes. They are special names
-- used internally by GNAT in order to deal with delayed aspects
-- used internally by GNAT in order to deal with certain delayed aspects
-- (Aspect_CPU, Aspect_Dispatching_Domain, Aspect_Interrupt_Priority) that
-- don't have corresponding pragma or attribute.
-- don't have corresponding pragmas or user-referencable attributes. It is
-- convenient to have these internal attributes available in processing
-- the aspects, since the normal approach is to convert an aspect into its
-- corresponding pragma or attribute specification.
-- The entries marked VMS are recognized only in OpenVMS implementations
-- of GNAT, and are treated as illegal in all other contexts.