X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fada%2FChangeLog;h=e6adda66cafe5dc285c3ca038f79637f0da7486c;hp=f433549851058205c6d454cbacdd88e3793aa9a6;hb=6c1e5981257d54606c60959f63a626fb2be64d60;hpb=f65e883c18c6dd5c84ab21ddff0ca25253b91290 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f4335498510..e6adda66caf 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,1016 @@ +2012-03-22 Release Manager + + * GCC 4.7.0 released. + +2012-02-29 Eric Botcazou + + * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter + and set TYPE_ARTIFICIAL according to it. Adjust recursive call. + (gnat_to_gnu_entity) : Adjust call to above function. + * gcc-interface/utils.c (rest_of_record_type_compilation): Do not + invoke rest_of_type_decl_compilation on the parallel type, if any. + +2012-02-29 Eric Botcazou + + * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the + dummy global built for global types is preserved. + +2012-02-27 Tristan Gingold + + * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, + E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and + gnu_template_type. + +2012-02-27 Eric Botcazou + + * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking. + (TYPE_BY_REFERENCE_P): New flag. + (TYPE_IS_BY_REFERENCE_P): New macro. + (TYPE_DUMMY_P): Add checking and remove VOID_TYPE. + (TYPE_IS_DUMMY_P): Adjust for above change. + * gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P + and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE. + (gnat_to_gnu_param): Likewise. + (maybe_pad_type): Likewise. + (make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P. + * gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P + instead of TREE_ADDRESSABLE. + * gcc-interface/trans.c (finalize_nrv): Likewise. + (call_to_gnu): Likewise. Do not create a temporary for return values + with by-reference type here. + (gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P. + (gnat_gimplify_expr) : Don't do anything for non-constant + CONSTRUCTORs and calls. + * gcc-interface/utils.c (make_dummy_type): Get the equivalent type of + the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P + instead of TREE_ADDRESSABLE. + * gcc-interface/utils2.c (build_cond_expr): Deal with by-reference + types explicitly. + +2012-02-27 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Revert previous + change that creates a special VAR_DECL for debugging purposes. For an + aliased object with an unconstrained nominal subtype, make its type a + thin reference to the underlying object. + * gcc-interface/utils2.c (build_unary_op) : Deal with + expressions built for the initialization of above objects. + +2012-02-24 Dave Korn + + * gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New + Windows-specific make variable. + (WIN_SO_INSTALL_DIR [windows targets]): Likewise. + (install-gnatlib): Respect the above during installation when set, + and also install any windows import library that has been built. + (gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also + build a corresponding import library. + +2012-02-22 Robert Dewar + + * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor + reformatting. + +2012-02-22 Geert Bosch + + * g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove + x86-specific version of byteswap and use GCC builtins instead. + +2012-02-22 Tristan Gingold + + * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, + E_Array_Type]: Translate component ealier. + +2012-02-22 Robert Dewar + + * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize + error message for 'Range. + +2012-02-22 Pascal Obry + + * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as + this is our own thread. + +2012-02-22 Sergey Rybin + + * tree_io.ads: Update ASIS_Version_Number because of the changes + in Snames. + +2012-02-22 Hristian Kirtchev + + * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on + stack-related finalizers. + +2012-02-22 Ed Schonberg + + * sem_ch6.adb (Analyze_Expression_Function): If the construct + is a completion, indicate that its formals are the formals of + a completion, and as such do not get a cross- reference entry. + (Analyze_Subprogram_Specification): Do not generate a definition + for the entity of an expression function, because it may be a + completion. Definition will be generated if needed when analyzing + the generated subprogram declaration. + +2012-02-22 Vincent Celier + + * make.adb (Check): When checking if an object file is in the + correct object directory, get the unit name from a previous call + to Check_Source_Info_In_ALI. + * makeutl.adb (Check_Source_Info_In_ALI): Return the name of + the unit when everything is OK, otherwise return No_Name. + * makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead + of Boolean + +2012-02-22 Ed Schonberg + + * sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an + instance, the operator is visible if an operand is of some + numeric type which is not in use or directly visible, and the + other operand is a numeric literal. + +2012-02-22 Tristan Gingold + + * init.c: Minor code clean up. + * gcc-interface/Make-lang.in: Update dependencies. + +2012-02-22 Arnaud Charlet + + * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node, + otherwise GCC will generate an object file. + +2012-02-22 Vincent Celier + + * projects.texi: Correct typo related to "**" in Source_Dirs. + +2012-02-22 Steve Baird + + * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of + error message text. + +2012-02-22 Vincent Pucci + + * rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and + System_Dim_Child cases added. + * rtsfind.ads: Ada_Numerics, + Ada_Numerics_Generic_Elementary_Functions, System_Dim, + System_Dim_Float_IO and System_Dim_Integer_IO added to the list + of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as + new RTU_Id subtypes. + * sem_dim.adb (Is_Dim_IO_Package_Entity): Use of + Rtsfind to verify the package entity is located either + in System.Dim.Integer_IO or in System.Dim.Float_IO. + (Is_Dim_IO_Package_Instantiation): Minor + changes. (Is_Elementary_Function_Call): Removed. + (Is_Elementary_Function_Entity): New routine. + (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added. + * snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions + removed. + +2012-02-22 Vincent Pucci + + * sem_prag.adb: Minor reformatting. + +2012-02-22 Ed Schonberg + + * sem_ch3.adb (Find_Type_Name): When analyzing a private type + declaration that is the completion of a tagged incomplete type, do + not associate the class-wide type already created with the private + type to prevent order-of-elaboration issues in the back-end. + * exp_disp.adb (Find_Specific_Type): Find specific type of + a class-wide type, and handle the case of an incomplete type + coming either from a limited_with clause or from an incomplete + type declaration. Used when expanding a dispatchin call and + generating tag checks (minor refactoring). + +2012-02-22 Robert Dewar + + * exp_ch5.adb: Add comment. + * sem_ch12.adb, exp_ch6.adb: minor reformatting + +2012-02-22 Ed Schonberg + + * freeze.adb (Freeze_Entity): Do not perform type layout within + a generic unit. + +2012-02-22 Eric Botcazou + + * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to + Storage_Error. + +2012-02-22 Ed Schonberg + + * exp_ch5.adb (Expand_N_Assignment_Statement): Reject an + assignment to a classwide type whose type is limited, as + can happen in an instantiation in programs that run afoul or + AI05-0087. + + +2012-02-17 Ed Schonberg + + * exp_ch6.adb (Legal_Copy): If layout is not + determined in the front-end, do not emit error message when + by-reference actual is potentially unaligned. + * gcc-interface/decl.c (gnat_to_gnu_field): Better error message for + illegal representation clause on tagged or aliased component, or on + by-reference type with forced alignment. + +2012-02-17 Nicolas Roche + + * gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is + propagated by gnatlib-sjlj and gnatlib-zcx targets. + * gcc-interface/Make-lang.in: Update dependencies. + +2012-02-17 Thomas Quinot + + * sem_ch12.adb (Analyze_Package_Instantiation): For an + instantiation in an RCI library unit, omit the instance body + if the RCI library unit is the instance itself (E.2.3(18)), + but include the body if the instantiation is within the RCI + declaration (12.3(12)). + +2012-02-17 Steve Baird + + * sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and + Post'Class aspects can only be specified for a primitive operation + of a tagged type. + +2012-02-17 Yannick Moy + + * gnat_rm.texi: Minor shuffling. + +2012-02-17 Ed Schonberg + + * aspects.adb: Expression functions can carry pre/postconditions. + * par-ch6.adb (P_Subprogram): look for optional pre/postconditions + in an expression function. + * sem_prag (Check_Precondition_Postcondition): legal on expression + functions. + +2012-02-17 Vincent Pucci + + * a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb, + * a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb, + * a-convec.adb, a-coorma.adb (Adjust): New routine. + (Constant_Reference): Increment Busy and Lock counters. + (Reference): Increase Busy and Lock counters. + (Finalize): New routine. + * a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb: + (Adjust): New routine. (Constant_Reference): Increment Busy + and Lock counters. + (Finalize): New routine. + * a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads, + * a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads, + * a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads, + * a-coorma.ads, a-coorse: Controlled component added to the + reference types. + +2012-02-17 Robert Dewar + + * restrict.adb (Check_Restriction): Add special handling for + No_Obsolescent_Features. + +2012-02-17 Hristian Kirtchev + + * exp_util.adb (Find_Finalize_Address): When dealing with an + internally built full view for a type with unknown discriminants, + use the original record type. + +2012-02-17 Robert Dewar + + * sem_dim.adb: Minor reformatting. + +2012-02-17 Yannick Moy + + * gnat_rm.texi: Minor rewording. + +2012-02-17 Thomas Quinot + + * sem_aggr.adb: Minor reformatting. + +2012-02-17 Robert Dewar + + * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case. + +2012-02-17 Vincent Pucci + + * sem_dim.adb (Is_Dim_IO_Package_Entity): New routine. + (Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity + call added. + (Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity + call added. + * s-dim.ads: Make package Pure. + +2012-02-17 Gary Dismukes + + * prj-nmsc.adb: Minor reformatting. + +2012-02-17 Yannick Moy + + * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions. + +2012-02-17 Yannick Moy + + * gnat_ugn.texi: Fix typos. + +2012-02-17 Pascal Obry + + * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an + aggregate is not Externally_Built. + +2012-02-17 Ed Schonberg + + * sem_aggr.adb (Resolve_Record_Aggregate): If a composite + component has a box association, copy the default value using + the current scope as the scope of internal types, to prevent + scoping anomalies in gigi. + +2012-02-17 Robert Dewar + + * sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb, + sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb, + exp_intr.adb, s-os_lib.adb: Minor reformatting. + +2012-02-17 Ed Schonberg + + * sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the + old operation is abstract, the relevant type is not abstract, + and the new subprogram fails to override. + +2012-02-15 Eric Botcazou + + * gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the + type of the result to the end and execute it for a deferred constant of + a discriminated type whose full view can be elaborated statically. + +2012-02-15 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu) : If the + type is tagged, mark it as used for debugging purposes. + : Likewise for a qualified expression. + +2012-02-15 Eric Botcazou + + * gcc-interface/trans.c (call_to_gnu): Create the temporary for the + return value in the by-reference return type case if this isn't the + expression of an object declaration. Tidy up. + +2012-02-09 Tristan Gingold + + * gcc-interface/Makefile.in: Remove .sym rule (not used). + Remove adamsg.o object (requires native message compiler). + * init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a + macro instead of as extern int. + (ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR) + (ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT) + (ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH) + (ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC) + (ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH) + (ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH) + (ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH) + (ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR) + (ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise. + (struct cond_except): Field cond is now an unsigned int. + (dec_ada_cond_except_table): Adjust. + (cond_except_table): Likewise. + (cond_resignal_table): Likewise. + (__gnat_default_resignal_p): Fix style. + +2012-02-08 Vincent Celier + + * gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects + (g-buorma is now imported by sinput). + Update dependencies. + * scn.adb (Initialize_Scanner): Call Check_For_BOM + * sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM + * sinput.adb: New procedure Check_For_BOM + * sinput.ads: New procedure Check_For_BOM + +2012-02-08 Vincent Pucci + + * impunit.adb: Dimension package names updated + * Makefile.rtl: s-dim added + * sem_dim.adb (Is_Procedure_Put_Call): minor changes + (Is_Dim_IO_Package_Instantiation): minor changes + * sem_dim.ads: minor changes in comments + * snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and + Name_Dim_Integer_IO removed + * s-dim.ads: New package. Define the dimension terminology. + * s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads, + * s-dmotpr.ads: Package names updated. + * s-diflio.ads, s-diinio.ads: Documentation added and package + names updated. + +2012-02-08 Gary Dismukes + + * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test + for storage pools to test for an underlying record type rather than + testing Is_Tagged_Type, so that simple storage pools will be handled + the same as normal Ada storage pools. + +2012-02-08 Yannick Moy + + * gnat_rm.texi: Minor reshuffling to place restriction at + appropriate place. + +2012-02-08 Bob Duff + + * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value + False for '-gnatwA', to suppress these warnings. + +2012-02-08 Vincent Celier + + * sinput-p.adb (Source_File_Is_Subunit): Check for BOM before + starting to scan, so that UTF8 encoding is taken into account. + +2012-02-08 Arnaud Charlet + + * s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New + function. + (Complete_Rendezvous): Now call Internal_Complete_Rendezvous. + (Exceptional_Complete_Rendezvous): Mark No_Return. + +2012-02-08 Eric Botcazou + + * exp_aggr.adb (Compile_Time_Known_Composite_Value): + New predicate to compute whether a composite value can be + evaluated at compile time. + (Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all + expressions of elementary type and Compile_Time_Known_Composite_Value + for all other expressions. + (Expand_Record_Aggregate): Convert to assignments in the case + of a type with mutable components if the aggregate cannot be + built statically. + +2012-02-08 Gary Dismukes + + * aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type. + (Impl_Defined_Aspects): Add association for + Aspect_Simple_Storage_Pool_Type. + (Aspect_Names): Add + association for Aspect_Simple_Storage_Pool_Type. + * aspects.adb: + (Canonical_Aspect): Add association for Simple_Storage_Pool_Type. + * exp_attr.adb (Expand_N_Attribute_Reference): + Change name to Name_Simple_Storage_Pool_Type. + * exp_ch4.adb (Expand_N_Allocator): Change + name to Name_Simple_Storage_Pool_Type. + * exp_intr.adb (Expand_Unc_Deallocation): Change name to + Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity): + Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb: + Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb: + (Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type. + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): + Change name to Name_Simple_Storage_Pool_Type. + * sem_prag.adb: + (Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type. + (Sig_Flags): Change name to Name_Simple_Storage_Pool_Type. + * sem_res.adb (Resolve_Allocator): Change name to + Name_Simple_Storage_Pool_Type. * snames.ads-tmpl: + (Name_Simple_Storage_Pool_Type): New name constant. + (type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and + move to main pragma section because it no longer matches the + attribute name. + * snames.adb-tmpl (Get_Pragma_Id): Remove test for + Name_Simple_Storage_Pool. + (Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool. + +2012-02-08 Robert Dewar + + * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws. + +2012-02-08 Pascal Obry + + * prj.adb (Compute_All_Imported_Projects): Use new + For_Project_And_Aggregated_Context to ensure proper context is + used for encapsulated aggregate libraries. + * prj-proc.adb (Recursive_Process): Call + Process_Aggregated_Projects earlier to ensure that all dependent + projects are set with the proper encapsulated status. + +2012-02-08 Pascal Obry + + * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null + terminated string. + +2012-02-08 Pascal Obry + + * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New + generic routine with a context parameter. + +2012-02-08 Robert Dewar + + * a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb, + a-convec.adb: Minor reformatting and code reorganization. + +2012-02-08 Steve Baird + + * sem_cat.adb (In_Preelaborated_Unit): A child + unit instantiation does not inherit preelaboration requirements + from its parent. + +2012-02-08 Gary Dismukes + + * aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool. + (Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool. + (Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool. + (Aspect_Names): Add entry for Aspect_Simple_Storage_Pool. + * aspects.adb (Canonical_Aspect): Add entry for + Aspect_Simple_Storage_Pool. + * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of + Attribute_Simple_Storage_Pool in the same way as Storage_Pool + (add conversion, analyze/resolve). For the Storage_Size attribute, + for the simple pool case, locate and use the simple pool type's + Storage_Size function (if any), otherwise evaluate to zero. + * exp_ch4.adb (Expand_N_Allocator): In the case of an allocator + for an access type with an associated simple storage pool, + locate and use the pool type's Allocate. + * exp_intr.adb (Expand_Unc_Deallocation): In the case where the + access type has a simple storage pool, locate the pool type's + Deallocate procedure (if present) and use it as the procedure + to call on the Free operation. + * freeze.adb (Freeze_Entity): In the case of a full type for + a private type defined with pragma Simple_Storage_Pool, check + that the full type is also appropriate for the pragma. For + a simple storage pool type, validate that the operations + Allocate, Deallocate (if present), and Storage_Size + (if present) are defined with appropriate expected profiles. + (Validate_Simple_Pool_Op_Formal): New procedure + (Validate_Simple_Pool_Operation): New procedure Add with and + use of Rtsfind. + * par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement + (no action required). + * sem_attr.adb (Analyze_Attribute): For the case of the + Storage_Pool attribute, give a warning if the prefix type has an + associated simple storage pool, and rewrite the attribute as a + raise of Program_Error. In the case of the Simple_Storage_Pool + attribute, check that the prefix type has an associated simple + storage pool, and set the attribute type to the pool's type. + * sem_ch13.adb (Analyze_Aspect_Specifications): Add + Aspect_Simple_Storage_Pool case choice. + (Analyze_Attribute_Definition_Clause): Add + Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses + (no action). Add handling for Simple_Storage_Pool attribute + definition, requiring the name to denote a simple storage pool + object. + (Check_Aspect_At_Freeze_Point): For a simple storage pool + aspect, set the type to that of the name specified for the aspect. + * sem_prag.adb (Analyze_Pragma): Add handling for pragma + Simple_Storage_Pool, requiring that it applies to a library-level + type declared in a package declaration that is a limited private + or limited record type. + * sem_res.adb (Resolve_Allocator): Flag an attempt to call a + build-in-place function in an allocator for an access type with + a simple storage pool as unsupported. + * snames.ads-tmpl: Add Name_Simple_Storage_Pool. + (type Attribute_Id): Add Attribute_Simple_Storage_Pool. + (type Pragma_Id): Add Pragma_Simple_Storage_Pool. + * snames.adb-tmpl (Get_Pragma_Id): Handle case of + Name_Simple_Storage_Pool. + (Is_Pragma_Name): Return True for Name_Simple_Storage_Pool. + +2012-02-08 Cyrille Comar + + * projects.texi: Clarify doc for interfaces. + +2012-02-07 Eric Botcazou + + * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable. + (GCC_LINK): Use it. + +2012-02-01 Tristan Gingold + + * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype + instead of size_type_node. + +2012-01-30 Nicolas Roche + + * gcc-interface/Make-lang.in: Update dependencies. + * gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads + when needed. + Remove Linker_Options -crtbe when building sjlj run-time. + +2012-01-30 Robert Dewar + + * sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode. + * sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of + form 2 * small-literal. + * sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious + mod value). + * sem_ch4.ads (Analyze_Mod): New procedure. + +2012-01-30 Ed Schonberg + + * sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy + types and return expression when building spec for implicit + body, to preserve global references that may be present in an + instantiation. + +2012-01-30 Matthew Heaney + + * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort, + Reverse_Elements): Check for cursor tampering. + +2012-01-30 Ed Schonberg + + * sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a + type with aspect Default_Value or Default_Component_Value is + fully initialized, and use of variables of such types do not + generate warnings. + +2012-01-30 Javier Miranda + +PR ada/15846 + * sem_ch8.adb (Analyze_Subprogram_Renaming): + Handle self-renaming when the renamed entity is referenced using + its expanded name. + +2012-01-30 Vincent Celier + + * projects.texi: Add documentation for attribute Interfaces. + +2012-01-30 Hristian Kirtchev + + * exp_ch7.adb (Build_Finalizer_Call): Set loc again. + * exp_ch11.adb (Expand_At_End_Handler): Do not provide a source + location for the wrapped call to the original AT_END routine + and the subsequent return statement. + +2012-01-30 Pascal Obry + + * s-rannum.adb: Minor reformatting. + +2012-01-30 Hristian Kirtchev + + * a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds + to 25 and add the hard time value for 2012-06-30. + +2012-01-30 Robert Dewar + + * a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb, + freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads, + s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb: + Minor reformatting/code reorganization. + +2012-01-30 Thomas Quinot + + * s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return + Unsigned_64 rather than Duration. + (System.Random_Numbers.Reset): Use full value of seed + (do not truncate sub-second bits). + +2012-01-30 Thomas Quinot + + * sem_cat.adb, sem_ch12.adb: Minor reformatting. + +2012-01-30 Yannick Moy + + * gnat_ugn.texi: Minor correction of GNAT UG, to take into + account changes to -gnatwa and more recent warnings. + +2012-01-30 Hristian Kirtchev + + * exp_ch7.adb (Build_Finalizer_Call): Do not provide a source + location when creating a call to a finalizer. + * exp_ch11.adb (Expand_Exception_Handlers): Do not provide + a source location for the first actual of Save_Occurrence for + consistency sake. + +2012-01-30 Ed Schonberg + + * einfo.ads, einfo,adb: New attribute on scalar types: + Default_Aspect_Value New attribute on array types: + Default_Aspect_Component_Value Move attribute Related_Array_Object + to a different position to accomodate new aspect attributes. + * freeze.adb (Freeze_Entity): Use new attributes to retrieve value + of defaults set with an aspect specification, rather than using + the list of aspects attached to the type, to prevent issues with + partial views. + * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects + Default_Value and Default_Component _Value, store corresponding + expression in type entity. + (Check_Aspect_At_End_Of_Declaration): If the default aspects + are declared on the full view, use the full view to resolve the + correseponding expression. + * exp_ch3.adb (Init_Component): Use attribute + Default_Aspect_Component_Value to perform default initialization, + rather than relying on the rep item list for the type. + (Get_Simple_Init_Val): Ditto. + +2012-01-30 Thomas Quinot + + * a-strhas.ads: Document risk of collision attack. + +2012-01-30 Yannick Moy + + * gnat_ugn.texi: Minor update wrt warning switches. + +2012-01-30 Vincent Celier + + * prj-nmsc.adb (Check_Interfaces): Report an error when a + unit from Library_Interface is not a unit of the project. + +2012-01-30 Vincent Pucci + + * sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent + links fixed inside PPC pragmas. + * sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl. + +2012-01-30 Thomas Quinot + + * s-ransee.ads: Minor reformatting. + +2012-01-30 Pascal Obry + + * prj.ads, prj.adb (For_Each_Source): Add support for skipping + sources coming from an encapsulated library. + +2012-01-30 Ed Schonberg + + * sem_ch3.adb (Process-Full_View): fix typo. + * sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates + appear on a private type and the full view is available, ensure + existence of freeze node for full view. + (Build_Predicate_Function): Attach predicate function to both + views of a private type. + +2012-01-30 Vincent Celier + + * prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs + for the project if either attribute Library_Interface or + Interfaces is declared. + (Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in + Check_Interfaces. + +2012-01-30 Pascal Obry + + * prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib + boolean value to true in the process list created by this routine. + * prj.ads (Project_List_Element): New field From_Encapsulated_Lib. + Continued work for KA06-021. + * prj.adb (Compute_All_Imported_Projects): Set + From_Encapsulated_Lib boolean flag. + +2012-01-30 Vincent Pucci + + * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor + code clean up. + * s-diflio.ads: Minor change. + +2012-01-30 Javier Miranda + + * exp_ch9.adb (Build_Dispatching_Requeue): Add missing call + to Get_Entry_Index. Required to generate code which provides + the correct value of Entry_Index in the target entry. + +2012-01-30 Nicolas Roche + + * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to + fix issue with zcx on VxWorks5. + +2012-01-30 Pascal Obry + + * prj.ads, prj.adb (For_Every_Project_Imported): Remove + In_Aggregate_Lib. + (For_Every_Project_Imported_Context): New generic routine with + a context parameter. + * prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid + distributed complexity. + * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto. + +2012-01-30 Thomas Quinot + + * exp_aggr.adb (Expand_Record_Aggregate): After creating the + _parent aggregate for an extension aggregate, check whether it + requires delayed (top-down) expansion. + +2012-01-30 Vincent Pucci + + * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten. + * snames.ads-tmpl: Name_Item and Name_Symbols added. + * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename + and change the position of parameter Symbols in every Put routine. + * s-dimmks.ads: Convert long float type Mks_Type into long + long float. + * s-llflex.ads: Modifications in comments. + +2012-01-30 Hristian Kirtchev + + * sem_ch12.adb (Earlier): Do not use the + top level source locations of the two input nodes. + +2012-01-30 Robert Dewar + + * einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads, + sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting. + +2012-01-30 Robert Dewar + + * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. + +2012-01-30 Olivier Hainque + + * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back + + comments. + +2012-01-30 Thomas Quinot + + * gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb, + sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb, + sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type): + New subprogram (extracted from + Sem_Cat.Validate_Remote_Access_Object_Type_Declaration). + (Einfo.Is_Remote_Types): Now applies to generic types. Update + documentation accordingly. + (Sem_Ch12.Analyze_Associations): A RACW type is acceptable as + actual for a formal type to which a pragma Remote_Access_Type + applies. + (Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect + Remote_Access_Type. + (Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can + be applied to a generic type if pragma Remote_Access_Type + applies, in which case the type of the attribute is + System.Partition_Interface.RACW_Stub_Type. + +2012-01-27 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not set + an alignment on fields of the RETURN type built for the CICO mechanism. + +2012-01-27 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for + a call to a function that returns an unconstrained type with default + discriminant. Similarly, avoid doing the conversion to the nominal + result type in this case. + +2012-01-27 Eric Botcazou + + * gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag. + * gcc-interface/decl.c (is_variable_size): Rename to... + (type_has_variable_size): ...this. + (adjust_packed): Adjust to above renaming. + (gnat_to_gnu_field): Set DECL_ALIASED_P on the field. + (field_is_artificial): New predicate. + (field_is_aliased): Likewise. + (field_has_self_size): Likewise. + (field_has_variable_size): Likewise. + (components_to_record): Record information for the final layout during + the first pass on fields. + If there is an aliased field placed after a field whose length depends + on discriminants, put all the fields of the latter sort, last. + +2012-01-27 Eric Botcazou + + * gcc-interface/gigi.h (get_minimal_subprog_decl): Declare. + * gcc-interface/decl.c (get_minimal_subprog_decl): New function. + * gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an + Access-like attribute in a dispatch table if the subprogram is public. + +2012-01-27 Eric Botcazou + + * gcc-interface/gigi.h (create_label_decl): Adjust. + * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter + and invoke gnat_pushdecl on it. Remove obsolete settings. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Adjust call to + create_label_decl. + * gcc-interface/trans.c (gnat_to_gnu) + + * gcc-interface/decl.c (gnat_to_gnu_entity) : For an aliased + object with an unconstrained nominal subtype and if optimization isn't + enabled, create a special VAR_DECL for debugging purposes. + +2012-01-23 Robert Dewar + + * sem_prag.ads, sem_prag.adb: Minor reformatting. + +2012-01-23 Robert Dewar + + * sem_ch13.adb (Analyze_Aspect_Specifications): Check for + language defined aspect applied to renaming or formal type + declaration (not permitted) + +2012-01-23 Matthew Heaney + + * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced + comment with pragma Assert. + +2012-01-23 Vincent Pucci + + * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call + to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode. + * sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New + routine. In ASIS mode, convert any PPC pragmas into aspects in generic + subprogram declaration in order to enable the analysis of PPC boolean + expressions. + +2012-01-23 Robert Dewar + + * sem_ch3.adb (Analyze_Object_Declaration): Properly + handle Current_Value for volatile variables (also propagate + Treat_As_Volatile from type to object). + +2012-01-23 Hristian Kirtchev + + * sem_ch12.adb (Install_Body): Detect the case + where the enclosing context is a package with a stub body that + has already been replaced by the actual body. In such cases, + the freeze node for the enclosing context must be inserted after + the real body. + +2012-01-23 Ed Schonberg + + * sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called + subprogram before expanding the pragma into an if-statement with + a block, to ensure that when the subprogram is null its body is + properly generated before expansion. + +2012-01-23 Hristian Kirtchev + + * sem_ch12.adb (Analyze_Associations): Alphabetize local variables and + constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal + to Saved_Formal. + Freeze all eligible subprograms which appear as actuals in + the instantiation. + (Has_Fully_Defined_Profile): New routine. + (Renames_Standard_Subprogram): New routine. + (Earlier): Add local variable N. Comment update. Do not use source + locations when trying to determine whether one node precedes another. + +2012-01-23 Gary Dismukes + + * exp_ch4.adb (Expand_Concatenate): In the case + where the result of a concatentation can be null, set the to + result have both the low and high bounds of the right operand (not + just the high bound, as was the case prior to this fix). Also, + fix the saved high bound setting (Last_Opnd_High_Bound) in the + empty string literal case (should have been low bound minus one, + rather than plus one). + +2012-01-23 Thomas Quinot + + * scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not + omit statement SCOs for disabled pragmas. + +2012-01-23 Matthew Heaney + + * a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads, + a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads, + a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads, + a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read, + Cursor'Write): Declare in private part. + (Reference_Type'Read, Reference_Type'Write): Ditto. + (Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto. + +2012-01-23 Robert Dewar + + * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor + reformatting. + +2012-01-23 Ed Schonberg + + * sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the + Corresponding_Body on a defaulted null formal subprogram. + * sem_ch12.adb (Check_Formal_Package_Instance): No check needed + on a defaulted formal subprogram that is a null procedure. + +2012-01-23 Hristian Kirtchev + + * exp_ch9.adb: Update the comments involving pragma Implemented. + * sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local + constant Subp_Alias and local variable Impl_Subp. Properly + handle aliases of synchronized wrappers. Code cleanup. + (Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add + Name_Optional as part of the condition. + * sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the + valid choices of implementation kind. + (Check_Arg_Is_One_Of): New routine. + * snames.ads-tmlp: Add Name_Optional. + +2012-01-23 Ed Schonberg + + * par-ch13.adb: Better error recovery in illegal aspect + specification. + +2012-01-23 Hristian Kirtchev + + * a-calend.adb: Add with clause for Interfaces.C. Add constant + Unix_Max. + (Day_Of_Week): Call the internal UTC_Time_Offset. + (Split): Call the internal UTC_Time_Offset. + (Time_Of): Call the internal UTC_Time_Offset. + (Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset. + (UTC_Time_Offset): New library-level routine. + * a-calend.ads (UTC_Time_Offset): Remove parameter + Is_Historic. Update related comment on usage. + * a-catizo.adb (UTC_Time_Offset): Removed. + (UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset. + * a-caltizo.ads (UTC_Time_Offset): Removed. + (UTC_Time_Offset (Time)): Add back the default expression of parameter + Date. + 2012-01-23 Robert Dewar * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter