* exp_aggr.adb (Replace_Type): If the target of the assignment is
a selected component and the right-hand side is a self-referential
access, the proper prefix of the rewritten attribute is a copy
of the left-hand side, not of its prefix.
2011-09-05 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb: Minor reformatting.
* sem_ch3.adb: Minor code clean up.
2011-09-05 Jose Ruiz <ruiz@adacore.com>
* exp_ch9.adb (Make_Initialize_Protection): The fact that
restriction No_Dynamic_Attachment is in effect or not should
not influence the default priority associated to a protected
object. With this change, when the restriction is in effect (as
is the case for the Ravenscar profile) the default priority of
a protected object with an interrupt handler is in the range of
interrupt priorities (Default_Interrupt_Priority) as required
by D.3(10).
2011-09-05 Arnaud Charlet <charlet@adacore.com>
* a-iteint.ads: Fix header.
2011-09-05 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
with a directory separator to avoid output such as:
"/path/to/objauto.cgpr" has been deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178542
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Replace_Type): If the target of the assignment is
+ a selected component and the right-hand side is a self-referential
+ access, the proper prefix of the rewritten attribute is a copy
+ of the left-hand side, not of its prefix.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+ * sem_ch3.adb: Minor code clean up.
+
+2011-09-05 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_ch9.adb (Make_Initialize_Protection): The fact that
+ restriction No_Dynamic_Attachment is in effect or not should
+ not influence the default priority associated to a protected
+ object. With this change, when the restriction is in effect (as
+ is the case for the Ravenscar profile) the default priority of
+ a protected object with an interrupt handler is in the range of
+ interrupt priorities (Default_Interrupt_Priority) as required
+ by D.3(10).
+
+2011-09-05 Arnaud Charlet <charlet@adacore.com>
+
+ * a-iteint.ads: Fix header.
+
+2011-09-05 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
+ with a directory separator to avoid output such as:
+ "/path/to/objauto.cgpr" has been deleted.
+
2011-09-05 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting.
-- --
-- S p e c --
-- --
--- Copyright (C) 2004-2011, Free Software Foundation, Inc. --
--- --
-- This specification is derived from the Ada Reference Manual for use with --
--- GNAT. The copyright notice above, and the license provisions that follow --
--- apply solely to the contents of the part following the private keyword. --
--- --
--- 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- --
--- ware Foundation; either version 3, or (at your option) any later ver- --
--- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE. --
--- --
--- As a special exception under Section 7 of GPL version 3, you are granted --
--- additional permissions described in the GCC Runtime Library Exception, --
--- version 3.1, as published by the Free Software Foundation. --
--- --
--- You should have received a copy of the GNU General Public License and --
--- a copy of the GCC Runtime Library Exception along with this program; --
--- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
--- <http://www.gnu.org/licenses/>. --
+-- GNAT. In accordance with the copyright of that document, you can freely --
+-- copy and modify this specification, provided that if you redistribute a --
+-- modified version, any changes that you have made are clearly indicated. --
-- --
------------------------------------------------------------------------------
type Cursor;
with function Has_Element (Position : Cursor) return Boolean;
pragma Unreferenced (Has_Element);
+
package Ada.Iterator_Interfaces is
pragma Pure;
Rewrite (Expr,
Make_Attribute_Reference (Loc,
Attribute_Name => Name_Unrestricted_Access,
- Prefix => New_Copy_Tree (Prefix (Lhs))));
+ Prefix => New_Copy_Tree (Lhs)));
Set_Analyzed (Parent (Expr), False);
else
-- When no priority is specified but an xx_Handler pragma is, we default
-- to System.Interrupts.Default_Interrupt_Priority, see D.3(10).
- elsif (Has_Attach_Handler (Ptyp) or else Has_Interrupt_Handler (Ptyp))
- and then not Restriction_Active (No_Dynamic_Attachment)
+ elsif Has_Attach_Handler (Ptyp)
+ or else Has_Interrupt_Handler (Ptyp)
then
Append_To (Args,
New_Reference_To (RTE (RE_Default_Interrupt_Priority), Loc));
end if;
end loop;
+ -- Make sure that Obj_Dir ends with a directory separator
+
+ if Name_Buffer (Name_Len) /= Directory_Separator then
+ Name_Len := Name_Len + 1;
+ Name_Buffer (Name_Len) := Directory_Separator;
+ end if;
+
declare
Obj_Dir : constant String := Name_Buffer (1 .. Name_Len);
Config_Switches : Argument_List_Access;
-- In SPARK, a declaration of unconstrained type is allowed
-- only for constants of type string.
- -- Why do we need to test Original_Node here ???
-
- if Is_String_Type (T)
- and then not Constant_Present (Original_Node (N))
- then
+ if Is_String_Type (T) and then not Constant_Present (N) then
Check_SPARK_Restriction
("declaration of object of unconstrained type not allowed",
N);
if Of_Present (N) then
Set_Etype (Def_Id, Component_Type (Typ));
+ -- Here we have a missing Range attribute
+
else
Error_Msg_N
("missing Range attribute in iteration over an array", N);
+ -- In Ada 2012 mode, this may be an attempt at an iterator
+
if Ada_Version >= Ada_2012 then
Error_Msg_NE
("\if& is meant to designate an element of the array, use OF",