aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2012-07-09 15:24:20 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2012-07-09 15:24:20 +0200
commitd27f3ff4c3165d5decf103e63336095730745f82 (patch)
tree9eff2140d9be62222e4ed1d9c4ac35cdd16917ce /gcc
parentd48f3dca79fe7cd124c90d33dcc88b2147e23856 (diff)
downloadgcc-d27f3ff4c3165d5decf103e63336095730745f82.zip
gcc-d27f3ff4c3165d5decf103e63336095730745f82.tar.gz
gcc-d27f3ff4c3165d5decf103e63336095730745f82.tar.bz2
[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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog16
-rw-r--r--gcc/ada/exp_attr.adb4
-rw-r--r--gcc/ada/exp_ch8.adb18
-rw-r--r--gcc/ada/freeze.adb8
-rw-r--r--gcc/ada/make.adb1
-rw-r--r--gcc/ada/par-ch4.adb3
-rw-r--r--gcc/ada/par-util.adb3
-rw-r--r--gcc/ada/raise-gcc.c2
-rw-r--r--gcc/ada/s-taprop-mingw.adb10
-rw-r--r--gcc/ada/sem_attr.adb4
-rw-r--r--gcc/ada/sem_ch13.adb1
-rw-r--r--gcc/ada/sem_ch9.adb31
-rw-r--r--gcc/ada/snames.adb-tmpl7
-rw-r--r--gcc/ada/snames.ads-tmpl7
14 files changed, 72 insertions, 43 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 57d3b04..bdb5318 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -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.
diff --git a/gcc/ada/exp_attr.adb b/gcc/ada/exp_attr.adb
index 5859b6e..4dbd38f 100644
--- a/gcc/ada/exp_attr.adb
+++ b/gcc/ada/exp_attr.adb
@@ -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 |
diff --git a/gcc/ada/exp_ch8.adb b/gcc/ada/exp_ch8.adb
index b0e525e..3b5c7d3 100644
--- a/gcc/ada/exp_ch8.adb
+++ b/gcc/ada/exp_ch8.adb
@@ -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));
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 279e08a..850e963 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -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);
diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb
index e43495b..5c35a4e 100644
--- a/gcc/ada/make.adb
+++ b/gcc/ada/make.adb
@@ -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
diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb
index f16d828..11ef4c7 100644
--- a/gcc/ada/par-ch4.adb
+++ b/gcc/ada/par-ch4.adb
@@ -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)
diff --git a/gcc/ada/par-util.adb b/gcc/ada/par-util.adb
index eb19a0a..ec2d478 100644
--- a/gcc/ada/par-util.adb
+++ b/gcc/ada/par-util.adb
@@ -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)
diff --git a/gcc/ada/raise-gcc.c b/gcc/ada/raise-gcc.c
index bc79c5d..8a5dbcf 100644
--- a/gcc/ada/raise-gcc.c
+++ b/gcc/ada/raise-gcc.c
@@ -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. */
diff --git a/gcc/ada/s-taprop-mingw.adb b/gcc/ada/s-taprop-mingw.adb
index 8b38ad8..75d81cb 100644
--- a/gcc/ada/s-taprop-mingw.adb
+++ b/gcc/ada/s-taprop-mingw.adb
@@ -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,
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index dd5faef..71e6d7c 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -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 |
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb
index 049ba05..a601c7b 100644
--- a/gcc/ada/sem_ch13.adb
+++ b/gcc/ada/sem_ch13.adb
@@ -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));
diff --git a/gcc/ada/sem_ch9.adb b/gcc/ada/sem_ch9.adb
index d85f279..8c570449 100644
--- a/gcc/ada/sem_ch9.adb
+++ b/gcc/ada/sem_ch9.adb
@@ -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
diff --git a/gcc/ada/snames.adb-tmpl b/gcc/ada/snames.adb-tmpl
index da17d310..3a22750 100644
--- a/gcc/ada/snames.adb-tmpl
+++ b/gcc/ada/snames.adb-tmpl
@@ -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;
----------------------------
diff --git a/gcc/ada/snames.ads-tmpl b/gcc/ada/snames.ads-tmpl
index 1697957..03e6a51 100644
--- a/gcc/ada/snames.ads-tmpl
+++ b/gcc/ada/snames.ads-tmpl
@@ -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.