2016-12-07 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Also call finish_character_type on Character subtypes. * gcc-interface/utils.c (finish_character_type): Deal with subtypes. 2016-11-22 Uros Bizjak * gcc-interface/Make-lang.in (check-acats): Fix detection of -j argument. 2016-11-13 Bob Duff * gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known Esize, protect with !is_type and change !Unknown_Esize to Known_Esize. 2016-11-13 Eric Botcazou * gcc-interface/utils2.c (gnat_protect_expr): Also protect only the address if the expression is the component of a dereference. Do not use a reference type for the final temporary reference. 2016-11-02 Rainer Orth Backport from mainline 2016-10-24 Rainer Orth * gcc-interface/Make-lang.in (lang_checks_parallelized): New target. (check_gnat_parallelize): Likewise. 2016-10-17 Eric Botcazou * system-darwin-ppc64.ads (Support_64_Bit_Divides): Delete. * system-linux-armeb.ads (Support_64_Bit_Divides): Likewise. * system-linux-mips.ads (Support_64_Bit_Divides): Likewise. * system-linux-mips64el.ads (Support_64_Bit_Divides): Likewise. * system-linux-mipsel.ads (Support_64_Bit_Divides): Likewise. * system-linux-sparcv9.ads (Support_64_Bit_Divides): Likewise. * system-rtems.ads (Support_64_Bit_Divides): Likewise. 2016-10-16 Eric Botcazou * system-aix.ads (Always_Compatible_Rep): Change to False. * system-aix64.ads (Always_Compatible_Rep): Likewise. * system-hpux-ia64.ads (Always_Compatible_Rep): Likewise. * system-hpux.ads (Always_Compatible_Rep): Likewise. * system-linux-alpha.ads (Always_Compatible_Rep): Likewise. * system-linux-hppa.ads (Always_Compatible_Rep): Likewise. * system-linux-ia64.ads (Always_Compatible_Rep): Likewise. * system-linux-mips.ads (Always_Compatible_Rep): Likewise. * system-linux-mips64el.ads (Always_Compatible_Rep): Likewise. * system-linux-mipsel.ads (Always_Compatible_Rep): Likewise. * system-linux-s390.ads (Always_Compatible_Rep): Likewise. * system-linux-s390x.ads (Always_Compatible_Rep): Likewise. * system-linux-sh4.ads (Always_Compatible_Rep): Likewise. * system-linux-sparc.ads (Always_Compatible_Rep): Likewise. * system-linux-sparcv9.ads (Always_Compatible_Rep): Likewise. * system-rtems.ads (Always_Compatible_Rep): Likewise. 2016-10-11 Eric Botcazou Backport from mainline 2016-10-11 Eric Botcazou * system-linux-armeb.ads (Backend_Overflow_Checks): Change to True. * system-linux-mips.ads (Backend_Overflow_Checks): Likewise. * system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise. * system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise. * system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise. * system-rtems.ads (Always_Compatible_Rep): Likewise. 2016-10-11 Eric Botcazou Tristan Gingold * system-linux-ppc64.ads: Delete. * system-linux-ppc.ads: Make 32-bit/64-bit neutral. * gcc-interface/Makefile.in (PowerPC/Linux): Simplify. 2016-10-10 Eric Botcazou * gcc-interface/utils2.c (find_common_type): Do not return the LHS type if it's an array with non-constant lower bound and the RHS type is an array with a constant one. 2016-10-10 Eric Botcazou * gcc-interface/utils.c (convert): For a biased input type, convert the bias itself to the base type before adding it. 2016-08-22 Release Manager * GCC 6.2.0 released. 2016-06-13 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Deal with PLUS_EXPR in the expression of a renaming. 2016-06-11 Eric Botcazou * gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters. 2016-06-11 Pierre-Marie de Rodat * gcc-interface/decl.c (gnat_to_gnu_entity): Do not clobber gnat_entity_name with temporary names for XUP and XUT types. 2016-06-06 Eric Botcazou * gcc-interface/utils.c (gnat_internal_attribute_table): Add support for noinline and noclone attributes. (handle_noinline_attribute): New handler. (handle_noclone_attribute): Likewise. 2016-06-06 Eric Botcazou * gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute placeholder expressions here but... * gcc-interface/trans.c (gnat_to_gnu) : ...here. Make an exception to the protection of a CALL_EXPR result with an unconstrained type only in the same cases as Call_to_gnu. 2016-06-01 Simon Wright PR ada/71358 * g-comlin.adb (Display_Section_Help): Do not dereference Config.Switches if it's null. (Getopt): Likewise. 2016-05-31 Eric Botcazou * s-osinte-kfreebsd-gnu.ads (clock_getres): Define. (Get_Page_Size): Remove duplicate and return int. 2016-05-31 Jan Sommer PR ada/71317 * s-osinte-rtems.ads (clock_getres): Define. (Get_Page_Size): Remove duplicate and return int. 2016-05-06 Eric Botcazou PR ada/70969 * system-darwin-ppc64.ads: Add pragma No_Elaboration_Code_All. * system-linux-armeb.ads: Likewise. * system-linux-mips64el.ads: Likewise. * system-linux-mips.ads: Likewise. * system-linux-mipsel.ads: Likewise. * system-linux-ppc64.ads: Likewise. * system-linux-sparcv9.ads: Likewise. * system-rtems.ads: Likewise. 2016-05-04 Samuel Thibault * s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize instead of __getpagesize. 2016-04-28 Eric Botcazou PR ada/70900 Backport from mainline 2016-04-18 Ed Schonberg * sem_ch6.adb (Process_Formals): Do not set a delay freeze on a subprogram that returns a class-wide type, if the subprogram is a compilation unit, because otherwise gigi will treat the subprogram as external, leading to link errors. 2016-05-02 Rainer Orth * gcc-interface/Makefile.in (install-gcc-specs): Use foreach. Honor DESTDIR. 2016-04-28 Eric Botcazou PR ada/70786 * a-textio.adb (Get_Immediate): Add missing 'not' in expression. 2016-04-28 Eric Botcazou Backport from mainline 2016-04-27 Eric Botcazou * gcc-interface/misc.c (gnat_init): Do not call internal_reference_types. 2016-04-27 Release Manager * GCC 6.1.0 released. 2016-04-27 Svante Signell * gcc-interface/Makefile.in (x86 GNU/Hurd): Use s-osinte-gnu.adb. * s-osinte-gnu.ads: Small tweaks. * s-osinte-gnu.adb: New file. 2016-04-02 Eric Botcazou * gcc-interface/decl.c (components_to_record): Restrict the previous change to fields with variable size. 2016-03-27 Eric Botcazou * gcc-interface/decl.c (components_to_record): Add special case for single field with representation clause at offset 0. 2016-03-16 Svante Signell * gcc-interface/Makefile.in: Add support for x86 GNU/Hurd. * s-osinte-gnu.ads: New file. 2016-03-13 Eric Botcazou * system-vxworks-m68k.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-mips.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-ppc.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-sparcv9.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. * system-vxworks-x86.ads (Stack_Check_Probes): Set to True. (Stack_Check_Limits): Set to False. 2016-03-07 Eric Botcazou * gcc-interface/trans.c (statement_node_p): New predicate. (gnat_to_gnu): Invoke it to detect statement nodes. In ASIS mode, do not return dummy results for expressions attached to packed array implementation types. 2016-03-07 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Always mark the expression of a renaming manually in case #3. 2016-03-02 Dominik Vogt * system-linux-s390.ads: Enable Stack_Check_Probes. * system-linux-s390.ads: Likewise. 2016-02-29 Martin Liska * gcc-interface/utils.c (set_reverse_storage_order_on_pad_type): Replace ENABLE_CHECKING macro with flag_checking. 2016-02-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Retrofit handling of unconstrained array types as designated types into common processing. Also handle array types as incomplete designated types. 2016-02-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : In ASIS mode, fully lay out the minimal record type. 2016-02-29 Eric Botcazou * gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code. (build_return_expr): Likewise. (Call_to_gnu): If this is a function call and there is no target, create a temporary for the return value for all aggregate types, but never create it for a return statement. Push a binding level around the call in more cases. Remove obsolete code. 2016-02-29 Eric Botcazou * gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro. * gcc-interface/gigi.h (gigi): Remove useless attribute. (gnat_gimplify_expr): Likewise. (gnat_to_gnu_external): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity) : Factor out code dealing with the expression of external constants into... Invoke gnat_to_gnu_external instead. : Invoke gnat_to_gnu_external to translate renamed objects when not for a definition. Deal with COMPOUND_EXPR and variables with DECL_RETURN_VALUE_P set for renamings and with the case of a dangling 'reference to a function call in a renaming. Remove obsolete test and adjust associated comment. * gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the temporaries created to hold the return value, if any. (gnat_to_gnu_external): ...this. New function. * gcc-interface/utils.c (create_var_decl): Detect a constant created to hold 'reference to function call. * gcc-interface/utils2.c (build_unary_op) : Add folding for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case. 2016-02-17 Eric Botcazou * exp_ch4.adb (Expand_N_Indexed_Component): Activate synchronization if the prefix denotes an entity which Has_Atomic_Components. * gcc-interface/trans.c (node_is_atomic): Return true if the prefix denotes an entity which Has_Atomic_Components. 2016-02-17 Eric Botcazou * gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only for fat pointer or scalar types. 2016-02-16 Eric Botcazou * gcc-interface/gigi.h (maybe_debug_type): New inline function. * gcc-interface/misc.c (gnat_get_array_descr_info): Use it. Call maybe_character_value on the array bounds. Get to the base type of the index type and call maybe_debug_type on it. * gcc-interface/utils.c (finish_character_type): Add special treatment for char_type_node. 2016-02-16 Eric Botcazou * gcc-interface/misc.c (gnat_enum_underlying_base_type): New function. (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define to above. 2016-02-12 Jakub Jelinek * prj-tree.ads: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * prep.adb: Likewise. * prj.ads: Likewise. * prepcomp.adb: Likewise. * g-socket.ads: Likewise. * s-imgrea.adb: Likewise. * a-calend.adb: Likewise. * exp_disp.adb: Likewise. * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. * g-socket.adb: Likewise. * sem_ch12.adb: Likewise. * terminals.c: Likewise. 2016-02-08 Bernd Schmidt * gcc-interface/misc.c (gnat_init): Remove second argument in call to build_common_tree_nodes. 2016-02-08 Eric Botcazou * gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and DECL_IGNORED_P last. 2016-01-28 Eric Botcazou * gcc-interface/gigi.h (enum attr_type): Rename into... (enum attrib_type): ...this. (struct attrib): Adjust. * gcc-interface/decl.c (prepend_one_attribute): Likewise. 2016-01-20 Eric Botcazou * exp_ch2.adb (Expand_Current_Value): Make an appropriate character literal if the entity is of a character type. * gcc-interface/lang.opt (fsigned-char): New option. * gcc-interface/misc.c (gnat_handle_option): Accept it. (gnat_init): Adjust comment. * gcc-interface/gigi.h (finish_character_type): New prototype. (maybe_character_type): New inline function. (maybe_character_value): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity) : For a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char. Set TYPE_ARTIFICIAL early and call finish_character_type on the type. : For a subtype of character with RM_Size and Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char. Copy TYPE_STRING_FLAG from type to subtype. : Deal with character index types. : Likewise. * gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with char_type_node throughout. (build_raise_check): Likewise. (get_type_length): Deal with character types. (Attribute_to_gnu) : Likewise. Remove obsolete range check code. Minor tweak. : Likewise. (Loop_Statement_to_gnu): Likewise. (Raise_Error_to_gnu): Likewise. : Deal with character index types. Remove obsolete code. : Likewise. : Deal with character types. Minor tweak. : Likewise. : Likewise. : Likewise. (emit_index_check): Delete. * gcc-interface/utils.c (finish_character_type): New function. (gnat_signed_or_unsigned_type_for): Deal with built-in character types. * gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node with char_type_node. (build_call_raise): Likewise. (build_call_raise_column): Likewise. (build_call_raise_range): Likewise. 2016-01-18 Eric Botcazou * gcc-interface/gigi.h (build_call_raise_column): Adjust prototype. (build_call_raise_range): Likewise. (gnat_unsigned_type): Delete. (gnat_signed_type): Likewise. (gnat_signed_or_unsigned_type_for): New prototype. (gnat_unsigned_type_for): New inline function. (gnat_signed_type_for): Likewise. * gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst. * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise. (gnat_to_gnu_entity) : Always translate the index types and compute their base type from that. : Remove duplicate declaration. * gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst. * gcc-interface/trans.c (get_type_length): Likewise. (Attribute_to_gnu): Likewise. (Loop_Statement_to_gnu): Likewise. (Call_to_gnu): Likewise. (gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for and gnat_signed_type_for. Minor tweaks. (build_binary_op_trapv): Likewise. (emit_check): Likewise. (convert_with_check): Likewise. (Raise_Error_to_gnu): Adjust calls to the build_call_raise family of functions. Minor tweaks. (Case_Statement_to_gnu): Remove dead code. (gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for. (init_code_table): Minor reordering. * gcc-interface/utils.c (gnat_unsigned_type): Delete. (gnat_signed_type): Likewise. (gnat_signed_or_unsigned_type_for): New function. (unchecked_convert): Use directly the size in the test for precision vs size adjustments. (install_builtin_elementary_types): Call gnat_signed_type_for. * gcc-interface/utils2.c (nonbinary_modular_operation): Call build_int_cst. (build_goto_raise): New function taken from... (build_call_raise): ...here. Call it. (build_call_raise_column): Add KIND parameter and call it. (build_call_raise_range): Likewise. 2016-01-18 Eric Botcazou * gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to (TYPE_IMPL_PACKED_ARRAY_P): ...this. (TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE. * gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests and tweak gnat_encodings tests throughout. (initial_value_needs_conversion): Likewise. (intrin_arglists_compatible_p): Likewise. * gcc-interface/misc.c (gnat_print_type): Likewise. (gnat_get_debug_type): Likewise. (gnat_get_fixed_point_type_info): Likewise. (gnat_get_array_descr_info): Likewise. (get_array_bit_stride): Likewise. (gnat_get_type_bias): Fix formatting. (enumerate_modes): Likewise. * gcc-interface/trans.c (gnat_to_gnu): Likewise. (add_decl_expr): Simplify NULL_TREE test. (end_stmt_group): Likewise. (build_binary_op_trapv): Fix formatting. (get_exception_label): Use switch statement. (init_code_table): Move around. * gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test. (gnat_poplevel): Likewise. (gnat_set_type_context): Likewise. (defer_or_set_type_context): Fix formatting. (gnat_pushdecl): Simplify NULL_TREE test. (maybe_pad_type): Likewise. (add_parallel_type): Likewise. (create_range_type): Likewise. (process_deferred_decl_context): Likewise. (convert): Likewise. (def_builtin_1): Likewise. * gcc-interface/utils2.c (find_common_type): Likewise. (build_binary_op): Likewise. (gnat_rewrite_reference): Likewise. (get_inner_constant_reference): Likewise. 2016-01-18 Eric Botcazou PR ada/69219 * gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider the parent function instead of the current function in order to issue the warning or the error. Add guard for ignored functions. 2016-01-17 Jakub Jelinek * adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning. 2016-01-15 Jakub Jelinek * adaint.c (__gnat_locate_exec_on_path): Use const char * instead of char * for path_val to avoid warnings. 2016-01-06 Pierre-Marie de Rodat * gcc-interface/utils.c: Bump copyright year. (rest_of_record_type_compilation): Add XVE/XVU parallel types to the current lexical scope. 2016-01-04 Jakub Jelinek * gnat_ugn.texi: Bump @copying's copyright year. * gnat_rm.texi: Likewise. 2016-01-02 Eric Botcazou * gnatvsn.ads: Bump copyright year. Copyright (C) 2016 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.