OSDN Git Service

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 511afc0..4aed369 100644 (file)
+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