summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_aggr.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-17 14:58:17 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-17 14:58:17 +0000
commitea61a7eac2bd83ab4f8831935cc59f90ea601eb3 (patch)
treed4fd4202c674dfd74d652a50e82fd804b0e87ffc /gcc/ada/exp_aggr.adb
parente58f120a098cf37e5b025eaf2152de3363e0b0f6 (diff)
downloadgcc-ea61a7eac2bd83ab4f8831935cc59f90ea601eb3.tar.gz
2003-11-17 Jerome Guitton <guitton@act-europe.fr>
* 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is already called in System.Threads. * 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the environment task, as it has been moved to System.Threads.Initialization. 2003-11-17 Arnaud Charlet <charlet@act-europe.fr> * adaint.c (__gnatlib_install_locks): Only reference __gnat_install_locks on VMS, since other platforms can avoid using --enable-threads=gnat 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * ada-tree.h: (TYPE_IS_PACKED_ARRAY_TYPE_P): New macro. * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set TYPE_PACKED_ARRAY_TYPE_P. (validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P. Part of PR ada/12806 * utils.c (float_type_for_precision): Renamed from float_type_for_size. Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE. 2003-11-17 Vincent Celier <celier@gnat.com> * gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted to False. Do not set exit status to Failure when Warning is True. (Gnatchop): Make errors "no compilation units found" and "no source files written" warnings only. * make.adb (Gnatmake): When using a project file, set Look_In_Primary_Dir to False. (Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas and Local_Configuration_Pragmas in the project where they are declared not an extending project which might have inherited them. * osint.adb (Locate_File): If Name is already an absolute path, do not look for a directory. * par-ch10.adb (P_Compilation_Unit): If source contains no token, and -gnats (Check_Syntax) is used, issue only a warning, not an error. * prj.adb (Register_Default_Naming_Scheme): Add new component Project in objects of type Variable_Value. * prj.ads: (Variable_Value): New component Project * prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source is in a project extended by Project. * prj-proc.adb (Add_Attributes): New parameter Project. Set component Project of Variable_Values to this new parameter value. (Expression): Set component Project of Variable_Values. (Process_Declarative_Items): Call Add_Attributes with parameter Project. Set the component Project in array elements. 2003-11-17 Sergey Rybin <rybin@act-europe.fr> * errout.adb: (Initialize): Add initialization for error nodes. * sem_ch12.adb (Initialize): Add missing initializations for Exchanged_Views and Hidden_Entities. 2003-11-17 Ed Schonberg <schonberg@gnat.com> * sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an already instantiated tree for use in subsequent inlining. (Analyze_Associations, Instantiate_Formal_Subprogram, Instantiate_Object): improve error message for mismatch in instantiations. * sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle instantiations of subprograms declared in instances. 2003-11-17 Javier Miranda <miranda@gnat.com> * sem_ch4.adb (Analyze_Allocator): Previous modification must be executed only under the Extensions_Allowed flag. 2003-11-17 Robert Dewar <dewar@gnat.com> * a-exexda.adb (Address_Image): Fix documentation to indicate leading zeroes suppressed. (Address_Image): Fix bug of returning 0x instead of 0x0 Minor reformatting (function specs). * einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array (missed case of 33-63) * freeze.adb, sem_ch13.adb: Properly check size of packed bit array * s-thread.adb: Add comments for pragma Restriction * exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb, sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting 2003-11-17 Ed Falis <falis@gnat.com> * s-thread.adb: Added No_Tasking restriction for this implementation. 2003-11-17 Emmanuel Briot <briot@act-europe.fr> * xref_lib.adb (Parse_Identifier_Info): Add handling of generic instanciation references in the parent type description. 2003-11-17 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73672 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_aggr.adb')
-rw-r--r--gcc/ada/exp_aggr.adb49
1 files changed, 19 insertions, 30 deletions
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
index e2413bbd4f9..0f6c2ee0ad9 100644
--- a/gcc/ada/exp_aggr.adb
+++ b/gcc/ada/exp_aggr.adb
@@ -106,8 +106,7 @@ package body Exp_Aggr is
Target : Node_Id;
Flist : Node_Id := Empty;
Obj : Entity_Id := Empty;
- Is_Limited_Ancestor_Expansion : Boolean := False)
- return List_Id;
+ Is_Limited_Ancestor_Expansion : Boolean := False) return List_Id;
-- N is an N_Aggregate or a N_Extension_Aggregate. Typ is the type
-- of the aggregate. Target is an expression containing the
-- location on which the component by component assignments will
@@ -175,8 +174,7 @@ package body Exp_Aggr is
Into : Node_Id;
Scalar_Comp : Boolean;
Indices : List_Id := No_List;
- Flist : Node_Id := Empty)
- return List_Id;
+ Flist : Node_Id := Empty) return List_Id;
-- This recursive routine returns a list of statements containing the
-- loops and assignments that are needed for the expansion of the array
-- aggregate N.
@@ -207,8 +205,7 @@ package body Exp_Aggr is
Typ : Entity_Id;
Target : Node_Id;
Flist : Node_Id := Empty;
- Obj : Entity_Id := Empty)
- return List_Id;
+ Obj : Entity_Id := Empty) return List_Id;
-- N is a nested (record or array) aggregate that has been marked
-- with 'Delay_Expansion'. Typ is the expected type of the
-- aggregate and Target is a (duplicable) expression that will
@@ -225,8 +222,7 @@ package body Exp_Aggr is
function Make_OK_Assignment_Statement
(Sloc : Source_Ptr;
Name : Node_Id;
- Expression : Node_Id)
- return Node_Id;
+ Expression : Node_Id) return Node_Id;
-- This is like Make_Assignment_Statement, except that Assignment_OK
-- is set in the left operand. All assignments built by this unit
-- use this routine. This is needed to deal with assignments to
@@ -405,8 +401,7 @@ package body Exp_Aggr is
Into : Node_Id;
Scalar_Comp : Boolean;
Indices : List_Id := No_List;
- Flist : Node_Id := Empty)
- return List_Id
+ Flist : Node_Id := Empty) return List_Id
is
Loc : constant Source_Ptr := Sloc (N);
Index_Base : constant Entity_Id := Base_Type (Etype (Index));
@@ -1281,8 +1276,7 @@ package body Exp_Aggr is
Target : Node_Id;
Flist : Node_Id := Empty;
Obj : Entity_Id := Empty;
- Is_Limited_Ancestor_Expansion : Boolean := False)
- return List_Id
+ Is_Limited_Ancestor_Expansion : Boolean := False) return List_Id
is
Loc : constant Source_Ptr := Sloc (N);
L : constant List_Id := New_List;
@@ -1333,8 +1327,7 @@ package body Exp_Aggr is
Typ : Entity_Id;
F : Node_Id;
Attach : Node_Id;
- Init_Pr : Boolean)
- return List_Id;
+ Init_Pr : Boolean) return List_Id;
-- returns the list of statements necessary to initialize the internal
-- controller of the (possible) ancestor typ into target and attach
-- it to finalization list F. Init_Pr conditions the call to the
@@ -1530,8 +1523,7 @@ package body Exp_Aggr is
Typ : Entity_Id;
F : Node_Id;
Attach : Node_Id;
- Init_Pr : Boolean)
- return List_Id
+ Init_Pr : Boolean) return List_Id
is
L : constant List_Id := New_List;
Ref : Node_Id;
@@ -2432,10 +2424,9 @@ package body Exp_Aggr is
Typ : constant Entity_Id := Etype (N);
function Flatten
- (N : Node_Id;
- Ix : Node_Id;
- Ixb : Node_Id)
- return Boolean;
+ (N : Node_Id;
+ Ix : Node_Id;
+ Ixb : Node_Id) return Boolean;
-- Convert the aggregate into a purely positional form if possible.
function Is_Flat (N : Node_Id; Dims : Int) return Boolean;
@@ -2446,10 +2437,9 @@ package body Exp_Aggr is
-------------
function Flatten
- (N : Node_Id;
- Ix : Node_Id;
- Ixb : Node_Id)
- return Boolean
+ (N : Node_Id;
+ Ix : Node_Id;
+ Ixb : Node_Id) return Boolean
is
Loc : constant Source_Ptr := Sloc (N);
Blo : constant Node_Id := Type_Low_Bound (Etype (Ixb));
@@ -4483,8 +4473,9 @@ package body Exp_Aggr is
----------------------------
function Has_Default_Init_Comps (N : Node_Id) return Boolean is
- Comps : constant List_Id := Component_Associations (N);
- C : Node_Id;
+ Comps : constant List_Id := Component_Associations (N);
+ C : Node_Id;
+
begin
pragma Assert (Nkind (N) = N_Aggregate
or else Nkind (N) = N_Extension_Aggregate);
@@ -4533,8 +4524,7 @@ package body Exp_Aggr is
Typ : Entity_Id;
Target : Node_Id;
Flist : Node_Id := Empty;
- Obj : Entity_Id := Empty)
- return List_Id
+ Obj : Entity_Id := Empty) return List_Id
is
begin
if Is_Record_Type (Etype (N)) then
@@ -4558,8 +4548,7 @@ package body Exp_Aggr is
function Make_OK_Assignment_Statement
(Sloc : Source_Ptr;
Name : Node_Id;
- Expression : Node_Id)
- return Node_Id
+ Expression : Node_Id) return Node_Id
is
begin
Set_Assignment_OK (Name);