OSDN Git Service

* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index ab89b0b..a9c8f01 100644 (file)
@@ -1,3 +1,303 @@
+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