diff gcc/ada/ChangeLog-2016 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/ada/ChangeLog-2016	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,5918 @@
+2016-12-07  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): When they are global,
+	consider ___XR GNAT encodings variables for renamings as static so
+	they have a location in the debug info.
+
+2016-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Translate
+	System.Address into ptr_type_node for every foreign convention.
+	(gnat_to_gnu_subprog_type): Likewise for result and parameter types.
+	(gnat_to_gnu_param): Do not do it here for GCC builtins.
+	(intrin_return_compatible_p): Likewise.
+
+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-12-05  Mikael Pettersson  <mikpe@it.uu.se>
+
+	PR ada/48835
+	* gcc-interface/Makefile.in: Add support for m68k-linux.
+	* system-linux-m68k.ads: New file.
+
+2016-12-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
+	if the word size is 64.
+
+2016-11-30  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, sem_ch6.adb: Minor reformatting and typo fixes.
+	* g-sechas.adb: Minor reformatting.
+	* lib-xref.ads: minor grammar fix in comment.
+	* lib-xref-spark_specific.adb
+	(Is_SPARK_Reference): do not ignore references to concurrent
+	objects.
+	* sinfo.ads: Fix of unbalanced parens in comment
+
+2016-11-30  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.adb (Get_Type_Reference): If the entity is a function
+	returning a classwide type, the type reference is obtained right
+	away and does not need further unwinding.
+
+2016-11-30  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch8.adb (Find_Renamed_Entity): For non-overloaded subprogram
+	actuals of generic units check that the spec of the renaming
+	and renamed entities match.
+
+2016-11-30  Tristan Gingold  <gingold@adacore.com>
+
+	* raise-gcc.c: For CERT runtimes: do not use gcc includes, simplify
+	the handling.
+	* sem_attr.adb (Analyze_Attribute): Check No_Dynamic_Priorities
+	restriction for Priority Attribute.
+
+2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/78524
+	* gcc-interface/utils.c (max_size) <tcc_reference>: Add missing
+	conversion to original type in the PLACEHOLDER_EXPR case.
+
+2016-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/78531
+	* namet.h (Max_Line_Length): Define.
+	(struct Bounded_String): Declare Chars with exact size.
+	(namet__get_decoded_name_string): Delete.
+	(Get_Decoded_Name_String): Likewise.
+	(casing__set_all_upper_case): Likewise.
+
+2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* gcc-interface/Make-lang.in (check-acats): Fix detection
+	of -j argument.
+
+2016-11-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 	    Alan Hayward  <alan.hayward@arm.com>
+ 	    David Sherwood  <david.sherwood@arm.com>
+
+	* gcc-interface/utils.c (create_label_decl): Use SET_DECL_MODE.
+
+2016-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in: Replace s-interr-hwint.adb with
+	s-interr-vxworks.adb throughout.
+
+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/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Look at the underlying type for the signedness of the type.
+
+2016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (annotate_value) <INTEGER_CST>: Deal specially
+	with negative constants.
+
+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-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in (NO_OMIT_ADAFLAGS): Define.
+	(a-except.o): Replace -fno-inline with NO_INLINE_ADAFLAGS.
+	(s-memory.o): New rule.
+	(tracebak.o): Replace -fno-omit-frame-pointer with NO_OMIT_ADAFLAGS.
+
+2016-11-07  Tamar Christina  <tamar.christina@arm.com>
+
+	* adaint.c: Added signal.h for Windows.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/misc.c (gnat_get_array_descr_info): Clear rank field.
+
+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-20  Nicolas Roche  <roche@adacore.com>
+
+	* gcc-interface/Makefile (x86-64/Darwin): Restore missing pairs.
+	(x86/Darwin): Likewise.
+
+2016-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* system-linux-armel.ads: Rename into...
+	* system-linux-arm.ads: ...this
+	* gcc-interface/Makefile.in (ARM/Android): Adjust to above renaming.
+	(ARM/Linux): Likewise.
+	(Aarch64/Linux): Likewise.
+
+2016-10-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Define.
+	(EXTRA_GNATRTL_TASKING_OBJS): Likewise.
+	(ARM/Android): Add atomic support.
+	(SPARC/Solaris): Simplify.
+	(x86/Solaris): Likewise.
+	(x86/Linux): Likewise.
+	(x86-64/kFreeBDS): Adjust and use system-freebsd-x86.ads
+	(x86/FreeBSD): Add s-mudido-affinity.adb.
+	(x86-64/FreeBSD): Likewise and use system-freebsd-x86.ads.
+	(s390/Linux): Simplify.
+	(PowerPC/AIX): Likewise.
+	(Cygwin/Mingw): Likewise.
+	(MIPSel/Linux): Likewise.
+	(ARM/Linux): Add atomic support.
+	(Aarch64/Linux): Use system-linux-armel.ads.
+	(SPARC/Linux): Simplify.
+	(IA-64/Linux): Minor tweak.
+	(IA-64/HP-UX): Likewise.
+	(Alpha/Linux): Likewise.
+	(x86-64/Linux): Use system-linux-x86.ads.
+	(x86/Darwin): Simplify.
+	(PowerPC/Darwin): Likewise.
+	(ARM/Darwin): Use system-darwin-arm.ads.
+	(ADA_EXCLUDE_SRCS): Minor reformatting.
+	* system-aix.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-aix64.ads: Delete.
+	* system-darwin-arm.ads: New.
+	* system-darwin-ppc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-darwin-ppc64.ads: New.
+	* system-darwin-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-darwin-x86_64.ads: Delete.
+	* system-freebsd-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-freebsd-x86_64.ads: Delete.
+	* system-linux-alpha.ads (Support_Atomic_Primitives): Set to True.
+	* system-linux-armeb.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-linux-armel.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-linux-mips.ads: (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-mipsel.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-s390.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Stack_Check_Probes): Set to True.
+	* system-linux-s390x.ads: Delete.
+	* system-linux-sparc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-sparcv9.ads: Delete.
+	* system-linux-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-linux-x86_64.ads: Delete.
+	* system-mingw-x86_64.ads: Delete.
+	* system-mingw.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-solaris-sparc.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	(Support_Atomic_Primitives): Set to True.
+	* system-solaris-sparcv9.ads: Delete.
+	* system-solaris-x86.ads (Word_Size): Change to Standard'Word_Size.
+	(Memory_Size): Change to 2 ** Word_Size.
+	* system-solaris-x86_64.ads: Delete.
+
+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>
+
+	* gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define.
+	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with
+	a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address.
+	Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set
+	FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested
+	subprograms if the type can use an internal representation.
+	(call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect
+	calls if the type can use an internal representation.
+
+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-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/77968
+	* gcc-interface/utils.c (create_var_decl): Do not clear TREE_READONLY
+	in LTO mode for an external variable.
+	(can_materialize_object_renaming_p): Move up.
+
+2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+	* gcc-interface/utils2.c: Include memmodel.h.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function):
+	Remove the aspects of the original expression function has been
+	rewritten into a subprogram declaration or a body. Reinsert the
+	aspects once they have been analyzed.
+
+2016-10-13  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Asynchronous_Select): Return immediately
+	on restricted profile.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): Register the
+	pragma for its validation after the backend has been called only if
+	its expression has some occurrence of attributes 'size or 'alignment
+	* table.ads (Release_Threshold): New formal.
+	(Release): Adding documentation of its new functionality.
+	* table.adb (Release): Extend its functionality with a
+	Release_Threshold.
+	* nlists.adb (Next_Node table): Set its Release_Threshold.
+	* atree.adb (Orig_Nodes table): Set its Release_Threshold.
+	* atree.ads (Nodes table): Set its Release_Threshold.
+	(Flags table): Set its Release_Threshold.
+	* alloc.ads (Nodes_Release_Threshold): New constant declaration.
+	(Orig_Nodes_Release_Threshold): New constant declaration.
+	* debug.adb (switch d.9): Left free.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Enable
+	validation of pragmas Compile_Time_Error and Compile_Time_Warning.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch6.adb (Create_Extra_Formals): Generate
+	an Itype reference for the object extra formal in case the
+	subprogram is called within the same or nested scope.
+
+2016-10-13  Claire Dross  <dross@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification):
+	Also create a renaming in GNATprove mode.
+
+2016-10-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Fixed_Point_Type): in SPARK mode, the
+	given bounds of the type must be strictly representable, and the
+	range reduction by one delta ("shaving") allowed by the Ada RM,
+	is not applicable in SPARK.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* debug.adb (switch d.9): Used to temporarily disable the support
+	needed for this enhancement since it causes regressions with
+	large sources.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Temporarily
+	leave the validation of pragmas Compile_Time_Warning and
+	Compile_Time_Error under control of -gnatd.9/
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch10.adb (Entity_Needs_Body): A generic
+	subprogram renaming needs a body if the renamed unit is declared
+	outside the current compilation unit.
+
+2016-10-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads, sem_ch12.adb, sem.adb, expander.adb, sem_res.ads,
+	sem_ch4.adb, sem_ch8.adb, s-memory.adb: Minor reformatting.
+
+2016-10-13  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Delete all temporary files when invoked as gnat
+	list -V -P ...
+
+2016-10-13  Ed Falis  <falis@adacore.com>
+
+	* i-vxinco.adb, i-vxinco.ads: New files.
+	* impunit.adb: add i-vxinco.ads.
+	* s-interr-vxworks.adb: add hook for user interrupt connection routine.
+
+2016-10-13  Ed Falis  <falis@adacore.com>
+
+	* s-interr-hwint.adb, s-interr-vxworks.adb: Rename s-interr-hwint.adb
+	to s-interr-vxworks.adb.
+
+2016-10-13  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch7.adb, einfo.ads, sem_prag.adb, sem_prag.ads, sem.ads,
+	sem_attr.adb, sem_case.adb, sem_ch13.ads: Minor typo fixes and
+	reformatting.
+
+2016-10-13  Javier Miranda  <miranda@adacore.com>
+
+	* sem_prag.ads (Process_Compile_Time_Warning_Or_Error): New
+	overloaded subprogram that factorizes code executed as part
+	of the regular processing of these pragmas and as part of its
+	validation after invoking the backend.
+	* sem_prag.adb (Process_Compile_Time_Warning_Or_Error): New
+	subprogram.
+	(Process_Compile_Time_Warning_Or_Error): If the
+	condition is known at compile time then invoke the new overloaded
+	subprogram; otherwise register the pragma in a table to validate
+	it after invoking the backend.
+	* sem.ads, sem.adb (Unlock): New subprogram.
+	* sem_attr.adb (Analyze_Attribute [Size]): If we are processing
+	pragmas Compile_Time_Warning and Compile_Time_Errors after the
+	backend has been called then evaluate this attribute if 'Size
+	is known at compile time.
+	* gnat1drv.adb (Post_Compilation_Validation_Checks): Validate
+	compile time warnings and errors.
+	* sem_ch13.ads, sem_ch13.adb (Validate_Compile_Time_Warning_Error):
+	New subprogram.
+	(Validate_Compile_Time_Warning_Errors): New subprogram.
+
+2016-10-13  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt to
+	optional refinement for abstract states with only partial refinement
+	visible.
+
+2016-10-13  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch13.adb: Minor correction in comment in
+	Analyze_Aspect_Specifications
+	* sem_prag.adb: Minor reformatting.
+
+2016-10-13  Thomas Quinot  <quinot@adacore.com>
+
+	* s-stratt-xdr.adb: Disable compiler unit warnings.
+
+2016-10-13  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Visible_Component): In an instance body, check
+	whether the component may be hidden in a selected component by
+	a homonym that is a primitive operation of the type of the prefix.
+
+2016-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/77957
+	* gcc-interface/misc.c (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
+	instead of lhd_return_null_tree_v.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* einfo.adb, einfo.ads (Partial_Refinement_Constituents): Take
+	into account constituents that are themselves abstract states
+	with full or partial refinement visible.
+	* sem_prag.adb (Find_Encapsulating_State): Move function
+	to library-level, to share between subprograms.
+	(Analyze_Refined_Global_In_Decl_Part): Use
+	Find_Encapsulating_State to get relevant encapsulating state.
+
+2016-10-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Fix minor typo.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Adapt checking
+	for optional refinement of abstract state with partial
+	visible refinement.
+	(Analyze_Refined_Global_In_Decl_Part): Adapt checking for optional
+	refinement of abstract state with partial visible refinement. Implement
+	new rules in SPARK RM 7.2.4 related to optional refinement.
+	Also fix the missing detection of missing items.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Add new usage for Elist29 and Node35.
+	(Anonymous_Designated_Type): New routine.
+	(Anonymous_Master): Removed.
+	(Anonymous_Masters): New routine.
+	(Set_Anonymous_Designated_Type): New routine.
+	(Set_Anonymous_Master): Removed.
+	(Set_Anonymous_Masters): New routine.
+	(Write_Field29_Name): Add output for Anonymous_Masters.
+	(Write_Field35_Name): Remove the output for Anonymous_Master. Add
+	output for Anonymous_Designated_Type.
+	* einfo.ads Remove attribute Anonymous_Master along with
+	usage in entities. Add attributes Anonymous_Designated_Type
+	and Anonymous_Masters along with usage in entities.
+	(Anonymous_Designated_Type): New routine along with pragma Inline.
+	(Anonymous_Master): Removed along with pragma Inline.
+	(Anonymous_Masters): New routine along with pragma Inline.
+	(Set_Anonymous_Designated_Type): New routine along with pragma Inline.
+	(Set_Anonymous_Master): Removed along with pragma Inline.
+	(Set_Anonymous_Masters): New routine along with pragma Inline.
+	* exp_ch7.adb (Build_Anonymous_Master): Reuse an anonymous master
+	defined in the same unit if it services the same designated
+	type, otherwise create a new one.
+	(Create_Anonymous_Master): Reimplemented.
+	(Current_Anonymous_Master): New routine.
+	(In_Subtree): Removed.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Dynamic_Predicate):
+	Check properly whether there is an explicit assertion policy
+	for predicate checking, even in the presence of a general Ignore
+	assertion policy.
+
+2016-10-12  Steve Baird  <baird@adacore.com>
+
+	* sem.adb (Walk_Library_Items): Cope with ignored ghost units.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Removal of unused file entries from
+	dependency list must be performed before the list is sorted,
+	so that the dependency number of other files is properly set-up
+	for use in tools that relate entity information to the unit in
+	which they are declared.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Initialize_Ctrl_Array_Component):
+	Create a copy of the initialization expression to avoid sharing
+	it between multiple components.
+
+2016-10-12  Yannick Moy  <moy@adacore.com>
+
+	* einfo.adb, einfo.ads (Has_Partial_Visible_Refinement): New flag
+	in abtract states.
+	(Has_Non_Null_Visible_Refinement): Return true for patial refinement.
+	(Partial_Refinement_Constituents): New function returns the full or
+	partial refinement constituents depending on scope.
+	* sem_ch3.adb (Analyze_Declarations): Remove partial visible
+	refinements when exiting the scope of a package spec or body
+	and those partial refinements are not in scope afterwards.
+	* sem_ch7.adb, sem_ch7.ads (Install_Partial_Declarations): Mark
+	abstract states of parent units with partial refinement so that
+	it is visible.
+	* sem_prag.adb (Analyze_Part_Of_In_Decl_Part): Mark enclosing
+	abstract state if any as having partial refinement in that scope.
+	(Analyze_Refined_Global_In_Decl_Part): Check constituent usage
+	based on full or partial refinement depending on scope.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Type_Conversion): If the target type
+	has an invariant aspect, insert invariant call at the proper
+	place in the code rather than rewriting the expression as an
+	expression with actions, to prevent spurious semantic errors on
+	the rewritten conversion when it is the object in a renaming.
+
+2016-10-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb, sem_ch3.adb, exp_ch9.adb, a-tags.adb, sem_prag.adb,
+	sem_ch12.adb, xref_lib.adb, a-strunb-shared.adb, rtsfind.adb,
+	freeze.adb, sem_attr.adb, sem_case.adb, exp_ch4.adb, ghost.adb,
+	exp_ch6.adb, sem_ch4.adb, restrict.adb, s-os_lib.adb: Minor
+	reformatting.
+
+2016-10-12  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch10.adb (Remove_Limited_With_Clause): Add a check to
+	detect accidental visibility.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator): If the expression is a qualified
+	expression, add a predicate check after the constraint check.
+	* sem_res.adb (Resolve_Qualified_Expression): If context is an
+	allocator, do not apply predicate check, as it will be done when
+	allocator is expanded.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* xref_lib.adb: Use renamings-of-slices to ensure
+	that all references to Tables are properly bounds checked (when
+	checks are turned on).
+	* g-dyntab.ads, g-dyntab.adb: Default-initialize the array
+	components, so we don't get uninitialized pointers in case
+	of Tables containing access types.  Misc cleanup of the code
+	and comments.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Type_Key): Implement
+	functionality of attribute, to provide a reasonably unique key
+	for a given type and detect any changes in the semantics of the
+	type or any of its subcomponents from version to version.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* sem_case.adb (Check_Choice_Set): Separate
+	checking for duplicates out into a separate pass from checking
+	full coverage, because the check for duplicates does not depend
+	on predicates. Therefore, we shouldn't do it separately for the
+	predicate vs. no-predicate case; we should share code. The code
+	for the predicate case was wrong.
+
+2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
+
+	* init.c: Make sure to call finit on x86_64-vx7 to reinitialize
+	the FPU unit.
+
+2016-10-12  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-load.adb (Load_Unit): Generate an error message even when
+	Error_Node is null.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Disable optimization related to transitive
+	limited_with clauses for now.
+
+2016-10-12  Javier Miranda  <miranda@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Generating C
+	code handle 'old located in inlined _postconditions procedures.
+	(Analyze_Attribute [Attribute_Result]): Handle 'result when
+	rewriting the attribute as a reference to the formal parameter
+	_Result of inlined _postconditions procedures.
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* s-rident.ads (Profile_Info): Remove
+	Max_Protected_Entries restriction from GNAT_Extended_Ravenscar
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration):
+	Not a controlled type on restricted runtimes.
+
+2016-10-12  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb (Derive_Subprogram): Add test
+	for Is_Controlled of Parent_Type when determining whether an
+	inherited subprogram with one of the special names Initialize,
+	Adjust, or Finalize should be derived with its normal name even
+	when inherited as a private operation (which would normally
+	result in the inherited operation having a special "hidden" name).
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Call): If a function call returns a
+	limited view of a type replace it with the non-limited view,
+	which must be available when compiling call.  This was already
+	done elsewhere for non-overloaded calls, but needs to be done
+	after resolution if function name is overloaded.
+
+2016-10-12  Javier Miranda  <miranda@adacore.com>
+
+	* a-tags.adb (IW_Membership [private]): new overloaded
+	subprogram that factorizes the code needed to check if a
+	given type implements an interface type.
+	(IW_Membership
+	[public]): invoke the new internal IW_Membership function.
+	(Is_Descendant_At_Same_Level): Fix this routine to implement RM
+	3.9 (12.3/3)
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Add support
+	for a secondary procedure in case of missing Ada.Calendar.Delays
+	* rtsfind.ads (RTU_Id): Add System_Relative_Delays.
+	(RE_Id): Add RO_RD_Delay_For.
+	* rtsfind.adb (Output_Entity_Name): Handle correctly units RO_XX.
+	* s-rident.ads: Remove No_Relative_Delays
+	restriction for GNAT_Extended_Ravenscar.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_elab.adb (Within_Initial_Condition):  When deternining
+	the context of the expression, use the original node if it is
+	a pragma, because Check pragmas are rewritten as conditionals
+	when assertions are not enabled.
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* spitbol_table.ads, spitbol_table.adb (Adjust, Finalize): Add
+	"overriding".
+
+2016-10-12  Bob Duff  <duff@adacore.com>
+
+	* a-strunb-shared.ads, a-strunb-shared.adb (Finalize):
+	Make sure Finalize is idempotent.
+	(Unreference): Check for
+	Empty_Shared_String, in case the reference count of the empty
+	string wraps around.
+	Also add "not null" in various places that can't be null.
+
+2016-10-12  Jerome Lambourg  <lambourg@adacore.com>
+
+	* init.c: Fix sigtramp with the x86_64-vx7-vxsim target on
+	Windows host.
+
+2016-10-12  Vadim Godunko  <godunko@adacore.com>
+
+	* s-os_lib.ads (Is_Owner_Readable_File): Renamed from
+	Is_Readable_File.
+	(Is_Owner_Writable_File): Renamed from Is_Writable_File.
+	(Is_Readable_File): Renames Is_Read_Accessible_File.
+	(Is_Writable_File): Renames Is_Write_Accessible_File.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance): Skip an internal
+	formal entity without a parent only if the corresponding actual
+	entity has a different kind.
+	* exp_ch9.adb (Build_Class_Wide_Master): If the master is
+	declared locally, insert the renaming declaration after the
+	master declaration, to prevent access before elaboration in gigi.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Analyze_Contracts): For a type declaration, analyze
+	an iterable aspect when present.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance): Handle properly
+	an instance of a formal package with defaults, when defaulted
+	parameters include tagged private types and array types.
+
+2016-10-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/64057.
+	* exp_ch5.adb (Is_Non_Local_Array): Return true for every array
+	that is not a component or slice of an entity in the current
+	scope.
+
+2016-10-12  Tristan Gingold  <gingold@adacore.com>
+
+	* restrict.ads, restrict.adb (Restricted_Profile): Adjust
+	comment, use Restricted_Tasking to compare restrictions.
+	* s-rident.ads (Profile_Name): Add Restricted_Tasking and
+	reorder literals.
+	(Profile_Info): Set restrictions for Restricted_Tasking.
+
+2016-10-12  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Full_Type_Declaration): Set Ghost status
+	of type before elaborating inherited operations, so that the
+	Ghost status is set properly for them.
+	* ghost.adb (Check_Ghost_Overriding): A ghost subprogram can
+	override an abstract subprogram coming from an interface
+	operation.
+
+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 (Backend_Overflow_Checks): Likewise.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
+	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS
+	is defined.
+	(DIR_SEPARATOR) define to '\\' for DJGPP.
+	(__gnat_get_file_names_case_sensitive): Return 0 for DJGPP unless
+	overriden in environment.
+	(__gnat_is_absolute_path): Support MS-DOS absolute paths for DJGPP.
+	(__gnat_portable_spawn): Use spewnvp for DJGPP.
+	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
+	(__gnat_portable_wait): Return 0 for DJGPP.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP.
+	(EH_MECHANISM): Define to -gcc for DJGPP.
+	* system-djgpp.ads: New file.
+
+2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>
+
+	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
+	* gsocket.h: Do not support sockets for DJGPP.
+	* init.c (__gnat_install_handler): Implememt for DJGPP.
+	* sysdep.c: Include <io.h> for DJGPP.
+	(_setmode): Define to setmode for DJGPP.
+	(__gnat_set_mode): Add implementation for DJGPP.
+	(__gnat_localtime_tzoff): Use localtime_r for DJGPP.
+	* terminals.c: Add DJGPP to list of unsupported platforms.
+	* env.c (__gnat_clearenv): Use _gnat_unsetenv on all entries for DJGPP.
+
+2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
+	Emit GNAT encodings for object renamings involving record components
+	whose normalized bit offset is not null.
+	* uintp.h (UI_No_Uint): Declare.
+	* gcc-interface/gigi.h (can_materialize_object_renaming_p): Likewise.
+	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
+	function.
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
+	In code generation mode, materialize all renamings as long as they need
+	debug info and we are not optimizing.
+
+2016-10-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+	* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD argument.
+	Disable folding when it is true.
+	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
+	(build_binary_op): Update signature and comment.
+	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
+	folding in calls to build_binary_op.
+
+2016-10-11  Tristan Gingold  <gingold@adacore.com>
+
+	* fe.h (Constant_Value): Declare.
+	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
+	references to constants.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
+	<N_Op_Minus>: Add comment and missing guard.
+	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.
+
+2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
+	(make_type_from_size): Use it.
+	(unchecked_convert): Likewise.  Do not skip the extension step if the
+	source type is not integral.
+
+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/decl.c (gnat_to_gnu_entity): Put volatile qualifier
+	on types at the very end of the processing.
+	(gnat_to_gnu_param): Remove redundant test.
+	(change_qualified_type): Do nothing for unconstrained array types.
+
+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-10-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils.c (convert) <VECTOR_CST>: Add missing break.
+
+	Revert
+	2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/decl.c: Fix fall through comment formatting.
+	* gcc-interface/misc.c: Likewise.
+	* gcc-interface/trans.c: Likewise.
+	* gcc-interface/utils.c: Likewise.
+	* gcc-interface/utils2.c: Likewise.
+
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+	* gcc-interface/misc.c (gnat_post_options): Remove special case for
+	TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* terminals.c (is_gui_app): Remove break after return.
+
+2016-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/decl.c: Fix fall through comment formatting.
+	* gcc-interface/misc.c: Likewise.
+	* gcc-interface/trans.c: Likewise.
+	* gcc-interface/utils.c: Likewise.
+	* gcc-interface/utils2.c: Likewise.
+
+2016-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use
+	CONSTRUCTOR_NELTS (...) instead of
+	vec_safe_length (CONSTRUCTOR_ELTS (...)).
+
+2016-07-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Also use
+	the void pointer type if the designated type is incomplete and has no
+	full view in LTO mode.
+	<E_Access_Protected_Subprogram_Type>: Adjust comment.
+	<E_Incomplete_Type>: Likewise.
+	* gcc-interface/trans.c (Call_to_gnu): Do not convert to the type of
+	the actual if it is a dummy type.
+
+2016-07-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	* gcc-interface/ada-tree.h (TYPE_ALIGN_OK): Define.
+	* gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
+	get_inner_reference.
+	* gcc-interface/utils2.c (build_unary_op): Likewise.
+
+2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (add_decl_expr): Minor tweak.
+	* gcc-interface/utils.c (create_var_decl): For an external variable,
+	also clear TREE_READONLY in LTO mode if the initializer is not a valid
+	constant and set DECL_READONLY_ONCE_ELAB instead.
+
+2016-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/71817
+	* adaint.c (__gnat_is_read_accessible_file): Add parentheses.
+	(__gnat_is_write_accessible_file): Likewise.
+
+2016-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
+	to Expand_Protected_ Subprogram_Call, to handle properly a
+	call to a protected function that provides the initialization
+	expression for a private component of the same protected type.
+	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
+	applied to itypes generated for a private operation of a protected
+	type that has a formal of an anonymous access to subprogram,
+	because these itypes have no freeze nodes and are frozen in place.
+	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
+	protected type and it is not a current instance, do not examine
+	the first private component of the type.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
+	Minor removal of extra whitespace.
+	* einfo.ads: minor removal of repeated "as" in comment
+
+2016-07-07  Vadim Godunko  <godunko@adacore.com>
+
+	* adaint.c: Complete previous change.
+
+2016-07-07  Vadim Godunko  <godunko@adacore.com>
+
+	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
+	subprogram.
+	(__gnat_is_write_accessible_file): New subprogram.
+	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
+	(Is_Write_Accessible_File): New subprogram.
+
+2016-07-07  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Install_Body): Minor refactoring in the order
+	of local functions.
+	(In_Same_Scope): Change loop condition to be more expressive.
+
+2016-07-07  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
+	sem_attr.adb: Minor reformatting, fix typos.
+
+2016-07-07  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (In_Same_Scope): Created this function to check
+	a generic package definition against an instantiation for scope
+	dependancies.
+	(Install_Body): Add function In_Same_Scope and
+	amend conditional in charge of delaying the package instance.
+	(Is_In_Main_Unit): Add guard to check if parent is present in
+	assignment of Current_Unit.
+
+2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
+	adjust comments and formatting.
+	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
+	here but...
+	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
+	(Set_Inline_Flags): Remove useless test.
+	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.
+
+2016-07-07  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
+	overridden operation as parameter, in order to map formals of
+	the overridden and overring operation properly prior to rewriting
+	the inherited condition.
+	* freeze.adb (Check_Inherited_Cnonditions): Change call to
+	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
+	call to analyze the contract of the parent operation, prior to
+	mapping formals between operations.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
+	as done in back_end.adb.
+	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
+	needed, and prevents proper handling of multi-unit sources.
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
+	type with Write primitive calling Update on the underlying context
+	(and dummy Read primitive raising P_E).
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting.
+
+2016-07-07  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.ads: Document performance consideration for stream
+	wrapper.
+
+2016-07-07  Arnaud Charlet  <charlet@adacore.com>
+
+	* osint-c.ads (Set_File_Name): Clarify spec.
+
+2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb: Reenable code.
+
+2016-07-07  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Set ghost flag
+	on formal entities of ghost subprograms.
+	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
+	entities in use type clauses.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Check_Inline_Pragma): if the subprogram has no spec
+	then move its aspects to the internally built subprogram spec.
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Mark body of
+	expression function as ghost if needed when created.
+	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
+	Remove special case.
+
+2016-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.adb (Check_Same_Extended_Unit): Complete previous change.
+	* sem_intr.adb (Errint): New parameter Relaxed. Refine previous
+	change to only disable errors selectively.
+	* sem_util.adb: minor style fix in object declaration
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_warn.adb (Check_Infinite_Loop_Warning.Find_Var): Special case a
+	call to a volatile function, so that it does not lead to a warning in
+	that case.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* gnat1drv.adb: Code clean up. Do not emit any
+	code generation errors when the unit is ignored Ghost.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_eval.adb (Check_Non_Static_Context): If the expression
+	is a real literal of a floating point type that is part of a
+	larger expression and is not a static expression, transform it
+	into a machine number now so that the rest of the computation,
+	even if other components are static, is not evaluated with
+	extra precision.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch13.adb (Freeze_Entity_Checks): Undo previous patch and move the
+	needed functionality to Analyze_Freeze_Generic_Entity.
+	(Analyze_Freeze_Generic_Entity): If the entity is not already frozen
+	and has delayed aspects then analyze them.
+
+2016-07-06  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma.Process_Inline.Set_Inline_Flags):
+	Special case for unanalyzed body entity of ghost expression function.
+
+2016-07-06  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch7.adb (Analyze_Package_Specification): Insert its
+	freezing nodes after the last declaration. Needed to ensure
+	that global entities referenced in aspects of frozen types are
+	properly handled.
+	* freeze.adb (Freeze_Entity): Minor code reorganization to ensure
+	that freezing nodes of generic packages are handled.
+	* sem_ch13.adb (Freeze_Entity_Checks): Handle N_Freeze_Generic nodes.
+	* sem_ch12.adb (Save_References_In_Identifier): Handle selected
+	components which denote a named number that is constant folded
+	in the analyzed copy of the tree.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb Remove with and use clauses for Exp_Ch11 and Inline.
+	(Initialize_Array_Component): Protect the initialization
+	statements in an abort defer / undefer block when the associated
+	component is controlled.
+	(Initialize_Record_Component): Protect the initialization statements
+	in an abort defer / undefer block when the associated component is
+	controlled.
+	(Process_Transient_Component_Completion): Use Build_Abort_Undefer_Block
+	to create an abort defer / undefer block.
+	* exp_ch3.adb Remove with and use clauses for Exp_ch11 and Inline.
+	(Default_Initialize_Object): Use Build_Abort_Undefer_Block to
+	create an abort defer / undefer block.
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Mark an abort
+	defer / undefer block as such.
+	* exp_ch9.adb (Find_Enclosing_Context): Do not consider an abort
+	defer / undefer block as a suitable context for an activation
+	chain or a master.
+	* exp_util.adb Add with and use clauses for Exp_Ch11.
+	(Build_Abort_Undefer_Block): New routine.
+	* exp_util.ads (Build_Abort_Undefer_Block): New routine.
+	* sinfo.adb (Is_Abort_Block): New routine.
+	(Set_Is_Abort_Block): New routine.
+	* sinfo.ads New attribute Is_Abort_Block along with occurrences
+	in nodes.
+	(Is_Abort_Block): New routine along with pragma Inline.
+	(Set_Is_Abort_Block): New routine along with pragma Inline.
+
+2016-07-06  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch4.adb (Analyze_One_Call): Add a conditional to handle
+	disambiguation.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Flag252 is now used as Is_Finalized_Transient. Flag295
+	is now used as Is_Ignored_Transient.
+	(Is_Finalized_Transient): New routine.
+	(Is_Ignored_Transient): New routine.
+	(Is_Processed_Transient): Removed.
+	(Set_Is_Finalized_Transient): New routine.
+	(Set_Is_Ignored_Transient): New routine.
+	(Set_Is_Processed_Transient): Removed.
+	(Write_Entity_Flags): Output Flag252 and Flag295.
+	* einfo.ads: New attributes Is_Finalized_Transient
+	and Is_Ignored_Transient along with occurrences in
+	entities. Remove attribute Is_Processed_Transient.
+	(Is_Finalized_Transient): New routine along with pragma Inline.
+	(Is_Ignored_Transient): New routine along with pragma Inline.
+	(Is_Processed_Transient): Removed along with pragma Inline.
+	(Set_Is_Finalized_Transient): New routine along with pragma Inline.
+	(Set_Is_Ignored_Transient): New routine along with pragma Inline.
+	(Set_Is_Processed_Transient): Removed along with pragma Inline.
+	* exp_aggr.adb Add with and use clauses for Exp_Ch11 and Inline.
+	(Build_Record_Aggr_Code): Change the handling
+	of controlled record components.
+	(Ctrl_Init_Expression): Removed.
+	(Gen_Assign): Add new formal parameter In_Loop
+	along with comment on usage.  Remove local variables Stmt and
+	Stmt_Expr. Change the handling of controlled array components.
+	(Gen_Loop): Update the call to Gen_Assign.
+	(Gen_While): Update the call to Gen_Assign.
+	(Initialize_Array_Component): New routine.
+	(Initialize_Ctrl_Array_Component): New routine.
+	(Initialize_Ctrl_Record_Component): New routine.
+	(Initialize_Record_Component): New routine.
+	(Process_Transient_Component): New routine.
+	(Process_Transient_Component_Completion): New routine.
+	* exp_ch4.adb (Process_Transient_In_Expression): New routine.
+	(Process_Transient_Object): Removed. Replace all existing calls
+	to this routine with calls to Process_Transient_In_Expression.
+	* exp_ch6.adb (Expand_Ctrl_Function_Call): Remove local constant
+	Is_Elem_Ref. Update the comment on ignoring transients.
+	* exp_ch7.adb (Process_Declarations): Do not process ignored
+	or finalized transient objects.
+	(Process_Transient_In_Scope): New routine.
+	(Process_Transients_In_Scope): New routine.
+	(Process_Transient_Objects): Removed. Replace all existing calls
+	to this routine with calls to Process_Transients_In_Scope.
+	* exp_util.adb (Build_Transient_Object_Statements): New routine.
+	(Is_Finalizable_Transient): Do not consider a transient object
+	which has been finalized.
+	(Requires_Cleanup_Actions): Do not consider ignored or finalized
+	transient objects.
+	* exp_util.ads (Build_Transient_Object_Statements): New routine.
+	* sem_aggr.adb: Major code clean up.
+	* sem_res.adb: Update documentation.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): For generated
+	subtypes, such as actual subtypes of unconstrained formals,
+	inherit predicate functions, if any, from the parent type rather
+	than creating redundant new ones.
+
+2016-07-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, sem_attr.adb, sem_ch13.adb: Minor reformatting.
+
+2016-07-06  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.adb (Check_Same_Extended_Unit): Prevent looping forever.
+	* gnatbind.adb: Disable some consistency checks in codepeer mode,
+	which are not needed.
+
+2016-07-06  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Fixed_Point_Actual): Add a warning when
+	a formal fixed point type is instantiated with a type that has
+	a user-defined arithmetic operations, but the generic has no
+	corresponding formal functions. This is worth a warning because
+	of the special semantics of fixed-point operators.
+
+2016-07-06  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): Allow any expression of
+	discrete type.
+	* exp_attr.adb (Expand_N_Attribute_Reference): Change the
+	constant-folding code to correctly handle cases newly allowed
+	by Analyze_Attribute.
+
+2016-07-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p
+	last when possible.  Do not call elaborate_expression_2 on offsets in
+	local record types and avoid useless processing for constant offsets.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/gnat_project_manager.rst,
+	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/elaboration_order_handling_in_gnat.rst,
+	doc/gnat_ugn/about_this_guide.rst,
+	doc/gnat_ugn/platform_specific_information.rst,
+	doc/gnat_ugn/tools_supporting_project_files.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst,
+	doc/gnat_ugn/gnat_utility_programs.rst,
+	doc/gnat_ugn/the_gnat_compilation_model.rst,
+	doc/gnat_rm/implementation_defined_attributes.rst,
+	doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/representation_clauses_and_pragmas.rst,
+	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	doc/gnat_ugn.rst: Update documentation.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gcc-interface/Makefile.in: Cleanups.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): The attributes can
+	appear in the postcondition of a subprogram renaming declaration,
+	when the renamed entity is an attribute reference that is a
+	function (such as 'Value).
+	* sem_attr.adb (Eval_Attribute): It doesn't
+	need to be static, just known at compile time, so use
+	Compile_Time_Known_Value instead of Is_Static_Expression.
+	This is an efficiency improvement over the previous bug fix.
+	* sem_ch13.adb (Analyze_One_Aspect): Use Original_Node to detect
+	illegal aspects on subprogram renaming declarations that may
+	have been rewritten as bodies.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_intr.adb (Errint): Do not emit error message in
+	Relaxed_RM_Semantics mode.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Eval_Attribute): The code was assuming
+	that X'Enum_Rep, where X denotes a constant, can be constant
+	folded. Fix it so it makes that assumption only when X denotes
+	a STATIC constant.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Compatible_Types_In_Predicate): New function
+	to handle cases where a formal of a predicate function and the
+	corresponding actual have different views of the same type.
+
+2016-07-04  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb (Free_Blocks) free blocks also until
+	Logically_Deallocated less than Maximum_Logically_Freed_Memory
+	(Dump) add dump of number of traceback & validity elements
+	already allocated.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch12.adb (Instantiate_Package_Body): Add
+	a guard to ignore Itypes which fail when installing primitives.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_eval.adb (Decompose_Expr): Set 'out' parameters
+	Kind and Cons to valid values, to avoid use of uninit vars.
+	(Extract_Length): Reorder the check to make it clearer that
+	we're depending on BOTH Ent1 and Ent2 to be Present.
+	* sem_aggr.adb (Resolve_Aggregate): Remove dead code.
+	(Check_Misspelled_Component): Remove exit statement, because
+	it's covered by the 'while' condition.
+	* checks.adb (Apply_Selected_Range_Checks): Remove useless
+	condition "or else not Checks_On".
+	(Selected_Range_Checks):
+	Initialize Known_LB and Known_HB to False, because they are
+	tested unconditionally; avoid use of uninit vars.
+	* frontend.adb (Frontend): Removed useless condition
+	"Operating_Mode = Check_Semantics and then", and added an Assert
+	to clarify why it was useless.
+	* prep.adb (Preprocess): Remove redundant condition. Add an
+	assertion.
+	* sem_ch10.adb (Analyze_Proper_Body): Moved redundant condition
+	"Original_Operating_Mode = Generate_Code" to an Assert.
+	(Process_Spec_Clauses, Process_Body_Clauses): Change parameters
+	from 'in out' to 'out', and don't initialize actuals.
+	* sem_ch12.adb (Is_In_Main_Unit): Removed useless condition
+	"Unum = Main_Unit or else".
+	(Save_Global_Descendant): Moved
+	redundant condition "D = Union_Id (No_List)" to an Assert.
+	* sem_ch4.adb (Check_Misspelled_Selector): Remove exit
+	statement, because it's covered by the 'while' condition.
+	(Analyze_Case_Expression): Initialize Wrong_Alt to Empty,
+	because it looks like it is used uninitialized otherwise.
+	* sem_ch6.adb (Check_Return_Subtype_Indication): Moved redundant
+	condition "not R_Type_Is_Anon_Access" to an Assert.
+	* sem_elim.adb (Line_Num_Match): Moved redundant condition
+	"Sloc_Trace (Idx) = '['" to an Assert.
+	* sem_util.adb (Compile_Time_Constraint_Error): Change "J" to
+	"J - 1". This code is trying to replace "?" with "<", but not if
+	the "?" is quoted, as in "'?", so we want to check the PREVIOUS
+	character for '''.
+	* snames.adb-tmpl (Is_Pragma_Name): Remove useless condition
+	"or else N = Name_Relative_Deadline". It's useless because
+	Name_Relative_Deadline is in the range First_Pragma_Name
+	.. Last_Pragma_Name.
+	* treepr.adb (Visit_Node): Moved redundant condition "D =
+	Union_Id (No_List)" to an Assert.
+	* sem_ch3.adb (Derive_Subprogram, Derive_Subprograms): Change
+	parameters from 'in out' to 'out'.
+	* errout.adb (Error_Msg_Internal): Replace redundant test with Assert.
+	* inline.adb (Add_Inlined_Body): Code cleanup.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* g-sercom-mingw.adb, sem_ch6.adb: Minor reformatting.
+
+2016-07-04  Olivier Hainque  <hainque@adacore.com>
+
+	* g-sercom-mingw.adb (Set): Fix port configuration for the
+	non-blocking + null-timeout case, request of immediate return.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Is_Non_Overriding_Operation): Add guard to test
+	of generic parent type when operation is a parameterless function
+	that may dispatch on result.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb, ghost.adb, sem_ch13.adb: Minor reformatting.
+
+2016-07-04  Pascal Obry  <obry@adacore.com>
+
+	* g-forstr.ads: More documentation for the Formatted_String
+	support.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch7.adb (Install_Parent_Private_Declarations): When
+	instantiating a child unit, do not install private declaration of
+	a non-generic ancestor of the generic that is also an ancestor
+	of the current unit: its private part will be installed when
+	private part of ancestor itself is analyzed.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Instantiate_Object): In SPARK mode add a guard
+	to verify that the actual is an object reference before checking
+	for volatility.
+	(Check_Generic_Child_Unit): Prevent cascaded errors when prefix
+	is illegal.
+
+2016-07-04  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch12.ads, freeze.adb: Minor reformatting and typo fixes.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (New_Stream_Subprogram): If the attribute
+	definition clause comes from an aspect specification, place the
+	generated subprogram renaming in the freeze actions of the type.
+
+2016-07-04  Philippe Gil  <gil@adacore.com>
+
+	* g-debpoo.adb (Dump.Do_Report) - add space prefix to backtrace
+	address dump - avoid new line sent directly to stdout.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb, sem_ch12.adb, sem_elab.adb, sem_prag.adb, sem_res.adb:
+	Relax elaboration checks in SPARK_Mode so that we rely on the
+	static elaboration model (if used). We'll have a more precise
+	check performed in flow analysis of gnat2why.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* ghost.adb (Prune_Node): A freeze node for an ignored ghost
+	entity must be pruned as well.
+
+2016-07-04  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_type.adb, einfo.ads, freeze.adb, exp_ch6.adb: Minor reformatting
+	and typo fix.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_type.adb, sem_ch12.adb, xref_lib.adb,
+	freeze.adb, sinput-l.adb, sinput-l.ads, sem_ch4.adb, sem_ch8.adb:
+	Minor reformatting.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Analyze_Unmodified_Or_Unused and
+	Analyze_Unreferenced_Or_Unused): Change warning message to be
+	more clear about pragma duplicates.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sinput-l.adb (Create_Instantiation_Source): Set component
+	Inlined_Call for inherited pragma case.
+	* sinput.adb, sinput.ads (Instantiation): Return component
+	Inlined_Call for inherited pragma case.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* sem_type.adb (Remove_Conversions): Protect
+	the call to Left_Opnd by checking for Nkind in N_Unary_Op --
+	unary operators do not have a left operand.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): A declaration of a
+	constant in a protected operation may be a homonym of a private
+	component of the enclosing protected type. This declaration hides
+	the component renaming constructed within the protected operation.
+
+2016-07-04  Bob Duff  <duff@adacore.com>
+
+	* xref_lib.adb (Parse_X_Filename, Parse_Identifier_Info): Ignore
+	unknown files. Check that File_Nr is in the range of files we
+	know about. The previous code was checking the lower bound,
+	but not the upper bound.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* tracebak.c: Minor reformatting.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch12.adb, sem_ch12.ads Update calls to
+	Create_Instantiation_Source to use default argument.
+	(Adjust_Inherited_Pragma_Sloc): New function to adjust sloc
+	of inherited pragma.
+	(Set_Copied_Sloc_For_Inherited_Pragma):
+	New function that wraps call to Create_Instantiation_Source for
+	copying an inherited pragma.
+	(Set_Copied_Sloc_For_Inlined_Body): Update call to
+	Create_Instantiation_Source with new arguments.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): In the case
+	of inherited pragmas, use the generic machinery to get chained
+	locations for the pragma and its sub-expressions.
+	* sinput-c.adb: Adapt to new type Source_File_Record.
+	* sinput-l.adb, sinput-l.ads (Create_Instantiation_Source):
+	Add parameter Inherited_Pragma and make parameter Inlined_Body
+	optional.
+	* sinput.adb, sinput.ads (Comes_From_Inherited_Pragma): New
+	function to return when a location comes from an inherited pragma.
+	(Inherited_Pragma): New function to detect when a location comes
+	from an inherited pragma.
+	(Source_File_Record): New component Inherited_Pragma.
+
+2016-07-04  Yannick Moy  <moy@adacore.com>
+
+	* sem_elab.adb: Register existence of quickfix for error message.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Resolve_One_Call): In the context of a predicate
+	function the formal and the actual in a call may have different
+	views of the same type, because of the delayed analysis of
+	predicates aspects. Extend the patch that handles this potential
+	discrepancy to handle private and full views as well.
+	* sem_ch8.adb (Find_Selected_Component): Refine predicate that
+	produces additional error when an illegal selected component
+	looks like a prefixed call whose first formal is untagged.
+
+2016-07-04  Justin Squirek  <squirek@adacore.com>
+
+	* einfo.adb (Has_Pragma_Unused): Create this function as a setter
+	for a new flag294 (Set_Has_Pragma_Unused): Create this procedure
+	as a getter for flag294 (Write_Entity_Flags): Register the new
+	flag with an alias
+	* einfo.ads Add comment documenting Has_Pragma_Unused (flag294)
+	and subsequent getter and setter declarations.
+	* lib-xref.adb (Generate_Reference): Recognize Has_Pragma_Unused
+	flag to print appropriate warning messages.
+	* par-prag.adb (Prag): Classify Pragma_Unused into "All Other
+	Pragmas."
+	* snames.ads-tmpl Add a new name to the name constants and a
+	new pramga to Pragma_Id for pramga Unused.
+	* sem_prag.adb (Analyze_Pragma): Create case for Pragma_Unused
+	and move the block for Pragma_Unmodified and Pragma_Unreferenced
+	out and into local subprograms.
+	(Analyze_Unmodified, Analyze_Unreferenced): From the old pragma blocks
+	that have been separated in to local subprograms add a parameter to
+	indicate the if they are being called in the context of Pragma_Unused
+	and handle it accordingly.
+	(Is_Non_Significant_Pragma_Reference): Add an entry for Pragma_Unused
+	and correct the position of Pragma_Unevaluated_Use_Of_Old.
+	* sem_util.adb (Note_Possible_Modification): Recognize
+	Has_Pragma_Unused flag to print appropriate warning messages.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Check_Inherited_Conditions): Perform two passes over
+	the primitive operations of the type: one over source overridings
+	to build the primitives mapping, and one over inherited operations
+	to check for the need to create wrappers, and to check legality
+	of inherited condition in SPARK.
+	* sem_prag.ads (Update_Primitive_Mapping): Make public, for use
+	in freeze actions.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): Refine error
+	message in the case of an inherited condition in SPARK that
+	includes a call to some other overriding primitive.
+
+2016-07-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_aggr.adb (Ctrl_Init_Expression): New routine.
+	(Gen_Assign): Code cleanup. Perform in-place side effect removal when
+	the expression denotes a controlled function call.
+	* exp_util.adb (Remove_Side_Effects): Do not remove side effects
+	on a function call which has this behavior suppressed.
+	* sem_aggr.adb Code cleanup.
+	* sinfo.adb (No_Side_Effect_Removal): New routine.
+	(Set_Side_Effect_Removal): New routine.
+	* sinfo.ads New attribute No_Side_Effect_Removal along with
+	occurences in nodes.
+	(No_Side_Effect_Removal): New routine along with pragma Inline.
+	(Set_Side_Effect_Removal): New routine along with pragma Inline.
+
+2016-07-04  Arnaud Charlet  <charlet@adacore.com>
+
+	* opt.ads, sem_prag.adb (Universal_Addressing_On_AAMP): Removed.
+	Remove support for pragma No_Run_Time. Update comments.
+
+2016-07-04  Pascal Obry  <obry@adacore.com>
+
+	* g-forstr.ads: More documentation for the Formatted_String
+	support.
+
+2016-07-04  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case
+	'Address): If the address comes from an aspect specification
+	and not a source attribute definition clause, do not remove
+	side effects from the expression, because the expression must
+	be elaborated at the freeze point of the object and not at the
+	object declaration, because of the delayed analysis of aspect
+	specifications.
+
+2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/48835
+	PR ada/61954
+	* gcc-interface/gigi.h (enum standard_datatypes): Add ADT_realloc_decl
+	(realloc_decl): New macro.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use local
+	variable for the entity type and translate it as void pointer if the
+	entity has convention C.
+	(gnat_to_gnu_entity) <E_Function>: If this is not a definition and the
+	external name matches that of malloc_decl or realloc_decl, return the
+	correspoding node directly.
+	(gnat_to_gnu_subprog_type): Likewise for parameter and return types.
+	* gcc-interface/trans.c (gigi): Initialize void_list_node here, not...
+	Initialize realloc_decl.
+	* gcc-interface/utils.c (install_builtin_elementary_types): ...here.
+	(build_void_list_node): Delete.
+	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Return the
+	alignment of the system allocator for malloc_decl and realloc_decl.
+	Do not take alignment from void pointer types either.
+
+2016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Reorder.
+	(LANG_HOOKS_INIT_TS): Likewise.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb: Revert unwanted change in previous commit,
+	only keep message fix.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads (Build_Classwide_Expression): new procedure to
+	build the expression for an inherited classwide condition, and
+	to validate such expressions when they apply to an inherited
+	operation that is not overridden.
+	* sem_prag.adb (Primitives_Mapping): new data structure to
+	handle the mapping between operations of a root type and the
+	corresponding overriding operations of a type extension. Used
+	to construct the expression for an inherited classwide condition.
+	(Update_Primitives_Mapping): add to Primitives_Mapping the links
+	between primitive operations of a root type and those of a given
+	type extension.
+	(Build_Pragma_Check_Equivalent): use Primitives_Mapping.
+	* sem_ch6.adb (New_Overloaded_Entity): Remove call to
+	Collect_Iherited_Class_Wide_Conditions in GNATprove_Mode. This
+	needs to be done at freeze point of the type.
+	* freeze.adb (Check_Inherited_Conditions): new procedure to
+	verify the legality of inherited classwide conditions. In normal
+	compilation mode the procedure determines whether an inherited
+	operation needs a wrapper to handle an inherited condition that
+	differs from the condition of the root type.  In SPARK mode
+	the routine invokes Collect_Inherited_Class_Wide_Conditions to
+	produce the SPARK version of these inherited conditions.
+	(Freeze_Record_Type): For a type extension, call
+	Check_Inherited_Conditions.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, sem_type.adb, sem.adb, freeze.adb, sem_util.adb,
+	s-htable.adb, exp_ch11.adb, s-secsta.adb, restrict.adb, exp_disp.adb,
+	sem_ch8.adb, s-tpobop.adb, exp_aggr.ads, sem_ch13.adb: Minor
+	reformatting.
+
+2016-06-22  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Inverse order of
+	treatments so that files without compilation unit are simply skipped
+	before more elaborate treatments.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* s-memory.ads: Minor typo fixes in comments.
+	* s-memory.adb: Code cleanup.
+
+2016-05-22  Olivier Hainque  <hainque@adacore.com>
+
+	* vxworks-crtbe-link.spec: Removed, no longer used.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch8.adb (Push_Scope): Add a check for when the
+	scope table is empty to assign the global variable
+	Configuration_Component_Alignment.
+	* sem.adb (Do_Analyze): Add Configuration_Component_Alignment
+	to be assigned when the environment is cleaned instead of the
+	default.
+	* sem.ads Add a global variable Configuration_Component_Alignment
+	to store the value given by pragma Component_Alignment in the
+	context of a configuration file.
+	* sem_prag.adb (Analyze_Pragma): Correct the case for
+	Component_Alignment so that the pragma is verified and add
+	comments to explain how it is applied to the scope stack.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sprint.adb (Sprint_Node_Actual): Add check in
+	the case of an N_Object_Declaration when evaluating an expression
+	to properly ignore errors.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* g-comlin.ads (Parameter_Type): Change subtype of Last to
+	Natural.
+	* g-comlin.adb (Set_Parameter): Change subtype of Last to
+	Natural.
+	(Getopt): Check for Arg = "", and Switches /= "".
+	(Internal_Initialize_Option_Scan): Check for Argument (Parser,
+	Index) /= "".
+
+2016-06-22  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_prag.adb, sem_ch8.adb: Minor reformatting.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Is_Actual_Subtype): New flag, defined
+	on subtypes that are created within subprogram bodies to handle
+	unconstrained composite formals.
+	* checks.adb (Apply_Predicate_Check): Do not generate a check on
+	an object whose type is an actual subtype.
+	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate an
+	actual subtype for a formal whose base type is private.
+	Set Is_Actual_Subtype on corresponding entity after analyzing
+	its declaration.
+
+2016-06-22  Justin Squirek  <squirek@adacore.com>
+
+	* sem_prag.adb (Check_Expr_Is_OK_Static_Expression): Fix ordering
+	of if-block and add in a condition to test for errors during
+	resolution.
+	* sem_res.adb (Resolution_Failed): Add comment to explain why
+	the type of a node which failed to resolve is set to the desired
+	type instead of Any_Type.
+	* sem_ch8.adb (Analyze_Object_Renaming): Add a check for Any_Type
+	to prevent crashes on Is_Access_Constant.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb, checks.adb, sem_ch13.adb: Minor
+	reformatting.
+	* exp_ch7.adb: Minor typo fix.
+	* lib.ads (Get_Top_Level_Code_Unit): Add comment.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* s-tassta.adb (Task_Wrapper): Fix handling of Fall_Back_Handler
+	wrt independent tasks.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): Propagate dimension for
+	explicit_dereference nodes when they do not come from source,
+	to handle correctly dimensional analysis on iterators over
+	containers whose elements have declared dimensions.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
+	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
+	moved into scope of Collect_SPARK_Xrefs.
+	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
+	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
+	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
+	of scopes.
+	(Traverse_Compilation_Unit): refactored as a generic procedure.
+	* types.ads (Unit_Number_Type): range refined.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref-spark_specific.adb, a-cuprqu.ads, sem_ch6.adb: Minor
+	reformatting.
+
+2016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.ads (Address_Value): Declare new function.
+	* sem_util.adb (Address_Value): New function extracted
+	unmodified from Apply_Address_Clause_Check, which returns the
+	underlying value of the expression of an address clause.
+	* checks.adb (Compile_Time_Bad_Alignment): Delete.
+	(Apply_Address_Clause_Check): Call Address_Value on
+	the expression.  Do not issue the main warning here and
+	issue the secondary warning only when the value of the
+	expression is not known at compile time.
+	* sem_ch13.adb (Address_Clause_Check_Record): Add A component and
+	adjust the description.
+	(Analyze_Attribute_Definition_Clause): In the case
+	of an address, move up the code creating an entry in the table of
+	address clauses.  Also create an entry for an absolute address.
+	(Validate_Address_Clauses): Issue the warning for absolute
+	addresses here too.  Tweak condition associated with overlays
+	for consistency.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Is_Predicate_Static): An inherited predicate
+	can be static only if it applies to a scalar type.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Adjust_Result_Type): Convert operand to base
+	type to prevent spurious constraint checks on subtypes of Boolean.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* debug.adb: Document debug switch -gnatd.o.
+	* sem_elab.adb (Check_Internal_Call): Debug switch -gnatd.o
+	now causes a more conservative treatment of indirect calls,
+	treating P'Access as a call to P in more cases. We Can't make
+	this the default, because it breaks common idioms, for example
+	the soft links.
+	* sem_util.adb: Add an Assert.
+
+2016-06-22  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use
+	red-black trees, which gives O(lg N) worst-case performance on
+	Enqueue and Dequeue. The previous version had O(N) Enqueue in
+	the worst case.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_warn.adb: minor style fix in comment.
+	* spark_xrefs.ads (Scope_Num): type refined to positive integers.
+	* lib-xref-spark_specific.adb (Detect_And_Add_SPARK_Scope):
+	moved into scope of Collect_SPARK_Xrefs.
+	(Add_SPARK_Scope): moved into scope of Collect_SPARK_Xrefs;
+	now uses Dspec and Scope_Id from Collect_SPARK_Xrefs.
+	(Collect_SPARK_Xrefs): refactored to avoid retraversing the list
+	of scopes.
+	* sem_ch3.adb (Build_Discriminal): Set Parent of the discriminal.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref-spark_specific.adb (Generate_Dereference): Assignment to not
+	commented local variables replaced with direct uses of their values.
+
+2016-06-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Add_Invariant): Replace the
+	current type instance with the _object parameter even in ASIS mode.
+	(Build_Invariant_Procedure_Body): Do not insert the
+	invariant procedure body into the tree for ASIS and GNATprove.
+	(Build_Invariant_Procedure_Declaration): Do not insert the
+	invariant procedure declaration into the tree for ASIS and
+	GNATprove.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Update comment.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Set_Actual_Subtypes): If the type of the actual
+	has predicates, the actual subtype must be frozen properly
+	because of the generated tests that may follow.  The predicate
+	may be specified by an explicit aspect, or may be inherited in
+	a derivation.
+
+2016-06-22  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (In_Range_Chec)): New predicate, subsidiary of
+	Expand_N_In: within an expanded range check that might raise
+	Constraint_Error do not generate a predicate check as well. It
+	is redundant because the context will add an explicit predicate
+	check, and it will raise the wrong exception if it fails.
+	* lib-xref-spark_specific.adb (Add_SPARK_File): Remove useless checks
+	since dependency units always have an associated compilation unit.
+
+2016-06-22  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib.ads: Code cleanup.
+	* inline.adb: Type refinement for a counter variable.
+	* lib-xref-spark_specific.adb (Add_SPARK_File): removal of no-op code.
+	Code cleanup.
+
+2016-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (set_nonaliased_component_on_array_type): New
+	function.
+	(set_reverse_storage_order_on_array_type): Likewise.
+	(gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags.
+	<E_Array_Subtype>: Likewise.
+	<E_String_Literal_Subtype>: Likewise.
+	(substitute_in_type) <ARRAY_TYPE>: Likewise.
+	* gcc-interface/utils.c (gnat_pushdecl): Always create a variant for
+	the DECL_ORIGINAL_TYPE of a type.
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
+	reformatting.
+	* lib.ads, sem_util.adb: Minor typo in comment.
+
+2016-06-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
+	Add parameter Keep_Pragma_Id to optionally keep
+	the identifier of the pragma instead of converting
+	to pragma Check. Also set type of new function call
+	appropriately.	(Collect_Inherited_Class_Wide_Conditions):
+	Call Build_Pragma_Check_Equivalent with the new parameter
+	Keep_Pragma_Id set to True to keep the identifier of the copied
+	pragma.
+	* sinfo.ads: Add comment.
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Build_Invariant_Procedure_Body):
+	Always install the scope of the invariant procedure
+	in order to produce better error messages. Do not
+	insert the body when the context is a generic unit.
+	(Build_Invariant_Procedure_Declaration): Perform minimal
+	decoration of the invariant procedure and its formal parameter
+	in case they are not analyzed.	Do not insert the declaration
+	when the context is a generic unit.
+
+2016-06-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Visible_Component): New procedure, subsidiary
+	of Replace_Type_References_ Generic, to determine whether an
+	identifier in a predicate or invariant expression is a visible
+	component of the type to which the predicate or invariant
+	applies. Implements the visibility rule stated in RM 13.1.1
+	(12/3).
+
+2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
+	reformatting.
+
+2016-06-20  Tristan Gingold  <gingold@adacore.com>
+
+	* make.adb (Check_Standard_Library): Consider system.ads
+	if s-stalib.adb is not available.
+	* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
+	gnatbind.
+
+2016-06-20  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.adb (Is_IP_Address): A string consisting in digits only is
+	not a dotted quad.
+
+2016-06-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch7.adb (Build_Invariant_Procedure_Body):
+	decorate invariant procedure body with typical properties of
+	procedure entityes.
+
+2016-06-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-exetim-darwin.adb: New file.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* atree.ads, atree.adb (Elist29): New routine.
+	(Set_Elist29): New routine.
+	* atree.h New definition for Elist29.
+	* einfo.adb Subprograms_For_Type is now an Elist rather than
+	a node. Has_Invariants is now a synthesized attribute
+	and does not require a flag. Has_Own_Invariants
+	is now Flag232. Has_Inherited_Invariants is
+	Flag291. Is_Partial_Invariant_Procedure is Flag292.
+	(Default_Init_Cond_Procedure): Reimplemented.
+	(Has_Inherited_Invariants): New routine.
+	(Has_Invariants): Reimplemented.
+	(Has_Own_Invariants): New routine.
+	(Invariant_Procedure): Reimplemented.
+	(Is_Partial_Invariant_Procedure): New routine.
+	(Partial_Invariant_Procedure): Reimplemented.
+	(Predicate_Function): Reimplemented.
+	(Predicate_Function_M): Reimplemented.
+	(Set_Default_Init_Cond_Procedure): Reimplemented.
+	(Set_Has_Inherited_Invariants): New routine.
+	(Set_Has_Invariants): Removed.
+	(Set_Has_Own_Invariants): New routine.
+	(Set_Invariant_Procedure): Reimplemented.
+	(Set_Is_Partial_Invariant_Procedure): New routine.
+	(Set_Partial_Invariant_Procedure): Reimplemented.
+	(Set_Predicate_Function): Reimplemented.
+	(Set_Predicate_Function_M): Reimplemented.
+	(Set_Subprograms_For_Type): Reimplemented.
+	(Subprograms_For_Type): Reimplemented.
+	(Write_Entity_Flags): Output Flag232 and Flag291.
+	* einfo.ads Add new attributes Has_Inherited_Invariants
+	Has_Own_Invariants Is_Partial_Invariant_Procedure
+	Partial_Invariant_Procedure Change the documentation
+	of attributes Has_Inheritable_Invariants Has_Invariants
+	Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
+	(Has_Inherited_Invariants): New routine along with pragma Inline.
+	(Has_Own_Invariants): New routine along with pragma Inline.
+	(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
+	(Partial_Invariant_Procedure): New routine.
+	(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
+	(Set_Has_Invariants): Removed along with pragma Inline.
+	(Set_Has_Own_Invariants): New routine along with pragma Inline.
+	(Set_Is_Partial_Invariant_Procedure): New routine
+	along with pragma Inline.
+	(Set_Partial_Invariant_Procedure): New routine.
+	(Set_Subprograms_For_Type): Update the signature.
+	(Subprograms_For_Type): Update the signature.
+	* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
+	(Build_Array_Invariant_Proc): Removed.
+	(Build_Record_Invariant_Proc): Removed.
+	(Freeze_Type): Build the body of the invariant procedure.
+	(Insert_Component_Invariant_Checks): Removed.
+	* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
+	and Stringt.
+	(Build_Invariant_Procedure_Body): New routine.
+	(Build_Invariant_Procedure_Declaration): New routine.
+	* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
+	(Build_Invariant_Procedure_Declaration): New routine.
+	* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
+	attributes related to invariants to the corresponding record
+	when building the corresponding record. This is done by
+	Build_Invariant_Procedure_Declaration.
+	* exp_util.adb (Make_Invariant_Call): Reimplemented.
+	* freeze.adb (Freeze_Array_Type): An array type requires an
+	invariant procedure when its component type has invariants.
+	(Freeze_Record_Type): A record type requires an invariant
+	procedure when at least one of its components has an invariant.
+	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
+	invariant-related attributes.
+	(Analyze_Subtype_Declaration):
+	Inherit invariant-related attributes.
+	(Build_Derived_Record_Type): Inherit invariant-related attributes.
+	(Check_Duplicate_Aspects): Reimplemented.
+	(Get_Partial_View_Aspect): New routine.
+	(Process_Full_View): Inherit invariant-related attributes. Reimplement
+	the check on hidden inheritance of class-wide invariants.
+	(Remove_Default_Init_Cond_Procedure): Reimplemented.
+	* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
+	the controlling type for an invariant procedure declaration
+	or body.
+	(Is_Invariant_Procedure_Or_Body): New routine.
+	* sem_ch7.adb (Analyze_Package_Specification): Build the partial
+	invariant body in order to preanalyze and resolve all invariants
+	of a private type at the end of the visible declarations. Build
+	the full invariant body in order to preanalyze and resolve
+	all invariants of a private type's full view at the end of
+	the private declarations.
+	(Preserve_Full_Attributes): Inherit invariant-related attributes.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
+	aspects are analyzed with the proper view when the protected type
+	is a completion of a private type. Inherit invariant-related attributes.
+	(Analyze_Task_Type_Declaration): Ensure that
+	aspects are analyzed with the proper view when the task type
+	is a completion of a private type. Inherit invariant-related
+	attributes.
+	* sem_ch13.adb Remove with and use clauses for Stringt.
+	(Build_Invariant_Procedure_Declaration): Removed.
+	(Build_Invariant_Procedure): Removed.
+	(Freeze_Entity_Checks): Do not build the body of the invariant
+	procedure here.
+	The body is built when the type is frozen in Freeze_Type.
+	(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
+	related to invariants here because this leads to erroneous
+	inheritance.
+	(Replace_Node): Rename to Replace_Type_Ref.
+	* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
+	(Build_Invariant_Procedure): Removed.
+	* sem_prag.adb Add with and use clauses for Exp_Ch7.
+	(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
+	* sem_res.adb (Resolve_Actuals): Emit a specialized error when
+	the context is an invariant.
+	* sem_util.adb (Get_Views): New routine.
+	(Incomplete_Or_Partial_View): Consider generic packages when
+	examining declarations.
+	(Inspect_Decls): Consider full type
+	declarations because they may denote a derivation from a
+	private type.
+	(Propagate_Invariant_Attributes): New routine.
+	* sem_util.ads (Get_Views): New routine.
+	(Propagate_Invariant_Attributes): New routine.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* pprint.adb (Expression_Image): Add better handling of UCs,
+	we don't want to strip them all for clarity.
+
+
+2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+	* exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
+	instead of "alignement".
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_util.adb: Minor typo fix.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* s-regpat.adb: Further fix for invalid index in GNAT.Regexp.
+
+2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch13.adb (Validate_Address_Clauses): Use the same logic to
+	issue the warning on the offset for the size as for the alignment
+	and tweak the wording for the sake of consistency.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Check_Class_Wide_COndition): New procedure,
+	subsidiary of Analyze_Pre_Post_ Condition_In_Decl_Part, to
+	check legality rules that follow from the revised semantics of
+	class-wide pre/postconditions described in AI12-0113.
+	(Build_Pragma_Check_Equivalent): Abstract subprogram declarations
+	must be included in list of overriding primitives of a derived
+	type.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (May_Be_Lvalue): An actual in an unexpanded
+	attribute reference 'Read is an assignment and must be considered
+	a modification of the object.
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* einfo.adb: Minor editorial.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Overridden_Ancestor): Clean up code to use
+	controlling type of desired primitive rather than its scope,
+	because the primitive that inherits the classwide condition may
+	comes from several derivation steps.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.adb (Set_Default_Init_Cond_Procedure): Allow calls setting
+	this attribute to Empty (only if the attribute has not been set).
+	* sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
+	No action needed if the spec was not built.
+	(Build_Default_Init_Cond_Procedure_Declaration): The spec is
+	not built if DIC is set to NULL or no condition was specified.
+	* exp_ch3.adb (Expand_N_Object_Declaration): Check availability
+	of the Init_Cond procedure before generating code to call it.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* s-regpat.adb: Fix invalid index check when matching end-of-line
+	on substrings.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Minor reformatting.
+
+2016-06-16  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Check_Entry_Contracts): New procedure, subsidiary
+	of Analyze_Declarations, that performs pre-analysis of
+	pre/postconditions on entry declarations before full analysis
+	is performed after entries have been converted into procedures.
+	Done solely to capture semantic errors.
+	* sem_attr.adb (Analyze_Attribute, case 'Result): Add guard to
+	call to Denote_Same_Function.
+
+2016-06-16  Emmanuel Briot  <briot@adacore.com>
+
+	* g-comlin.adb: Fix minor memory leak in GNAT.Command_Line.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch7.adb (Find_Last_Init): Remove obsolete code. The
+	logic is now performed by Process_Object_Declaration.
+	(Process_Declarations): Recognize a controlled deferred
+	constant which is in fact initialized by means of a
+	build-in-place function call as needing finalization actions.
+	(Process_Object_Declaration): Insert the counter after the
+	build-in-place initialization call for a controlled object. This
+	was previously done in Find_Last_Init.
+	* exp_util.adb (Requires_Cleanup_Actions): Recognize a controlled
+	deferred constant which is in fact initialized by means of a
+	build-in-place function call as needing finalization actions.
+
+2016-06-16  Justin Squirek  <squirek@adacore.com>
+
+	* exp_aggr.adb (Expand_Array_Aggregate): Minor comment changes and
+	additional style fixes.
+	* exp_ch7.adb: Minor typo fixes and reformatting.
+
+2016-06-16  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Add a missing check
+	for optimized aggregate arrays with qualified expressions.
+	* exp_aggr.adb (Expand_Array_Aggregate): Fix block and
+	conditional statement in charge of deciding whether to perform
+	in-place expansion. Specifically, use Parent_Node to jump over
+	the qualified expression to the object declaration node. Also,
+	a check has been inserted to skip the optimization if SPARK 2005
+	is being used in strict adherence to RM 4.3(5).
+
+2016-06-16  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): Simplify code
+	for Pragma_Priority.
+
+2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_util.ads (Indexed_Component_Bit_Offset): Declare.
+	* sem_util.adb (Indexed_Component_Bit_Offset): New
+	function returning the offset of an indexed component.
+	(Has_Compatible_Alignment_Internal): Call it.
+	* sem_ch13.adb (Offset_Value): New function returning the offset of an
+	Address attribute reference from the underlying entity.
+	(Validate_Address_Clauses): Call it and take the offset into
+	account for the size warning.
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* bindgen.adb, exp_util.adb, sem_ch9.adb, sem_util.adb: Minor
+	reformatting.
+
+2016-06-16  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch9.adb, sem_util.ads, sem_res.adb: Minor reformatting and typo
+	fixes.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve): Under relaxed RM semantics silently
+	replace occurrences of null by System.Null_Address.
+	* sem_ch4.adb (Analyze_One_Call, Operator_Check): Under
+	relaxed RM semantics silently replace occurrences of null by
+	System.Null_Address.
+	* sem_util.ad[sb] (Null_To_Null_Address_Convert_OK): New subprogram.
+	(Replace_Null_By_Null_Address): New subprogram.
+
+2016-06-16  Bob Duff  <duff@adacore.com>
+
+	* exp_util.adb (Is_Controlled_Function_Call):
+	This was missing the case where the call is in prefix format,
+	with named notation, as in Obj.Func (Formal => Actual).
+
+2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
+	reformatting.
+
+2016-06-16  Bob Duff  <duff@adacore.com>
+
+	* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
+	(Full_T) crashes when assertions are on.
+	* sem_ch12.adb (Matching_Actual): Correctly handle the case where
+	"others => <>" appears in a generic formal package, other than
+	by itself.
+
+2016-06-16  Arnaud Charlet  <charlet@adacore.com>
+
+	* usage.adb: Remove confusing comment in usage line.
+	* bindgen.adb: Fix binder generated file in codepeer mode wrt
+	recent additions.
+
+2016-06-16  Javier Miranda  <miranda@adacore.com>
+
+	* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
+	never-ending loop, code cleanup; adding also support for Text_IO.
+	* sem_ch8.adb (Find_Expanded_Name): Invoke
+	Check_Restriction_No_Use_Entity.
+
+2016-06-16  Tristan Gingold  <gingold@adacore.com>
+
+	* exp_ch9.adb: Minor comment fix.
+	* einfo.ads (Has_Protected): Clarify comment.
+	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
+	consider private protected types declared in the runtime for
+	the No_Local_Protected_Types restriction.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate actual
+	subtypes for unconstrained formals when analyzing the generated
+	body of an expression function, because it may lead to premature
+	and misplaced freezing of the types of formals.
+
+2016-06-14  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_elab.adb, sem_ch4.adb: Minor reformatting and typo fix.
+
+2016-06-14  Tristan Gingold  <gingold@adacore.com>
+
+	* einfo.adb (Set_Has_Timing_Event): Add assertion.
+	* sem_util.ads, sem_util.adb (Propagate_Concurrent_Flags): New
+	name for Propagate_Type_Has_Flags.
+	* exp_ch3.adb, sem_ch3.adb, sem_ch7.adb, sem_ch9.adb: Adjust after
+	renaming.
+
+2016-06-14  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): Do nothing if the callee is
+	(or is in) an instance, and the caller is outside.  Misc cleanup.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch4.adb (Analyze_Quantified_Expression):
+	Generating C code avoid spurious warning on loop variable of
+	inlinined postconditions.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
+	(Analyze_Attribute [Attribute_Old]): Generating C handle
+	analysis of 'old in inlined postconditions.
+	(Analyze_Attribute [Attribute_Result]): Generating C handle analysis
+	of 'result in inlined postconditions.
+	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
+	Generating C handle expansion of 'old in inlined postconditions.
+	* inline.adb (Declare_Postconditions_Result): New subprogram.
+	* sem_ch12.adb (Copy_Generic_Node): Copy pragmas generated from
+	aspects when generating C code since pre/post conditions are
+	inlined and the frontend inlining relies on this routine to
+	perform inlining.
+	* exp_ch6.adb (Inlined_Subprogram): Replace Generate_C_Code
+	by Modify_Tree_For_C.
+	* exp_unst.adb (Visit_Node): Searching for up-level references
+	skip entities defined in inlined subprograms.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch7.adb, sem_ch12.adb, freeze.adb, lib-xref.ads, exp_ch3.adb:
+	Minor reformatting.
+
+2016-06-14  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb: Do nothing if the callee is intrinsic.
+	* sinfo.ads, einfo.ads: Minor comment fixes.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* contracts.adb (Has_Null_Body): Move to sem_util, for general
+	availability.
+	* sem_util.ads, sem_util.adb (Has_Null_Body): Predicate to
+	determine when an internal procedure created for some assertion
+	checking (e.g. type invariant) is a null procedure. Used to
+	eliminate redundant calls to such procedures when they apply to
+	components of composite types.
+	* exp_ch3.adb (Build_Component_Invariant_Call): Do not add call
+	if invariant procedure has a null body.
+
+2016-06-14  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.ads (Check_Selector): Clarify effect on IN OUT socket
+	set parameters.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Process_Action): Pass the action
+	list to Process_Transient_Object.
+	(Process_If_Case_Statements): Pass the action list to
+	Process_Transient_Object.
+	(Process_Transient_Object): Add new parameter Stmts and update the
+	comment on usage. When the context is a Boolean evaluation, insert
+	any finalization calls after the last statement of the construct.
+
+2016-06-14  Tristan Gingold  <gingold@adacore.com>
+
+	* einfo.adb, einfo.ads (Has_Timing_Event,
+	Set_Has_Timing_Event): Add Has_Timing_Event flag.
+	(Write_Entity_Flags): Display * sem_util.ads, sem_util.adb:
+	(Propagate_Type_Has_Flags): New procedure to factorize code.
+	* exp_ch3.adb (Expand_Freeze_Array_Type,
+	Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags.
+	* sem_ch3.adb (Access_Type_Decalaration): Initialize
+	Has_Timing_Event flag.	(Analyze_Object_Declaration):
+	Move code that check No_Local_Timing_Events near
+	the code that check No_Local_Protected_Objects.
+	(Analyze_Private_Extension_Declaration, Array_Type_Declaration)
+	(Build_Derived_Type, Copy_Array_Base_Type_Attributes,
+	Process_Full_View) (Record_Type_Definition): Call
+	Propagate_Type_Has_Flags.
+	* sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events.
+	* sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the
+	Timing_Event type.
+	(Uninstall_Declaration): Call Propagate_Type_Has_Flags.
+	* sem_ch9.adb (Analyze_Protected_Definition): Call
+	Propagate_Type_Has_Flags.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem.ads: Minor style fix.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Analyze_Associations): An actual parameter
+	with a box must be included in the count of actuals, to detect
+	possible superfluous named actuals that do not match any of the
+	formals of the generic unit in a formal package declaration.
+
+2016-06-14  Justin Squirek  <squirek@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
+	of error output related to SPARK RM 6.1.7(3) and pragma
+	Extensions_Visible.
+	* sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
+	output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+	* sem_prag.adb (Analyze_Pragma): Fix formatting of error output
+	related to SPARK RM 7.1.2(15) and pragma Volatile_Function
+	so that the values True and False are no longer surrounded by
+	double quotes.
+	* sem_res.adb (Resolve_Actuals): Fix formatting of error output
+	related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb (Adjust_Global_Switches): Enable access checks
+	in codepeer mode.
+	* freeze.adb: Minor grammar fix in comment.
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib.adb: Minor reformatting.
+	* sem_util.adb (Is_OK_Volatile_Context): Do
+	include Address in the supported attributes.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression):
+	Code cleanup. Finalize any transient controlled
+	objects on exit from a case expression alternative.
+	(Expand_N_If_Expression): Code cleanup.
+	(Process_Actions): Removed.
+	(Process_If_Case_Statements): New routine.
+	(Process_Transient_Object): Change the name of formal Rel_Node to
+	N and update all occurrences. Update the comment on usage. When
+	the type of the context is Boolean, the proper insertion point
+	for the finalization call is after the last declaration.
+
+2016-06-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.ads, lib-xref.adb (Has_Deferred_Reference): new
+	predicate to determine whether an entity appears in a context
+	for which a Deferred_Reference was created, because it is not
+	possible to determine when reference is analyzed whether it
+	appears in a context in which the entity is modified.
+	* sem_ch5.adb (Analyze_Statement): Do not emit a useless warning
+	on assignment for an entity that has a deferred_reference.
+
+2016-06-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_res.adb (Resolve_Actuals): Generate a reference to actuals that
+	come from source. Previously the reference was generated only if the
+	call comes from source but the call may be rewritten by the expander
+	thus causing the notification of spurious warnings.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat1drv.adb: Remove further references to AAMP.
+	* checks.adb (Apply_Scalar_Range_Check): Take
+	Check_Float_Overflow info account.
+	* live.ads, live.adb Added subprogram headers and
+	start-of-processing-for comments.
+	* sem_ch12.adb (Instantiate_Package_Body): Do not suppress
+	checks when instantiating runtime units in CodePeer mode.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
+	nodes from sources.
+
+2016-06-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
+	simple value propagation in CodePeer mode when warnings are disabled.
+	(Scan_Front_End_Switches): Enable relevant front-end switches
+	when using -gnateC.
+
+2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_OK_Volatile_Context): A
+	reference to a volatile object is considered OK if appears as
+	the prefix of attributes Address, Alignment, Component_Size,
+	First_Bit, Last_Bit, Position, Size, Storage_Size.
+
+2016-06-14  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
+	subunits directly, as they are already traversed as part of the
+	top-level unit to which they belong.
+	(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
+	(Generate_Dereference): Use unique definition place for special
+	variable __HEAP, to ensure correct sorting of references.
+	* lib-xref.adb (Generate_Reference): Use top-level unit in case
+	of subunits.
+	* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
+	compute the top-level code unit for a source location of AST node,
+	that go past subunits.
+
+2016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only a minimal
+	PARM_DECL when the parameter type is dummy.
+	* gcc-interface/trans.c (Call_to_gnu): Translate formal types before
+	formal objects.
+
+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-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/utils2.c (known_alignment) <CALL_EXPR>: Deal specially
+	with calls to malloc.
+
+2016-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (build_binary_op_trapv): If no operand is a
+	constant, use the generic implementation of the middle-end; otherwise
+	turn the dynamic conditions into static conditions and simplify.
+
+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-10  Martin Sebor  <msebor@redhat.com>
+
+	PR c/71392
+	* gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept
+	the nonnull attribute in type-generic builtins.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent
+	types are present before returning them.  Remove final assertion.
+	(gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Adjust to
+	above change.
+	<E_Protected_Type>: Likewise.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also do
+	not elaborate Itypes.
+
+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/trans.c (process_type): Beef up comment.
+
+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-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing
+	with boolean rvalues and set the location directly.  Do not set the
+	location in the other cases for a simple name.
+	(gnat_to_gnu_external): Clear the location on the expression.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Remove
+	useless 'else' statements and tidy up.
+	<E_Array_Subtype>: Fully deal with the declaration here.
+	<E_Incomplete_Type>: Use properly-typed constant.
+	Assert that we don't apply the special type treatment to dummy types.
+	Separate this treatment from the final back-annotation and simplify
+	the condition for the RM size.
+	(gnat_to_gnu_param): Add GNU_PARAM_TYPE parameter and adjust.
+	(gnat_to_gnu_subprog_type): Ajust call to gnat_to_gnu_param.
+	* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Declaration>: Add
+	comment.
+	(process_freeze_entity): Remove obsolete code.
+	(process_type): Minor tweaks.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* einfo.ads (Returns_Limited_View): Remove.
+	(Set_Returns_Limited_View ): Likewise.
+	* einfo.adb (Returns_Limited_View): Likewise.
+	(Set_Returns_Limited_View ): Likewise.
+	* freeze.adb (Late_Freeze_Subprogram): Remove.
+	(Freeze_Entity): Do not defer the freezing of functions returning an
+	incomplete type coming from a limited context.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter.
+	* gcc-interface/decl.c (gnu_ext_name_for_subprog): New function.
+	(gnat_to_gnu_entity) <E_Subprogram_Type>: Do not check compatibility
+	of profiles for builtins here...  Call gnu_ext_name_for_subprog.
+	Also update profiles if pointers to limited_with'ed types are
+	updated.
+	(gnat_to_gnu_param): Restore the correct source location information
+	for vector ABI warnings.
+	(associate_subprog_with_dummy_type): Add comment about AI05-019.
+	Set TYPE_DUMMY_IN_PROFILE_P flag unconditionally.
+	(update_profile): Deal with builtin declarations.
+	Call gnu_ext_name_for_subprog.  Adjust call to finish_subprog_decl.
+	(update_profiles_with): Add comment.
+	(gnat_to_gnu_subprog_type): Reuse the return type if it is complete.
+	Likewise for parameter declarations in most cases.  Do not change
+	the return type for the CICO mechanism if the profile is incomplete.
+	...but here instead.  Always reset the slot for the parameters.
+	* gcc-interface/utils.c (create_subprog_decl): Call
+	gnu_ext_name_for_subprog.  Do not set the assembler name here but...
+	(finish_subprog_decl): ...but here instead.  Add ASM_NAME parameter.
+
+2016-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the
+	declaration of the corresponding record type before that of the
+	unprotected version of the subprograms that operate on it.
+	(Expand_Access_Protected_Subprogram_Type): Declare the Equivalent_Type
+	just before the original type.
+	* sem_ch3.adb (Handle_Late_Controlled_Primitive): Point the current
+	declaration to the newly created declaration for the primitive.
+	(Analyze_Subtype_Declaration): Remove obsolete code forcing the
+	freezing of the subtype before its declaration.
+	(Replace_Anonymous_Access_To_Protected_Subprogram): Insert the new
+	declaration in the nearest enclosing scope for formal parameters too.
+	(Build_Derived_Access_Type): Restore the status of the created Itype
+	after it is erased by Copy_Node.
+	* sem_ch6.adb (Exchange_Limited_Views): Remove guard on entry.
+	(Analyze_Subprogram_Body_Helper): Call Exchange_Limited_Views only if
+	the specification is present.
+	Move around the code changing the designated view of the return type
+	and save the original view.  Restore it on exit.
+	* sem_ch13.adb (Build_Predicate_Function_Declaration): Always insert
+	the declaration right after that of the type.
+
+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-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Make same-sized subtypes of signed base types signed.
+	* gcc-interface/utils.c (make_type_from_size): Adjust to above change.
+	(unchecked_convert): Likewise.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not build
+	a specific type for the object if it is deemed a constant.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
+	components of any elementary types and of composite types.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
+	of testing for individual sizes.
+	(Freeze_Entity): Rework implementation of pragma Implicit_Packing for
+	array types, in particular test for suitable sizes upfront and do not
+	mimic the processing that will be redone later in Freeze_Array_Type.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (elaborate_all_entities_for_package): Also skip
+	formal objects.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* doc/gnat_rm/implementation_defined_attributes.rst
+	(Scalar_Storage_Order): Adjust restriction for packed array types.
+	* einfo.ads (Is_Bit_Packed_Array): Adjust description.
+	(Is_Packed): Likewise.
+	(Is_Packed_Array_Impl_Type): Likewise.
+	(Packed_Array_Impl_Type): Likewise.
+	* exp_ch4.adb (Expand_N_Indexed_Component): Do not do anything special
+	if the prefix is not a packed array implemented specially.
+	* exp_ch6.adb (Expand_Actuals): Expand indexed components only for
+	bit-packed array types.
+	* exp_pakd.adb (Install_PAT): Set Is_Packed_Array_Impl_Type flag on
+	the PAT before analyzing its declaration.
+	(Create_Packed_Array_Impl_Type): Remove redundant statements.
+	* freeze.adb (Check_Component_Storage_Order): Reject packed array
+	components only if they are bit packed.
+	(Freeze_Array_Type): Fix logic detecting bit packing and do not bit
+	pack for composite types whose size is multiple of a byte.
+	Create the implementation type for packed array types only when it is
+	needed, i.e. bit packing or packing because of holes in index types.
+	Make sure the Has_Non_Standard_Rep and Is_Packed flags agree.
+	* gcc-interface/gigi.h (make_packable_type): Add MAX_ALIGN parameter.
+	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>:
+	Call maybe_pad_type instead of building the padding type manually.
+	(gnat_to_gnu_entity) <E_Array_Subtype>: Do not assert that
+	Packed_Array_Impl_Type is present for packed arrays.
+	(gnat_to_gnu_component_type): Also handle known alignment for packed
+	types by passing it to make_packable_type.
+	* gcc-interface/utils.c (make_packable_type): Add MAX_ALIGN parameter
+	and deal with it in the array case.  Adjust recursive call.  Simplify
+	computation of new size and cap the alignment to BIGGEST_ALIGNMENT.
+
+2016-05-16  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Also get full view of
+	enclosing type.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
+	to capture the value for a small not by-reference record type.
+	* freeze.ads (Check_Compile_Time_Size): Adjust comment.
+	* freeze.adb (Set_Small_Size): Likewise.  Accept a size in the range
+	of 33 .. 64 bits.
+	(Check_Compile_Time_Size): Merge scalar and access type cases. Change
+	variable name in array type case.  For the computation of the packed
+	size, deal with record components and remove redundant test.
+	(Freeze_Array_Type): Also adjust packing status when the size of the
+	component type is in the range 33 .. 64 bits.
+	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Turn primitive
+	into elementary type throughout.  Minor tweaks.
+	(Alignment Clauses): Document actual alignment of packed array types.
+	(Pragma Pack for Arrays): List only the 3 main cases and adjust.  Add
+	"simple" to the record case.  Document effect on non packable types.
+	(Pragma Pack for Records): Likewise.  Add record case and adjust.
+
+2016-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Make-lang.in (GNATMAKE_FOR_HOST): In the canadian
+	cross case, use host_noncanonical instead of host as prefix.
+	(GNATBIND_FOR_HOST): Likewise.
+	(GNATLINK_FOR_HOST): Likewise.
+	(GNATLS_FOR_HOST): Likewise.
+
+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-05-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* gcc-interface/Makefile.in (install-gcc-specs): Use foreach.
+	Honor DESTDIR.
+
+2016-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* fname.adb (Is_Predefined_File_Name): Also consider non-krunched
+	i-* names.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Aggregate_Constraint_Checks): Separate
+	accessibility checks and non-null checks for aggregate components,
+	to prevent spurious accessibility errors.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (OK_For_Limited_Init): A type conversion is not
+	always legal in the in-place initialization of a limited entity
+	(e.g. an allocator).
+	* sem_res.adb (Resolve_Allocator): Improve error message with RM
+	reference  when allocator expression is illegal.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): When inlining a call to a function
+	declared in a package instance, locate the instance node of the
+	package after the actual package declaration. skipping over
+	pragmas that may have been introduced when the generic unit
+	carries aspects that are transformed into pragmas.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* s-memory.adb (Alloc, Realloc): Move checks
+	for Size = 0 or size_t'Last into the Result = System.Null_Address
+	path for efficiency. Improve comments (based on actual C language
+	requirements for malloc).
+	* exp_util.adb (Build_Allocate_Deallocate_Proc): Optimize the
+	case where we are using the default Global_Pool_Object, and we
+	don't need the heavy finalization machinery.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_util.ads, sem_ch12.adb: Minor reformatting.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.ads, exp_util.adb (Force_Evaluation): Adding new formal.
+	(Remove_Side_Effects): Adding a new formal.
+	* exp_ch6.adb (Expand_Simple_Function_Return): Generating the
+	call to the _Postconditions procedure ensure that side-effects
+	are unconditionally removed.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Check_Formal_Package_Instance, Check_Mismatch):
+	Use original node to determine whether the declaration is for
+	a formal type declaration, to take into account that formwl
+	private types are rewritten as private extension declarations
+	to simplify semantic analysis.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch9.adb, sem_ch6.adb, sem_ch6.ads: Minor reformatting and typo
+	fixes.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_ch9.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb: Minor
+	reformatting.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Allocator): If the designated type
+	is a private derived type with no discriminants, examine its
+	underlying_full_view to determine whether the full view has
+	defaulted discriminants, so their defaults can be used in the
+	call to the initialization procedure for the designated object.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_prag.adb, comperr.adb: Minor reformatting.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_pakd.adb (Rj_Unchecked_Convert_To): Do not perform an
+	unchecked conversion if the source size is 0 (indicating that
+	its RM size is unknown). This will happen with packed arrays of
+	non-discrete types, in which case the component type is known
+	to match.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* debug.adb: Reserve -gnatd.V.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch3.adb (Process_Full_View): Remove from visibility
+	wrappers of synchronized types to avoid spurious errors with
+	their wrapped entity.
+	* exp_ch9.adb (Build_Wrapper_Spec): Do not generate the wrapper
+	if no interface primitive is covered by the subprogram and this is
+	not a primitive declared between two views; see Process_Full_View.
+	(Build_Protected_Sub_Specification): Link the dispatching
+	subprogram with its original non-dispatching protected subprogram
+	since their names differ.
+	(Expand_N_Protected_Type_Declaration):
+	If a protected subprogram overrides an interface primitive then
+	do not build a wrapper if it was already built.
+	* einfo.ads, einfo.adb (Original_Protected_Subprogram): New attribute.
+	* sem_ch4.adb (Names_Match): New subprogram.
+	* sem_ch6.adb (Check_Synchronized_Overriding): Moved
+	to library level and defined in the public part of the
+	package to invoke it from Exp_Ch9.Build_Wrapper_Spec
+	(Has_Matching_Entry_Or_Subprogram): New subprogram.
+	(Report_Conflict): New subprogram.
+
+2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
+
+	* s-unstyp.ads: Code cleanups.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Size_Too_Small_Error): Fix the error message format.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_prag.adb (Expand_attributes_In_Consequence,
+	Expand_Attributes): If the prefix of'Old is an unconstrained type,
+	for example an unconstrained formal of the enclosing subprogram,
+	create an object declaration with an expression to obtain the
+	actual subtype of the temporary.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* comperr.adb (Delete_SCIL_Files): Add missing handling of
+	N_Subprogram_Declaration.
+
+2016-05-02  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, checks.adb, sem_attr.adb,
+	gnat1drv.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting and typo
+	fixes.
+	* sem_prag.adb, sem_ch12.adb: Minor typo fixes.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): The
+	function call may be wrapped in an explicit type conversion.
+
+2016-05-02  Jerome Lambourg  <lambourg@adacore.com>
+
+	* interfac.ads: use pragma No_Elaboration_Code_All.
+	* s-unstyp.ads: s-unstyp.ads: use pragma No_Elaboration_Code_All.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem.adb (Analyze: If node is an error node previously created
+	by the parser, disable expansion to prevent subsequent glitches
+	in error recovery.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Alignment_Error): Removed.
+	(Get_Alignment_Value): Code cleanup.
+
+2016-05-02  Tristan Gingold  <gingold@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Use Has_Protected
+	to check for the no local protected objects restriction.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Anonymous_Master now uses Node35.
+	(Anonymous_Master): Update the assertion and node reference.
+	(Set_Anonymous_Master): Update the assertion and node reference.
+	(Write_Field35_Name): Add output for Anonymous_Master.
+	(Write_Field36_Name): The output is now undefined.
+	* einfo.ads Update the node and description of attribute
+	Anonymous_Master. Remove prior occurrences in entities as this
+	is now a type attribute.
+	* exp_ch3.adb (Expand_Freeze_Array_Type): Remove local variable
+	Ins_Node. Anonymous access- to-controlled component types no
+	longer need finalization masters. The master is now built when
+	a related allocator is expanded.
+	(Expand_Freeze_Record_Type): Remove local variable Has_AACC. Do not
+	detect whether the record type has at least one component of anonymous
+	access-to- controlled type. These types no longer need finalization
+	masters. The master is now built when a related allocator is expanded.
+	* exp_ch4.adb Remove with and use clauses for Lib and Sem_Ch8.
+	(Current_Anonymous_Master): Removed.
+	(Expand_N_Allocator): Call Build_Anonymous_Master to create a
+	finalization master for an anonymous access-to-controlled type.
+	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+	Call routine Build_Anonymous_Master to create a finalization master
+	for an anonymous access-to-controlled type.
+	* exp_ch7.adb (Allows_Finalization_Master): New routine.
+	(Build_Anonymous_Master): New routine.
+	(Build_Finalization_Master): Remove formal parameter
+	For_Anonymous. Use Allows_Finalization_Master to determine whether
+	circumstances warrant a finalization master. This routine no
+	longer creates masters for anonymous access-to-controlled types.
+	(In_Deallocation_Instance): Removed.
+	* exp_ch7.ads (Build_Anonymous_Master): New routine.
+	(Build_Finalization_Master): Remove formal parameter For_Anonymous
+	and update the comment on usage.
+	* sem_util.adb (Get_Qualified_Name): New routines.
+	(Output_Name): Reimplemented.
+	(Output_Scope): Removed.
+	* sem_util.ads (Get_Qualified_Name): New routines.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* debug.adb: Document the use of switch -gnatd.H.
+	* gnat1drv.adb (Adjust_Global_Switches): Set ASIS_GNSA mode when
+	-gnatd.H is present.
+	(Gnat1drv): Suppress the call to gigi when ASIS_GNSA mode is active.
+	* opt.ads: Add new option ASIS_GNSA_Mode.
+	* sem_ch13.adb (Alignment_Error): New routine.
+	(Analyze_Attribute_Definition_Clause): Suppress certain errors in
+	ASIS mode for attribute clause Alignment, Machine_Radix, Size, and
+	Stream_Size.
+	(Check_Size): Use routine Size_Too_Small_Error to
+	suppress certain errors in ASIS mode.
+	(Get_Alignment_Value): Use routine Alignment_Error to suppress certain
+	errors in ASIS mode.
+	(Size_Too_Small_Error): New routine.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads Description of the spark cross-references
+	clarified; small style fixes.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope,
+	Detect_And_Add_SPARK_Scope): consider protected types and bodies
+	as yet another scopes.
+	(Enclosing_Subprogram_Or_Library_Package): refactored using
+	Hristian's suggestions; added support for scopes of protected
+	types and bodies; fix for entries to return the scope of the
+	enclosing concurrent type, which is consistent with what is
+	returned for protected subprograms.
+	* sem_intr.adb: Minor style fix in comment.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.ads, lib-xref-spark_specific.adb, get_spark_xrefs.adb,
+	put_spark_xrefs.adb: Minor reformatting.
+
+2016-05-02  Doug Rupp  <rupp@adacore.com>
+
+	* g-traceb.ads: Document traceback for ARM.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.adb (Make_Tags): Do not generate the
+	external name of interface tags adding the suffix counter since
+	it causes problems at link time when the IP routines are inlined
+	across units with optimization.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* einfo.ads, einfo.adb (Predicates_Ignared): new flag to indicate
+	that predicate checking is disabled for predicated subtypes in
+	the context of an Assertion_Policy pragma.
+	* checks.adb (Apply_Predicate_Check): Do nothing if
+	Predicates_Ignored is true.
+	* exp_ch3.adb (Expand_Freeze_Enumeration_Type): If
+	Predicates_Ignores is true, the function Rep_To_Pos does raise
+	an exception for invalid data.
+	* exp_ch4.adb (Expand_N_Type_Conversion): IF target is a predicated
+	type do not apply check if Predicates_Ignored is true.
+	* exp_ch5.adb (Expand_N_Case_Statement): If Predicates_Ignored
+	is true, sem_prag.adb:
+	* sem_ch3.adb (Analyze_Object_Declaration): If Predicates_Ignored
+	is true do not emit predicate check on initializing expression.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* get_spark_xrefs.adb (Get_Nat, Get_Name): Initialize variables when
+	they are declared; refine type of a counter from Integer to Natural.
+	* sem_ch5.adb, gnatcmd.adb, s-intman-posix.adb, eval_fat.adb,
+	prj.adb, sem_util.adb, s-intman-android.adb, prj-nmsc.adb, sem_ch8.adb,
+	exp_ch3.adb: Minor editing.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* a-tigeli.adb (Get_Line): Always set Last prior to returning.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* lib-xref.adb: Minor style fix in whitespace of declarations.
+	* put_spark_xrefs.adb (Put_SPARK_Xrefs): printing of strings
+	refactored without loops.
+	* put_spark_xrefs.ads (Write_Info_Str): new formal argument of
+	generic procedure.
+	* spark_xrefs.adb (Write_Info_Str): new actual in instantiation
+	of generic procedure.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): add task type scope.
+	(Detect_And_Add_SPARK_Scope): detect and add task type scope.
+	(Enclosing_Subprogram_Or_Package): Respect boundaries of task
+	and entry declarations.
+	* spark_xrefs.ads: minor typo in comment.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* make.adb: Minor: avoid an exception when calling gnatmake with
+	no argument and gnatmake is built with checks on.
+	* lib-xref-spark_specific.adb: Minor code cleanup.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Normalize_Actuals): Take into account extra
+	actuals that may have been introduced previously. Normally extra
+	actuals are introduced when a call is expanded, but a validity
+	check may copy and reanalyze a call that carries an extra actual
+	(e.g. an accessibility parameter) before the call itself is
+	marked Analzyed, and the analysis of the copy has to be able to
+	cope with the added actual.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* sem_ch10.adb (Analyze_Compilation_Unit): Preserve
+	treeishness. Previous version had Context_Items shared between
+	the spec and body.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Aggr_Expression): For both array and
+	record cases, apply predicate check on component for expression
+	only if expression has been analyzed already. For expressions
+	that need to be duplicated when they cover multiple components,
+	resolution and predicate checking take place later.
+
+2016-05-02  Olivier Hainque  <hainque@adacore.com>
+
+	* a-direct.adb (Delete_Tree): Use full names to designate subdirs
+	and files therein, instead of local names after a change of
+	current directory.
+
+2016-05-02  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Get full view of
+	component type.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb:
+	Minor reformatting.
+
+2016-05-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch4.adb (Find_Indexing_Operations): Use the underlying type
+	of the container base type in case the container is a subtype.
+	* sem_ch5.adb (Analyze_Iterator_Specification): Ensure that
+	the selector has an entity when checking for a component of a
+	mutable object.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	Remove dead code.
+	* opt.ads (Latest_Ada_Only): New flag.
+	* sem_prag.adb, par-prag.adb: Ignore pragma Ada_xx under this flag.
+	* usage.adb, switch-c.adb: Disable support for -gnatxx under this flag.
+	* einfo.ads (Has_Predicates, Predicate_Function):
+	Clarify that Has_Predicates does not imply that Predicate_Function
+	will return a non-empty entity.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Qualified_Expression): Generate a predicate
+	check if type requires it.
+	* checks.adb (Apply_Predicate_Check): Disable checks in the
+	object declaration created for an expression with side-effects
+	that requires a predicate check to prevent infinite recursion
+	during expansion.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Check properly the type of a
+	formal to determine whether a given convention applies to it.
+
+2016-05-02  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c: Add incantations for arm-vxworks[67] traceback.
+
+2016-05-02  Thomas Quinot  <quinot@adacore.com>
+
+	* freeze.adb (Check_Component_Storage_Order): Make it a warning, not an
+	error, to have a component with implicit SSO within a composite type
+	that has explicit SSO.
+
+2016-05-02  Bob Duff  <duff@adacore.com>
+
+	* s-stposu.adb (Allocate_Any_Controlled): Don't lock/unlock twice.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* repinfo.adb (List_Entities): Make procedure recursive, to
+	provide representation information for subprograms declared
+	within subprogram bodies.
+
+2016-05-02  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch5.adb, layout.adb, gnatcmd.adb exp_attr.adb, make.adb,
+	bindgen.adb, debug.adb, exp_pakd.adb, freeze.adb, sem_util.adb,
+	gnatlink.adb, switch-m.adb, exp_ch4.adb, repinfo.adb, adabkend.adb,
+	osint.adb: Remove dead code.
+
+2016-05-02  Yannick Moy  <moy@adacore.com>
+
+	* a-tigeli.adb (Get_Line): Fix bound for test to
+	decide when to compensate for character 0 added by call to fgets.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Allocator): If the expression does not
+	have a subtype indication and the type is an unconstrained tagged
+	type with defaulted discriminants, create an explicit constraint
+	for it during analysis to prevent out-of-order freezing actions
+	on generated classwide types.
+
+2016-05-02  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement):
+	In the runtime check that ensures that the tags of source an
+	target match, add missing displacement of the pointer to the
+	objects if they cover interface types.
+
+2016-05-02  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Old): Do not use
+	base type for attribute when type is discrete: transformation
+	is not needed for such types, and leads to spurious errors if
+	the context is a case construct.
+
+2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/decl.c (elaborate_reference_1): Do not bother about
+	operand #2 for COMPONENT_REF.
+	* gcc-interface/utils2.c (gnat_save_expr): Likewise.
+	(gnat_protect_expr): Likewise.
+	(gnat_stabilize_reference_1): Likewise.
+	(gnat_rewrite_reference): Do not bother about operand #3 for ARRAY_REF.
+	(get_inner_constant_reference): Likewise.
+	(gnat_invariant_expr): Likewise.
+	* gcc-interface/trans.c (fold_constant_decl_in_expr): Likewise.
+
+2016-05-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/trans.c (Range_to_gnu): New static function.
+	(Raise_Error_to_gnu) <N_In>: Call it to translate the range.
+	(gnat_to_gnu) <N_In>: Likewise.
+
+2016-04-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/Make-lang.in (ACATSCMD): New variable.
+	(check-acats): Use it.
+	(check_acats_targets): Likewise.
+
+2016-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR ada/70786
+	* a-textio.adb (Get_Immediate): Add missing 'not' in expression.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged
+	incomplete type without full view.
+	* sem_ch6.adb (Exchange_Limited_Views): Change into a function and
+	return the list of changes.
+	(Restore_Limited_Views): New procedure to undo the transformation made
+	by Exchange_Limited_Views.
+	(Analyze_Subprogram_Body_Helper): Adjust call to Exchange_Limited_Views
+	and call Restore_Limited_Views at the end, if need be.
+	(Possible_Freeze): Do not delay freezing because of incomplete types.
+	(Process_Formals): Remove kludges for class-wide types.
+	* types.h (By_Copy_Return): Delete.
+	* gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): Move around.
+	(TYPE_DUMMY_IN_PROFILE_P): New macro.
+	* gcc-interface/gigi.h (update_profiles_with): Declare.
+	(finish_subprog_decl): Likewise.
+	(get_minimal_subprog_decl): Delete.
+	(create_subprog_type): Likewise.
+	(create_param_decl): Adjust prototype.
+	(create_subprog_decl): Likewise.
+	* gcc-interface/decl.c (defer_limited_with): Rename into...
+	(defer_limited_with_list): ...this.
+	(gnat_to_gnu_entity): Adjust to above renaming.
+	(finalize_from_limited_with): Likewise.
+	(tree_entity_vec_map): New structure.
+	(gt_pch_nx): New helpers.
+	(dummy_to_subprog_map): New hash table.
+	(gnat_to_gnu_param): Set the SLOC here.  Remove MECH parameter and
+	add FIRST parameter.  Deal with the mechanism here instead of...
+	Do not make read-only variant of types.  Simplify expressions.
+	In the by-ref case, test the mechanism before must_pass_by_ref
+	and also TYPE_IS_BY_REFERENCE_P before building the reference type.
+	(gnat_to_gnu_subprog_type): New static function extracted from...
+	Do not special-case the type_annotate_only mode.  Call
+	gnat_to_gnu_profile_type instead of gnat_to_gnu_type on return type.
+	Deal with dummy return types.  Likewise for parameter types.  Deal
+	with by-reference types explicitly and add a kludge for null procedures
+	with untagged incomplete types.  Remove assertion on the types and be
+	prepared for multiple elaboration of the declarations.  Skip the whole
+	CICO processing if the profile is incomplete.  Handle the completion of
+	a previously incomplete profile.
+	(gnat_to_gnu_entity) <E_Variable>: Rename local variable.
+	Adjust couple of calls to create_param_decl.
+	<E_Access_Subprogram_Type, E_Anonymous_Access_Subprogram_Type>:
+	Remove specific deferring code.
+	<E_Access_Type>: Also deal with E_Subprogram_Type designated type.
+	Simplify handling of dummy types and remove obsolete comment.
+	Constify a couple of variables.  Do not set TYPE_UNIVERSAL_ALIASING_P
+	on dummy types.
+	<E_Access_Subtype>: Tweak comment and simplify condition.
+	<E_Subprogram_Type>: ...here.  Call it and clean up handling.  Remove
+	obsolete comment and adjust call to gnat_to_gnu_param.  Adjust call to
+	create_subprog_decl.
+	<E_Incomplete_Type>: Add a couple of 'const' qualifiers and get rid of
+	inner break statements.  Tidy up condition guarding direct use of the
+	full view.
+	(get_minimal_subprog_decl): Delete.
+	(finalize_from_limited_with): Call update_profiles_with on dummy types
+	with TYPE_DUMMY_IN_PROFILE_P set.
+	(is_from_limited_with_of_main): Delete.
+	(associate_subprog_with_dummy_type): New function.
+	(update_profile): Likewise.
+	(update_profiles_with): Likewise.
+	(gnat_to_gnu_profile_type): Likewise.
+	(init_gnat_decl): Initialize dummy_to_subprog_map.
+	(destroy_gnat_decl): Destroy dummy_to_subprog_map.
+	* gcc-interface/misc.c (gnat_get_alias_set): Add guard for accessing
+	TYPE_UNIVERSAL_ALIASING_P.
+	(gnat_get_array_descr_info): Minor tweak.
+	* gcc-interface/trans.c (gigi): Adjust calls to create_subprog_decl.
+	(build_raise_check): Likewise.
+	(Compilation_Unit_to_gnu): Likewise.
+	(Identifier_to_gnu): Accept mismatches coming from a limited context.
+	(Attribute_to_gnu): Remove kludge for dispatch table entities.
+	(process_freeze_entity): Do not retrieve old definition if there is an
+	address clause on the entity.  Call update_profiles_with on dummy types
+	with TYPE_DUMMY_IN_PROFILE_P set.
+	* gcc-interface/utils.c (build_dummy_unc_pointer_types): Also set
+	TYPE_REFERENCE_TO to the fat pointer type.
+	(create_subprog_type): Delete.
+	(create_param_decl): Remove READONLY parameter.
+	(finish_subprog_decl): New function extracted from...
+	(create_subprog_decl): ...here.  Call it.  Remove CONST_FLAG and
+	VOLATILE_FLAG parameters and adjust.
+	(update_pointer_to): Also clear TYPE_REFERENCE_TO in the unconstrained
+	case.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* aa_util.adb, aa_util.ads: Removed, no longer used.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma): An object
+	renaming declaration resulting from the expansion of an object
+	declaration is a suitable context for pragma Ghost.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* init.c: Refine last checkin so the only requirement is the
+	signaling compilation unit is compiled with the same mode as
+	the compilation unit containing the initial landing pad.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Valid_Default_Iterator): Better filter of illegal
+	specifications for Default_Iterator, including overloaded cases
+	where no interpretations are legal, and return types that are
+	not iterator types.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Do not install
+	an accessibility check when the left hand side of the assignment
+	denotes a container cursor.
+	* exp_util.ads, exp_util.adb (Find_Primitive_Operations): Removed.
+	* sem_ch4.adb (Find_Indexing_Operations): New routine.
+	(Try_Container_Indexing): Code cleanup.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch10.adb, sem_case.adb: Mark messages udner -gnatwr when needed.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* errout.adb, errutil.adb: Minor reformatting.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Specifications, case Pre/Post):
+	Check that the classwide version is illegal when the prefix is
+	an operation of an untagged synchronized type.
+
+2016-04-27  Arnaud Charlet  <charleT@adacore.com>
+
+	* sinput-l.ads, sem_ch13.adb: Minor editing.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* init.c (__gnat_adjust_context_for_raise) [arm-linux thumb]:
+	Bump the pc so the lower order bit is set.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_case.adb, sem_case.ads (NO_Op): If appropriate warning is
+	enabled, report an empty range in a case construct.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sinput.ads, a-cfdlli.adb, a-crbtgo.adb, a-chtgop.adb, a-cbhama.adb,
+	a-rbtgbo.adb, a-crdlli.adb, a-chtgbo.adb: Minor editing.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* a-chtgop.adb (Adjust): Zero the tampering counts on assignment,
+	as is done for the other containers.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* ghost.adb (In_Subprogram_Body_Profile): New routine.
+	(Is_OK_Declaration): Treat an unanalyzed expression
+	function as an OK context.  Treat a reference to a Ghost entity
+	as OK when it appears within the profile of a subprogram body.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* errout.ads: Document the fact that informational messages
+	don't have to be warnings.
+	* errout.adb (Error_Msg_Internal): In statistics counts, deal
+	correctly with informational messages that are not warnings.
+	(Error_Msg_NEL): Remove useless 'if' aroung Set_Posted, because
+	Set_Posted already checks for errors and ignores others.
+	* erroutc.adb (Prescan_Message): Set Is_Serious_Error to False
+	if Is_Info_Msg; the previous code was assuming that Is_Info_Msg
+	implies Is_Warning_Msg.
+	* errutil.adb (Error_Msg): In statistics counts, deal correctly
+	with informational messages that are not warnings.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_Null_Record_Type): New predicate
+	to determine whether a record type is a null record.
+	* sem_ch3.adb (Analyze_Object_Declaration): If the type is a
+	null record and there is no expression in the declaration,
+	no predicate check applies to the object.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch7.adb (Analyze_Package_Body_Helper): The body of an
+	instantiated package should not cause freezing of previous contracts.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension): Handle subtype declarations
+	that do not come from source.
+	(Analyze_Dimension_Subtype_Declaration): Allow confirming
+	dimensions on subtype entity, either inherited from base type
+	or provided by aspect specification.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+	Add scalar formal object Zero, to allow detection and report
+	when the matrix is singular.
+	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+	Raise Constraint_Error if the Forward_Eliminate pass has
+	determined that determinant is Zero.o
+	* s-ngrear.adb (Solve): Add actual for Zero in corresponding
+	instantiations.
+	* s-ngcoar.adb (Solve): Ditto.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb: Minor reformatting.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.adb (Analyze_Dimension, case N_Identifier): Check
+	that identifier has a usable type before analysis, to handle
+	properly identifiers introduced after some lexical/syntactic
+	recovery that created new identifiers.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* a-coinve.adb, a-comutr.adb, a-conhel.adb, a-convec.adb,
+	exp_util.adb: Remove assertions that can fail in obscure cases when
+	assertions are turned on but tampering checks are turned off.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch6.adb (Add_Call_By_Copy_Code,
+	Add_Simple_Call_By_Copy_Code, Expand_Actuals): Handle formals
+	whose type comes from the limited view.
+
+2016-04-27  Yannick Moy  <moy@adacore.com>
+
+	* a-textio.adb: Complete previous patch.
+
+2016-04-27  Yannick Moy  <moy@adacore.com>
+
+	* inline.adb (Expand_Inlined_Call): Use Cannot_Inline instead of
+	Error_Msg_N to issue message about impossibility to inline call,
+	with slight change of message.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_spark.adb (Expand_Potential_Renaming): Removed.
+	(Expand_SPARK): Update the call to expand a potential renaming.
+	(Expand_SPARK_Potential_Renaming): New routine.
+	* exp_spark.ads (Expand_SPARK_Potential_Renaming): New routine.
+	* sem.adb Add with and use clauses for Exp_SPARK.
+	(Analyze): Expand a non-overloaded potential renaming for SPARK.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Constrain_Discriminated_Type): In an instance,
+	check full view for the presence of defaulted discriminants,
+	even when the partial view of a private type has no visible and
+	no unknown discriminants.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.adb, exp_ch3.adb: Minor reformatting.
+
+2016-04-27  Nicolas Roche  <roche@adacore.com>
+
+	* rtinit.c: Add weak symbol __gnat_do_argv_expansion.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Code
+	cleanup. Check the original node when trying to determine the node kind
+	of pragma Volatile's argument to account for untagged derivations
+	where the type is transformed into a constrained subtype.
+
+2016-04-27  Olivier Hainque  <hainque@adacore.com>
+
+	* mkdir.c (__gnat_mkdir): Rework the vxworks section to use a
+	consistent posix interface on the caller side.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch10.adb (Build_Limited_View, Decorate_Type): If this
+	is a limited view of a type, initialize the Limited_Dependents
+	field to catch misuses of the type in a client unit.
+
+2016-04-27  Thomas Quinot  <quinot@adacore.com>
+
+	* a-strunb-shared.adb (Finalize): add missing Reference call.
+	* s-strhas.adb: minor grammar fix and extension of comment
+	* sem_ch8.adb: minor whitespace fixes
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-xref.adb (Get_Type_Reference): Handle properly the case
+	of an object declaration whose type definition is a class-wide
+	subtype and whose expression is a function call that returns a
+	classwide type.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Output_Entity): New routine.
+	(Output_Name): New routine.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Rewrite_As_Renaming): Disable previous change for now.
+
+2016-04-27  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: For "gnat ls -V -P", recognize switch
+	--unchecked-shared-lib-imports and set the flag
+	Opt.Unchecked_Shared_Lib_Imports accordingly.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pre_Post_Condition_In_Decl_Part):
+	A generic subprogram is never a primitive operation, and thus
+	a classwide condition for it is not legal.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aggr.adb, sem_dim.adb, sem_dim.ads, einfo.adb: Minor
+	reformatting.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Flag_Effectively_Volatile_Objects): New routine.
+	(Resolve_Actuals): Flag effectively volatile objects with enabled
+	property Async_Writers or Effective_Reads as illegal.
+	* sem_util.adb (Is_OK_Volatile_Context): Comment reformatting.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_ch3.adb (Make_Predefined_Primitive_Specs):
+	Do not generate the profile of the equality operator if it has
+	been explicitly defined as abstract in the parent type. Required
+	to avoid reporting an spurious error.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_dim.ads, sem_dim.adb (Check_Expression_Dimensions): New
+	procedure to compute the dimension vector of a scalar expression
+	and compare it with the dimensions if its expected subtype. Used
+	for the ultimate components of a multidimensional aggregate,
+	whose components typically are themselves aggregates that are
+	expanded separately. Previous to this patch, dimensionality
+	checking on such aggregates generated spurious errors.
+	* sem_aggr.adb (Resolve_Array_Aggregate): Use
+	Check_Expression_Dimensions when needed.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* einfo.ads, einfo.adb (Corresponding_Function): New attribute
+	(applicable to E_Procedure).
+	(Corresponding_Procedure): New attribute (applicable to E_Function).
+	* exp_util.adb (Build_Procedure_Form): Link the function with
+	its internally built proc and viceversa.
+	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
+	attribute Rewritten_For_C and Corresponding_Procedure to the body.
+	* exp_ch6.adb (Rewritten_For_C_Func_Id): Removed.
+	(Rewritten_For_C_Proc_Id): Removed.
+	* exp_unst.adb (Note_Uplevel_Ref): Use the new attribute to
+	locate the corresponding procedure.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Analyze_Aspect_Export_Import): Signal that there is no
+	corresponding pragma.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb: Minor comment improvement.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): If the
+	return type is an untagged limited record with only access
+	discriminants and no controlled components, the return value does not
+	need to use the secondary stack.
+
+2016-04-27  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): When
+	generating C code handle object declarations that have
+	discriminants and are initialized by means of a call to a
+	function.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* a-textio.adb (Get_Line function): Handle properly the case of
+	a line that has the same length as the buffer (or a multiple
+	thereof) and there is no line terminator.
+	* a-tigeli.adb (Get_Line procedure): Do not store an end_of_file
+	in the string when there is no previous line terminator and we
+	need at most one additional character.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-rident.ads: Make No_Implicit_Loops non partition wide.
+
+2016-04-27  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch11.adb (Analyze_Handled_Statements): check useless
+	assignments also in entries and task bodies, not only in
+	procedures and declaration blocks.
+	* sem_ch5.adb (Analyze_Block_Statement): check useless
+	assignements in declaration blocks as part of processing their
+	handled statement sequence, just like it was done for procedures
+	and now is also done for entries and task bodies.
+	* sem_warn.adb (Warn_On_Useless_Assignment): detect boundries
+	of entries and task bodies just like of procedures.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb (Is_Volatile_Function): Recognize
+	a function declared within a protected type as well as the
+	protected/unprotected version of a function.
+
+2016-04-27  Bob Duff  <duff@adacore.com>
+
+	* exp_ch3.adb (Expand_N_Object_Declaration): Rewrite an object
+	declaration of the form "X : T := Func (...);", where T is
+	controlled, as a renaming.
+	* a-strunb-shared.adb (Finalize): Set the Unbounded_String Object
+	to be an empty string, instead of null-ing out the Reference.
+	* exp_util.adb (Needs_Finalization): Remove redundant code.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* aspects.ads Aspects Export and Import do not require delay. They
+	were classified as delayed aspects, but treated as non-delayed
+	by the analysis of aspects.
+	* freeze.adb (Copy_Import_Pragma): New routine.
+	(Wrap_Imported_Subprogram): Copy the import pragma by first
+	resetting all semantic fields to avoid an infinite loop when
+	performing the copy.
+	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Add
+	comment on the processing of aspects Export and Import
+	at the freeze point.
+	(Analyze_Aspect_Convention: New routine.
+	(Analyze_Aspect_Export_Import): New routine.
+	(Analyze_Aspect_External_Link_Name): New routine.
+	(Analyze_Aspect_External_Or_Link_Name): Removed.
+	(Analyze_Aspect_Specifications): Factor out the analysis of
+	aspects Convention, Export, External_Name, Import, and Link_Name
+	in their respective routines.  Aspects Export and Import should
+	not generate a Boolean pragma because their corresponding pragmas
+	have a very different syntax.
+	(Build_Export_Import_Pragma): New routine.
+	(Get_Interfacing_Aspects): New routine.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* inline.adb (Add_Inlined_Body): Overhaul implementation,
+	robustify handling of -gnatn1, add special treatment for
+	expression functions.
+
+2016-04-27  Doug Rupp  <rupp@adacore.com>
+
+	* g-traceb.ads: Update comment.
+	* exp_ch2.adb: minor style fix in object declaration
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_elab.adb (Check_Internal_Call): Do not
+	consider a call when it appears within pragma Initial_Condition
+	since the pragma is part of the elaboration statements of a
+	package body and may only call external subprograms or subprograms
+	whose body is already available.
+	(Within_Initial_Condition): New routine.
+
+2016-04-27  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.adb (Build_Procedure_Form): Prevent double generation
+	of the procedure form when dealing with an expression function
+	whose return type is an array.
+	* sem_ch3.adb: Fix out-of order Has_Predicates setting.
+	* exp_ch6.adb: Proper conversion for inherited operation in C.
+	* sem_ch6.adb: Code cleanup.
+
+2016-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-xref.ads, sem_ch10.adb: minor style fix in comment
+	* g-socket.adb: Minor reformatting.
+	* sinfo.ads: Minor comment correction.
+	* sem_warn.ads: minor grammar fix in comment
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/gigi.h (gnat_to_gnu_entity): Adjust prototype.
+	(maybe_pad_type): Adjust comment.
+	(finish_record_type): Likewise.
+	(rest_of_record_type_compilation): Likewise.
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Change DEFINITION type
+	parameter from integer to boolean.  Adjust recursive calls.
+	<E_Subprogram_Type>: Use copy_type and remove redundant assignments.
+	<E_Signed_Integer_Subtype>:  Adjust comment.  Remove call to
+	rest_of_record_type_compilation.  Set TYPE_PADDING_P flag earlier.
+	Pass false to finish_record_type.  Set the debug type later.
+	<E_Record_Subtype>: Remove call to rest_of_record_type_compilation.
+	(gnat_to_gnu_component_type): Fix formatting.
+	(gnat_to_gnu_field_decl): Adjust call to gnat_to_gnu_entity.
+	(gnat_to_gnu_type): Likewise.
+	* gcc-interface/trans.c (Identifier_to_gnu): Likewise.
+	(Loop_Statement_to_gnu): Likewise.
+	(Subprogram_Body_to_gnu): Likewise.
+	(Exception_Handler_to_gnu_fe_sjlj): Likewise.
+	(Exception_Handler_to_gnu_gcc): Likewise.
+	(Compilation_Unit_to_gnu): Likewise.
+	(gnat_to_gnu): Likewise.
+	(push_exception_label_stack): Likewise.
+	(elaborate_all_entities_for_package): Likewise.
+	(process_freeze_entity): Likewise.
+	(process_decls): Likewise.
+	(process_type): Likewise.
+	* gcc-interface/utils.c (struct deferred_decl_context_node): Tweak.
+	(maybe_pad_type): Adjust comments.  Set the debug type later.  Remove
+	call to rest_of_record_type_compilation.
+	(rest_of_record_type_compilation): Use copy_type.
+	(copy_type): Use correctly typed constants.
+	(gnat_signed_or_unsigned_type_for): Use copy_type.
+	* gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
+	(build_goto_raise): Adjust call tognat_to_gnu_entity.
+
+2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gcc-interface/misc.c (gnat_init): Do not call
+	internal_reference_types.
+
+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-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Match_Constituent): Treat a constant as a legal
+	constituent even if it is not to prevent spurious errors.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch4.adb: Minor typo fixes and reformatting.
+
+2016-04-21  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+	* g-calend.ads (No_Time): The same value in any timezone.
+	* g-socket.adb (Raise_Host_Error): Remove ending
+	dot from original error message before append colon delimited
+	host name.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb: Code cleanup.
+	* sem_ch6.adb: Code cleanup.
+	(Is_Matching_Limited_View): New routine.
+	(Matches_Limited_With_View): Reimplemented.
+	* sem_ch10.adb (Decorate_Type): Code cleanup.
+
+2016-04-21  Doug Rupp  <rupp@adacore.com>
+
+	* tracebak.c (PPC ELF): Add macro defs for lynxos178e.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Container_Indexing): If there are overloaded
+	indexing functions, collect all overloadings of the call firts,
+	and then transfer them to indexing node, to prevent interleaving
+	of the set of interpretations of the nodes involved.
+	* sem_res.adb (Resolve): Suppress cascaded errors that report
+	ambiguities when one of the actuals in an overloaded generatlized
+	indexing operation is illegal and has type Any_Type, as is done
+	for similar cascaded errors in subprogram calls.
+	(Valid_Tagged_Conversion): Cleanup conversion checks when one
+	of the types involved is a class-wide subtype.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch12.adb (Load_Parent_Of_Generic): When looking for the
+	subprogram declaration within a wrapper package, skip pragmas
+	that may have been generated by aspect specifications on the
+	generic instance.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Generating C
+	code return True for array identifiers since the backend needs
+	to initialize such component by means of memcpy().
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-tasatt.adb, a-tasatt.ads (Fast_Path): Rewritten to avoid reading
+	potentially uninitialized memory.
+	* sem_ch3.adb: Minor style fix in comment.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnat_rm.texi, gnat_ugn.texi,
+	doc/gnat_ugn/gnat_project_manager.rst,
+	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+	doc/gnat_ugn/gnat_and_program_execution.rst,
+	doc/gnat_ugn/gnat_utility_programs.rst,
+	doc/gnat_ugn/the_gnat_compilation_model.rst,
+	doc/gnat_rm/implementation_defined_attributes.rst,
+	doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	doc/gnat_rm/implementation_defined_pragmas.rst,
+	doc/gnat_rm/the_gnat_library.rst,
+	doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
+	* doc/Makefile: Cleanups.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_pakd.adb, sem_ch13.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_dbug.adb, exp_dbug.ads (Qualify_Entity_Name): Add suffixes to
+	disambiguate local variables that may be hidden from inner visibility
+	by nested block declarations or loop variables.
+
+2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* s-soflin.adb: Initialize the Stack_Limit global variable.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_pakd.adb (Compute_Number_Components): New function to
+	build an expression that computes the number of a components of
+	an array that may be multidimensional.
+	(Expan_Packed_Eq): Use it.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* g-traceb.ads: Update list of supported platforms.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Add_Predicates): if the type is declared in
+	an inner package it may be frozen outside of the package, and
+	the generated pragma has not been analyzed yet, the expression
+	for the predicate must be captured and added to the predicate
+	function at this point.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Package_Body_Contract): Do not check
+	for a missing package refinement because 1) packages do not have
+	"refinement" and 2) the check for proper state refinement is
+	performed in a different place.
+	* einfo.adb (Has_Non_Null_Visible_Refinement): Reimplemented.
+	(Has_Null_Visible_Refinement): Reimplemented.
+	* sem_ch3.adb (Analyze_Declarations): Determine whether all
+	abstract states have received a refinement and if not, emit
+	errors.
+	* sem_ch7.adb (Analyze_Package_Declaration): Code
+	cleanup. Determine whether all abstract states of the
+	package and any nested packages have received a refinement
+	and if not, emit errors.
+	(Requires_Completion_In_Body): Add new formal parameter
+	Do_Abstract_States. Update the comment on usage. Propagate the
+	Do_Abstract_States flag to all Unit_Requires_Body calls.
+	(Unit_Requires_Body): Remove formal
+	parameter Ignore_Abstract_States. Add new formal paramter
+	Do_Abstract_States. Propagate the Do_Abstract_States flag to
+	all Requires_Completion_In calls.
+	* sem_ch7.ads (Unit_Requires_Body): Remove formal
+	parameter Ignore_Abstract_States. Add new formal paramter
+	Do_Abstract_States. Update the comment on usage.
+	* sem_ch9.adb (Analyze_Single_Protected_Declaration): Do
+	not initialize the constituent list as this is now done on a
+	need-to-add-element basis.
+	(Analyze_Single_Task_Declaration):
+	Do not initialize the constituent list as this is now done on
+	a need-to-add-element basis.
+	* sem_ch10.adb (Decorate_State): Do not initialize the constituent
+	lists as this is now done on a need-to-add-element basis.
+	* sem_prag.adb (Analyze_Constituent): Set the
+	refinement constituents when adding a new element.
+	(Analyze_Part_Of_In_Decl_Part): Set the Part_Of constituents when
+	adding a new element.
+	(Analyze_Part_Of_Option): Set the Part_Of
+	constituents when adding a new element.
+	(Analyze_Pragma): Set the Part_Of constituents when adding a new
+	element.
+	(Check_Constituent_Usage (all versions)): Reimplemented.
+	(Collect_Constituent): Set the refinement constituents when adding
+	a new element.
+	(Create_Abstract_State): Do not initialize the
+	constituent lists as this is now done on a need-to-add-element basis.
+	(Propagate_Part_Of): Set the Part_Of constituents when
+	adding a new element.
+	* sem_util.adb (Check_State_Refinements): New routine.
+	(Has_Non_Null_Refinement): Reimplemented.
+	(Has_Null_Refinement): Reimplemented.
+	(Requires_State_Refinement): Removed.
+	* sem_util.ads (Check_State_Refinements): New routine.
+	(Requires_State_Refinement): Removed.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb, sem_ch6.adb: Minor reformatting and code cleanup.
+	* sem.adb: Fix comment.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype
+	declaration with no aspects, whose subtype_mark is a subtype
+	with predicates, inherits the list of subprograms for the type.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Has_Per_Object_Constraint): Refine previous
+	change.
+
+2016-04-21  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.adb (Raise_Host_Error): Include additional Name parameter.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-writ.adb (Write_ALI): Do not record in ali file units
+	that are present in the files table but not analyzed. These
+	units are present because they appear in the context of units
+	named in limited_with clauses, and the unit being compiled does
+	not depend semantically on them.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Simplify code to
+	create the procedure body for an function returning an array type,
+	when generating C code. Reuse the subprogram body rather than
+	creating a new one, both as an efficiency measure and because
+	in an instance the body may contain global references that must
+	be preserved.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_attr.adb, exp_ch6.adb, exp_aggr.adb: Minor
+	reformatting.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Check): Extend
+	the check that verifies that the aggregate has no function
+	calls to handle transformations performed by the frontend.
+	(Ultimate_Original_Expression): New subprogram.
+
+2016-04-21  Philippe Gil  <gil@adacore.com>
+
+	* krunch.adb (Krunch): Fix krunching of i-java.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch8.adb (Evaluation_Required): Always return
+	True when Modify_Tree_For_C.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatlink.adb (Gnatlink): Robustify detection of Windows target.
+	* alloc.ads: Minor comment fixes.
+	* einfo.ads: Fix typo.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Redo previous
+	changes to handle all cases of components depending on the
+	discriminant, not just string literals.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Analyze_Subtype_Declaration): If the subtype
+	declaration is the generated declaration for a generic actual,
+	inherit predicates from the actual if it is a predicated subtype.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Rewrite_Function_Call_For_C): If the function is
+	inherited and its result is controlling,  introduce a conversion
+	on the actual for the corresponding procedure call, to avoid
+	spurious type errors.
+
+2016-04-21  Jerome Lambourg  <lambourg@adacore.com>
+
+	* krunch.adb (Krunch): Fix krunching of i-vxworks.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_aggr.adb: Minor reformatting and code cleanup.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Resolve_Name): Omit quantified expressions from
+	resolution, because they introduce local names. Full resolution
+	will take place when predicate function is constructed.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Refine previous
+	change to take into account Per_Object_Constraint field rather
+	than special casing strings.
+	* exp_ch6.adb: Fix typo in Replace_Returns.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch5.adb: Minor reformatting.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Backend_Processing_Possible): Return False
+	when generating C and aggregate contains function calls.
+
+2016-04-21  Tristan Gingold  <gingold@adacore.com>
+
+	* krunch.adb (Krunch): Only partially krunch children of
+	Interfaces that aren't known.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Make_Inline): Handle properly the instantiation
+	of a generic subpprogram that carries an Inline aspect. Place
+	inline info on the anonymous subprogram that is constructed in
+	the wrapper package.
+	(Analyze_Pragma, case Pure): Do not check placement if pragma
+	appears within an instantiation, which can be nested at any level.
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not copy Freeze
+	node from anonymous subprogram to its visible renaming. The
+	freeze node will be constructed if the subprogram carries
+	delayed aspects.
+	(Set_Global): Preserve dimension information if present (from
+	code reading).
+
+2016-04-21  Vasiliy Fofanov  <fofanov@adacore.com>
+
+	* gnatlink.adb: Change wording of the warning message on
+	problematic filenames to be more neutral. Add a new substring
+	"patch" introduced on Windows 10.
+
+2016-04-21  Philippe Gil  <gil@adacore.com>
+
+	* tracebak.c (__gnat_backtrace): handle bad RIP values (win64 only)
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_aggr.adb (Component_Not_OK_For_Backend): Return true for string
+	literals.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb (Has_Non_Null_Abstract_State): New routine.
+	* einfo.ads New synthesized attribute
+	Has_Non_Null_Abstract_State along with occurrences in entities.
+	(Has_Non_Null_Abstract_State): New routine.
+	* sem_ch7.adb (Unit_Requires_Body): Add local variable
+	Requires_Body. A package declaring an abstract state requires
+	a body only when the state is non-null and the package contains
+	at least one other construct that requires completion in a body.
+	* sem_util.adb (Mode_Is_Off): Removed.
+	(Requires_State_Refinement): Remove an obsolete check. Code
+	cleanup.
+
+2016-04-21  Bob Duff  <duff@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute): In processing
+	the 'Old attribute, a warning is given for infinite recursion. Fix
+	the code to not crash when the prefix of 'Old denotes a protected
+	function.
+	* sem_ch5.adb (Analyze_Iterator_Specification):
+	Avoid calling Is_Dependent_Component_Of_Mutable_Object in cases
+	where the parameter would not be an object.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_eval.adb (Compile_Time_Compare): Be prepared for an empty
+	Etype or Underlying_Type of the operands.
+
+2016-04-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* atree.adb (Print_Statistics): Protect against overflows and
+	print the memory consumption in bytes.
+	* table.adb (Reallocate): Do the intermediate calculation of the new
+	size using the Memory.size_t type.
+
+2016-04-21  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_attr.adb (Is_Inline_Floating_Point_Attribute): Suppress
+	expansion of Attribute_Machine and Attribute_Model for AAMP.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: Disable previous change for now.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.adb (Find_Selected_Component): If prefix has an
+	access type and designated type is a limited view, introduce
+	an explicit dereference before continuing the analysis, and
+	set its type to the non-limited view of the designated type,
+	if we are in context where it is available.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb: Freeze profile in ASIS mode.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_aux.ads, sem_aux.adb (Has_Rep_Item): New variant.
+	* sem_util.adb (Inherit_Rep_Item_Chain): Reimplemented.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch6.adb: Minor reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb: Minor comment update.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.ads, freeze.adb (Freeze_Entity, Freeze_Before): Add
+	boolean parameter to determine whether freezing an overloadable
+	entity freezes its profile as well. This is required by
+	AI05-019. The call to Freeze_Profile within Freeze_Entity is
+	conditioned by the value of this flag, whose default is True.
+	* sem_attr.adb (Resolve_Attribute, case 'Access): The attribute
+	reference freezes the prefix, but it the prefix is a subprogram
+	it does not freeze its profile.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Build_Procedure_Form): No action needed for
+	subprogram renamings since the backend can generate the call
+	using the renamed subprogram. This leaves the tree more clean
+	to the backend.
+	* exp_ch6.adb (Expand_Call): Extend previous patch for
+	rewritten-for-c entities to handle subprogram renamings.
+	(Rewrite_Function_Call_For_C): Handle subprogram renamings.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb: Code cleanup.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
+	created for SPARK_To_C, the entity must remain invisible so it
+	does not overload subsequent references to the original function.
+	* exp_ch6.adb (Build_Procedure_Body_Form, Replace_Returns):
+	Handle Extended_Return_Statements by replacing it with a block
+	with assignments and a simple return statement.
+	* exp_util.adb (Build_Procedure_Form): Make procedure entity
+	invisible after analyzing declaration, to prevent improper
+	overloading.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch6.adb (Build_Subprogram_Declaration): Propagate the
+	attribute Rewritten_For_C to the body since since the expander
+	may generate calls using that entity.
+	* exp_ch6.adb (Expand_Call): For internally generated
+	calls ensure that they reference the entity of the spec
+	of the called function.
+	(Rewritten_For_C_Func_Id): New subprogram.
+	(Rewritten_For_C_Proc_Id): New subprogram.
+	(Rewrite_Function_Call_For_C): Invoke the new subprogram to
+	ensure that we skip freezing entities.
+	* exp_util.adb (Build_Procedure_Form): No action needed if the
+	procedure was already built.
+
+2016-04-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb, exp_util.adb, sem_ch13.adb, exp_unst.adb: Minor
+	reformatting.
+
+2016-04-21  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Denotes_Iterator): Use root type to determine
+	whether the ultimate ancestor is the predefined iterator
+	interface pakage.
+	* exp_ch5.adb (Expand_Iterator_Over_Container): simplify code
+	and avoid reuse of Pack local variable.
+
+2016-04-21  Olivier Hainque  <hainque@adacore.com>
+
+	* system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
+	system-vxworks-ppc.ads, system-vxworks-m68k.ads,
+	system-vxworks-mips.ads, system-vxworks-x86.ads: Define
+	Executable_Extension to ".out".
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Update call to Unnest_Subprograms.
+	* exp_ch6.ads, exp_ch6.adb, exp_unst.ads, exp_unst.adb
+	(Unnest_Subprograms): Moved to package exp_unst.
+	* exp_unst.ads (Unnest_Subprogram): Moved to the body of the
+	package.
+	* exp_dbug.adb (Qualify_Entity_Name): Enable qualification of
+	enumeration literals when generating C code.
+
+2016-04-21  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Remove call to initialize Exp_Ch6.
+	* exp_ch6.ads, exp_ch6.adb (Initialize): removed.
+	(Unest_Entry/Unest_Bodies): Removed.
+	(Unnest_Subprograms): Code cleanup.
+
+2016-04-21  Arnaud Charlet  <charlet@adacore.com>
+
+	* set_targ.adb (Read_Target_Dependent_Values):
+	close target description file once its contents is read.
+	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File
+	and Stderr_File): Close local file descriptors before spawning
+	child process.
+	* exp_util.adb (Containing_Package_With_Ext_Axioms): Limit scope of
+	local variables to make the code easier to understand and avoid
+	duplicated calls to Parent and Generic_Parent.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* s-os_lib.ads: Minor comment fix.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_N_Assignment_Statement): Do no generate
+	a discriminant check for a type whose partial view has unknown
+	discriminants when the full view has discriminants with defaults.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.adb (Remove_Side_Effects): When generating C code
+	remove side effect of type conversion of access to unconstrained
+	array type.
+	(Side_Effect_Free): Return false for the type
+	conversion of access to unconstrained array type when generating
+	C code.
+	* sem_res.adb (Resolved_Type_Conversion): Remove side effects
+	of access to unconstrained array type conversion when generating
+	C code.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Build_Predicate_Function_Declaration): New
+	function, to construct the declaration of a predicate function
+	at the end of the current declarative part rather than at the
+	(possibly later) freeze point of the type. This also allows uses
+	of a type with predicates in instantiations elsewhere.
+	(Resolve_Aspect_Expression): New procedure to detect visiblity
+	errors in aspect expressions, at the end of the declarative part
+	that includes the type declaration.
+	* sem_ch3.adb (Complete_Private_Subtype): Propagate properly the
+	predicate function from private to full view.
+	* einfo.adb (Predicate_Function): Refine search for predicate
+	function when type has a full view and predicate function may
+	be defined on either view.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* frontend.adb: Passing the root of the tree to
+	Unnest_Subprograms().
+	* exp_ch6.adb (Expand_N_Subprogram_Body): Remove code that
+	took care of adding subprograms to the Unest_Bodies table since
+	performing such action too early disables the ability to process
+	generic instantiations.
+	(Unnest_Subprograms): Adding parameter.
+	(Search_Unnesting_Subprograms): New subprogram.
+	* exp_ch6.ads (Unnest_Subrograms): Update documentation.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_util.adb, freeze.adb, sem_util.adb: Minor reformatting.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_unst.adb (Check_Static_Type): For a private type, check
+	full view.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Check_Type): Reject an attribute reference in
+	an aspect expression, when the prefix of the reference is the
+	current instance of the type to which the aspect applies.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about
+	hiding unless we're actually hiding something. The previous
+	code would (for example) warn about a "<" on a record type
+	because it incorrectly thought it was hiding the "<" on Boolean
+	in Standard. We need to check that the homonym S is in fact a
+	homograph of a predefined operator.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_util.ads, exp_util.adb (Build_Procedure_Form): Moved here
+	from exp_ch6.adb, for use in SPARK_To_C mode when creating the
+	procedure equivalent to a function returning an array, when this
+	construction is deferred to the freeze point of the function.
+	* sem_util.adb (Is_Unchecked_Conversion_Instance): Include a
+	function that renames an instance of Unchecked_Conversion.
+	* freeze.adb (Freeze_Subprogram): Generate the proper procedure
+	declaration for a function returning an array.
+	* exp_ch6.adb (Build_Procedure_Form): Moved to exp_util.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.ads, sem_util.adb (Is_Expanded_Priority_Attribute):
+	New predicate to determine that in a context with full run-time,
+	a function call is an expansion of a reference to attribute
+	Priority.
+	* sem_ch5.adb (Analyze_Function_Call): use it.
+	* exp_ch5.adb (Expand_N_Subprogram_Call): use it.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.adb Flag286 is now used as Is_Exception_Handler.
+	(Is_Exception_Handler): New routine.
+	(Set_Is_Exception_Handler): New routine.
+	(Write_Entity_Flags): Output the status of Is_Exception_Handler.
+	* einfo.ads New attribute Is_Exception_Handler along with
+	occurrences in entities.
+	(Is_Exception_Handler): New routine along with pragma Inline.
+	(Set_Is_Exception_Handler): New routine along with pragma Inline.
+	* exp_ch7.adb (Make_Transient_Block): Ignore blocks generated
+	for exception handlers with a choice parameter.
+	* sem_ch11.adb (Analyze_Exception_Handlers): Mark the scope
+	generated for a choice parameter as an exception handler.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch3.adb (Build_Derived_Access_Type): Remove dead code.
+	(Constrain_Discriminated_Type): In an instance, if the type has
+	unknown discriminants, use its full view.
+	(Process_Subtype): Check that the base type is private before
+	adding subtype to Private_Dependents list.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch13.adb: Minor comment fix.
+
+2016-04-20  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch4.adb: Fix typos in comments.
+	* sem_res.adb (Resolve_Case_Expression): Fix type of case alternatives.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): A reference to the
+	current instance of a task type is legal if the prefix is an
+	expression of that task type and the selector is an entry or
+	entry family.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-cfdlli.ads (List): Type is no longer tagged, not needed. Move
+	varsize field at the end for efficiency.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Do not invoke gprls when the invocation of "gnat
+	ls" includes the switch -V.
+	* clean.adb: "<target>-gnatclean -P" now calls "gprclean
+	--target=<target>"
+	* make.adb: "<target>-gnatmake -P" now calls "gprbuild
+	--target=<target>"
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Qualify_Type): Do not perform
+	partial qualification when the immediate scope is a generic unit.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_unst.adb: Minor reformatting.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator_Expression): Ensure that the
+	tag assignment and adjustment preceed the accessibility check.
+	* exp_ch7.adb (Is_Subprogram_Call): Reimplemented.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_prag.adb (Expand_Attributes): Ensure that
+	the temporary used to capture the value of attribute 'Old's
+	prefix is properly initialized.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_unst.ads, exp_unst.adb (Get_Level, Subp_Index): Moved to library
+	level.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch9.adb (Analyze_Task_Type_Declaration): Shut down warning
+	in codepeer mode.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* make.adb: Code cleanup.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_Allocator_Expression): Help C code
+	generation.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Copy_Generic_Node): Handle the special
+	qualification installed for universal literals that act as
+	operands in binary or unary operators.	(Qualify_Operand): Mark
+	the qualification to signal the instantiation mechanism how to
+	handle global reference propagation.
+	* sinfo.adb (Is_Qualified_Universal_Literal): New routine.
+	(Set_Is_Qualified_Universal_Literal): New routine.
+	* sinfo.ads New attribute Is_Qualified_Universal_Literal along
+	with occurrences in nodes.
+	(Is_Qualified_Universal_Literal):
+	New routine along with pragma Inline.
+	(Set_Is_Qualified_Universal_Literal): New routine along with
+	pragma Inline.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem.adb (Do_Analyze): Save and restore Style_Max_Line_Length
+	so that the corresponding checks are preserved across compilations
+	that include System.Constants in their context.
+
+2016-04-20  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_type.adb: Minor typo fix and reformatting.
+	* a-conhel.ads: Update comment.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* a-cihama.adb, a-cihase.adb, a-coinve.adb (Copy): Rewrite the
+	code so it doesn't trigger an "uninit var" warning.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_attr.ads Add new table Universal_Type_Attribute.
+	* sem_util.adb (Yields_Universal_Type): Use a table lookup when
+	checking attributes.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Init_Stored_Discriminants,
+	Init_Visible_Discriminants): New procedures, subsidiary of
+	Build_Record_Aggr_Code, to handle properly the construction
+	of aggregates for a derived type that constrains some parent
+	discriminants and renames others.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch12.adb (Qualify_Universal_Operands): New routine.
+	(Save_References_In_Operator): Add explicit qualifications in
+	the generic template for all operands of universal type.
+	* sem_type.adb (Disambiguate): Update the call to Matches.
+	(Matches): Reimplemented.
+	* sem_util.ads, sem_util.adb (Yields_Universal_Type): New routine.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Rep_Item_Too_Late): Better error message for
+	an illegal aspect that freezes the entity to which it applies.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* a-stwibo.ads, a-stzbou.ads
+	("="): Add overriding keyword before function to avoid crash when
+	compiler is called with -gnatyO (check overriding indicators).
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Check_Policy):  If this
+	is a configuration pragma and it uses the ARG syntax, insert
+	the rewritten pragma after the current one rather than using
+	Insert_Actions.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb (Backend_Processing_Possible): Add handling of
+	C back-end.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-imgllu.adb, sem_util.adb, s-imgint.adb, s-imguns.adb,
+	s-imglli.adb: Minor reformatting.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Rewrite_Renamed_Operator): Do not rewrite the
+	renamed operator when the associated node appears within a
+	pre/postcondition.
+	* sem_util.ads, sem_util.adb (In_Pre_Post_Condition): New routine.
+
+2016-04-20  Yannick Moy  <moy@adacore.com>
+
+	* osint.adb (Relocate_Path): Fix test when Path is shorter than Prefix.
+	* einfo.adb (Set_Overridden_Operation): Add assertion.
+	* sem_util.adb (Unique_Entity): for renaming-as-body return the spec
+	entity.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* exp_unst.adb (Append_Unique_Call): New subprogram.
+	(Unnest_Subprogram): Replace the unique occurrence
+	of Call.Append() by Append_Unique_Call() which protects us from
+	adding to the Calls table duplicated entries.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_attr.adb (Is_GCC_Target): Fix for C backend.
+	* xref_lib.ads (Dependencies_Tables): instantiate
+	Table package with types that guarantee its safe use.
+	* s-imgllu.adb, s-imgint.adb, s-imguns.adb, s-imglli.adb: Avoid nested
+	procedures.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]):
+	Disable expansion when generating C code.
+	* sinfo.ads, inline.ads: Minor editing.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_util.adb, contracts.adb, ghost.adb, exp_ch6.adb: Minor
+	reformatting.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Build_Postconditions_Procedure): Code cleanup.
+	* ghost.adb (Os_OK_Ghost_Context.Is_OK_Declaration): Handle the
+	declaration of the internally built _postcondition procedure.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* snames.ads-tmpl (Internal_Attribute_Id, Attribute_Class_Array): Fix
+	indentation.
+	* sem_util.adb (Is_Unchecked_Conversion_Instance):
+	defense against library-level renamings of other functions,
+	which are never instances of Unchecked_Conversion.
+	* einfo.ads: minor fix of casing in comment
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_N_Subprogram_Stub): Do not expand a body
+	that has been analyzed and expanded already. Qualify the names
+	in the proper body for use in the generation of C code.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* contracts.adb (Build_Postconditions_Procedure): Force its
+	inlining when generating C code.
+	* sem_attr.adb (Analyze_Attribute_Old_Result): Handle inlined
+	_postconditions when generating C code.
+	* exp_ch6.adb (Inlined_Subprogram): Inline calls to
+	_postconditions when generating C code.
+	* sinfo.ads, sinfo.adb (Corresponding_Spec, Set_Corresponding_Spec):
+	types of return value and argument changed from Node_Id to
+	Entity_Id.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* make.adb, clean.adb, gnatname.adb: Revert previous change for now.
+
+2016-04-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch12.adb (Analyze_Instance_And_Renamings): Do not reset
+	the Has_Delayed_Freeze flag on the anonymous instance node.
+
+2016-04-20  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Remove transient
+	scope associated with the renaming object declaration.
+	* exp_util.adb (Insert_Actions): Remove handling of iterator
+	loop marked as requiring the secondary stack.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Attribute, case 'Image): Implement
+	AI12-0124, which extends the functionality of the attribute so it
+	reflects the semantics of GNAT 'Img when applied to scalar types.
+	* lib-xref.adb: minor whitespace layout fix.
+
+2016-04-20  Vincent Celier  <celier@adacore.com>
+
+	* clean.adb (Gnatclean): Fail if project file specified and
+	gprclean is not available.
+	* gnatname.adb: Fail is -P is used and gprname is not available.
+	* make.adb (Initialize): Fail if project file specified and
+	gprbuild is not available.
+
+2016-04-20  Bob Duff  <duff@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Do not use secondary
+	stack when possible.
+
+2016-04-20  Gary Dismukes  <dismukes@adacore.com>
+
+	* par_sco.adb, sem_util.adb, sem_ch13.adb: Minor typo corrections and
+	reformatting.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Default_Storage_Pool):
+	If the pragma comes from an aspect specification, verify that
+	the aspect applies to an entity with a declarative part.
+	* exp_ch5.adb: Code cleanup.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_If_Expression): If first expression is
+	universal, resolve subsequent ones with the corresponding class
+	type (Any_Integer or Any_Real).
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): If expansion is
+	disabled, complete the analysis of the iterator name to ensure
+	that reference for entities within are properly generated.
+
+2016-04-20  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-dispat.ads (Yield): add Global contract.
+	* a-calend.ads, a-reatim.ads: Added Initializes => Clock_Time.
+	* a-taside.adb: Added Initializes => Tasking_State.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Build_Invariant_Procedure):
+	Reimplement the invariant procedure spec and body insertion.
+
+2016-04-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch13.adb (Add_Invariant): Do not replace
+	the saved expression of an invariatn aspect when inheriting
+	a class-wide type invariant as this clobbers the existing
+	expression. Do not use New_Copy_List as it is unnecessary
+	and leaves the parent pointers referencing the wrong part of
+	the tree. Do not replace the type references for ASIS when
+	inheriting a class-wide type invariant as this clobbers the
+	existing replacement.
+
+2016-04-20  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Build_Explicit_Dereference): If the designated
+	expression is an entity name, generate reference to the entity
+	because it will not be resolved again.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+	gnat_rm.texi: Update documentation.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* par_sco.adb (Traverse_One, case N_Case_Statement):
+	Skip pragmas before the first alternative.
+	(Traverse_Handled_Statement_Sequence, Exception_Handlers): Likewise.
+
+2016-04-19  Tristan Gingold  <gingold@adacore.com>
+
+	* adaint.c (__gnat_lwp_self): New function (for darwin).
+	* s-osinte-darwin.ads, s-osinte-darwin.adb (lwp_self): Import
+	of __gnat_lwp_self.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* sem_util.adb (Build_Elaboration_Entity): Always request an
+	elab counter when preserving control-flow.
+
+2016-04-19  Olivier Hainque  <hainque@adacore.com>
+
+	* sem_ch13.adb (Build_Invariant_Procedure_Declaration): Set
+	Needs_Debug_Info when producing SCOs.
+	* par_sco.adb (Traverse_Aspects): Fix categorization of
+	Type_Invariant to match actual processing as activated depending
+	on pragma Assertion_Policy.
+	* sem_prag.adb (Analyze_Pragma): Remove special case for
+	Name_Invariant regarding SCO generation, which completely disabled
+	the production of SCOs for Invariant pragmas and aspects.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* checks.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
+	reformatting.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* freeze.adb (Freeze_Profile): Refine predicate that checks
+	whether a function that returns a limited view is declared in
+	another unit and cannot be frozen at this point.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_aggr.adb (Component_Count): Handle properly superflat
+	arrays, i.e. empty arrays where Hi < Lo - 1, to ensure that the
+	return value of the function is Natural, rather than leaving
+	the handling of such arrays to the caller of this function.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb, sem_attr.adb, par-prag.adb, exp_aggr.adb, sem_type.adb
+	sem_ch12.adb, sem_ch3.adb, exp_ch7.adb, exp_ch9.adb: Code cleanup.
+	* sem_res.adb, sem_util.ads, sem_util.adb (Is_OK_Volatile_Context):
+	Promoted from being a nested subprogram in Sem_Res.Resolve_Entity_Name
+	to publicly visible routine in Sem_Util.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* checks.adb (Apply_Parameter_Aliasing_Checks): Do not apply
+	the check if the type of the actual is By_Reference.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Within_Subprogram_Call): Detect
+	also nodes that appear in entry calls.
+	(Resolve_Actuals, Insert_Default): Propagate
+	dimension information if any, from default expression to the
+	copy that appears in the list of actuals.
+	* uintp.ads: minor whitespace fix in comment.
+	* sem_prag.adb, stringt.adb, inline.adb, lib-xref-spark_specific.adb:
+	Minor code cleanup.
+	* set_targ.adb (Set_Targ): convert directly from
+	Natural to Pos, without intermediate conversion to Int.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_ch6.adb (Process_Formals): Mark suspicious reference to
+	SPARK RM in comment.
+	* sem_prag.adb (Analyze_Global_Item): Fix reference to SPARK RM
+	in comment.
+	* sem_res.adb (Property_Error, Resolve_Actuals): Fix reference
+	to SPARK RM in both comment and error message.
+
+2016-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_ch6.adb (Possible_Freeze): If the type is an incomplete
+	CW type, then the subprogram must have a delayed freeze. This
+	ensures that the backend can properly recover the full view when
+	elaborating the access subprogram declaration.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
+	overloadable entity if originally overloaded.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
+	exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
+	sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
+	sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
+	clean up.
+
+2016-04-19  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_util.adb (Copy_Node_With_Replacement):
+	use Set_Comes_From_Source instead of directly manipulating
+	internals of the node table.
+	* sem_util.adb (Within_Scope): refactored to remove duplicated code.
+	* sem_aux.adb (Get_Rep_Pragma,
+	Subprogram_Body_Entity, Subprogram_Spec): declare variables that
+	do not change as constants and initialize them in the declaration.
+	(Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
+	variables that do not change as constants and initialize them
+	in the declaration.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_res.adb (Resolve_Entry_Call): If the entry has
+	preconditions it is rewritten by means of a wrapper that
+	incorporates the original call. Before rewriting generate a
+	reference to the entry being called to prevent spurious warnings
+	and provide correct cross-reference information.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
+	local constant Scop. Ignore any internally generated loops when
+	performing the check concerning an abstract subprogram call
+	without a controlling argument.
+	* sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
+
+2016-04-19  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Check_A_Call): There are cases where we have No
+	(Ent) after the Alias loop, even when there was no previous error,
+	so we can't assert that there was an error.
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
+	Reject use of type name as a prefix to 'access within an aggregate
+	in a context that is not the declarative region of a type.
+
+2016-04-19  Vincent Celier  <celier@adacore.com>
+
+	* gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
+	-P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
+	-l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
+	Remove anything related to project files
+	* g-mbdira.adb: minor whitespace cleanup
+	* g-spipat.adb: minor removal of extra spaces after closing paren
+
+2016-04-19  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch6.adb (Expand_Actuals):  If post-statements are present
+	and the enclosing context is a function call or indexing, build
+	an Expression_With_Actions for the call.
+
+2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
+	a with line for an ignored Ghost unit.
+	* sem_ch7.adb (Analyze_Package_Declaration): Add local constant
+	Par. A child package is Ghost when its parent is Ghost.
+	* sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
+	a subprogram declaration that acts as a compilation unit.
+
+2016-04-18  Michael Matz  <matz@suse.de>
+
+	* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
+	(gnat_to_gnu_field): Ditto.
+	(components_to_record): Ditto.
+	(create_variant_part_from): Ditto.
+	(copy_and_substitute_in_size): Ditto.
+	(substitute_in_type): Ditto.
+	* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
+	(make_packable_type): Ditto.
+	(maybe_pad_type): Ditto.
+	(finish_fat_pointer_type): Ditto.
+	(finish_record_type): Ditto and use SET_DECL_ALIGN.
+	(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
+	(create_field_decl): Use SET_DECL_ALIGN.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.adb (Overridden_Operation): assert that
+	function is called for valid arguments.
+	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
+	s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
+	sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
+	sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
+	s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
+	No space after closing parenthesis except where required for
+	layout.
+	* sem_res.adb: Minor reformatting.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
+	statement when relevant.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.adb (Enqueue): Properly handle the
+	case where the new element has a unique priority.
+
+2016-04-18  Tristan Gingold  <gingold@adacore.com>
+
+	* adaint.h: Define stat structures and functions for iOS
+	simulator.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Resolve_Entry_Call): reset
+	Is_Overloaded flag after resolving calls to overloaded protected
+	operations.
+	* exp_spark.adb (Expand_SPARK): call
+	Qualify_Entity_Names for tasking nodes, i.e. protected types,
+	task types and entries.
+	* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
+	in case of an unconstrained type.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
+	comment to document usage of subprogram in GNATprove.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
+	message for wrong placement of aspect Test_Case.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* einfo.ads: Update the documentation of attribute Renamed_Object.
+	* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
+	in the case of AAMP (same as for use of the -gnatd.P switch) to
+	suppress this optimization, which avoids creating a dependence
+	on the 64-bit arithmetic package.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb: Update comment.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch6.adb (Expand_Call): Make sure instantiations are
+	registered only once as pending here.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
+	(Minimize_Expression_With_Actions): New flag.
+	(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
+	when generating C.
+	(Resolve_Short_Circuit): Redo previous change
+	using Minimize_Expression_With_Actions.
+	(Expand_N_If_Expression,
+	Expand_Short_Circuit_Operator): Restore old code to avoid
+	Expression_With_Actions when Minimize_Expression_With_Actions
+	is set.
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
+	Stderr_File): Close local file descriptors when no longer needed.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
+	mode check that the type of the cursor in an iteration over
+	a formal container is not volatile. The proper check on the
+	element type is done elsewhere.
+
+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-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_res.adb (Resolve_Short_Circuit): Do not use
+	expression-with-actions when generating C.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
+	raise node in GNATprove mode.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* s-fileio.adb: Minor reformatting.
+	* sem_prag.adb (Analyze_Input_Item): Add local
+	variable Input_OK. Do not consider mappings of generic formal
+	parameters to actuals.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
+	type, the cursor is declared in the scope of the parent type.
+	(Analyze_Parameter_Specification): A qualified expression with an
+	iterator type indicates an iteration over a container (explicit
+	or implicit).
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
+	* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
+	* debug.adb: Reserve -gnatd.4 to force generation of C files.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
+	division by zero, instead possibly issue a warning.
+	* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
+	static division by zero, instead add check flag on original
+	expression.
+	* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
+	Only issue error when both SPARK_Mode is On and Warn is False.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* checks.adb (Apply_Scalar_Range_Check): Force
+	warning instead of error when SPARK_Mode is On, on index out of
+	bounds, and set check flag for GNATprove.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
+	Update the comment on usage.  Reimplemented.
+	(Check_Input_States.Check_Constituent_Usage): Update the comment
+	on usage. A Proof_In constituent can now refine an Input state
+	as long as there is at least one Input constituent present.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
+	body id as the sloc of the entity in the generated subprogram
+	declaration, to avoid spurious conformance errors when style
+	checks are enabled.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
+	Refine check on illegal calls to entities within a task body,
+	when the entity is declared in an object of the same type. In
+	a generic context there might be no explicit dereference but if
+	the prefix includes an access type the construct is legal.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
+	RE_Default_Priority.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
+	if the pragma came from an aspect specification.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
+	superfluous conformance check on an inlined body with a previous
+	spec, use the fact that the generated declaration does not come
+	from source. We must treat the entity as coming from source to
+	enable some back-end inlining when pragma appears after the body.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
+	exp_intr.adb: Minor reformatting and typo corrections.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb: Code cleanup.
+
+2016-04-18  Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch13.adb: Minor reformatting and error message tweaking
+	(remove extraneous spaces).
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
+	exists, and it's a fifo, we use "w" as the open string instead of
+	"r+". This is necessary to make a write to the fifo block until
+	a reader is ready.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_attr.adb (Denote_Same_Function): Account
+	for a special case where a primitive of a tagged type inherits
+	a class-wide postcondition from a parent type.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
+	(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
+	of reserved words is OK.
+	(Scan_Pragma_Argument_Association):
+	Add new formal Reserved_Words_OK and update the comment on
+	usage. Code cleanup. Parse an expression or a reserved word in
+	identifier form for pragmas Restriction_Warnings and Restrictions
+	No_Use_Of_Attribute.
+	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
+	Reimplemented.	(Check_Restriction_No_Use_Of_Pragma): Code cleanup.
+	(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
+	flag for an aspect.
+	(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
+	flag for an attribute.	(Set_Restriction_No_Use_Of_Entity):
+	Update the parameter profile.
+	(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
+	a pragma.
+	* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
+	the comment on usage.
+	(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
+	* sem_attr.adb (Analyze_Attribute): Check restriction
+	No_Use_Of_Attribute.
+	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
+	restriction No_Use_Of_Attribute before any rewritings have
+	taken place.
+	* sem_prag.adb (Analyze_Pragma): Check restriction
+	No_Use_Of_Pragma before any rewritings have taken place.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_ch6.adb (Is_Inline_Pragma): The pragma
+	argument can be a selected component, which has no Chars field,
+	so we need to deal with that case (use the Selector_Name).
+	(Check_Inline_Pragma): We need to test Is_List_Member before
+	calling In_Same_List, because in case of a library unit, they're
+	not in lists, so In_Same_List fails an assertion.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* namet.ads, namet.adb: Add an Append that appends a
+	Bounded_String onto a Bounded_String. Probably a little more
+	efficient than "Append(X, +Y);". Also minor cleanup.
+	(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
+	Append_Unqualified_Decoded): Make sure these work with non-empty
+	buffers.
+	* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
+	parameter, defaulting to Global_Name_Buffer.
+	* errout.ads, errout.adb (Adjust_Name_Case): Pass a
+	Bounded_String parameter, no default.
+	* exp_ch11.adb (Expand_N_Raise_Statement): Use local
+	Bounded_String instead of Global_Name_Buffer.
+	* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
+	to Append_Entity_Name, and pass a Bounded_String parameter,
+	instead of using globals.
+	(Add_Source_Info): Pass a Bounded_String parameter, instead of
+	using globals.
+	(Expand_Source_Info): Use local instead of globals.
+	* stringt.ads, stringt.adb (Append): Add an Append procedure
+	for appending a String_Id onto a Bounded_String.
+	(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
+	terms of Append.
+	* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
+	Adjust_Name_Case parameter.
+	* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
+	Set_Casing; that's the default.
+	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
+	protected subprograms are entry calls; otherwise it is not possible to
+	distinguish them from regular subprogram calls.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_ch13.adb (Has_Good_Profile): Improvement
+	of error message. Now indicates subtype_mark of formal parameter
+	rather than the formal's name, plus minor rewording.
+
+2016-04-18  Pascal Obry  <obry@adacore.com>
+
+	* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* par-ch4.adb, sem_prag.adb: Minor reformatting.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sinput.ads, sinput.adb (Build_Location_String): Take a
+	parameter instead of using a global variable.  The function
+	version no longer destroys the Name_Buffer.
+	* stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
+	parameter, which defaults to the Global_Name_Buffer, so some
+	calls can avoid the global.
+	* exp_ch11.adb, exp_intr.adb: Use new interfaces above
+	to avoid using globals. All but one call to Build_Location_String
+	avoids the global. Only one call to String_From_Name_Buffer
+	avoids it.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* namet.adb, namet.ads, exp_unst.adb: Minor reformatting.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_eval.adb (Choice_Matches): Check the expression
+	against the predicate values when the choice denotes a
+	subtype with a static predicate.
+	(Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
+	tests for predicates.
+	(Is_OK_Static_Subtype): A subtype with a dynamic predicate
+	is not static.	(Is_Static_Subtype): A subtype with a dynamic
+	predicate is not static.
+	* sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
+	(Is_Static_Subtype): Update the comment on usage.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Input_Item): Allow
+	generic formals to appear as initialization items.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch13.adb (Analyze_Stream_TSS_Definition,
+	Has_Good_Profile): Additional error message to indicate that
+	the second parameter of the subprogram must be a first subtype.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
+	Use the pragma lookahead that determines whether a subprogram
+	is to be inlined, when some level of backend optimization is
+	required.
+	* sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
+	code used to create an instance body when needed for inlining.
+	* exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
+	call appears within an instantiation that is not a compilation
+	unit, add a pending instantiation for the enclosing instance,
+	so the backend can inline in turn the calls contained in the
+	inlined body.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
+	that relates operations of the parent type to the operations of
+	the derived type has three distinct sources:
+	a) explicit operations of the derived type carry an
+	Overridden_Operation that designates the operation in the
+	ancestor.
+	b) Implicit operations that are inherited by the derived type
+	carry an alias that may be an explicit subprogram (in which case
+	it may have an Overridden_ Operation indicator) or may also be
+	inherited and carry its own alias.
+	c) If the parent type is an interface, the operation of the
+	derived type does not override, but the interface operation
+	indicates the operation that implements it.
+	* sem_prag.adb: Minor reformatting.
+	* sem_prag.adb (Check_External_Property): Update
+	the comment on usage. Reimplement.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_Assignment_Statement): In restricted
+	profiles such as ZFP, ceiling priority is not available.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* sem_elab.adb (Output_Calls): Use
+	Get_Name_String, to clearly indicate that the global Name_Buffer
+	is being used. The previous code used Is_Internal_Name, which
+	returns a Boolean, but also has a side effect of setting the
+	Name_Buffer. Then it called the other Is_Internal_Name, which uses
+	the Name_Buffer for its input. And then it called Error_Msg_N,
+	again using the Name_Buffer. We haven't eliminated the global
+	usage here, but we've made it a bit clearer.
+	This also allows us to have a side-effect-free version of
+	Is_Internal_Name.
+	* namet.ads, namet.adb: Provide a type Bounded_String, along with
+	routines that can be used without using global variables. Provide
+	Global_Name_Buffer so existing code can continue to use the
+	global. Mark the routines that use globals as obsolete.  New code
+	shouldn't call the obsolete ones, and we should clean up existing
+	code from time to time.
+	Name_Find_Str is renamed as Name_Find.
+	* namet.h: Changed as necessary to interface to the new version
+	of Namet.
+	* bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
+	Name_Find.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
+	outside of GNATprove, hence it should not be removed.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Refinement_Clause):
+	The refinement of an external abstract state can now mention
+	non-external constituents.
+	(Check_External_Property): Update all SPARK RM references.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* exp_intr.adb: Remove some duplicated code.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
+	package spec and body out of SPARK.
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* spark_xrefs.ads: Minor comment update.
+
+2016-04-18  Johannes Kanig  <kanig@adacore.com>
+
+	* gnat1drv.adb (Gnat1drv): Force loading of System
+	unit for SPARK.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.adb: Correction to previous change. If a new node
+	is inserted at the front of the queue (because it is higher
+	priority than the previous front node), we need to update
+	Header.Next_Unequal -- not just in the case where the queue was
+	previously empty.
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* a-cuprqu.ads: Change the representation of List_Type from a
+	singly-linked list to a doubly-linked list. In addition, add a
+	pointer Next_Unequal, which points past a possibly-long chain
+	of equal-priority items. This increases efficiency, especially
+	in the case of many equal-priority items.
+	* a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
+	advantage of new data structure.
+	(Finalize): Rewrite in terms of Dequeue, for simplicity.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* contracts.adb (Analyze_Object_Contract,
+	Analyze_Protected_Contract): Remove tests performed in GNATprove.
+	* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
+	Remove query for tests performed in GNATprove.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_aggr.adb (Resolve_Record_Aggregate): If
+	Warn_On_Redundant_Constructs is enabled, report a redundant box
+	association that does not cover any components, as it done for
+	redundant others associations in case statements.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
+	Analyze the generated Check pragma for an inherited condition so
+	that it does not freeze the dispatching type of the primitive
+	operation, because it is pre-analyzed at the point of the
+	subprogram declaration (and not in the subprogram body, as is
+	done during regular expansion).
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* ali.ads: Increase the range of all _Id types to 100 millions.
+
+2016-04-18  Gary Dismukes  <dismukes@adacore.com>
+
+	* sem_warn.adb (Check_References): Change warning to suggest
+	using pragma Export rather than saying "volatile has no effect".
+
+2016-04-18  Bob Duff  <duff@adacore.com>
+
+	* g-souinf.ads (Compilation_ISO_Date): New function to return
+	the current date in ISO form.
+	* exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
+	a call to Compilation_ISO_Date into a string literal containing
+	the current date in ISO form.
+	* exp_intr.ads (Add_Source_Info): Improve documentation.
+	* sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
+	Compilation_ISO_Date.
+	* snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb (Set_Elem_Alignment): Extend setting of alignment
+	to subtypes that are not first subtypes.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
+	Simplify interface.
+	* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
+	generated pragmas after subprogram declaration, rather than in
+	the corresponding subprogram body.
+	* sem_ch6.adb (New_Overloaded_Entity): In GNATProve
+	mode, if the operation is overridding, call
+	Collect_Inherited_Class_Wide_Conditions to generate the
+	corresponding pragmas immediately after the corresponding
+	subprogram declaration.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
+	type to natural numbers.
+	(Stype): document code characters for concurrent entities.
+
+2016-04-18  Olivier Hainque  <hainque@adacore.com>
+
+	* targparm.ads: Update the Frontend_Exceptions default internal
+	value.
+	(Frontend_Exceptions_On_Target): Change default value to True.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Analyze_Selected_Component): Refine error
+	detection when a selected component in the body of a synchronized
+	type is a reference to an object of the same type declared
+	elsewhere. The construct is legal if the prefix of the selected
+	component includes an explicit dereference at any point.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_ch3.adb (Analyze_Object_Declaration): Do not consider
+	internally generated expressions when trying to determine whether
+	a formal parameter of a tagged type subject to Extensions_Visible
+	False is used to initialize an object.
+	* sem_ch4.adb (Analyze_Type_Conversion): Do not consider
+	internally generated expressions when trying to determine whether
+	a formal parameter of a tagged type subject to Extensions_Visible
+	False is used in a type conversion.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Is_Protected_Operation_Call):
+	Add guards to account for a non-decorated selected component.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
+	implementation of Body_Has_SPARK_Mode_On.
+	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
+	New function replacing previous Get_SPARK_Mode_From_Pragma, that
+	deals also with aspects.
+	(Get_SPARK_Mode_Type): Make function internal again.
+	* inline.adb, sem_ch7.adb, sem_util.adb: Use new
+	Get_SPARK_Mode_From_Annotation.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* contracts.adb (Analyze_Object_Contract): Update references to
+	SPARK RM.
+	* freeze.adb (Freeze_Entity): Update references to SPARK RM.
+	* ghost.adb Add with and use clauses for Sem_Disp.
+	(Check_Ghost_Derivation): Removed.
+	(Check_Ghost_Overriding):
+	Reimplemented.	(Check_Ghost_Policy): Update references to SPARK RM.
+	(Check_Ghost_Primitive): New routine.
+	(Check_Ghost_Refinement): New routine.	(Is_OK_Ghost_Context):
+	Update references to SPARK RM.	(Is_OK_Pragma): Update references
+	to SPARK RM. Predicates are now a valid context for references
+	to Ghost entities.
+	* ghost.ads (Check_Ghost_Derivation): Removed.
+	(Check_Ghost_Overriding): Update the comment on usage.
+	(Check_Ghost_Primitive): New routine.
+	(Check_Ghost_Refinement): New routine.
+	(Remove_Ignored_Ghost_Code): Update references to SPARK RM.
+	* sem_ch3.adb (Process_Full_View): Remove the now obsolete check
+	related to Ghost derivations
+	* sem_ch6.adb (Check_Conformance): Remove now obsolete check
+	related to the convention-like behavior of pragma Ghost.
+	(Check_For_Primitive_Subprogram): Verify that the Ghost policy
+	of a tagged type and its primitive agree.
+	* sem_prag.adb (Analyze_Pragma): Update references to SPARK
+	RM. Move the verification of pragma Assertion_Policy Ghost
+	to the proper place. Remove the now obsolete check related
+	to Ghost derivations.
+	(Collect_Constituent): Add a call to Check_Ghost_Refinement.
+	* sem_res.adb (Resolve_Actuals): Update references to SPARK RM.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb: Fix more minor typos in comments.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
+	mode, collect inherited class-wide conditions to generate the
+	corresponding pragmas.
+	* sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
+	* contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
+	procedure for overriding subprograms, used to generate the pragmas
+	corresponding to an inherited class- wide pre- or postcondition.
+	* sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
+	from contracts.adb (Replace_Condition_Entities): Subsidiary
+	Build_Pragma_Check_Equivalent, to implement the proper semantics
+	of inherited class-wide conditions, as given in AI12-0113.
+	(Process_Class_Wide_Condition): Removed.
+	(Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
+	in contract of subprogram, to collect inherited class-wide
+	conditions.
+	(Build_Pragma_Check_Equivalent): Moved to sem_prag.adb
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
+	* a-calend.ads (Ada.Calendar): Mark package spec as
+	SPARK_Mode and add synchronous external abstract state Clock_Time.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_res.adb (Resolve_Call): Prevent inlining of
+	calls inside expression functions.  Factor previous code issuing
+	errors to call Cannot_Inline instead, which does appropriate
+	processing of message for GNATprove.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
+	osint-b.adb: Cleanups.
+
+2016-04-18  Yannick Moy  <moy@adacore.com>
+
+	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
+	body to inline in GNATprove mode when SPARK_Mode On applies to
+	subprogram body.
+	* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
+	public.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* layout.adb: Fix minor typo in comment.
+	* inline.adb: Fix minor pasto.
+	* sem_ch12.ads: Fix minor typos in comments.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Call): Major rewriting to
+	handle some complex cases of tag indeterminate calls that are
+	actuals in other dispatching calls that are themselves tag
+	indeterminate.
+	(Check_Dispatching_Context): Add parameter to support recursive
+	check for an enclosing construct that may provide a tag for a
+	tag-indeterminate call.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_prag.adb (Analyze_Depends_In_Decl_Part):
+	Add global variables Task_Input_Seen and Task_Output_Seen.
+	(Analyze_Global_Item): Detect an illegal use of the current
+	instance of a single protected/task type in a global annotation.
+	(Analyze_Input_Output): Inputs and output related to the current
+	instance of a task unit are now tracked.
+	(Check_Usage): Require
+	the presence of the current instance of a task unit only when
+	one input/output is available.	(Current_Task_Instance_Seen):
+	New routine.
+	(Is_CCT_Instance): New parameter profile. Update
+	the comment on usage. The routine now properly recognizes several
+	cases related to single protected/task types.
+
+2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* freeze.adb (Freeze_Entity): Use New_Freeze_Node
+	to create a brand new freeze node. This handles a case where an
+	ignored Ghost context is freezing something which is not ignored
+	Ghost and whose freeze node should not be removed from the tree.
+	(New_Freeze_Node): New routine.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp.h (__gnat_set_is_vxsim) New function to
+	tell sigtramp-vxworks to handle vxsim signal contexts.	*
+	sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
+	differences in the sigcontext structure between the expected
+	regular x86 or x86_64 ones and the ones received in case of
+	exexution on the vxworks simulator.
+	* init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
+	this information to sigtramp-vxworks.c. Remove the old mechanism for
+	vxsim.
+	* init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch3.adb (Inline_Init_Proc): New function returning
+	whether the initialization procedure of a type should be
+	inlined.  Return again True for controlled type themselves.
+	(Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
+	(Build_Record_Init_Proc): Likewise.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* gnatvsn.ads (Library_Version): Bump to 7.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
+	on the entity of a subprogram declaration that is completed by
+	an expression function.
+
+2016-04-18  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_util.adb (Is_Current_Instance): A entity given by a subtype
+	declaration can appear in an aspect specification for a dynamic
+	predicate, and a pragma for aspect Predicate_Failure.
+	* exp_util.adb (Replace_Subtype_References): Replace current
+	occurrences of the subtype to which a dynamic predicate applies,
+	byt the expression that triggers a predicate check. Needed to
+	implement new aspect Predicate_Failure.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-intsig.ads, a-intsig.adb: Removed, no longer used.
+	* Makefile.rtl: update accordingly.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_type.adb (Disambiguate): Call Covers only when necessary
+	for standard operators.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* atree.ads (Num_Extension_Nodes): Add couple of figures
+	to comment.
+	* atree.adb: Add GNAT.Heap_Sort_G dependency.
+	(Print_Statistics): New exported procedure to print statistics.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
+	as to be inlined if the type needs finalization.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
+	alignment for x86_64.
+	* init.c: Better fix for guard page reset on x86_64-vx7.
+	Do not try to retrieve the page that actually raised
+	the signal as the probing mechanism used on x86_64 do not allow
+	such retrieval. We thus just test if the guard page is active,
+	and re-activate it if not.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
+	added.
+
+2016-04-18  Jerome Lambourg  <lambourg@adacore.com>
+
+	* affinity.c: Use the proper type for task id.
+	* init.c (__gnat_inum_to_ivec): ivec is a pointer.
+
+2016-04-18  Arnaud Charlet  <charlet@adacore.com>
+
+	* sem_prag.adb (Process_Convention): Relax rule on exporting
+	Intrinsic types if Relaxed_RM_Semantics is True.
+
+2016-04-18  Vincent Celier  <celier@adacore.com>
+
+	* sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
+	checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
+	sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
+	sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
+	exp_ch3.ads, exp_unst.adb: Change "descendent" to
+	"descendant" in comments, error messages and identifiers.
+	* gcc-interface/decl.c: Ditto.
+
+2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* sem_type.adb (Operator_Matches_Spec): Call First_Formal on
+	New_S only once at the beginning of the function.
+
+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.