2016-12-21  Release Manager

	* GCC 6.3.0 released.

2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>:
	Also call finish_character_type on Character subtypes.
	* gcc-interface/utils.c (finish_character_type): Deal with subtypes.

2016-11-22  Uros Bizjak  <ubizjak@gmail.com>

	* gcc-interface/Make-lang.in (check-acats): Fix detection
	of -j argument.

2016-11-13  Bob Duff  <duff@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ro@CeBiTec.Uni-Bielefeld.DE>

	Backport from mainline
	2016-10-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc-interface/Make-lang.in (lang_checks_parallelized): New target.
	(check_gnat_parallelize): Likewise.

2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	Backport from mainline
	2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>
		    Tristan Gingold  <gingold@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
	PLUS_EXPR in the expression of a renaming.

2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters.

2016-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* gcc-interface/utils2.c (build_call_alloc_dealloc): Do not substitute
	placeholder expressions here but...
	* gcc-interface/trans.c (gnat_to_gnu) <N_Free_Statement>: ...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  <simon@pushface.org>

	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  <ebotcazou@adacore.com>

	* s-osinte-kfreebsd-gnu.ads (clock_getres): Define.
	(Get_Page_Size): Remove duplicate and return int.

2016-05-31  Jan Sommer  <soja-lists@aries.uberspace.de>

	PR ada/71317
	* s-osinte-rtems.ads (clock_getres): Define.
	(Get_Page_Size): Remove duplicate and return int.

2016-05-06  Eric Botcazou  <ebotcazou@adacore.com>

	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  <samuel.thibault@ens-lyon.org>

	* s-osinte-gnu.ads (Get_Page_Size): Return int and use getpagesize
	instead of __getpagesize.

2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/70900
	Backport from mainline
	2016-04-18  Ed Schonberg  <schonberg@adacore.com>

	* 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  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
	Honor DESTDIR.

2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/70786
	* a-textio.adb (Get_Immediate): Add missing 'not' in expression.

2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>

	Backport from mainline
	2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <svante.signell@gmail.com>

	* 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  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (components_to_record): Restrict the previous
	change to fields with variable size.

2016-03-27  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (components_to_record): Add special case for
	single field with representation clause at offset 0.

2016-03-16  Svante Signell  <svante.signell@gmail.com>

	* gcc-interface/Makefile.in: Add support for x86 GNU/Hurd.
	* s-osinte-gnu.ads: New file.

2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Always mark
	the expression of a renaming manually in case #3.

2016-03-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* system-linux-s390.ads: Enable Stack_Check_Probes.
	* system-linux-s390.ads: Likewise.

2016-02-29  Martin Liska  <mliska@suse.cz>

	* gcc-interface/utils.c (set_reverse_storage_order_on_pad_type):
	Replace ENABLE_CHECKING macro with flag_checking.

2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: 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  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
	ASIS mode, fully lay out the minimal record type.

2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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) <E_Constant>: Factor out
	code dealing with the expression of external constants into...
	Invoke gnat_to_gnu_external instead.
	<E_Variable>: 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) <ADDR_EXPR>: Add folding
	for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.

2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* gcc-interface/utils2.c (gnat_protect_expr): Make a SAVE_EXPR only
	for fat pointer or scalar types.

2016-02-16  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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  <jakub@redhat.com>

	* 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  <bschmidt@redhat.com>

	* gcc-interface/misc.c (gnat_init): Remove second argument in call to
	build_common_tree_nodes.

2016-02-08  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils.c (create_var_decl): Set again DECL_COMMON and
	DECL_IGNORED_P last.

2016-01-28  Eric Botcazou  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	* 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) <E_Enumeration_Type>: 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.
	<E_Enumeration_Subtype>: 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.
	<E_Array_Type>: Deal with character index types.
	<E_Array_Subtype>: 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) <Attr_Pos>: Likewise.  Remove obsolete range check
	code.  Minor tweak.
	<Attr_Pred>: Likewise.
	(Loop_Statement_to_gnu): Likewise.
	(Raise_Error_to_gnu): Likewise.
	<N_Indexed_Component>: Deal with character index types.  Remove
	obsolete code.
	<N_Slice>: Likewise.
	<N_Type_Conversion>: Deal with character types.  Minor tweak.
	<N_Unchecked_Type_Conversion>: Likewise.
	<N_In>: Likewise.
	<N_Op_Eq>: 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  <ebotcazou@adacore.com>

	* 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) <E_Array_Type>: Always translate the index types
	and compute their base type from that.
	<E_Array_Subtype>: 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  <ebotcazou@adacore.com>

	* 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  <ebotcazou@adacore.com>

	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  <jakub@redhat.com>

	* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.

2016-01-15  Jakub Jelinek  <jakub@redhat.com>

	* 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  <derodat@adacore.com>

	* 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  <jakub@redhat.com>

	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.

2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>

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