+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.