diff options
Diffstat (limited to 'gcc-4.7/gcc/ada/ChangeLog')
-rw-r--r-- | gcc-4.7/gcc/ada/ChangeLog | 1504 |
1 files changed, 1504 insertions, 0 deletions
diff --git a/gcc-4.7/gcc/ada/ChangeLog b/gcc-4.7/gcc/ada/ChangeLog new file mode 100644 index 000000000..9a48ee5d1 --- /dev/null +++ b/gcc-4.7/gcc/ada/ChangeLog @@ -0,0 +1,1504 @@ +2012-09-20 Release Manager + + * GCC 4.7.2 released. + +2012-09-07 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using + size_type_node instead of sizetype. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure + that an object of CW type initialized to a value is sufficiently + aligned for this value. + +2012-07-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not + look up the REP part of the base type in advance. Deal with that of + the variant types. + (get_rep_part): Be prepared for record types with fields. + +2012-07-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (Call_to_gnu): Robustify test for function case + if the CICO mechanism is used. + +2012-07-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils2.c (build_simple_component_ref): Do not look + through an extension if the type contains a placeholder. + +2012-07-03 Eric Botcazou <ebotcazou@adacore.com> + + * exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on + the designated subprogram type and also set Is_Dispatch_Table_Entity. + (Expand_Interface_Thunk): Propagate the convention on the thunk. + (Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on + the internal view of the constructors. + (Set_CPP_Constructors): Likewise. + * sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the + convention on the function. + * gcc-interface/gigi.h (is_cplusplus_method): Declare. + * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. + (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall' + calling convention + (get_minimal_subprog_decl): Likewise. + (is_cplusplus_method): New predicate. + * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an + error on access to C++ constructor or member function. + +2012-07-03 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types + attached to a TYPE_DECL. + +2012-06-15 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/53592 + * gcc-interface/gigi.h (maybe_vector_array): Make static inline. + * gcc-interface/utils.c (maybe_vector_array): Delete. + * gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the + array object as addressable if it has vector type and is on the LHS. + +2012-06-14 Jakub Jelinek <jakub@redhat.com> + + * gcc-interface/Makefile.in (gnatlib-shared-default): Append + $(PICFLAG_FOR_TARGET) to GNATLIBCFLAGS_FOR_C passed to submake. + +2012-06-14 Release Manager + + * GCC 4.7.1 released. + +2012-06-13 Eric Botcazou <ebotcazou@adacore.com> + + Revert + 2012-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. + (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall + calling convention + (get_minimal_subprog_decl): Likewise. + (gnat_first_param_is_class): New predicate. + +2012-06-12 Olivier Hainque <hainque@adacore.com> + + * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove + $(PIC_FLAG_FOR_TARGET). + (gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to + GNATLIBCFLAGS_FOR_C passed to gnatlib. + (gnatlib-shared-win32): Likewise. + (gnatlib-shared-darwin): Likewise. + (gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to + gnatlib-shared-win32. + +2012-05-26 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'. + (build_variant_list): Adjust to above renaming. + (gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name + to the type of the variant containers. + (create_variant_part_from): Likewise. Give a unique name to the type + of the variant part. + +2012-05-25 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/52362 + * link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker. + (__gnat_using_gnu_linker): Delete. + * gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here... + Declare Object_File_Option string constant and Using_GNU_response_file + boolean constant. + (Process_Binder_File): ...instead of here. Delete Using_GNU_Linker, + Opening and Closing local variables. Do not handle the GNU linker + specially. + (Write_RF): New procedure to write into the response file. Escape some + characters if a GNU response file is used. Keep track of error status. + Invoke Write_RF to write into the response file. Delete the file only + if the link was successful. + * mlib-utl.adb: Do not `with' package System. + (Gcc): Likewise. Declare Object_File_Option string constant and + Using_GNU_response_file boolean constant. + (Write_RF): Take a string instead of address and length. Escape some + characters if a GNU response file is used. + Invoke Write_RF to write into the response file. Delete the file only + if the link was successful. Do not warn if it cannot be deleted. + +2012-05-20 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.c (gnat_write_global_declarations): Put a name + on the dummy global variable. + +2012-05-19 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (Has_Thiscall_Convention): New macro. + (gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall + calling convention + (get_minimal_subprog_decl): Likewise. + (gnat_first_param_is_class): New predicate. + + Backport from mainline + 2012-05-15 Javier Miranda <miranda@adacore.com> + + * exp_ch3.adb (Build_Offset_To_Top): Modify the + expansion of the offset_to_top functions to ensure that their + profile is conformant with the profile specified in Ada.Tags. No + change in functionality. + +2012-05-18 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at + global level with unconstrained nominal subtype and a non-fixed size, + make a variable for the size. + +2012-05-15 Andris Pavenis <andris.pavenis@iki.fi> + + PR ada/52494 + * s-taprop-dummy.adb (Specific): New package. + +2012-05-15 Eric Botcazou <ebotcazou@adacore.com> + + * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate + atomicity from an object to its underlying type only if it + is composite. + +2012-05-06 Pascal Obry <obry@adacore.com> + + Revert + 2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> + + * 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-04-30 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/utils.c (finish_record_type): Force the traditional GCC + layout for bitfields on the type if it is packed or has a representation + clause and an alternate layout is available. + +2012-04-09 Mike Stump <mikestump@comcast.net> + + * a-assert.ads: Remove execute permission. + * a-chacon.ads: Likewise. + * a-coteio.ads: Likewise. + * a-envvar.ads: Likewise. + * a-exetim-mingw.ads: Likewise. + * a-fzteio.ads: Likewise. + * a-izteio.ads: Likewise. + * a-lcteio.ads: Likewise. + * a-llctio.ads: Likewise. + * a-scteio.ads: Likewise. + * a-suenco.ads: Likewise. + * a-suenst.ads: Likewise. + * a-suewst.ads: Likewise. + * a-suezst.ads: Likewise. + * a-tirsfi.ads: Likewise. + * a-wichha.ads: Likewise. + * a-zchara.ads: Likewise. + * a-zchhan.ads: Likewise. + * a-zchuni.ads: Likewise. + * a-zrstfi.ads: Likewise. + * aspects.ads: Likewise. + * g-byorma.ads: Likewise. + * g-decstr.ads: Likewise. + * g-encstr.ads: Likewise. + * g-spchge.ads: Likewise. + * g-u3spch.ads: Likewise. + * g-wispch.ads: Likewise. + * g-zspche.ads: Likewise. + * namet-sp.ads: Likewise. + * s-os_lib.ads: Likewise. + * s-regexp.ads: Likewise. + * s-regpat.ads: Likewise. + * s-string.ads: Likewise. + * s-tasloc.ads: Likewise. + * s-utf_32.ads: Likewise. + * sem_aux.ads: Likewise. + * a-assert.adb: Likewise. + * a-chacon.adb: Likewise. + * a-envvar.adb: Likewise. + * a-exetim-mingw.adb: Likewise. + * a-suenco.adb: Likewise. + * a-suenst.adb: Likewise. + * a-suewst.adb: Likewise. + * a-suezst.adb: Likewise. + * a-tirsfi.adb: Likewise. + * a-wichha.adb: Likewise. + * a-zchhan.adb: Likewise. + * a-zchuni.adb: Likewise. + * a-zrstfi.adb: Likewise. + * aspects.adb: Likewise. + * g-byorma.adb: Likewise. + * g-decstr.adb: Likewise. + * g-encstr.adb: Likewise. + * g-spchge.adb: Likewise. + * g-u3spch.adb: Likewise. + * g-wispch.adb: Likewise. + * g-zspche.adb: Likewise. + * namet-sp.adb: Likewise. + * s-except.adb: Likewise. + * s-inmaop-vxworks.adb: Likewise. + * s-os_lib.adb: Likewise. + * s-regexp.adb: Likewise. + * s-regpat.adb: Likewise. + * s-string.adb: Likewise. + * s-tasloc.adb: Likewise. + * s-utf_32.adb: Likewise. + * s-wchcon.adb: Likewise. + * sem_aux.adb: Likewise. + +2012-03-22 Release Manager + + * GCC 4.7.0 released. + +2012-02-29 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter + and set TYPE_ARTIFICIAL according to it. Adjust recursive call. + (gnat_to_gnu_entity) <E_Record_Type>: 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 <ebotcazou@adacore.com> + + * gcc-interface/utils.c (gnat_write_global_declarations): Make sure the + dummy global built for global types is preserved. + +2012-02-27 Tristan Gingold <gingold@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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) <ADDR_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 <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: 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) <INDIRECT_REF>: Deal with + expressions built for the initialization of above objects. + +2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com> + + * 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 <dewar@adacore.com> + + * exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor + reformatting. + +2012-02-22 Geert Bosch <bosch@adacore.com> + + * 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 <gingold@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type, + E_Array_Type]: Translate component ealier. + +2012-02-22 Robert Dewar <dewar@adacore.com> + + * par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize + error message for 'Range. + +2012-02-22 Pascal Obry <obry@adacore.com> + + * s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as + this is our own thread. + +2012-02-22 Sergey Rybin <rybin@adacore.com frybin> + + * tree_io.ads: Update ASIS_Version_Number because of the changes + in Snames. + +2012-02-22 Hristian Kirtchev <kirtchev@adacore.com> + + * exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on + stack-related finalizers. + +2012-02-22 Ed Schonberg <schonberg@adacore.com> + + * 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 <celier@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <gingold@adacore.com> + + * init.c: Minor code clean up. + * gcc-interface/Make-lang.in: Update dependencies. + +2012-02-22 Arnaud Charlet <charlet@adacore.com> + + * gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node, + otherwise GCC will generate an object file. + +2012-02-22 Vincent Celier <celier@adacore.com> + + * projects.texi: Correct typo related to "**" in Source_Dirs. + +2012-02-22 Steve Baird <baird@adacore.com> + + * sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of + error message text. + +2012-02-22 Vincent Pucci <pucci@adacore.com> + + * 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 <pucci@adacore.com> + + * sem_prag.adb: Minor reformatting. + +2012-02-22 Ed Schonberg <schonberg@adacore.com> + + * 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 <dewar@adacore.com> + + * exp_ch5.adb: Add comment. + * sem_ch12.adb, exp_ch6.adb: minor reformatting + +2012-02-22 Ed Schonberg <schonberg@adacore.com> + + * freeze.adb (Freeze_Entity): Do not perform type layout within + a generic unit. + +2012-02-22 Eric Botcazou <ebotcazou@adacore.com> + + * init.c (__gnat_error_handler) [Linux]: Map SIGBUS to + Storage_Error. + +2012-02-22 Ed Schonberg <schonberg@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <roche@adacore.com> + + * 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 <quinot@adacore.com> + + * 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 <baird@adacore.com> + + * 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 <moy@adacore.com> + + * gnat_rm.texi: Minor shuffling. + +2012-02-17 Ed Schonberg <schonberg@adacore.com> + + * 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 <pucci@adacore.com> + + * 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 <dewar@adacore.com> + + * restrict.adb (Check_Restriction): Add special handling for + No_Obsolescent_Features. + +2012-02-17 Hristian Kirtchev <kirtchev@adacore.com> + + * 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 <dewar@adacore.com> + + * sem_dim.adb: Minor reformatting. + +2012-02-17 Yannick Moy <moy@adacore.com> + + * gnat_rm.texi: Minor rewording. + +2012-02-17 Thomas Quinot <quinot@adacore.com> + + * sem_aggr.adb: Minor reformatting. + +2012-02-17 Robert Dewar <dewar@adacore.com> + + * gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case. + +2012-02-17 Vincent Pucci <pucci@adacore.com> + + * 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 <dismukes@adacore.com> + + * prj-nmsc.adb: Minor reformatting. + +2012-02-17 Yannick Moy <moy@adacore.com> + + * gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions. + +2012-02-17 Yannick Moy <moy@adacore.com> + + * gnat_ugn.texi: Fix typos. + +2012-02-17 Pascal Obry <obry@adacore.com> + + * prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an + aggregate is not Externally_Built. + +2012-02-17 Ed Schonberg <schonberg@adacore.com> + + * 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 <dewar@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the + type is tagged, mark it as used for debugging purposes. + <N_Allocator>: Likewise for a qualified expression. + +2012-02-15 Eric Botcazou <ebotcazou@adacore.com> + + * 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 <gingold@adacore.com> + + * 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 <celier@adacore.com> + + * 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 <pucci@adacore.com> + + * 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 <dismukes@adacore.com> + + * 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 <moy@adacore.com> + + * gnat_rm.texi: Minor reshuffling to place restriction at + appropriate place. + +2012-02-08 Bob Duff <duff@adacore.com> + + * warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value + False for '-gnatwA', to suppress these warnings. + +2012-02-08 Vincent Celier <celier@adacore.com> + + * 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 <charlet@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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 <dismukes@adacore.com> + + * 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 <dewar@adacore.com> + + * gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws. + +2012-02-08 Pascal Obry <obry@adacore.com> + + * 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 <obry@adacore.com> + + * s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null + terminated string. + +2012-02-08 Pascal Obry <obry@adacore.com> + + * prj.ads, prj.adb (For_Project_And_Aggregated_Context): New + generic routine with a context parameter. + +2012-02-08 Robert Dewar <dewar@adacore.com> + + * 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 <baird@adacore.com> + + * sem_cat.adb (In_Preelaborated_Unit): A child + unit instantiation does not inherit preelaboration requirements + from its parent. + +2012-02-08 Gary Dismukes <dismukes@adacore.com> + + * 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 <comar@adacore.com> + + * projects.texi: Clarify doc for interfaces. + +2012-02-07 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable. + (GCC_LINK): Use it. + +2012-02-01 Tristan Gingold <gingold@adacore.com> + + * gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype + instead of size_type_node. + +2012-01-30 Nicolas Roche <roche@adacore.com> + + * 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 <dewar@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <heaney@adacore.com> + + * a-convec.adb, a-coinve.adb, a-cobove.adb (Sort, + Reverse_Elements): Check for cursor tampering. + +2012-01-30 Ed Schonberg <schonberg@adacore.com> + + * 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 <miranda@adacore.com> + +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 <celier@adacore.com> + + * projects.texi: Add documentation for attribute Interfaces. + +2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> + + * 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 <obry@adacore.com> + + * s-rannum.adb: Minor reformatting. + +2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> + + * 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 <dewar@adacore.com> + + * 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 <quinot@adacore.com> + + * 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 <quinot@adacore.com> + + * sem_cat.adb, sem_ch12.adb: Minor reformatting. + +2012-01-30 Yannick Moy <moy@adacore.com> + + * gnat_ugn.texi: Minor correction of GNAT UG, to take into + account changes to -gnatwa and more recent warnings. + +2012-01-30 Hristian Kirtchev <kirtchev@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <quinot@adacore.com> + + * a-strhas.ads: Document risk of collision attack. + +2012-01-30 Yannick Moy <moy@adacore.com> + + * gnat_ugn.texi: Minor update wrt warning switches. + +2012-01-30 Vincent Celier <celier@adacore.com> + + * 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 <pucci@adacore.com> + + * 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 <quinot@adacore.com> + + * s-ransee.ads: Minor reformatting. + +2012-01-30 Pascal Obry <obry@adacore.com> + + * prj.ads, prj.adb (For_Each_Source): Add support for skipping + sources coming from an encapsulated library. + +2012-01-30 Ed Schonberg <schonberg@adacore.com> + + * 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 <celier@adacore.com> + + * 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 <obry@adacore.com> + + * 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 <pucci@adacore.com> + + * sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor + code clean up. + * s-diflio.ads: Minor change. + +2012-01-30 Javier Miranda <miranda@adacore.com> + + * 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 <roche@adacore.com> + + * system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to + fix issue with zcx on VxWorks5. + +2012-01-30 Pascal Obry <obry@adacore.com> + + * 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 <quinot@adacore.com> + + * 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 <pucci@adacore.com> + + * 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 <kirtchev@adacore.com> + + * sem_ch12.adb (Earlier): Do not use the + top level source locations of the two input nodes. + +2012-01-30 Robert Dewar <dewar@adacore.com> + + * 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 <dewar@adacore.com> + + * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting. + +2012-01-30 Olivier Hainque <hainque@adacore.com> + + * sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back + + comments. + +2012-01-30 Thomas Quinot <quinot@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set + an alignment on fields of the RETURN type built for the CICO mechanism. + +2012-01-27 Eric Botcazou <ebotcazou@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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 <ebotcazou@adacore.com> + + * 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) <E_Label>: Adjust call to + create_label_decl. + * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the + label for debugging purposes. + +2012-01-27 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: 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 <dewar@adacore.com> + + * sem_prag.ads, sem_prag.adb: Minor reformatting. + +2012-01-23 Robert Dewar <dewar@adacore.com> + + * 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 <heaney@adacore.com> + + * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced + comment with pragma Assert. + +2012-01-23 Vincent Pucci <pucci@adacore.com> + + * 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 <dewar@adacore.com> + + * 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 <kirtchev@adacore.com> + + * 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 <schonberg@adacore.com> + + * 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 <kirtchev@adacore.com> + + * 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 <dismukes@adacore.com> + + * 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 <quinot@adacore.com> + + * 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 <heaney@adacore.com> + + * 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 <dewar@adacore.com> + + * a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor + reformatting. + +2012-01-23 Ed Schonberg <schonberg@adacore.com> + + * 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 <kirtchev@adacore.com> + + * 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 <schonberg@adacore.com> + + * par-ch13.adb: Better error recovery in illegal aspect + specification. + +2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> + + * 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 <dewar@adacore.com> + + * sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter + (pg,po,ps): Make sure each entry starts on new line. + +2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> + + * a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update + the parameter profile of procedure localtime_tzoff and its associated + comment. + (Day_Of_Week): Do not treat the input date as historical + with respect to time zones. + (Split): Do not treat the input + date as historical with respect to time zones. (Time_Of): Do + not treat the input constituents as forming a historical date + with respect to time zones. + (UTC_Time_Offset): Add new formal + parameter Is_Historic. Add local variable Flag. Update the call + to localtime_tzoff. + * a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine. + (UTC_Time_Offset (Time)): Update the call to + Time_Zone_Operations.UTC_Time_Offset. + * sysdep.c (__gnat_localtime_tzoff): Update parameter + profile. Split the processing of offsets on Windows into two - one + part of historic time stamps and the other for the current time. + +2012-01-23 Robert Dewar <dewar@adacore.com> + + * a-calend.adb: Minor reformatting. + +2012-01-23 Ed Schonberg <schonberg@adacore.com> + + * exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized + interface in requeue statement. + +2012-01-23 Cyrille Comar <comar@adacore.com> + + * projects.texi: Remove references to main units and replace + with references to main programs to be coherent with the + documentation. + +2012-01-23 Robert Dewar <dewar@adacore.com> + + * s-utf_32.adb: Minor reformatting. + +2012-01-23 Vincent Celier <celier@adacore.com> + + * snames.ads-tmpl: Minor comment addition Indicate that + Name_Library_Encapsulated_Options is only used in gprbuild. + +2012-01-23 Robert Dewar <dewar@adacore.com> + + * sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit + restrictions. + +2012-01-23 Ed Schonberg <schonberg@adacore.com> + + * snames.ads-tmpl: Add Name_Synchronization. + * aspects.ads, aspects.adb: Add Aspect_Synchronization to + enumeration type and related maps. + * sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect + Synchronization, build corresponding pragma Implemented. + * sem_util.adb (Implementation_Kind): Handle both explicit and + implicit pragma_argument association to retrieve the given + synchronization mode. + +2012-01-23 Robert Dewar <dewar@adacore.com> + + * sem_ch10.adb, errout.adb: Minor reformatting. + +2012-01-23 Ed Schonberg <schonberg@adacore.com> + + * sem_res.adb (Resolve_Actuals): An actual in a call to an + Ada 2012 Reference function does not lead to a dangerous order + dependence. + +2012-01-23 Gary Dismukes <dismukes@adacore.com> + + * exp_util.adb (Is_Iterated_Container): Test + Is_Entity_Name when searching for calls to the default iterator, + to avoid blowing up on indirect calls which have an explicit + dereference as the call name. + +2012-01-23 Thomas Quinot <quinot@adacore.com> + + * errout.adb (Set_Msg_Node): For an N_Expanded_Name, output + the complete expanded name, rather than just its Selector_Name. + +2012-01-23 Thomas Quinot <quinot@adacore.com> + + * a-textio.adb (Put): Rewrite one-parameter Character version to + just call the two-parameter one with Current_Out. + +2012-01-23 Hristian Kirtchev <kirtchev@adacore.com> + + * freeze.adb (Check_Current_Instance): Issue an + error when the prefix of 'Unchecked_Access or 'Access does not + denote a legal aliased view of a type. + (Freeze_Record_Type): Do not halt the processing of record components + once the Has_Controlled_Component is set as this bypasses the remaining + checks. + (Is_Aliased_View_Of_Type): New routine. + +2012-01-23 Thomas Quinot <quinot@adacore.com> + + * errout.ads, freeze.adb: Minor reformatting. + +2012-01-23 Thomas Quinot <quinot@adacore.com> + + * sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error + messages. + +2012-01-23 Olivier Hainque <hainque@adacore.com> + + * adadecode.c (__gnat_decode): Deal with empty input early, + preventing potential erroneous memory access later on. + +2012-01-21 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/46192 + * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a + renaming, preserve the volatileness through the indirection, if any. + +2012-01-14 Andreas Schwab <schwab@linux-m68k.org> + + * gcc-interface/Makefile.in (OSCONS_EXTRACT): Add + $(GNATLIBCFLAGS). + +2012-01-10 Pascal Obry <obry@adacore.com> + + * prj-nmsc.adb (Check_Library_Attributes): + Kill check for object/source directories for aggregate libraries. + +2012-01-10 Matthew Heaney <heaney@adacore.com> + + * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb, + a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads, + a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb, + a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads, + a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb, + a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb, + a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb, + a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads, + a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare + container parameter as aliased in/in out. + Code clean ups. + +2012-01-10 Bob Duff <duff@adacore.com> + + * s-os_lib.ads: Improve comment. + +2012-01-10 Geert Bosch <bosch@adacore.com> + + * s-gearop.adb (Forward_Eliminate): Avoid improper aliasing + for complex Scalar. + +2012-01-10 Bob Duff <duff@adacore.com> + + * sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when + checking that the 'Size is correct. If the type is "mod 2**12", + for example, it's illegal, but Esize is the 'Object_Size, which + will be something like 16 or 32, so the error ('Size = 12) was + not detected. + * gnat_rm.texi: Improve documentation of shift + and rotate intrinsics. + +2012-01-10 Pascal Obry <obry@adacore.com> + + * prj.adb (For_Every_Project_Imported): Fix + implementation to make sure we return each project only once + for aggragte libraries. It is fine to return a project twice for + aggregate projects, this was the case as a Project_Id is different + in each project tree. The new implementation use a table based on + the project name to ensure proper detection of duplicate project + in aggregate library. A new context is then created to continue + retrurning duplicate project for aggregate libraries. + +2012-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (call_to_gnu): Create the temporary for the + return value in the variable-sized return type case if the target is + an array with fixed size. However, do not create it if this is the + expression of an object declaration. + +2012-01-09 Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko. + +2012-01-06 Robert Dewar <dewar@adacore.com> + + * a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads, + s-utf_32.ads: Add pragma Pure + * s-utf_32.adb: Suppress warnings on non-static constants (now + that this is Pure). + +2012-01-06 Bob Duff <duff@adacore.com> + + * s-rpc.ads (Read, Write): Add overriding indicators. + +2012-01-06 Robert Dewar <dewar@adacore.com> + + * gnat_rm.texi: Add documentation for conventions + Ada_Pass_By_Copy and Ada_Pass_By_Reference. + +2012-01-06 Gary Dismukes <dismukes@adacore.com> + + * a-tienio.adb (Put): Add exception message on + raise statements. Remove unneeded blocks and object declarations. + +2012-01-06 Robert Dewar <dewar@adacore.com> + + * sem_prag.adb: Minor reformatting. + +2012-01-06 Ed Schonberg <schonberg@adacore.com> + + * sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate + that a selected component within a generic unit has been resolved + as a prefixed call with local references. + * sem_ch3.adb (Is_Visible_Component): In an instance body a selected + component is always visible. + * sem_ch4.adb (Analyze_Selected_Component): If the node is a + prefixed call in an instance, do not look for visible components + of the type. + * sem_ch12.adb (Reset_Entity): If a selected component has resolved + to a prefixed call, mark the node accordingly when prefix and + selector are local references. + +2012-01-02 Eric Botcazou <ebotcazou@adacore.com> + + * gnatvsn.ads (Current_Year): Bump to 2012. + +Copyright (C) 2012 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |