2020-05-09 Eric Botcazou * gcc-interface/*.[ch]: Update copyright year. 2020-05-09 Eric Botcazou * gcc-interface/trans.c (Attribute_to_gnu) : Assert that the prefix is not a type. 2020-05-09 Eric Botcazou * gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Rename into... (TYPE_BIT_PACKED_ARRAY_TYPE_P): ...this. (TYPE_IS_PACKED_ARRAY_TYPE_P): Rename into... (BIT_PACKED_ARRAY_TYPE_P): ...this. (TYPE_IMPL_PACKED_ARRAY_P): Adjust to above renaming. * gcc-interface/gigi.h (maybe_pad_type): Remove IS_USER_TYPE parameter. * gcc-interface/decl.c (gnat_to_gnu_entity) : Adjust call to maybe_pad_type. : Remove const qualifiers for tree. : Remove redundant test and redundant call to associate_original_type_to_packed_array. Turn test into assertion. Call associate_original_type_to_packed_array and modify gnu_entity_name accordingly. Explicitly set the parallel type for GNAT encodings. Call create_type_decl in the misaligned case before maybe_pad_type. : Do not use the name of the implementation type for a packed array when not using GNAT encodings. : Move around setting flags. Use the result of the call to associate_original_type_to_packed_array for gnu_entity_name. : Create XVS type and XVZ variable only if debug info is requested for the type. Call create_type_decl if a padded type was created for a type entity. (gnat_to_gnu_component_type): Use local variable and adjust calls to maybe_pad_type. (gnat_to_gnu_subprog_type): Adjust call to maybe_pad_type. (gnat_to_gnu_field): Likewise. (validate_size): Adjust to renaming of macro. (set_rm_size): Likewise. (associate_original_type_to_packed_array): Adjust return type and return the name of the original type if GNAT encodings are not used. * gcc-interface/misc.c (gnat_get_debug_typ): Remove obsolete stuff. (gnat_get_fixed_point_type_info): Remove const qualifiers for tree. (gnat_get_array_descr_info): Likewise and set variables lazily. Remove call to maybe_debug_type. Simplify a few computations. (enumerate_modes): Remove const qualifier for tree. * gcc-interface/utils.c (make_type_from_size): Adjust to renaming. (maybe_pad_type): Remove IS_USER_TYPE parameter and adjust. Remove specific code for implementation types for packed arrays. (compute_deferred_decl_context): Remove const qualifier for tree. (convert): Adjust call to maybe_pad_type. (unchecked_convert): Likewise. * gcc-interface/utils2.c (is_simple_additive_expressio): Likewise. 2020-05-09 Eric Botcazou * gcc-interface/utils2.c (build_binary_op) : Use build_nonshared_array_type to build the common type and declare it. 2020-05-09 Eric Botcazou * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the user for -fnon-call-exceptions in default mode. 2020-05-09 Eric Botcazou * gcc-interface/trans.c (lvalue_required_p) : Merge with N_Slice. : Move to... (lvalue_for_aggregate_p): ...here. New function. (Identifier_to_gnu): For an identifier with aggregate type, also call lvalue_for_aggregate_p if lvalue_required_p returned false before substituting the identifier with the constant. 2020-05-09 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if they appear in any kind of attribute references. 2020-05-09 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu) : Deal with qualified "others" aggregates in the memset case. 2020-05-09 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_param): Also back-annotate the mechanism in the case of an Out parameter only passed by copy-out. 2020-05-09 Eric Botcazou * gcc-interface/gigi.h (change_qualified_type): Move around. (maybe_vector_array): Likewise. (maybe_padded_object): New static line function. * gcc-interface/trans.c (Attribute_to_gnu) : Remove useless code. : Remove obsolete code. (Call_to_gn): Likewise. Use maybe_padded_object to remove padding. (gnat_to_gnu): Likewise. : Do not add a useless null character at the end. : Likewise and remove obsolete code. (add_decl_expr): Likewise. (maybe_implicit_deref): Likewise. * gcc-interface/utils.c (maybe_unconstrained_array): Likewise. * gcc-interface/utils2.c (gnat_invariant_expr): Likewise. 2020-05-09 Eric Botcazou * gcc-interface/utils2.c: Include builtins.h. (known_alignment) : Use DECL_ALIGN for DECL_P operands and get_object_alignment for the rest. 2020-05-08 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Force at least the unit size for an aliased object of a constrained nominal subtype whose size is variable. 2020-05-08 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Deal with artificial maximally-sized types designed by access types. * gcc-interface/utils.c (packable_type_hash): New structure. (packable_type_hasher): Likewise. (packable_type_hash_table): New hash table. (init_gnat_utils): Initialize it. (destroy_gnat_utils): Destroy it. (packable_type_hasher::equal): New method. (hash_packable_type): New static function. (canonicalize_packable_type): Likewise. (make_packable_type): Make sure not to use too small a type for the size of the new fields. Canonicalize the type if it is named. 2020-05-08 Eric Botcazou * gcc-interface/trans.c (Raise_Error_to_gnu): Always compute a lower bound and an upper bound for use by the -gnateE switch for range and comparison operators. 2020-05-08 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_param): Do not make a variant of the type in LTO mode. 2020-05-04 Mikael Pettersson PR bootstrap/94918 * mingw32.h: Prevent windows.h from including emmintrin.h on Cygwin64. * s-oscons-tmplt.c (Serial_Port_Descriptor): Use System.Win32.HANDLE also on Cygwin. 2020-03-11 Richard Wai * gcc-interface/decl.c (gnat_to_gnu_entity): Also test Is_Public on the Alias of the entitiy, if it is present, in the main assertion. 2020-02-06 Alexandre Oliva * raise-gcc.c (personality_body) [__ARM_EABI_UNWINDER__]: Initialize barrier_cache.sp when ending phase1. 2020-01-04 Eric Botcazou * gnatvsn.ads: Bump copyright year. 2020-01-01 Jakub Jelinek Update copyright years. * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. Copyright (C) 2020 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.