* gnatvsn.ads: Bump copyright year.
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 3 Jan 2016 00:41:43 +0000 (00:41 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 3 Jan 2016 00:41:43 +0000 (00:41 +0000)
From-SVN: r232039

gcc/ada/ChangeLog
gcc/ada/ChangeLog-2015 [new file with mode: 0644]
gcc/ada/gnatvsn.ads

index 7226214dec51d5d227e7b6b09bbd32138734c3b8..8813a9b41583550a09ee269e14bb8e34087b1e8a 100644 (file)
-2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
-       case identical to FLOAT_EXPR.
-       <IMAGPART_EXPR>: Likewise.
-
-2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
-       layout in type_annotate_only mode, skip discriminants of derived
-       tagged types renaming those of the parent type.
-       In type_annotate_only mode, if the type is tagged, do not override a
-       size clause but take into account the alignment of the tag.
-       (annotate_rep): In type_annotate_only mode, deal with  discriminants
-       of derived tagged types renaming those of the parent type.
-
-2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
-       retrieve the component type if this is an array and do not issue the
-       warning for concurrent types.
-
-2015-12-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (TYPE_DEBUG_TYPE): Remove duplicate.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/ada-tree.h
-       (TYPE_IMPLEMENTS_PACKED_ARRAY_P, TYPE_CAN_HAVE_DEBUG_TYPE_P,
-       TYPE_ORIGINAL_PACKED_ARRAY, SET_TYPE_ORIGINAL_PACKED_ARRAY): New
-       macros.
-       * gcc-interface/decl.c (add_parallel_type_for_packed_array):
-       Rename to associate_original_type_to_packed_array.  When
-       -fgnat-encodings=minimal, set original packed array type as so
-       instead of as a parallel type to the implementation type.  In
-       this case, also rename the implementation type to the name of
-       the original array type.
-       (gnat_to_gnu_entity): Update invocations to
-       add_parallel_type_for_packed_array.  Tag ARRAY_TYPE nodes for
-       packed arrays with the TYPE_PACKED flag.
-       When -fgnat-encodings=minimal:
-         - strip ___XP suffixes in packed arrays' names;
-         - set the debug type for padding records around packed arrays
-           to the packed array;
-         - do not attach ___XUP types as parallel types of constrained
-           array types.
-       * gcc-interface/misc.c (gnat_print_type): Update to handle
-       orignal packed arrays.
-       (gnat_get_debug_type): Update to reject packed arrays
-       implementation types.
-       (get_array_bit_stride): New.
-       (gnat_get_array_descr_info): Add packed arrays handling.
-       * gcc-interface/utils.c (maybe_pad_type): When
-       -fgnat-encodings=minimal, set the name of the padding type to
-       the one of the original packed type, if any.  Fix TYPE_DECL
-       peeling around the name of the input type.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/misc.c (gnat_get_type_bias): New.
-       (LANG_HOOKS_GET_TYPE_BIAS): Redefine macro to implement the
-       get_type_bias language hook.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/misc.c (gnat_get_array_descr_info): When the
-       array has more dimensions than the language hook can handle,
-       fall back to a nested arrays description.  Handle context-less
-       array types.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): When
-       -fgnat-encodings-minimal, do not add ___XUP/XUT suffixes to type
-       names and do not generate ___XA parallel types.
-       * gcc-interface/misc.c (gnat_get_array_descr_info): Match fat
-       and thin pointers and generate the corresponding array type
-       descriptions.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/ada-tree.def (POWER_EXPR): New binary operation.
-       * gcc-interface/ada-tree.h (TYPE_FIXED_POINT_P): New macro.
-       (TYPE_IS_FIXED_POINT_P): New macro.
-       (TYPE_SCALE_FACTOR): New macro.
-       (SET_TYPE_SCALE_FACTOR): New macro.
-       * gcc-interface/decl.c: Include urealp.h
-       (gnat_to_gnu_entity): Attach trees to encode scale factors to
-       fixed-point types.
-       * gcc-interface/misc.c (gnat_print_type): Print scale factors
-       for fixed-point types.
-       (gnat_get_fixed_point_type_info): New.
-       (gnat_init_ts): Initialize data for the POWER_EXPR binary
-       operation.
-       (LANG_HOOKS_GET_FIXED_POINT_INFO): Redefine macro to implement
-       the get_fixed_point_type_info language hook.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/ada-tree.h (struct lang_type): Rename the t
-       field as t1 and add a t2 one.
-       (get_lang_specific): New.
-       (GET_TYPE_LANG_SPECIFIC): Refactor to use get_lang_specific.
-       (SET_TYPE_LANG_SPECIFIC): Likewise.
-       (GET_TYPE_LANG_SPECIFIC2): New macro.
-       (SET_TYPE_LANG_SPECIFIC2): New macro.
-       (TYPE_DEBUG_TYPE): New macro.
-       (SET_TYPE_DEBUG_TYPE): New macro.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): When
-       -fgnat-encodings=minimal, set padding types' debug type to the
-       padded one (i.e. strip ___PAD GNAT encodings) and set
-       constrained record subtypes's debug type to the base type.
-       * gcc-interface/misc.c (gnat_print_type): Print debug types.
-       (gnat_get_debug_type): New.
-       (gnat_get_array_descr_info): When -fgnat-encodings=minimal, set
-       a byte stride for arrays that contain a type whose debug type
-       has variable length.
-       (LANG_HOOKS_GET_DEBUG_TYPE): Redefine macro to implement the
-       debug type language hook.
-       * gcc-interface/utils.c (maybe_pad_type): When
-       -fgnat-encodings=minimal, set padding types' debug type to the
-       padded one.  Restore XVZ variables creation when
-       -fgnat-encodings-minimal and use them to hold padding types'
-       byte size.  For library-level padding types, share this variable
-       across translation units.  Tag XVZ variables as artificial.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Disable ___XVS GNAT
-       encodings when -fgnat-encodings=minimal.
-       (components_to_record): Disable ___XVE, ___XVN, ___XVU and
-       ___XVZ GNAT encodings when -fgnat-encodings=minimal.
-       * gcc-interface/utils.c (maybe_pad_type): Disable __XVS GNAT
-       encodings when -fgnat-encodings=minimal.
-
-2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/misc.c (gnat_encodings): Undefine macro and
-       declare a global variable.
-       (gnat_post_options): Initialize this global from options.
-
-2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/48013
-       * gcc-interface/trans.c (empty_stmt_list_p): New predicate.
-       (gigi): Invoke it to compute the No_Elaboration_Code property.
-       (insert_code_for): Do not insert the code if it's empty.
-
-2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
-       * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
-       the reference unmodified.
-       <NULL_EXPR>: New case.  Likewise.
-
-2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (create_var_decl): Adjust comment.
-       (create_subprog_decl): Likewise.
-       * gcc-interface/utils.c (create_var_decl): Likewise.
-       (create_subprog_decl): Likewise.
-
-2015-12-10  Tom de Vries  <tom@codesourcery.com>
-
-       PR ada/65102
-       * gnat-style.texi: Set nodefaultgnufreedocumentationlicensenode and
-       define @node GNU Free Documentation License locally.
-
-2015-12-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/66526
-       * g-expect.adb (Set_Up_Child_Communications): Add matching condition
-       for uses of Input, Ouput and Error variables after the Execvp call.
-
-2015-12-08  Jakub Jelinek  <jakub@redhat.com>
-
-       PR c/48088
-       PR c/68657
-       * gcc-interface/trans.c (Pragma_to_gnu): Adjust control_warning_option
-       caller.
-
-2015-12-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
-
-       PR ada/60164
-       * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
-
-2015-12-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/50048
-       * gcc-interface/Makefile.in (INCLUDES): Use -iquote.
-
-2015-12-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/56274
-       * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
-       (pthread_rwlockattr_t): Likewise.
-
-2015-12-06  Ludovic Brenta  <ludovic@ludovic-brenta.org>
-
-       PR ada/49944
-       * s-osinte-freebsd.ads: Minor reformatting.
-       (Stack_Base_Available): Correct comments.
-       * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
-       clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
-       mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
-       pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
-       pthread_attr_setscope, pthread_attr_getscope,
-       pthread_attr_setinheritsched, pthread_attr_getinheritsched,
-       Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
-       * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
-       the System.Task_Primitives.Operations package.
-
-2015-12-06  Ludovic Brenta  <ludovic@ludovic-brenta.org>
-
-       PR ada/49940
-       * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
-
-2015-12-01  Jan Sommer  <soja-lists@aries.uberspace.de>
-
-       PR ada/68169
-       * s-oscons-tmplt.c: Generate pthread constants for RTEMS
-       * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada
-
-2015-12-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Reorder.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gigi): Fix initialization order.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * osint.adb: Add use type clause for CRTL.size_t.
-       (C_String_Length): Return CRTL.size_t instead of Integer.
-       (To_Path_String_Access): Take CRTL.size_t instead of Integer.
-       (Get_Libraries_From_Registry): Use CRTL throughout.
-       (To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
-       (To_Canonical_File_List): Likewise.
-       (To_Canonical_File_Spec): Likewise.
-       (To_Canonical_Path_Spec): Likewise.
-       (To_Host_Dir_Spec): Likewise.
-       (To_Host_File_Spec): Likewise.
-       (Update_Path): Use CRTL throughout.
-       * s-shasto.adb: Add with clause for System.CRTL.
-       (Initialize): Rename CRTL.strncpy instead of importing it manually.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (create_var_decl): Adjust prototype.
-       (create_subprog_decl): Likewise.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
-       static_p into static_flag and add volatile_flag local variable.
-       Do not locally change the type of a volatile object, except for the
-       pointed-to type if the object is handled by reference.  Adjust calls
-       to create_var_decl.
-       <E_Subprogram_Type>: Likewise for const and noreturn subprograms.
-       (get_minimal_subprog_decl): Adjust call to create_subprog_decl.
-       (elaborate_expression_1): Adjust call to create_var_decl.
-       (gnat_to_gnu_field): Minor tweak.
-       * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
-       create_subprog_decl.
-       (build_raise_check): Likewise.
-       (Subprogram_Body_to_gnu): Likewise.
-       (create_temporary): Likewise.
-       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
-       (Exception_Handler_to_gnu_gcc): Likewise.
-       (Compilation_Unit_to_gnu): Likewise.
-       (gnat_to_gnu): Likewise.
-       * gcc-interface/utils.c (maybe_pad_type): Likewise.
-       (create_var_decl): Add VOLATILE_FLAG parameter and handle it.
-       (create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
-       handle them.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (is_simple_additive_expression): Declare.
-       * gcc-interface/trans.c (struct range_check_info_d): Add DISP and
-       NEG_P fields.
-       (find_loop_for): Add DISP and NEG_P parameters with default value.
-       Call is_simple_additive_expression to handle additive expressions.
-       (Loop_Statement_to_gnu): Deal with displacement in range checks.
-       (Raise_Error_to_gnu): Likewise.
-       (gnat_to_gnu): Add call to find_loop_for.
-       (is_simple_additive_expression): New function extracted from...
-       (gnat_invariant_expr): ...here.  Call it on the expression.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
-
-2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
-       Remove obsolete code setting the alignment on some atomic types.
-       When the type has no alignment but needs strict alignment and has a
-       size clause, compute a maximum alignment and set it on the type.
-       (adjust_packed): Remove handling of -2 argument.  Deal with TYPE_ALIGN
-       and TYPE_MAX_ALIGN directly.
-       (gnat_to_gnu_field): Do not document -2 as argument.
-       (components_to_record): Likewise.
-       * gcc-interface/utils.c (finish_record_type): Do not bump alignment of
-       the record type beyond TYPE_MAX_ALIGN.  Reset the latter on exit.
-
-       * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around.
-       (GNATLIBCFLAGS_FOR_C): Reformat.
-       (GCC_CFLAGS): Delete.
-
-2015-11-29  Matthias Klose  <doko@ubuntu.com>
-
-       PR ada/68564
-       * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and
-       mipsel/mips64el bitness detection.
-       Merge the mipsel/mips64el definitions into one.
-
-2015-11-28  Matthias Klose  <doko@ubuntu.com>
-
-       PR ada/68564
-       * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.
-
-2015-11-25  Arnaud Charlet  <charlet@adacore.com>
-
-       * lib-xref-spark_specific.adb
-       (Add_SPARK_Scope): Take entry families into account.
-       * a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
-       Clock_For_Interrupts): preconditions added.
-       * a-extiin.ads (Clock): preconditions added.
-       * par-ch3.adb (P_Declarative_Items): In case of misplaced
-       aspect specifications, ensure that flag Done is properly set to
-       continue parsing.
-
-2015-11-25  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
-       and use of 'Reference when needed.
-
-2015-11-25  Doug Rupp  <rupp@adacore.com>
-
-       * sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
-       sake of uniformity.
-       * init.c (__gnat_inum_to_ivec): Add some casting to avoid
-       warnings when sizeof(long) != sizeof(int)
-
-2015-11-25  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
-       consideration.
-       (Add_SPARK_Scope): Take tasks into account.
-       (Detect_And_Add_SPARK_Scope): Take tasks into account.
-       (Enclosing_Subprogram_Or_Library_Package): Take tasks into account.
-
-2015-11-25  Bob Duff  <duff@adacore.com>
-
-       * sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.
-
-2015-11-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
-       parameter.
-       * sem_util.adb (Has_Compatible_Alignment): Likewise.
-       (Has_Compatible_Alignment_Internal): Likewise.  Do not set the
-       result to Unknown for packed types if Layout_Done is true.
-       * checks.adb (Apply_Address_Clause_Check): Adjust call and
-       pass False to Has_Compatible_Alignment.
-       * sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.
-
-2015-11-25  Vincent Celier  <celier@adacore.com>
-
-       * gnatcmd.adb: When <target>-gnat is called with switch -P
-       and a GPR tool is invoked, invoke the GPR tool with switch
-       --target=<target>.
-
-2015-11-25  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * opt.adb, bcheck.adb: Minor reformatting.
-
-2015-11-25  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Enable the signal trampoline on x86_64-vx7
-       * sigtramp-vxworks-target.inc: Implement the signal trampoline
-       for x86_64
-       * tracebak.c: Remove the hook to use the generic
-       unwinder on x86_64-vx7.
-
-2015-11-25  Vincent Celier  <celier@adacore.com>
-
-       * gnatcmd.adb: When "gnat name -P" is called, invoke gprname
-       directly if available.
-
-2015-11-25  Tristan Gingold  <gingold@adacore.com>
-
-       * init.c (__gnat_is_stack_guard): Do not use mach calls for
-       IOS simulator.
-
-2015-11-24  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/utils.c (gnat_write_global_declarations): Output
-       debugging information for top-level imported declarations.
-
-2015-11-24  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
-       sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
-       reformatting, rewording, and typo corrections.
-
-2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
-       ASIS mode, do a minimal translation for root types with discriminants.
-       * gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
-       <N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise.  In ASIS mode,
-       process the declarations attached to the body.
-
-2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
-       not build a NULL_EXPR for an N_Expanded_Name.
-
-2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (is_cplusplus_method): Check that the type of
-       the first parameter (indirectly) has C++ convention too.
-
-2015-11-23  Olivier Hainque  <hainque@adacore.com>
-
-       * system-aix.ads: Add Frontend_Exceptions flag.
-       * system-aix64.ads: Likewise.
-       * system-darwin-ppc.ads: Likewise.
-       * system-darwin-ppc64.ads: Likewise.
-       * system-darwin-x86.ads: Likewise.
-       * system-darwin-x86_64.ads: Likewise.
-       * system-dragonfly-x86_64.ads: Likewise.
-       * system-freebsd-x86.ads: Likewise.
-       * system-freebsd-x86_64.ads: Likewise.
-       * system-hpux-ia64.ads: Likewise.
-       * system-hpux.ads: Likewise.
-       * system-linux-alpha.ads: Likewise.
-       * system-linux-armeb.ads: Likewise.
-       * system-linux-armel.ads: Likewise.
-       * system-linux-hppa.ads: Likewise.
-       * system-linux-ia64.ads: Likewise.
-       * system-linux-mips.ads: Likewise.
-       * system-linux-mips64el.ads: Likewise.
-       * system-linux-mipsel.ads: Likewise.
-       * system-linux-ppc.ads: Likewise.
-       * system-linux-ppc64.ads: Likewise.
-       * system-linux-s390.ads: Likewise.
-       * system-linux-s390x.ads: Likewise.
-       * system-linux-sh4.ads: Likewise.
-       * system-linux-sparc.ads: Likewise.
-       * system-linux-sparcv9.ads: Likewise.
-       * system-linux-x86.ads: Likewise.
-       * system-linux-x86_64.ads: Likewise.
-       * system-mingw-x86_64.ads: Likewise.
-       * system-mingw.ads: Likewise.
-       * system-rtems.ads: Likewise.
-       * system-solaris-sparc.ads: Likewise.
-       * system-solaris-sparcv9.ads: Likewise.
-       * system-solaris-x86.ads: Likewise.
-       * system-solaris-x86_64.ads: Likewise.
-       * system-vxworks-arm.ads: Likewise.
-       * system-vxworks-m68k.ads: Likewise.
-       * system-vxworks-mips.ads: Likewise.
-       * system-vxworks-ppc.ads: Likewise.
-       * system-vxworks-sparcv9.ads: Likewise.
-       * system-vxworks-x86.ads: Likewise.
-       * system.ads: Likewise.
-
-2015-11-23  Olivier Hainque  <hainque@adacore.com>
-           Eric Botcazou  <botcazou@adacore.com>
-
-       * opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
-       Back_End_SJLJ and Back_End_ZCX.
-       (Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
-       SJLJ_Exceptions): New functions, reflecting properties of the current
-       Exception_Mechanism.
-       * opt.adb: Implement the new functions.
-       * fe.h: Bind the new Exception_Mechanism and helper functions for gigi.
-
-       * exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
-       use of property helper and update comments.
-       (Expand_Exception_Handlers): Replace tests on mechanism by use of
-       helper. Restrict Abort_Defer to ZCX specifically.
-       * exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
-       mechanism by calls to helper functions. Abort_Undefer for ZCX only,
-       paired with Expand_Exception_Handlers.
-       * exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
-       by calls to helper functions. Abort_Undefer for ZCX only, paired with
-       Expand_Exception_Handlers.
-
-       * lib-writ.ads (P line documentation): Add entry for "FX",
-       representative of unit compiled with Frontend_Exceptions True.
-       * lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
-       compiled with Frontend_Exceptions True.
-
-       * ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
-       whether the ALI file contained an "FX" indication on the P line.
-       (Frontend_Exceptions_Specified): New boolean, to keep track of whether
-       at least an FX ALI file is in the closure.
-       * ali.adb (Scan_ALI): Handle "FX" on the P line.
-       (Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.
-
-       * targparm.ads: Update desription of exception schemes.
-       (Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
-       set to True in system.ads, or not set at all.
-       * targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
-       Rename ZCD to ZCX for consistency.
-       (FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.
-
-       * gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
-       setting, now from combination of Frontend_Exceptions and ZCX_By_Default.
-
-       * bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
-       as ...
-       (Check_Consistent_Exception_Handling): Check consistency of both
-       ZCX_By_Default and Frontend_Exceptions.
-       (Check_Configuration_Consistency): Check_Consistent_Exception_Handling
-       if either flag was set at least once.
-
-       * make.adb (Check): Remove processing of a possible -fsjlj coming from
-       lang-specs.h.
-       * gnatlink.adb (Gnatlin): Likewise.
-
-       * gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
-       both ZCX_By_Default and Frontend_Exceptions.
-       * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
-       Use eh property helper to test for back-end exceptions. Adjust
-       mechanism name when testing for front-end sjlj.
-       (case E_Procedure): Likewise.
-       * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
-       Likewise, and rename local variables.
-       (Exception_Handler_to_gnu_sjlj): Rename as
-       Exception_Handler_to_gnu_fe_sjlj.
-       (Exception_Handler_to_gnu_zcx): Rename as
-       Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
-       to use property helpers or correct mechanism name.
-
-2015-11-19  Bob Duff  <duff@adacore.com>
-
-       * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
-       change: correctly handle generic formals/actuals that look like
-       renamings.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (elaborate_all_entities_for_package): New
-       function extracted from...  Recurse on packages.
-       (elaborate_all_entities): ...here.  Call it on packages.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
-       * gcc-interface/gigi.h (enum standard_datatypes): Remove
-       ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
-       (longjmp_decl): Delete.
-       (not_handled_by_others_decl): New macro.
-       (build_simple_component_ref): Delete.
-       (build_component_ref): Adjust prototype.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
-       build_component_ref.
-       (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
-       without default value.
-       * gcc-interface/trans.c (gigi): Reorder initialization sequence
-       and add not_handled_by_others_decl.
-       (Attribute_to_gnu): Adjust calls to build_component_ref.
-       (Subprogram_Body_to_gnu): Likewise.
-       (Call_to_gnu): Likewise.
-       (Exception_Handler_to_gnu_sjlj): Likewise.
-       (gnat_to_gnu): Likewise.
-       (range_check_info_d): Add inserted_cond field.
-       (Loop_Statement_to_gnu): Make two passes on the recorded range checks.
-       (build_noreturn_cond): New static function.
-       (Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
-       (make_invariant): New static function.
-       (Loop_Statement_to_gnu): Use it to compute invariant expressions for
-       the loop bounds if possible, but do not require it if loop unswitching
-       is enabled.
-       * gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
-       (convert): Likewise.
-       (maybe_unconstrained_array): Likewise.  Call it instead of
-       build_simple_component_ref and add guard for CONSTRUCTORs.
-       (unchecked_convert): Likewise.
-       * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
-       (build_simple_component_ref): Remove COMPONENT parameter, unify
-       code dealing with VIEW_CONVERT_EXPR and make it more general,
-       remove special treatment for CONSTRUCTORs of template types.
-       (build_component_ref): Remove COMPONENT parameter and adjust call
-       to build_simple_component_ref.
-       (maybe_wrap_malloc): Likewise.
-       (build_allocator): Likewise.
-       (gnat_invariant_expr): Look through overflow checks, deal with
-       addition and subtraction of constants and take into account
-       DECL_INVARIANT_P for the COMPONENT_REF case.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/misc.c: Move global variables to the top of the file.
-       (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
-       (gnat_init_options): Minor tweak.
-       (gnat_post_options): Set -fstrict-overflow if not done by the user.
-       (internal_error_function): Minor reformatting.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
-       for the renaming of an address.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
-       the index is not itself constant then bail out.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Try_Container_Indexing): When constructing the
-       parameter list for the potentially overloaded calls to indexing
-       functions, do not propagate overloadings if the actual is a named
-       association: overloadings appear directly on the expression in
-       the association.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_type.adb (Interface_Present_In_Ancestor): If the type is
-       incomplete, the list of ancestors is found either on the full
-       view or the non-limited view of the type.
-
-2015-11-18  Nicolas Roche  <roche@adacore.com>
-
-       * sysdep.c (__gnat_localtime_tzoff): On Windows platform
-       GetTimeZoneInformation function is thread-safe. Thus there
-       is no need to lock the runtime in the implementation of
-       __gnat_localtime_tzoff on that platform.
-
-2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Contracts): New routine.
-       (Analyze_Enclosing_Package_Body_Contract): Removed.
-       (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter
-       Freeze_Id.  Propagate the entity of the freezing body to vaious
-       analysis routines.
-       (Analyze_Initial_Declaration_Contract): Removed.
-       (Analyze_Object_Contract): Add formal parameter
-       Freeze_Id. Propagate the entity of the freezing body to vaious
-       analysis routines.
-       (Analyze_Previous_Contracts): New routine.
-       * contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed.
-       (Analyze_Contracts): New routine.
-       (Analyze_Entry_Or_Subprogram_Contract): Add formal
-       parameter Freeze_Id and update the comment on usage.
-       (Analyze_Initial_Declaration_Contract): Removed.
-       (Analyze_Object_Contract): Add formal parameter Freeze_Id and
-       update the comment on usage.
-       (Analyze_Previous_Contracts): New routine.
-       * sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to
-       analyze all contracts of eligible constructs.
-       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
-       A body no longer freezes the contract of its initial
-       declaration. This effect is achieved through different means.
-       (Analyze_Subprogram_Body_Helper): A body now freezes the contracts
-       of all eligible constructs that precede it. A body no longer
-       freezes the contract of its initial declaration. This effect is
-       achieved through different means.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes
-       the contracts of all eligible constructs that precede it. A body
-       no longer freezes the contract of its initial declaration. This
-       effect is achieved through different means.
-       * sem_ch9.adb (Analyze_Entry_Body): A body now freezes
-       the contracts of all eligible constructs that precede
-       it. A body no longer freezes the contract of its initial
-       declaration. This effect is achieved through different means.
-       (Analyze_Protected_Body): A body now freezes the contracts
-       of all eligible constructs that precede it. A body no longer
-       freezes the contract of its initial declaration. This effect
-       is achieved through different means.
-       (Analyze_Task_Body): A
-       body now freezes the contracts of all eligible constructs that
-       precede it. A body no longer freezes the contract of its initial
-       declaration. This effect is achieved through different means.
-       * sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task
-       objects now output their respective current instance of xxx
-       type messages.  (Analyze_Contract_Cases_In_Decl_Part): Add
-       formal parameter Freeze_Id. Emit a clarification message
-       when an undefined entity may the byproduct of contract
-       freezing.
-       (Analyze_Part_Of_In_Decl_Part): Add formal
-       parameter Freeze_Id. Emit a clarification message when an
-       undefined entity may the byproduct of contract freezing.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal
-       parameter Freeze_Id. Emit a clarification message when an
-       undefined entity may the byproduct of contract freezing.
-       (Analyze_Refined_State_In_Decl_Part): Do not report unused body
-       states as constituents of single protected/task types may not
-       bave been identified yet.
-       (Collect_Subprogram_Inputs_Outputs):
-       Reimplemented.  (Contract_Freeze_Error): New routine.
-       (Process_Overloadable): Use predicate Is_Single_Task_Object.
-       * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part):
-       Add formal parameter Freeze_Id and update the comment
-       on usage.
-       (Analyze_Part_Of_In_Decl_Part): Add formal
-       parameter Freeze_Id and update the comment on usage.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter
-       Freeze_Id and update the comment on usage.
-       * sem_util.adb (Check_Unused_Body_States): Remove global
-       variable Legal_Constits. The routine now reports unused
-       body states regardless of whether constituents are
-       legal or not.
-       (Collect_Body_States): A constituent of a
-       single protected/task type is not a visible state of a
-       package body.
-       (Collect_Visible_States): A constituent
-       of a single protected/task type is not a visible
-       state of a package body.
-       (Has_Undefined_Reference): New routine.
-       (Is_Single_Concurrent_Object): Reimplemented.
-       (Is_Single_Protected_Object): New routine.
-       (Is_Single_Task_Object): New routine.
-       (Is_Visible_Object): New routine.
-       (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
-       * sem_util.ads (Check_Unused_Body_States): Update the comment on usage.
-       (Has_Undefined_Reference): New routine.
-       (Is_Single_Protected_Object): New routine.
-       (Is_Single_Task_Object): New routine.
-       (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
-
-2015-11-18  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * Makefile.rtl, impunit.adb: Add g-strhas.ads.
-       * g-strhas.ads: New file.
-       * s-strhas.ads: Add a comment to redirect users to g-strhas.ads.
-
-2015-11-18  Bob Duff  <duff@adacore.com>
-
-       * sem_elab.adb (Check_Internal_Call_Continue): Fix the case
-       where the call in question is to a renaming of a subprogram that
-       can be safely called without ABE.
-       * checks.adb: Minor edits.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * atree.adb (Elist11): New routine.
-       (Set_Elist11): New routine.
-       * atree.ads (Elist11): New routine.
-       (Set_Elist11): New routine.
-       * atree.h: Define Elist11.
-       * contracts.adb (Analyze_Object_Contract): Verify the legality
-       of all references to a variable given that the variable is a
-       constituent of a single protected/task type.
-       * einfo.adb: Part_Of_References now utilizes Elist11.
-       (Part_Of_References): New routine.
-       (Set_Part_Of_References): New routine.
-       (Write_Field11_Name): Add output for Part_Of_References.
-       * einfo.ads New attribute Part_Of_References along with usage
-       in entities.
-       (Part_Of_References): New routine along with
-       pragma Inline.
-       (Set_Part_Of_References): New routine along with pragma Inline.
-       * sem_prag.adb (Analyze_Constituent): Record a possible
-       reference to a concurrent constituent.
-       (Analyze_Global_Item): Record a possible reference to a concurrent
-       constituent.
-       (Analyze_Input_Output): Record a possible reference to a
-       concurrent constituent.
-       * sem_res.adb (Resolve_Entity_Name): Record a possible reference
-       to a concurrent constituent.
-       * sem_util.adb (Check_Part_Of_Reference): New routine.
-       (Record_Possible_Part_Of_Reference): New routine.
-       * sem_util.ads (Check_Part_Of_Reference): New routine.
-       (Record_Possible_Part_Of_Reference): New routine.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
-       An if_expression is the proper place to apply the overflow
-       minimization procedure if its context is not an enclosing
-       arithmetic expression.
-
-2015-11-18  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_ugn/gnat_project_manager.rst,
-       gnat_ugn/building_executable_programs_with_gnat.rst,
-       gnat_ugn/gnat_and_program_execution.rst,
-       gnat_ugn/the_gnat_compilation_model.rst,
-       gnat_rm/implementation_defined_pragmas.rst,
-       gnat_rm/standard_and_implementation_defined_restrictions.rst,
-       gnat_ugn.texi, gnat_rm.texi: Update doc.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Add_Contract_Item): Chain pragmas Attach_Handler
-       and Interrupt_Handler on the classifications list of a [generic]
-       procedure N_Contract node.
-       * contracts.ads (Add_Contract_Item): Update the comment on usage.
-       * einfo.adb (Get_Pragma): Pragmas Attach_Handler and
-       Interrupt_Handler are found on the classifications list of
-       N_Contract nodes.
-       * einfo.ads (Get_Pragma): Update the comment on usage.
-       * sem_prag.adb (Process_Interrupt_Or_Attach_Handler): Code
-       reformatting. Store the pragma as a contract item.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Available_Subtype): Use only in GNATprove
-       mode. When generating code it may be necessary to create itypes
-       at the point of use of a selected component, for example in the
-       expansion of a record equality operation.
-
-2015-11-18  Vincent Celier  <celier@adacore.com>
-
-       * s-os_lib.adb (Normalize_Pathname.Get_Directory): When
-       invoking Normalize_Pathname, use the same values for parameters
-       Resolve_Links and Case_Sensitive as the parent Normalize_Pathname.
-
-2015-11-18  Vincent Celier  <celier@adacore.com>
-
-       * a-direct.adb (Containing_Directory): Return "." when the result
-       is the current directory, not specified as an absolute path name.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine.
-       (Init_Hidden_Discriminants): Code reformatting. Do not initialize
-       a completely hidden discriminant.
-       * a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function
-       and Global aspects on the function.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_intr.adb (Expand_Unc_Deallocation): If the designated
-       type is a concurrent type, the deallocation applies to the
-       corresponding record type, or to its class-wide type if the type
-       is tagged.
-
-2015-11-18  Doug Rupp  <rupp@adacore.com>
-
-       * s-parame-vxworks.adb: Reduce default stack size for stack
-       limit check to a reasonable value
-       * s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and
-       vxmils.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Assignment): Diagnose assignment where
-       left-hand side has a limited view of a class-wide type.
-       * sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited
-       view if the scope of the type of the formal is visible through
-       a limited_with_clause, even if the non-limited view is available.
-
-2015-11-18  Emmanuel Briot  <briot@adacore.com>
-
-       * s-pooglo.ads: Make Global_Pool_Object aliased.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix
-       is an expression function, do not analyze the generated body if
-       the current scope is not the scope of the expression function,
-       as may happen if the attribute is an actual in an instantiation.
-       * sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb,
-       a-stwima.adb: Fix typos.
-
-2015-11-18  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch11.adb (Expand_N_Exception_Declaration): No-op when
-       generating C code.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       PR ada/66242
-       * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
-       defer / undefer pairs are now encapsulated in a block with
-       an AT END handler. Partial finalization now takes restriction
-       No_Exception_Propagation into account when generating blocks.
-       * exp_ch7.adb Various reformattings.
-       (Create_Finalizer): Change
-       the generation of abort defer / undefer pairs and explain the
-       lack of an AT END handler.
-       (Process_Transient_Objects): Add generation of abort defer/undefer
-       pairs.
-       * exp_ch9.adb Various reformattings.
-       (Build_Protected_Subprogram_Body): Use
-       Build_Runtime_Call to construct a call to Abort_Defer.
-       (Build_Protected_Subprogram_Call_Cleanup): Use
-       Build_Runtime_Call to construct a call to Abort_Undefer.
-       (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
-       construct a call to Abort_Defer.
-       * exp_intr.adb (Expand_Unc_Deallocation): Abort defer
-       / undefer pairs are now encapsulated in a block with
-       an AT END handler. Finalization now takes restriction
-       No_Exception_Propagation into account when generating blocks.
-       * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.
-
-2015-11-18  Vincent Celier  <celier@adacore.com>
-
-       * g-comlin.adb (Find_Longest_Matching_Switch): Do not take into
-       account a switch ending with '=' when the actual command line
-       switch is not followed with a space or '='.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Explicit_Dereference): Do not add an access
-       check if the type of the prefix is known to exclude null.
-       * a-coinve.adb (Get_Element_Access): The function returns an
-       access type that excludes null, so add an explicit check for
-       a null element pointer, which is created when Insert_Spaces is
-       called on an indefinite vector container.
-
-2015-11-18  Arnaud Charlet  <charlet@adacore.com>
-
-       * switch-c.adb (Scan_Front_End_Switches): Add a check requiring
-       -gnatc with -gnateg.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch7.adb (Uninstall_Declarations): Before swapping private
-       and full views, ensure that the potential use visbility of the
-       two views is consistent.
-
-2015-11-18  Doug Rupp  <rupp@adacore.com>
-
-       * s-parame-vxworks.adb: Increase default stack size for targets
-       using stack limit checking.
-
-2015-11-18  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
-       function that was added to Ada 2005 returning the processor where
-       interrupt handlers execute.
-
-2015-11-18  Tristan Gingold  <gingold@adacore.com>
-
-       * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
-       declaration of a protected definition.
-
-2015-11-18  Ed Falis  <falis@adacore.com>
-
-       * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
-
-2015-11-18  Gary Dismukes  <dismukes@adacore.com>
-
-       * bcheck.adb: Minor editorial changes.
-
-2015-11-18  Arnaud Charlet  <charlet@adacore.com>
-
-       * interfac.ads (Unsigned_24): New type.
-       * sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on
-       unconstrained arrays in Relaxed_RM_Semantics mode.
-
-2015-11-18  Vincent Celier  <celier@adacore.com>
-
-       * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No
-       warning is withed unit is the interface of a Stand-Alone Library.
-
-2015-11-18  Thomas Quinot  <quinot@adacore.com>
-
-       * s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of
-       an unresolved Directory argument, by recursively resolving it
-       against the current dir.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Process_Formals): A function declaration that
-       returns a class-wide type must have freeing deferred, so that it
-       is not frozen before the class-wide type and its root type are
-       frozen. This is significant when there may be a limited view of
-       the class_wide type in another package.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (Has_Non_Null_Refinement): Rename to
-       Has_Non_Null_Visible_Refinement.
-       (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement.
-       * einfo.ads Update the documentation of
-       attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement.
-       (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement
-       and update occurrences in entities.
-       (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update
-       occurrences in entities.
-       * sem_prag.adb (Check_In_Out_States): Update the calls to
-       Has_[Non_]Null_Refinement.
-       (Check_Input_States): Update the
-       calls to Has_[Non_]Null_Refinement.
-       (Check_Output_States): Update the calls to Has_[Non_]Null_Refinement.
-       (Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement.
-       (Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement.
-       (Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement.
-       (Match_Item): Update the calls to Has_[Non_]Null_Refinement.
-       * sem_util.adb (Has_Non_Null_Refinement): New routine.
-       (Has_Null_Refinement): New routine.
-       * sem_util.ads (Has_Non_Null_Refinement): New routine.
-       (Has_Null_Refinement): New routine.
-
-2015-11-18  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_util.adb: Minor reformatting and typo fixes.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch4.adb: Minor reformatting.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb (Expand_Subtype_From_Expr): Add new formal
-       parameter Related_Id and propagate it to Make_Subtype_From_Expr.
-       (Make_Subtype_From_Expr): Add new formal parameter
-       Related_Id. Create external entities when requested by the caller.
-       * exp_util.ads (Expand_Subtype_From_Expr): Add new formal
-       parameter Related_Id. Update the comment on usage.
-       (Make_Subtype_From_Expr): Add new formal parameter
-       Related_Id. Update the comment on usage.
-       * sem_ch3.adb (Analyze_Object_Declaration): Add local variable
-       Related_Id. Generate an external constrained subtype when the
-       object is a public symbol.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Update the grammars of pragmas
-       Abstract_State, Depends, Global, Initializes, Refined_Depends,
-       Refined_Global and Refined_State.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_util.adb (Has_Full_Default_Initialization):
-       Perform the test for the presence of pragma
-       Default_Initial_Condition prior to the specialized type
-       checks. Add a missing case where the lack of a pragma argument
-       yields full default initialization.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Resolve_Entity_Name): Do not check
-       for elaboration issues when a variable appears as the name of
-       an object renaming declaration as this constitutes an aliasing,
-       not a read.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * checks.adb (Overlap_Check): An actual that is an aggregate
-       cannot overlap with another actual, and no check should be
-       generated for it.
-       * targparm.ads: Fix typos.
-
-2015-11-18  Pascal Obry  <obry@adacore.com>
-
-       * adaint.c: Routine __gnat_killprocesstree only implemented on
-       Linux and Windows.
-
-2015-11-18  Pascal Obry  <obry@adacore.com>
-
-       * g-ctrl_c.adb: Minor style fixes.
-
-2015-11-18  Pascal Obry  <obry@adacore.com>
-
-       * adaint.c, s-os_lib.adb, s-os_lib.ads (Kill_Process_Tree): New.
-
-2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_util.adb (Check_Nonvolatile_Function_Profile): Place the error
-       message concerning the return type on the result definition.
-       (Is_Volatile_Function): A function with a parameter of a protected
-       type is a protected function if it is defined within a protected
-       definition.
-
-2015-11-18  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Try_Container_Indexing): When building the
-       parameter list for the function call on indexing functions,
-       preserve overloading of the parameters, which may themselves be
-       generalized indexing operations.
-
-2015-11-13  Arnaud Charlet  <charlet@adacore.com>
-
-       PR ada/68345
-       * s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.
-
-2015-11-13  David Malcolm  <dmalcolm@redhat.com>
-
-       * gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
-       calling linemap_position_for_line_and_column.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_attr.adb: Minor reformatting.
-
-2015-11-13  Pascal Obry  <obry@adacore.com>
-
-       * adaint.c: Ensure that it is possible to get killed process
-       status on Windows.
-
-2015-11-13  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/platform_specific_information.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/compatibility_and_porting_guide.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:
-       Update documentation.
-
-2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sigtramp-ios.c, init.c: Minor cosmetic tweaks.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * s-gloloc.adb, g-debpoo.adb: Minor reformatting.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specification): Improve error
-       message for the case the iterable name (array or container)
-       is a component that depends on a discriminant.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
-       one interpretation succeeds, set type of name in call, for
-       completeness.
-       (Try_Container_Indexing): If there are multiple indexing
-       functions, collect possible interpretations that are compatible
-       with given parameters, and add implicit dereference types when
-       present.
-       * sem_util.adb (Build_Explicit_Dereference): If the expression
-       is an overloaded function call use the given discriminant to
-       resolve the call, and set properly the type of the call and of
-       the resulting dereference.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
-       now apply to a variable without an initialization expression.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
-       IN OUT. Create a new list when list Actuals is not present.
-       (Build_Contract_Wrapper): Create the wrapper
-       only when the entry has at least on checked contract case or
-       pre/postcondition. Ensure that the call to the original entry
-       lacks an actual parameter list when the entry appears without
-       formal parameters.
-       (Expand_Entry_Declaration): Code cleanup.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
-       after encountering an illegal aspect Part_Of.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_attr.adb (Expand_N_Attribute_Reference, case
-       Overlaps_Storage): Add copies for nodes that represent the integer
-       addresses of the two actuals, to prevent identical nodes in the
-       tree, which the backend cannot handle properly.
-
-2015-11-13  Bob Duff  <duff@adacore.com>
-
-       * sem_ch6.adb (Check_Private_Overriding): Change
-       name of Parent_Is_Private to be Overrides_Private_Part_Op,
-       and use Unit_Declaration_Node.
-
-2015-11-13  Bob Duff  <duff@adacore.com>
-
-       * sinfo.ads: Minor comment fix.
-       * sem_ch6.adb: Minor reformatting.
-
-2015-11-13  Jerome Lambourg  <lambourg@adacore.com>
-
-       * tracebak.c: Do not use the GCC Unwinder to retrieve traceback
-       for x86_64-vx7.
-
-2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * init.c [Darwin/arm64]: Fix typo.
-       * sigtramp-armios.c: Remove.
-       * sigtramp-ios.c: New file.
-
-2015-11-13  Doug Rupp  <rupp@adacore.com>
-
-       * s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
-       limit to 12000 decimal vice 12000 hexadecimal.
-
-2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
-       impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
-       s-stchop-vxworks.adb: Minor reformatting.
-
-2015-11-13  Tristan Gingold  <gingold@adacore.com>
-
-       * s-rident.ads (Profile_Info): Enable Pure_Barriers for
-       GNAT_Extended_Ravenscar.
-
-2015-11-13  Bob Duff  <duff@adacore.com>
-
-       * sem_ch6.adb (Check_Private_Overriding): Detect the special
-       case where the overriding subprogram is overriding a subprogram
-       that was declared in the same private part.
-
-2015-11-13  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch9.adb: Minor reformatting and typo fixes.
-
-2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
-       (__gnat_map_signal): New function.
-       (__gnat_error_handler):
-       Adjust the context and call above function.
-       * sigtramp-armios.c: ...here.  New file.
-
-2015-11-13  Arnaud Charlet  <charlet@adacore.com>
-
-       * bcheck.adb (Check_Consistent_Restrictions): Do not check
-       consistency of No_Dependence for runtime units.
-
-2015-11-13  Tristan Gingold  <gingold@adacore.com>
-
-       * s-rident.ads (Restriction_Id): Add Pure_Barriers.
-       * restrict.ads (Implementation_Restriction): Add Pure_Barriers.
-       * exp_ch9.adb (Expand_Entry_Barrier): Create
-       Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
-       Check_Pure_Barriers.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Get_Cursor_Type): To determine whether a function
-       First is the proper Iterable primitive, use the base type of the
-       first formal rather than the type. This is needed in the unusual
-       case where the Iterable aspect is specified for an integer type.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
-       prefix of a procedure call assume that constant indexing is
-       not chosen.
-
-2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sigtramp.h: Fix formatting throughout, do not include other
-       headers, add missing preprocessor condition and 'extern' keywords.
-       * sigtramp-armdroid.c: Include <sys/ucontext.h>.
-       * init.c [Android]: Likewise.
-
-2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
-       fix CFI and add return sequence.
-
-2015-11-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
-       comes from an attribute reference 'Round, the operation must
-       round and not truncate.
-       * sem_res.adb, sem_ch6.adb: Minor editing.
-
-2015-11-12  Philippe Gil  <gil@adacore.com>
-
-       * g-debpoo.adb (Print_Address): print address in hexadecimal as
-       in previous GNAT version (without secondary stack use)
-       (Deallocate): Deallocate calling once Unlock_Task.all when it
-       raise exception.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Subtype_Declaration): Remove redundant
-       copying of dimensions from parent type to subtype. This is
-       properly done in Analyze_Dimension.
-       * sem_dim.adb (Analyze_Dimension_Subtype_Declaration): Add entity
-       to error message, so that reference to entity can be formatted
-       properly.
-       * opt.ads: Fix typo.
-
-2015-11-12  Bob Duff  <duff@adacore.com>
-
-       * impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads,
-       types.ads: Get rid of some global variables.
-       * output.adb, output.ads: Move some global variables to the body.
-
-2015-11-12  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb
-       (Is_Constant_Object_Without_Variable_Input): Add special case
-       for imported constants.
-
-2015-11-12  Philippe Gil  <gil@adacore.com>
-
-       * g-debpoo.adb (Allocate): Avoid having allocations not handled.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * checks.adb (Apply_Scalar_Range_Check): If the expression is
-       a real literal and the context type has static bounds, remove
-       range check when possible.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Collect_Primitive_Operations): If the type is
-       derived from a type declared elsewhere that has an incomplete
-       type declaration, the primitives are found in the scope of the
-       type nat that of its ancestor.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V
-       debug switch.
-       * exp_aggr.adb, exp_util.adb: Fix typos.
-
-2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Properly adjust PC values in case of signals.
-
-2015-11-12  Bob Duff  <duff@adacore.com>
-
-       * sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A
-       pragma that comes from an aspect does not "come from source",
-       so we need to test whether it comes from an aspect.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * switch-c.adb, gnat1drv.adb, opt.ads: Reserve -gnateg for generation
-       of C headers.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * back_end.adb, opt.ads (Debugger_Level): Update comment.
-       (Scan_Back_End_Switches): Set Debugger_Level.
-
-2015-11-12  Bob Duff  <duff@adacore.com>
-
-       * fmap.adb, debug.ads, checks.adb, exp_ch11.adb: Minor edits.
-
-2015-11-12  Doug Rupp  <rupp@adacore.com>
-
-       * s-stchop-vxworks.adb (Stack_Limit): Export vice Import.
-
-2015-11-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_dim.adb: Minor reformatting.
-
-2015-11-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * gnat1drv.adb, opt.ads: Minor reformatting.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Number_Declaration): Call Analyze_Dimension,
-       to propagate dimension information from expression to named
-       number.
-       * sem_dim.ads: Documentation:  number declaration and explicit
-       dereference can carry dimension information.
-       * sem_dim.adb (Analyze_Dimension_Number_Declaration): New
-       procedure, to propagate dimension information from expression
-       of declaration to named number, whose type becomes one of the
-       dimensioned base types rather than universal real.
-       (Analyze_Dimension_Binary_Op):
-       a) If one operand is a literal that is the value of a declared
-       constant after constant-foloding, use the dimensions of the
-       declared constant.
-       b) If an operand is a literal that is a contant-folded expression,
-       and expander is active, do not report a dimension mismatch if
-       literal does not carry them, because dimension matching will
-       have been checked previously.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Find_Selected_Component): In a synchronized
-       body, a reference to an operation of an object of the same
-       synchronized type was always interpreted as a reference to the
-       current instance. This is not always the case, as the prefix of
-       the reference may designate an object of the same type declared
-       in the enclosing context prior to the body.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * impunit.ads, impunit.adb (Get_Kind_Of_File): New. Cleaned up
-       implementation from previous Get_Kind_Of_Unit.
-       (Get_Kind_Of_Unit): Reimplemented using Get_Kind_Of_File.
-       * debug.adb: Remove d.4 switch, no longer used.
-       * opt.ads: Update doc on Debugger_Level.
-       * gnat1drv.adb: Code clean ups.
-       * sinput.ads: minor fix in comment
-
-2015-11-12  Bob Duff  <duff@adacore.com>
-
-       * sinfo.adb, sinfo.ads, sem_ch6.adb, atree.ads: Add
-       Was_Expression_Function flag, which is set in sem_ch6.adb when
-       converting an Expression_Function into a Subprogram_Body.
-
-2015-11-12  Pascal Obry  <obry@adacore.com>
-
-       * usage.adb: Update overflow checking documentation.
-
-2015-11-12  Tristan Gingold  <gingold@adacore.com>
-
-       * snames.ads-tmpl: Name_Gnat_Extended_Ravenscar: New identifier.
-       * s-rident.ads (Profile_Name): Add GNAT_Extended_Ravenscar.
-       (Profile_Info): Add new entry for GNAT_Extended_Ravenscar.
-       * sem_prag.adb (Set_Ravenscar_Profile): Add Profile parameter
-       to handle various ravenscar profiles. Adjust error messages.
-       (Analyze_Pragma): Handle GNAT_Extended_Ravenscar profile.
-       * targparm.adb (Get_Target_Parameters): Handle
-       GNAT_Extended_Ravenscar profile.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_warn.adb (Warn_On_Unreferenced_Entity): If the entity is an
-       Out_Parameter the front-end does not emit any warning on it, so
-       do not suppress warnings on the entity because the backend might
-       be able to determine an uninitialized path and warn accordingly.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Selected_Component): Diagnose an attempt
-       to reference an internal entity from a synchronized type from
-       within the body of that type, when the prefix of the selected
-       component is not the current instance.
-
-2015-11-12  Ed Falis  <falis@adacore.com>
-
-       * s-stchop-vxworks.adb: Clean up in stack checking code.
-
-2015-11-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch6.adb (Is_Build_In_Place_Function_Call):
-       Test Expression (N) in N_Type_Conversion cases as well,
-       since conversions can occur in actual parameter contexts.
-       (Make_Build_In_Place_Call_In_Anonymous_Context): Retrieve
-       function call from Expression (Func_Call) when Nkind (Func_Call)
-       is N_Type_Conversion, since conversions are allowed in "anonymous"
-       contexts (specifically, as actual parameters).
-
-2015-11-12  Thomas Quinot  <quinot@adacore.com>
-
-       * sem_ch4.adb (analyze_If_Expression): Reject IF-expression where
-       THEN-expression is overloaded and none of its interpretation is
-       compatible with the ELSE-expression.
-
-2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Do not try to mess with the MSR values in RTP mode:
-       not needed and forbidden.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
-       full view of a type that has pragma Stream_Convert, because
-       this indicates special processing for the stream operations of
-       the type.
-
-2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Do not try to mess with the MSR values in RTP mode:
-       not needed and forbidden.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
-       full view of a type that has pragma Stream_Convert, because
-       this indicates special processing for the stream operations of
-       the type.
-
-2015-11-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch5.adb, sem_ch3.adb, exp_util.ads, inline.adb, freeze.adb,
-       sem_util.adb, sem_util.ads, par-ch6.adb, sem_elab.adb: Minor
-       reformatting and a typo fix.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Preanalyze_Actuals): Add guard on use of
-       Incomplete_Actuals, which are only stored for a package
-       instantiation, in order to place the instance in the body of
-       the enclosing unit.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_intr.adb: Add legality checks on calls to a
-       Generic_Dispatching_Constructor: the given tag must be defined,
-       it cannot be the tag of an abstract type, and its accessibility
-       level must not be greater than that of the constructor.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Try_Container_Indexing, Constant_Indexing_OK):   If
-       the context is an overloaded call, assume that Constant_Indexing
-       is not OK if an interpretation has an assignable parameter
-       corresponding to the indexing expression.
-
-2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c (__gnat_error_handler): Force the SPE bit of the MSR
-       when executing on e500v2 CPU.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Constituent): Stop the
-       analysis after detecting a misplaced constituent as this is a
-       critical error.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch10.adb, atree.adb: Minor reformatting.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_elab.adb (Check_A_Call): Add new variable
-       Is_DIC_Proc. Report elaboration issue in SPARK concerning calls
-       to source subprograms or nontrivial Default_Initial_Condition
-       procedures. Add specialized error message to avoid outputting
-       the internal name of the Default_Initial_Condition procedure.
-       * sem_util.ads, sem_util.adb
-       (Is_Non_Trivial_Default_Init_Cond_Procedure): New routine.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
-       Remove the guard concerning entry bodies as it is spurious.
-       (Analyze_Entry_Or_Subprogram_Contract): Skip the analysis of
-       Contract_Cases when not annotating the tree.
-       * einfo.adb: Node25 is now used as Contract_Wrapper.
-       (Contract_Wrapper): New routine.
-       (PPC_Wrapper): Removed.
-       (Set_Contract_Wrapper): New routine.
-       (Set_PPC_Wrapper): Removed.
-       (Write_Field25_Name): Add output for Contract_Wrapper. Remove
-       output for PPC_Wrapper.
-       * einfo.ads: New attribute Contract_Wrapper along with usage
-       in entities. Remove attribute PPC_Wrapper along with usage in nodes.
-       (Contract_Wrapper): New routine along with pragma Inline.
-       (PPC_Wrapper): Removed along with pragma Inline.
-       (Set_Contract_Wrapper): New routine along with pragma Inline.
-       (Set_PPC_Wrapper): Removed along with pragma Inline.
-       * exp_ch9.adb (Build_Contract_Wrapper): New routine.
-       (Build_PPC_Wrapper): Removed.
-       (Build_Protected_Entry): Code cleanup.
-       (Expand_Entry_Declaration): Create a contract wrapper
-       which now verifies Contract_Cases along with pre/postconditions.
-       (Expand_N_Task_Type_Declaration): There is no need to check
-       whether an entry has pre/postconditions as this is now done
-       in Build_Contract_Wrapper.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Pragma
-       Refined_Post is now properly inserted in entry bodies.
-       (Insert_Pragma): Add circuitry to insert in an entry body. Redo
-       the instance "header" circuitry. Remove the now obsolete special
-       case of inserting pre- conditions.
-       * sem_prag.adb (Analyze_Pragma): Pragma Contract_Cases now
-       applies to entries.
-       * sem_res.adb (Resolve_Entry_Call): Update the calls to
-       PPC_Wrapper.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_attr.adb, freeze.adb, sem_util.adb, sem_ch13.adb: Minor
-       reformatting.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling
-       a stream operation for an array type, install the scope of the
-       component type if it is private and not in scope, to prevent
-       spurious errors if the full view of the component type has
-       defaulted discriminants.
-
-2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a
-       variable, if this is not an overlay, set on Treat_As_Volatile on it.
-       * gcc-interface/decl.c (E_Variable): Do not force the type to volatile
-       for address clauses. Tweak and adjust various RM references.
-
-2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * checks.ads: Minor comment fix.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_rm.texi, gnat_ugn.texi,
-       doc/gnat_ugn/platform_specific_information.rst,
-       doc/gnat_ugn/gnat_and_program_execution.rst,
-       doc/gnat_ugn/the_gnat_compilation_model.rst,
-       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-       doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.
-
-2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Overlays_Constant): Document usage for E_Constant.
-       * freeze.adb (Warn_Overlay): Small reformatting.
-       (Check_Address_Clause): Deal specifically with deferred
-       constants.  For a variable or a non-imported constant
-       overlaying a constant object and with initialization value,
-       either remove the initialization or issue a warning.  Fix a
-       couple of typos.
-       * sem_util.adb (Note_Possible_Modification): Overhaul the condition for
-       the warning on modified constants and use Find_Overlaid_Entity instead
-       of doing it manually.
-       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Compute and
-       set Overlays_Constant once on entry.  Do not treat the overlaid
-       entity as volatile.  Do not issue the warning on modified
-       constants here.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove
-       over-restrictive condition for the special treatment of deferred
-       constants.
-       <E_Variable>: Remove obsolete associated code.
-
-2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
-       not materialize renamed subprograms if only annotating types.
-
-2015-11-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Create
-       IMPORTED_DECL nodes to describe the subprogram renamings which
-       are relevant at debug time.
-       * gcc-interface/gigi.h (get_debug_scope): Add declaration.
-       * gcc-interface/trans.c (Identifier_to_gnu): Consider
-       N_Defining_Operator_Symbol as valid entities.
-       (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as
-       other entities.  Introduce a specific handling for
-       N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on
-       the entity defined for relevant ones.
-       (process_decls): Process subprogram renaming declarations during
-       the second pass only.
-       * gcc-interface/utils.c (get_debug_scope): Make it external.
-       Consider N_Defining_Operator_Symbol as valid entities.
-       (gnat_write_global_declarations): Output debugging information
-       for top-level imported declarations.
-
-2015-11-12  Emmanuel Briot  <briot@adacore.com>
-
-       * s-os_lib.ads: Documentation update.
-
-2015-11-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of
-       taskDelay to avoid confusion.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Expand_Simple_Function_Return): If the return
-       type is class-wide and the expression is a view conversion,
-       remove the conversion to prevent overriding of the tag, which
-       must be that of the object being returned.
-
-2015-11-12  Tristan Gingold  <gingold@adacore.com>
-
-       * bindgen.adb (Gen_Adainit): Code cleanup.
-
-2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * s-stalib.ads: Code cleanup.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization.
-       (Analyze_Subtype_Declaration): For floating point types,
-       inherit dimensions.
-       (OK_For_Limited_Init_In_05): Handle properly a conditional
-       expression whose condition is static, and is rewritten as the
-       branch that will be executed.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_attr.adb (Resolve_Attribute, case 'Access): If the context
-       type is an access constant type, do not mark the attribute
-       reference as a possible modification of the prefix.
-
-2015-11-12  Steve Baird  <baird@adacore.com>
-
-       * sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
-       do not analyze the expression of a machine code insertion.
-       * sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
-       mark the N_Code_Statement node as analyzed and do nothing else.
-
-2015-11-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Check_Limited_Return): Make global to package
-       for use elsewhere.
-       (Analyze_Expression_Function): Remove duplicated code, pre-analyze
-       expression to capture names and call Check_Limited_Return so
-       that semantic checks are identical to those for regular functions
-       returning limited types.
-
-2015-11-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * bindgen.adb: Fix typo.
-       * sem_ch6.adb: Minor reformatting.
-
-2015-11-12  Emmanuel Briot  <briot@adacore.com>
-
-       * s-os_lib.adb (Argument_String_To_List): fix handling of
-       windows separators
-
-2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/decl.c: Remove unused header files.
-       * gcc-interface/misc.c: Likewise.
-       * gcc-interface/targtyps.c: Likewise.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-
-2015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (set_reverse_storage_order_on_pad_type):
-       Declare.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Set the
-       storage order on the enclosing record for a packed array type.
-       <E_Array_Type>: Set the storage order.
-       <E_Array_Subtype>: Likewise.
-       <E_Record_Type>: Likewise.
-       <E_Record_Subtype>: Likewise.
-       (gnat_to_gnu_component_type): Set the reverse storage order on a
-       padded type built for a non-bit-packed array.
-       (gnat_to_gnu_field): Likewise.
-       (components_to_record): Deal with TYPE_REVERSE_STORAGE_ORDER.
-       * gcc-interface/utils.c (make_packable_type): Likewise.
-       (pad_type_hasher::equal): Likewise.
-       (gnat_types_compatible_p): Likewise.
-       (unchecked_convert): Likewise.
-       (set_reverse_storage_order_on_pad_type): New public function.
-       * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
-       get_inner_reference.
-       * gcc-interface/utils2.c (build_unary_op): Likewise.
-       (gnat_build_constructor): Deal with TYPE_REVERSE_STORAGE_ORDER.
-       (gnat_rewrite_reference): Propagate REF_REVERSE_STORAGE_ORDER.
-
-2015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
-
-       * gcc-interface/utils.c: Don't undef DEF_BUILTIN.
-
-2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/decl.c: Reorder #include's and remove duplicates.
-       * gcc-interface/misc.c: Likewise.
-       * gcc-interface/targtyps.c: Likewise.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-       
-2015-10-27  Tristan Gingold  <gingold@adacore.com>
-
-       * bindgen.adb (System_BB_CPU_Primitives_Multiprocessors_Used):
-       New variable.
-       (Gen_Adainit): Call Start_All_CPUs if the above
-       variable is set to true.
-
-2015-10-27  Emmanuel Briot  <briot@adacore.com>
-
-       * adaint.c, s-os_lib.adb, s-os_lib.ads (Copy_File_Attributes): New
-       subprogram.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * namet.adb, namet.ads: Minor reformatting.
-
-2015-10-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Allocator): Do not perform legality check
-       on allocators for limited objects in a qualified expression,
-       because expression has not been resolved.
-       * sem_res.adb (Resolve_Allocator): Perform check on legality of
-       limited objects after resolution.  Add sem_ch3.adb to context.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Refined_Global_In_Decl_Part): Add variable
-       States.
-       (Check_Refined_Global_Item): An object or state acts as a
-       constituent only when the corresponding encapsulating state
-       appears in pragma Global.
-       (Collect_Global_Item): Add a state with non-null visible refinement to
-       list States.
-
-2015-10-27  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_util.ads, par.adb, sem_ch6.adb: Minor reformatting and a few
-       typo corrections.
-
-2015-10-27  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * namet.ads, namet.adb (Name_Equals): New function.
-       * namet.h (Name_Equals): New macro.
-
-2015-10-27  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch6.adb (Build_Procedure_Form): Use 'RESULT' for the extra
-       parameter, to avoid ambiguity when generating tmps using _xxx which
-       might end up reusing _result.
-
-2015-10-27  Javier Miranda  <miranda@adacore.com>
-
-       * sem_util.ads, sem_util.adb (Defining_Identifier): Adding a formal to
-       indicate the needed behavior in case of nodes with errors.
-
-2015-10-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_attr.adb (Eval_Attribute): If the prefix of attribute
-       Enum_Rep is an object that is a generated loop variable for an
-       element iterator, no folding is possible.
-       * sem_res.adb (Resolve_Entity_Name): Do not check for a missing
-       initialization in the case of a constant that is an object
-       renaming.
-       * exp_attr.adb (Expand_N_Attribute_Reference, case Enum_Rep):
-       If the prefix is a constant that renames an expression there is
-       nothing to evaluate statically.
-
-2015-10-27  Vincent Celier  <celier@adacore.com>
-
-       * gnatlink.adb: Always delete the response file, even when the
-       invocation of gcc to link failed.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
-       Do not inherit the SPARK_Mode from the context if it has been
-       set already.
-       (Build_Subprogram_Declaration): Relocate relevant
-       pragmas from the subprogram body to the generated corresponding
-       spec. Do not copy aspect SPARK_Mode as this leads to circularity
-       in Copy_Separate_Tree. Inherit the attributes that describe
-       pragmas Ghost and SPARK_Mode.
-       (Move_Pragmas): New routine.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * inline.adb (Is_Expression_Function): Removed.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): An internally
-       generated subprogram body that completes an expression function
-       inherits the SPARK_Mode from the spec.
-       * sem_res.adb (Resolve_Call): Update all calls to
-       Is_Expression_Function.
-       * sem_util.ads, sem_util.adb (Is_Expression_Function): Reimplemented.
-       (Is_Expression_Function_Or_Completion): New routine.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * lib-xref-spark_specific.adb, a-dirval-mingw.adb, exp_ch6.adb,
-       sem_ch8.adb, s-os_lib.adb: Minor reformatting.
-
-2015-10-27  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb
-       (Enclosing_Subprogram_Or_Library_Package): detect library-level
-       subprograms and handle entries as subprograms, i.e. now both
-       library-level subprograms and entry bodies act as enclosing
-       scopes.
-       (Traverse_Declarations_Or_Statements): process entry bodies just
-       like subprogram bodies.
-       * lib-xref.ads (Enclosing_Subprogram_Or_Library_Package): comment
-       simplified while keeping its the meaning and minor typo fixed
-       ("of" -> "or").
-       * spark_xrefs.ads (Xref Section): fix in description of the ALI
-       line for subprogram calls; such lines start with captial "F"
-       followed by a space.
-
-2015-10-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Find_Direct_Name): A parameter association is
-       a legal context for applying an implicit dereference.
-       (Analyze_Expanded_Name): Minor code cleanup.
-
-2015-10-27  Arnaud Charlet  <charlet@adacore.com>
-
-       * sinput.ads, spark_xrefs.ads, lib-xref.adb: Fix typos.
-
-2015-10-27  Pascal Obry  <obry@adacore.com>
-
-       * a-dirval-mingw.adb: Remove some characters from Invalid_Character set.
-
-2015-10-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Rewrite_Function_Call_For_C): Use a named
-       associaion for the added actual in the call because previous
-       actuals may also have been given by explicit associations.
-       * lib-xref.adb: Minor style fixes.
-
-2015-10-27  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb: Remove hard coded restrictions.
-
-2015-10-27  Pascal Obry  <obry@adacore.com>
-
-       * a-dirval-mingw.adb: Minor reformatting.
-
-2015-10-27  Javier Miranda  <miranda@adacore.com>
-
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve previous patch.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code cleanup. Set
-       and restore the value of global flag Ignore_Pragma_SPARK_Mode. A
-       formal package declaration acts as a package instantation with
-       respect to SPARK_Mode legality.
-
-2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Check_Constituent_Usage): Use
-       logical operators rather than short circuit operators. Emit an
-       error when a state with visible refinement is not refined.
-       * snames.ads-tmpl: Add names for detecting
-       predefined potentially blocking subprograms.
-
-2015-10-27  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Revert previous
-       change.
-       (Expand_Array_Aggregate): Rewrite previous change here
-       as done for other non GCC back-ends.
-       (Build_Record_Aggr_Code): Add special case.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Add_Item_To_Name_Buffer): Update the comment on usage.
-       Add an output string for loop parameters.
-       (Analyze_Global_Items): Loop parameters are now a
-       valid global item. The share the legality checks of constants.
-       (Analyze_Input_Output): Loop parameters are now a valid dependency item.
-       (Find_Role): Loop parameters share the role of constants.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode,
-       preserve the Generalized_ indexing link if the context is not
-       a spec expression that will be analyzed anew.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch6.ads, exp_ch6.adb (Build_Procedure_Body_Form): Promote it to
-       library level (to invoke this routine from the semantic analyzer).
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When generating
-       C code, invoke Build_Procedure_Body_Form to transform a function
-       that returns a constrained array type into a procedure with an
-       out parameter that carries the return value.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * a-reatim.ads: Add "Clock_Time with Synchronous" contract in package
-       Ada.Real_Time.
-       * a-taside.ads: Add "Tasking_State with Synchronous" contract in
-       package Ada.Task_Identification.
-       * sem_ch12.adb: minor typo in comment
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Object_Contract): Set and restore
-       the SPARK_Mode for both constants and objects. Factor out the
-       semantic checks concerning Ghost objects.
-       * freeze.adb (Freeze_Array_Type): A Ghost array type cannot have a
-       concurrent component type.
-       (Freeze_Entity): A Ghost type cannot also be concurrent.
-       (Freeze_Record_Type): A Ghost record type cannot have a concurrent
-       component.
-       * sem_prag.adb (Analyze_Abstract_State): A Ghost abstract
-       state cannot also be synchronized.
-       (Check_Ghost_Synchronous): New routine.
-       * sem_util.adb (Yields_Synchronized_Object): Correct the case
-       of record components to account for the case where the type has
-       no component list.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * expander.adb (Expand): Expand a single protected declaration.
-       * exp_ch9.ads, exp_ch9.adb (Expand_N_Single_Protected_Declaration): New
-       routine.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Is_OK_Volatile_Context): A volatile object may appear
-       in an object declaration as long as it denotes the name.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch9.adb (Analyze_Single_Protected_Declaration): The anonymous
-       object no longer comes from source.
-       (Analyze_Single_Task_Declaration): The anonymous object no longer
-       comes from source.
-       * sem_prag.adb (Analyze_Pragma): The analysis of pragma SPARK_Mode
-       now recognizes the internal anonymous object created for a single
-       concurren type as a valid context.
-       (Find_Related_Context): The internal anonymous object created for a
-       single concurrent type is now a valid context.
-       (Find_Related_Declaration_Or_Body): The internal anonymous object
-       created for a single concurrent type is now a valid context.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Inherit_Rep_Item_Chain): Another another guard
-       to prevent circularities in the rep_item_chain of the full view
-       of a type extension in a child unit that extends a private type
-       from the parent.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions.
-       * contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract):
-       New routine.
-       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
-       Analyze the contract of the initial declaration.
-       (Analyze_Subprogram_Body_Helper): Analyze the contract of the
-       initial declaration.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract
-       of the initial declaration.
-       * sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of
-       the initial declaration.
-       (Analyze_Protected_Body): Analyze
-       the contract of the initial declaration.
-       (Analyze_Task_Body): Analyze the contract of the initial declaration.
-       * sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather
-       than "unit" as it makes the error messages sound better.
-       (Add_Item_To_Name_Buffer): Update comment on usage. The routine
-       now supports discriminants and current instances of concurrent
-       types.
-       (Analyze_Depends_In_Decl_Part): Install the discriminants
-       of a task type.
-       (Analyze_Global_In_Decl_Part): Install the discriminants of a task type.
-       (Analyze_Global_Item): Add processing for current instances of
-       concurrent types and include discriminants as valid global items.
-       (Analyze_Input_Output): Discriminants and current instances of
-       concurrent types are now valid items. Update various error messages.
-       (Check_Usage): Current instances of protected and task types behaves
-       as formal parameters.
-       (Collect_Subprogram_Inputs_Outputs): There is
-       no longer need to manually analyze [Refined_]Global thanks to
-       freezing of initial declaration contracts.  Add processing for
-       the current instance of a concurrent type.
-       (Find_Role): Add categorizations for discriminants, protected and task
-       types.
-       (Is_CCT_Instance): New routine.
-       (Match_Items): Update the comment on usage. Update internal comments.
-       * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the
-       comment on usage.
-       * sem_util.adb (Entity_Of): Ensure that the entity is an object
-       when traversing a potential renaming chain.
-       (Fix_Msg): Use "type" rather than "unit" as it makes the error messages
-       sound better.
-       * sem_util.ads (Fix_Msg): Update the comment on usage.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * par.adb (Par): Do not generate an error when generating
-       SCIL for predefined units or new children of system and co.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * einfo.adb: Access_Disp_Table applies to a private
-       extension.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, when
-       restoring original node, remove Generalized_Indexing operation
-       so that it is recreated during re- analysis.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_unst.adb: (Unnest_Subprogram):
-       Replace absolute references to 1 and 0 by their counterpart
-       relative references through Subps_First.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * par-ch3.adb (P_Declarative_Items): In case of misplaced
-       aspect specifications, ensure that flag Done is properly set to
-       continue parse.
-       * sem_prag.adb, sem_prag.ads: Remove Build_Generic_Class_Condition,
-       unused.
-
-2015-10-26  Emmanuel Briot  <briot@adacore.com>
-
-       * s-os_lib.adb (Argument_String_To_List): Remove backslashes in
-       argument value.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): Removed.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb, sem_aux.adb, exp_attr.adb, sem_eval.adb: Minor
-       reformatting.
-       * sem_util.adb, sem_ch5.adb: Minor reformatting.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_unst.adb (Unnest_Subprogram): Add guard to prevent compiler
-       abort when handling a reference to a formal in an aspect of a
-       nested subprogram declaration as an uplevel reference.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and
-       pragma names and enter into relevant tables.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect
-       Predicate_Failure.
-       * sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure.
-       * exp_util.adb (Make_Predicate_Check): When building the Check
-       pragma, if Predicate_Failure has been specified, add the relevant
-       String argument to the pragma.
-       * par-prag.adb (Prag): Add Predicate_Failure to list of pragmas
-       handled during semantic analysis.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Assignment): If the left-hand side
-       is an indexed component with generalized indexing, discard
-       interpretation that yields a reference type, which is not
-       assignable. This prevent spurious ambiguities when the right-hand
-       side is an aggregate which does not provide a target type.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * exp_ch7.adb, exp_ch6.adb: Minor comment fix.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * aspects.adb (Move_Or_Merge_Aspects): Move all aspects related
-       to a single concurrent type declaration to the declaration
-       of the anonymous object if they qualify.
-       (Relocate_Aspect): Update comment on usage.
-       * aspects.ads Add new sectioon on aspect specifications on single
-       concurrent types. Add new table Aspect_On_Anonymous_Object_OK.
-       (Move_Or_Merge_Aspects): Udate the comment on usage.
-       * atree.adb (Elist36): New routine.
-       (Set_Elist36): New routine.
-       * atree.ads (Elist36): New routine along with pragma Inline.
-       (Set_Elist36): New routine along with pragma Inline.
-       * atree.h: Elist36 is now an alias for Field36.
-       * contracts.adb (Add_Contract_Item): Add processing
-       for protected units and extra processing for variables.
-       (Analyze_Object_Contract): Code cleanup. The processing of
-       Part_Of now depends on wherer the object is a constant or
-       a variable. Add processing for pragmas Depends and Global
-       when they apply to a single concurrent object. Verify that a
-       variable which is part of a single concurrent type has full
-       default initialization. Set/restore the SPARK_Mode of a single
-       concurrent object.
-       (Analyze_Protected_Contract): New routine.
-       * contracts.ads (Add_Contract_Item): Update the comment on usage.
-       (Analyze_Object_Contract): Update the comment on usage.
-       (Analyze_Protected_Contract): New routine.
-       (Analyze_Task_Contract): Update the comment on usage.
-       * einfo.adb Part_Of_Constituents now uses Elist10.
-       (Anonymous_Object): New routine.
-       (Contract): Code cleanup.
-       (Has_Option): Remove the assumption that the only simple
-       option is External.
-       (Is_Synchronized_State): New routine.
-       (Part_Of_Constituents): This attribute applies to
-       variables and uses Elist10.
-       (Set_Anonymous_Object): New routine.
-       (Set_Contract): Code cleanup.
-       (Set_Part_Of_Constituents): This attribute applies to variables and
-       uses Elist10.
-       (Set_SPARK_Aux_Pragma): Code cleanup.
-       (Set_SPARK_Aux_Pragma_Inherited): Code cleanup.
-       (Set_SPARK_Pragma): Code cleanup. This attribute applies to
-       variables.
-       (Set_SPARK_Pragma_Inherited): Code cleanup. This
-       attribute applies to variables.
-       (SPARK_Aux_Pragma): Code cleanup.
-       (SPARK_Aux_Pragma_Inherited): Code cleanup.
-       (SPARK_Pragma): Code cleanup. This attribute applies to variables.
-       (SPARK_Pragma_Inherited): Code cleanup. This attribute applies
-       to variables.
-       (Write_Field9_Name): Remove the output for Part_Of_Constituents.
-       (Write_Field10_Name): Add output for Part_Of_Constituents.
-       (Write_Field30_Name): Add output for Anonymous_Object.
-       (Write_Field34_Name): Output SPARK_Pragma
-       for protected types and variables.
-       * einfo.ads: New attributes Anonymous_Object and
-       Is_Synchronized_State along with usage in entities. Update
-       the documentation of attributes Contract Encapsulating_State
-       Part_Of_Constituents SPARK_Aux_Pragma SPARK_Aux_Pragma_Inherited
-       SPARK_Pragma SPARK_Pragma_Inherited (Anonymous_Object): New
-       routine along with pragma Inline.
-       (Is_Synchronized_State): New routine.
-       (Set_Anonymous_Object): New routine along with pragma Inline.
-       * freeze.adb (Freeze_Record_Type): Ensure that a non-synchronized
-       record does not have synchronized components.
-       * sem_ch3.adb (Analyze_Declarations): Code cleanup. Analyze the
-       contract of protected units.
-       * sem_ch9.adb Add with and use clauses for Sem_Prag. Code cleanup.
-       (Analyze_Single_Protected_Declaration): Reimplemented.
-       (Analyze_Single_Task_Declaration): Reimplemented.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Part_Of
-       can now apply to a single concurrent type declaration. Rely on
-       Insert_Pragma to place the pragma.  Update the error message on
-       usage to reflect the new context.
-       (Insert_Pragma): When inserting
-       pragmas for a protected or task type, create a definition if
-       the type lacks one.
-       * sem_elab.adb (Check_A_Call): Code cleanup. Issue error message
-       related to elaboration issues for SPARK when SPARK_Mode is "on"
-       and the offending entity comes from source.
-       * sem_prag.adb (Analyze_Abstract_State): Add new flag
-       Synchronous_Seen. Update the analysis of simple options Externa,
-       Ghost and Synchronous. Update various error messages to reflect
-       the use of single concurrent types.
-       (Analyze_Depends_Global): Pragmas Depends and Global can now apply to
-       a single task type or a single concurrent object created for a task
-       type.
-       (Analyze_Depends_In_Decl_Part): Do not push a scope when the
-       context is a single concurrent object.  (Analyze_Part_Of):
-       Moved out of Analyze_Pragma. The routine has a new profile
-       and comment on usage.
-       (Analyze_Part_Of_In_Decl_Part): New routine.
-       (Analyze_Part_Of_Option): Update the call to Analyze_Part_Of.
-       (Analyze_Pragma): Pragma Abstract_State can
-       now carry simple option Synchronous. Pragma Part_Of can now
-       apply to a single concurrent type declaration. The analysis
-       of pragma Part_Of is delayed when the context is a single
-       concurrent object.
-       (Analyze_Refined_Depends_In_Decl_Part): Use the anonymous object when
-       the context is a single concurren type.
-       (Analyze_Refined_Global_In_Decl_Part): Use the
-       anonymous object when the context is a single concurren type.
-       (Check_Ghost_Constituent): Removed.
-       (Check_Matching_Constituent): Renamed to Match_Constituent.
-       (Check_Matching_State): Renamed to Match_State.
-       (Collect_Constituent): Update the comment
-       on usage. Verify various legality rules related to ghost and
-       synchronized entities.
-       (Find_Related_Declaration_Or_Body): A single task declaration is no
-       longer a valid context for a pragma.
-       (Fix_Msg): Moved to Sem_Util.
-       (Process_Overloadable): Add processing for single task objects.
-       (Process_Visible_Part): Add processing for single concurrent
-       types.
-       (Relocate_Pragmas_To_Anonymous_Object): New routine.
-       * sem_prag.ads Add new table Pragma_On_Anonymous_Object_OK.
-       (Analyze_Part_Of_In_Decl_Part): New routine.
-       (Relocate_Pragmas_To_Anonymous_Object): New routine.
-       * sem_util.adb (Defining_Entity): Code cleanup.
-       (Fix_Msg): Moved from Sem_Prag and augmented to handle
-       mode replacements.
-       (Has_Full_Default_Initialization): New routine.
-       (Is_Descendant_Of_Suspension_Object): Moved out of
-       Is_Effectively_Volatile.
-       (Is_Single_Concurrent_Object): New routine.
-       (Is_Single_Concurrent_Type): New routine.
-       (Is_Single_Concurrent_Type_Declaration): New routine.
-       (Is_Synchronized_Object): New routine.
-       (Yields_Synchronized_Object): New routine.
-       * sem_util.ads (Fix_Msg): Moved form Sem_Prag. Update the
-       comment on usage.
-       (Has_Full_Default_Initialization): New routine.
-       (Is_Single_Concurrent_Object): New routine.
-       (Is_Single_Concurrent_Type): New routine.
-       (Is_Single_Concurrent_Type_Declaration): New routine.
-       (Is_Synchronized_Object): New routine.
-       (Yields_Synchronized_Object): New routine.
-       * snames.ads-tmpl: Add name Synchronous.
-
-2015-10-26  Jerome Lambourg  <lambourg@adacore.com>
-
-       * sysdep.c (__gnat_get_task_options): Refine the workaround for
-       the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the
-       value of VX_DEALLOC_TCB in RTP mode, the macro value not being
-       defined in the headers.
-       * g-arrspl.ads: Fix typo.
-
-2015-10-26  Jerome Lambourg  <lambourg@adacore.com>
-
-       * sysdep.c (__gnat_get_task_options): Workaround a VxWorks
-       bug where VX_DEALLOC_TCB task option is forbidden when calling
-       taskCreate but allowed in VX_USR_TASK_OPTIONS.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): New subprogram.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Constant_Indexing_OK): New predicate, subsidiary
-       of Try_Container_Indexing, that implements the name resolution
-       rules given in RM 4.1.6 (13-15).
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch3.adb, sem_util.adb: Minor reformatting.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Return False when
-       generating C code.
-       * sem_ch3.adb: Fix typos.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Build_Predicate_Functions): Change the
-       structure of the predicate functions to reflect the requirements
-       of AI12-0071.
-       (Add_Condition): New procedure to do the "and-then-ing" in Add_Call
-       and Add_Predicates.
-       * einfo.ads (Static_Real_Or_String_Predicate): Change the
-       documentation to reflect the new structure.
-       * sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
-       Change the walking of the predicate expression to reflect the
-       new structure.
-       * exp_util.adb: Minor comment fix.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * s-rident.ads (No_Dynamic_Sized_Objects): New restriction name.
-       * sem_util.ads, sem_util.adb (All_Composite_Constraints_Static):
-       New function to check that all relevant constraints are static.
-       * sem_aggr.adb (Resolve_Array_Aggregate): Call
-       All_Composite_Constraints_Static on the bounds of named array
-       aggregates.
-       * sem_ch3.adb (Analyze_Subtype_Declaration): Call
-       All_Composite_Constraints_Static if the type is composite and
-       the subtype is constrained.
-
-2015-10-26  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Subprogram_Declaration): Skip the frontend
-       transformation of functions that return a constrained array into
-       a procedure when they are unchecked_conversion instances.
-
-2015-10-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * s-os_lib.ads: Minor reformatting/rewording.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * debug.adb: Introduce debug flag -gnatd.5.
-
-2015-10-26  Pascal Obry  <obry@adacore.com>
-
-       * s-os_lib.ads, s-os_lib.adb (Kill): New routine. This routine
-       makes visible support for killing processes in expect.c.
-       * expect.c (__gnat_kill): Removed from here.
-       * adaint.c (__gnat_kill): Added here to be usable in the compiler
-       (System.OS_Lib).
-       * make.adb (Sigint_Intercepted): Use the Kill routine from
-       System.OS_Lib.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * einfo.ads, einfo.adb, exp_unst.adb (Needs_Typedef,
-       Set_Needs_Typedef): Removed, no longer used.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (First_Component): Update the assertion to allow
-       for concurrent types.
-       (First_Component_Or_Discriminant): Update the assertion to allow for
-       concurrent types.
-       * einfo.ads: Update the documentation of attributes First_Component
-       and First_Component_Or_Discriminant along with uses in entities.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Resolve_Actuals): An effectively
-       volatile object may act as an actual when the corresponding
-       formal is of a non-scalar effectively volatile type, not just
-       a non-scalar volatile type.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * sinfo.ads, sem_util.ads: Update comments.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Refined_Depends_Global_Post): When dealing with
-       protected entries or protected subprograms, use the enclosing protected
-       type to ensure that the protected type declaration is declared
-       in a package spec. Remove an obsolete attempt to ensure the
-       aggregate for of pragma Refined_State as this routine is never
-       called in that case.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For
-       an element iterator loop, the element is a constant if the
-       container object is a constant, even if the container type has
-       a Variable_Indexing aspect.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * s-fileio.adb (Fopen_Mode): Use "r+" for Out_File/Stream_IO,
-       so the file won't be truncated on 'fopen', as required by
-       AI95-00283-1.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * gnat1drv.adb, prj.adb, sem_ch6.adb, s-regpat.adb,
-       sem_prag.adb: Fix typos.
-       * einfo.ads, restrict.ads: Minor comment fixes.
-       * err_vars.ads, sem_util.adb, errout.ads: Code clean up.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Assignment): Do not check that the
-       Left-hand side is legal in an inlined body, check is done on
-       the original template.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_util.ads, exp_util.adb (Find_Primitive_Operations): New
-       subprogram to retrieve by name the possibly overloaded set of
-       primitive operations of a type.
-       * sem_ch4.adb (Try_Container_Indexing): Use
-       Find_Primitive_Operations to handle overloaded indexing operations
-       of a derived type.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * osint-c.ads: Minor comment update.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
-       s-osinte-darwin.ads, s-osinte-android.ads, s-osinte-freebsd.ads,
-       s-taprop-posix.adb (Get_Page_Size): C function returns an int. Adjust
-       callers accordingly.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch4.adb (Is_OK_Object_Reference): New routine.
-       (Substitute_Valid_Check): Perform the 'Valid subsitution but do
-       not suggest the use of the attribute if the left hand operand
-       does not denote an object as it leads to illegal code.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_unst.adb: Minor reformatting.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb: Improve error msg.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_disp.adb (Check_Controlling_Type): Handle properly the
-       case of an incomplete type whose full view is tagged, when a
-       primitive operation of the type is declared between the two views.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * adaint.c (__gnat_locate_exec_on_path): If the PATH environment
-       variable is not set, do not return NULL, because we can still find
-       the executable if it includes a directory name.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_elab.adb (Elab_Warning): Under dynamic elaboration, when
-       elaboration warnings are enabled, emit proper warning header
-       when triggered by an access attribute.
-
-2015-10-26  Steve Baird  <baird@adacore.com>
-
-       * exp_ch11.adb: If CodePeer_Mode is true, generate simplified
-       SCIL for exception declarations.
-       * exp_ch11.adb (Expand_N_Exception_Declaration) If CodePeer_Mode
-       is True, initialize the Full_Name component of the exception
-       record to null instead of to the result of an unchecked
-       conversion.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_unst.adb (Note_Uplevel_Ref) : Handle properly a reference
-       that denotes a function returning a constrained array, that has
-       been rewritten as a procedure.
-       * makeutl.ads: Minor edit.
-
-2015-10-26  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb (Traverse_Protected_Declaration): New
-       procedure for traversal.
-       (Add_SPARK_Xrefs): Remove debugging code.
-       (Traverse_Declaration_Or_Statement): Call the new traversal
-       procedure.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Pragma
-       Extensions_Visible can now appear on an abstract subprogram
-       declaration.
-
-2015-10-26  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Use character 'r' to
-       denote a reference to a constant which may have variable input, and
-       thus may be treated as a variable in GNATprove, instead of the
-       character 'c' used for constants.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Object_Access_Level): Only aliased formals of
-       functions have the accessibility level of the point of call;
-       aliased formals of procedures have the same level as unaliased
-       formals.
-       (New_Copy_Tree): Add guard on copying itypes. From code reading.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * inline.adb: Minor reformatting.
-
-2015-10-26  Yannick Moy  <moy@adacore.com>
-
-       * get_spark_xrefs.adb (get_SPARK_Xrefs): Remove obsolete
-       assertion.
-       * lib-xref-spark_specific.adb (Traverse_Declaration_Or_Statement):
-       New procedure to factor duplicated code and add
-       treatment of protected entries.
-       (Add_SPARK_Scope, Traverse_Declarations_Or_Statements): Call the new
-       procedure Traverse_Declaration_Or_Statement. Use same character used in
-       normal xrefs for SPARK xrefs, for a given entity used as scope.
-       * spark_xrefs.ads Document character used for entries.
-       * sem_prag.adb (Check_Loop_Pragma_Placement): Account for possible
-       introduction of declarations and statements by the expansion, between
-       two otherwise consecutive loop pragmas.
-       * sem_util.ads, sem_util.adb (Is_Suspension_Object): Lifted from nested
-       function.
-       (Is_Descendant_Of_Suspension_Object): nested function lifted.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_attr.adb (Eval_Attribute): Attribute 'Enum_Rep can be folded
-       when its prefix denotes a constant, an enumeration literal or
-       an enumeration type. Use the expression of the attribute in the
-       enumeration type form, otherwise use the prefix to fold.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * aspects.adb Add an entry for entry bodies in table
-       Has_Aspect_Specifications_Flag.
-       (Aspects_On_Body_Or_Stub_OK): Entry bodies now allow for certain
-       aspects.
-       * contracts.adb (Add_Contract_Items): Code cleanup. Add
-       processing for entry bodies, entry declarations and task units.
-       (Analyze_Subprogram_Body_Contract): Renamed
-       to Analyze_Entry_Or_Subprogram_Body_Contract. Do not
-       analyze the contract of an entry body unless annotating the
-       original tree.
-       (Analyze_Subprogram_Contract): Renamed to
-       Analyze_Entry_Or_Subprogram_Contract.  Do not analyze the contract
-       of an entry declaration unless annotating the original tree.
-       (Analyze_Task_Contract): New routine.
-       * contracts.ads (Add_Contract_Item): Update the comment on usage.
-       (Analyze_Package_Body_Contract): Update comment on usage.
-       (Analyze_Package_Contract): Update the comment on usage.
-       (Analyze_Subprogram_Body_Contract): Renamed to
-       Analyze_Entry_Or_Subprogram_Body_Contract.
-       (Analyze_Subprogram_Body_Stub_Contract): Update the comment on usage.
-       (Analyze_Subprogram_Contract): Renamed to
-       Analyze_Entry_Or_Subprogram_Contract.
-       (Analyze_Task_Contract): New routine.
-       * einfo.adb (Contract): Restructure the assertion to include
-       entries and task units.
-       (SPARK_Pragma): This attribute now applies to operators.
-       (SPARK_Pragma_Inherited): This flag now applies to operators.
-       (Set_Contract): Restructure the assertion to include entries and task
-       units.
-       (Set_SPARK_Pragma): This attribute now applies to operators.
-       (Set_SPARK_Pragma_Inherited): This flag now applies to operators.
-       (Write_Field34_Name): Write out all Ekinds that have a contract.
-       (Write_Field40_Name): SPARK_Pragma now applies to operators.
-       * einfo.ads: Update the documentation of attribute Contract along
-       with usage in nodes.  Update the documentation of attributes
-       SPARK_Pragma and SPARK_Pragma_Inherited.
-       * exp_ch6.adb (Freeze_Subprogram): Update the call to
-       Analyze_Subprogram_Contract.
-       * par-ch9.adb (P_Entry_Barrier): Do not parse keyword "is" as it
-       is not part of the entry barrier production.
-       (P_Entry_Body): Parse the optional aspect specifications. Diagnose
-       misplaced aspects.
-       * sem_attr.adb (Analyze_Attribute_Old_Result): Update the call
-       to Find_Related_Subprogram_Or_Body.
-       * sem_aux.adb (Unit_Declaration_Node) Add an entry for entry
-       declarations and bodies.
-       * sem_ch3.adb (Analyze_Declarations): Analyze the contracts of
-       entry declarations, entry bodies and task units.
-       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
-       Update the call to Analyze_Subprogram_Body_Contract.
-       (Analyze_Subprogram_Body_Helper): Update the call to
-       Analyze_Subprogram_Body_Contract.
-       * sem_ch9.adb (Analyze_Entry_Body): Analyze the aspect
-       specifications and the contract.
-       * sem_ch10.adb (Analyze_Compilation_Unit): Update the call to
-       Analyze_Subprogram_Contract.
-       * sem_ch12.adb (Save_References_In_Pragma): Update the call to
-       Find_Related_Subprogram_Or_Body.
-       * sem_ch13.adb (Analyze_Aspects_On_Body_Or_Stub): Use
-       Unique_Defining_Entity rather than rummaging around in nodes.
-       (Diagnose_Misplaced_Aspects): Update comment on usage. Update the
-       error messages to accomondate the increasing number of contexts.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-       Update the call to Find_Related_Subprogram_Or_Body.
-       (Analyze_Depends_Global): Update the call to
-       Find_Related_Subprogram_Or_Body. Add processing for entry
-       declarations.
-       (Analyze_Depends_In_Decl_Part): Update the call
-       to Find_Related_Subprogram_Or_Body. Task units have no formal
-       parameters to install.  (Analyze_Global_In_Decl_Part): Update
-       the call to Find_Related_Subprogram_Or_Body. Task units have no
-       formal parameters to install.
-       (Analyze_Global_Item): Use Fix_Msg to handle the increasing number of
-       contexts.
-       (Analyze_Pragma): Update the call to Find_Related_Subprogram_Or_Body.
-       Perform full analysis when various pragmas appear in an entry body.
-       (Analyze_Pre_Post_Condition): Update the call to
-       Find_Related_Subprogram_Or_Body. Perform full analysis when the pragma
-       appears in an entry body.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Update the call to
-       Find_Related_Subprogram_Or_Body.
-       (Analyze_Refined_Depends_Global_Post): Update
-       the call to Find_Related_Subprogram_Or_Body. Use
-       Fix_Msg to handle the increasing number of contexts.
-       (Analyze_Refined_Depends_In_Decl_Part): Update
-       the call to Find_Related_Subprogram_Or_Body. Use
-       Unique_Defining_Entity to obtain the entity of the
-       spec. Use Fix_Msg to handle the increasing number of contexts.
-       (Analyze_Refined_Global_In_Decl_Part): Update the call to
-       Find_Related_Subprogram_Or_Body. Use Unique_Defining_Entity to obtain
-       the entity of the spec. Use Fix_Msg to handle the increasing number of
-       contexts.
-       (Analyze_Test_Case_In_Decl_Part): Update the call to
-       Find_Related_Subprogram_Or_Body.
-       (Check_Dependency_Clause): Use Fix_Msg to handle the increasing number
-       of contexts.
-       (Check_Mode_Restriction_In_Enclosing_Context): Use
-       Fix_Msg to handle the increasing number of contexts.
-       (Collect_Subprogram_Inputs_Outputs): Use the refined
-       versions of the pragmas when the context is an entry body or
-       a task body.
-       (Find_Related_Subprogram_Or_Body): Renamed to
-       Find_Related_Declaration_Or_Body.  Add processing for entries
-       and task units.
-       (Fix_Msg): New routine.
-       (Role_Error): Use Fix_Msg to handle the increasing number of contexts.
-       * sem_prag.ads (Find_Related_Subprogram_Or_Body): Renamed to
-       Find_Related_Declaration_Or_Body.  Update the comment on usage.
-       * sem_util.adb (Is_Entry_Body): New routine.
-       (Is_Entry_Declaration): New routine.
-       * sem_util.ads (Is_Entry_Body): New routine.
-       (Is_Entry_Declaration): New routine.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * inline.adb (Has_Excluded_Declaration): A subtype declaration
-       with a predicate aspect generates a subprogram, and therefore
-       prevents the inlining of the enclosing subprogram.
-       * osint.ads: Fix typo.
-
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_case.adb (Check_Choice_Set): Choose initial choice range
-       below low bound of type, to prevent spurious errors on case
-       statements whose expressions have an integer subtype with a
-       static predicate.
-       * sem_util.ads: Fix typo.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Case_Expression): In the scope of a
-       predicate function, delay the expansion of the expression only
-       if the target type has a specified Static_ Predicate aspect,
-       because the expression is processed later. A dynamic predicate
-       must be expanded in standard fashion.
-
-2015-10-26  Claire Dross  <dross@adacore.com>
-
-       * a-nudira.ads: Remove SPARK_Mode as it currently causes an error.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_aggr.adb, sem_type.adb, sem_ch12.adb, sem_res.adb, sem_ch4.adb,
-       sem_ch8.adb, exp_aggr.adb, sem_eval.adb, s-fatgen.adb, a-tienio.adb:
-       Fix typos.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch13.adb (Analyze_Aspect_Specifications): The processing
-       for aspects Abstract_State, Ghost, Initial_Condition, Initializes
-       and Refined_State no longer have to take SPARK_Mode into account.
-       (Insert_After_SPARK_Mode): Removed.
-       (Insert_Pragma): Update profile and comment on usage. The routine can
-       now insert a pragma after the "header" of an instance.
-       * sem_prag.adb (Analyze_If_Available): New routine.
-       (Analyze_Pragma): Do not reset the Analyzed flag of various
-       SPARK pragmas as they use the Is_Analyzed_Pragma attribute to
-       avoid reanalysis. Various pragmas now trigger the analysis
-       of related pragmas that depend on or are dependent on the
-       current pragma. Remove the declaration order checks related
-       to pragmas Abstract_State, Initial_Condition and Initializes.
-       (Analyze_Pre_Post_Condition): Analyze pragmas SPARK_Mode and
-       Volatile_Function prior to analyzing the pre/postcondition.
-       (Check_Declaration_Order): Removed.
-       (Check_Distinct_Name): Ensure that a potentially duplicated pragma
-       Test_Case is not the pragma being analyzed.
-       (Is_Followed_By_Pragma): Removed.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb: Handle subprogram bodies without previous specs.
-
-2015-10-26  Claire Dross  <dross@adacore.com>
-
-       * a-nudira.ads: Specify appropriate SPARK_Mode so that the unit
-       can be used in SPARK code.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Subprogram_Body_Contract): Do not analyze
-       pragmas Refined_Global and Refined_Depends because these pragmas
-       are now fully analyzed when encountered.
-       (Inherit_Pragma): Update the call to attribute Is_Inherited.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Add a guard
-       to prevent reanalysis. Mark the pragma as analyzed at the end of
-       the processing.
-       (Analyze_Depends_Global): New parameter profile
-       and comment on usage. Do not fully analyze the pragma, this is
-       now done at the outer level.
-       (Analyze_Depends_In_Decl_Part): Add a guard to prevent reanalysis.
-       Mark the pragma as analyzed at the end of the processing.
-       (Analyze_External_Property_In_Decl_Part): Add a guard to prevent
-       reanalysis.  Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Global_In_Decl_Part): Add a guard to prevent reanalysis. Mark
-       the pragma as analyzed at the end of the processing.
-       (Analyze_Initial_Condition_In_Decl_Part): Add a guard to prevent
-       reanalysis.  Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Initializes_In_Decl_Part): Add a guard to prevent reanalysis.
-       Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Pragma): Reset the Analyzed flag on various pragmas that
-       require delayed full analysis. Contract_Cases is now analyzed
-       immediately when it applies to a subprogram body stub. Pragmas Depends,
-       Global, Refined_Depends and Refined_Global are now analyzed
-       in pairs when they appear in a subprogram body [stub].
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Add a guard to
-       prevent reanalysis.  Mark the pragma as analyzed at the end of
-       the processing.
-       (Analyze_Refined_Depends_Global_Post): Update the comment on usage.
-       (Analyze_Refined_Depends_In_Decl_Part): Add a guard to prevent
-       reanalysis. Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Refined_Global_In_Decl_Part): Add a guard to prevent
-       reanalysis. Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Refined_State_In_Decl_Part): Add a guard to prevent
-       reanalysis. Mark the pragma as analyzed at the end of the processing.
-       (Analyze_Test_Case_In_Decl_Part): Add a guard to prevent reanalysis.
-       Mark the pragma as analyzed at the end of the processing.
-       (Is_Followed_By_Pragma): New routine.
-       * sinfo.adb (Is_Analyzed_Pragma): New routine.
-       (Is_Inherited): Renamed to Is_Inherited_Pragma.
-       (Set_Is_Analyzed_Pragma): New routine.
-       (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma.
-       * sinfo.ads Rename attribute Is_Inherited to Is_Inherited_Pragma
-       and update occurrences in nodes.
-       (Is_Analyzed_Pragma): New routine along with pragma Inline.
-       (Is_Inherited): Renamed to Is_Inherited_Pragma along with pragma Inline.
-       (Set_Is_Analyzed_Pragma): New routine along with pragma Inline.
-       (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma along
-       with pragma Inline.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * par-ch3.adb (P_Component_Items): When style checks are enabled,
-       apply them to component declarations in a record type declaration
-       or extension.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_util.adb (Is_Suspension_Object): Ensure that the scope of "Ada"
-       is Standard_Standard.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Is_OK_Volatile_Context): A subprogram call is an OK
-       context for a reference to an effectively volatile object.
-       (Resolve_Actuals): Add references to SPARK RM.
-       (Within_Procedure_Call): Removed.
-       (Within_Subprogram_Call): New routine.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Check_Aggregate_Accessibility): A reference to a
-       formal parameter in an aggregate does not need an accesibility
-       check only if the formal is aliased.
-
-2015-10-26  Claire Dross  <dross@adacore.com>
-
-       * sem_aux.ads (Number_Components): Can return 0 when called on
-       an empty record.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.adb (Analyze_Subprogram_Body_Contract): Use
-       Unique_Defining_Entity instead of Corresponding_Spec_Of.
-       * einfo.adb SPARK_Pragma and SPARK_Aux_Pragma are now Node40 and
-       Node41 respectively.
-       (SPARK_Aux_Pragma): Update the assertion and node querry.
-       (SPARK_Aux_Pragma_Inherited): Update the assertion and node query.
-       (SPARK_Pragma): Update the assertion and node query.
-       (SPARK_Pragma_Inherited): Update the assertion and node query.
-       (Set_SPARK_Aux_Pragma): Update the assertion and node setting.
-       (Set_SPARK_Aux_Pragma_Inherited): Update the assertion and node setting.
-       (Set_SPARK_Pragma): Update the assertion and node setting.
-       (Set_SPARK_Pragma_Inherited): Update the assertion and node setting.
-       (Write_Field32_Name): Remove the output for SPARK_Pragma.
-       (Write_Field33_Name): Remove the output for SPARK_Aux_Pragma.
-       (Write_Field40_Name): Add output for SPARK_Pragma.
-       (Write_Field41_Name): Add output for SPARK_Aux_Pragma.
-       * einfo.ads Rewrite the documentation on attributes
-       SPARK_Pragma, SPARK_Aux_Pragma, SPARK_Pragma_Inherited and
-       SPARK_Aux_Pragma_Inherited. Update their uses in nodes.
-       * exp_ch4.adb (Create_Anonymous_Master): Use
-       Unique_Defining_Entity instead of Corresponding_Spec_Of.
-       * exp_ch9.adb (Expand_Entry_Declaration): Mark the barrier
-       function as such.
-       (Expand_N_Task_Body): Mark the task body as such.
-       (Expand_N_Task_Type_Declaration): Mark the task body as such.
-       * exp_unst.adb (Visit_Node): Use Unique_Defining_Entity instead
-       of Corresponding_Spec_Of.
-       * sem_attr.adb (Analyze_Attribute_Old_Result): Use
-       Unique_Defining_Entity instead of Corresponding_Spec_Of.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Entry barrier
-       functions do not inherit the SPARK_Mode from the context.
-       (Build_Subprogram_Declaration): The matching spec is now marked
-       as a source construct to mimic the original stand alone body.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Code cleanup.
-       * sem_ch9.adb Add with and use clauses for Contracts.
-       (Analyze_Entry_Body): An entry body freezes the contract of
-       the nearest enclosing package body. The entry body now inherits
-       the SPARK_Mode from the context.
-       (Analyze_Entry_Declaration): A protected entry declaration now inherits
-       the SPARK_Mode from the context.
-       (Analyze_Protected_Body): A protected body freezes
-       the contract of the nearest enclosing package body. Set the
-       Etype of a protected body as this is neede for proper aspect
-       analysis. Protected bodies can now carry meaningful aspects and
-       those are now analyzed.
-       (Analyze_Protected_Type_Declaration): A protected type now inherits the
-       SPARK_Mode from the context.
-       (Analyze_Task_Body): A task body freezes the contract of the
-       nearest enclosing package body. Set the Etype of a task body
-       as this is needed for proper aspect analysis. A task body
-       now inherits the SPARK_Mode from the context.  Task bodies
-       can now carry meaningful aspects and those are now analyzed.
-       (Analyze_Task_Type_Declaration): A task type declaration now
-       inherits the SPARK_Mode of from the context.
-       * sem_ch10.adb (Analyze_Protected_Body_Stub): Protected body
-       stubs can now carry meaningful aspects.
-       (Analyze_Task_Body_Stub): Task body stubs can now carry meaningful
-       aspects.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspects SPARK_Mode
-       Warnings now use routine Insert_Pragma as means of insertion into
-       the tree.
-       (Insert_After_SPARK_Mode): Clean up documentation.
-       (Insert_Pragma): Clean up documentation. The routine is now
-       capable of operating on synchronized units.
-       * sem_prag.adb (Add_Entity_To_Name_Buffer): New routine.
-       (Analyze_Contract_Cases_In_Decl_Part): Use
-       Unique_Defining_Entity instead of Corresponding_Spec_Of.
-       (Analyze_Depends_Global): Use Unique_Defining_Entity instead
-       of Corresponding_Spec_Of.
-       (Analyze_Depends_In_Decl_Part): Use Unique_Defining_Entity instead of
-       Corresponding_Spec_Of.
-       (Analyze_Global_In_Decl_Part): Use Unique_Defining_Entity instead of
-       Corresponding_Spec_Of.
-       (Analyze_Pragma): Use Unique_Defining_Entity instead of
-       Corresponding_Spec_Of.
-       Update the detection of an illegal pragma Ghost when it applies
-       to a task or protected unit. Reimplement the handling of
-       pragma SPARK_Mode.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Use Unique_Defining_Entity
-       instead of Corresponding_Spec_Of.
-       (Analyze_Test_Case_In_Decl_Part): Use Unique_Defining_Entity instead of
-       Corresponding_Spec_Of.
-       (Check_Library_Level_Entity): Update the comment on usage.
-       Reimplemented to offer a more specialized errror context.
-       (Check_Pragma_Conformance): Update profile and comment on usage.
-       Handle error message output on single protected or task units.
-       (Collect_Subprogram_Inputs_Outputs): Use Unique_Defining_Entity
-       instead of Corresponding_Spec_Of.
-       (Process_Body): New routine.
-       (Process_Overloadable): New routine.
-       (Process_Private_Part): New routine.
-       (Process_Statement_Part): New routine.
-       (Process_Visible_Part): New routine.
-       (Set_SPARK_Context): New routine.
-       (Set_SPARK_Flags): Removed.
-       * sem_util.adb (Corresponding_Spec_Of): Removed.
-       (Unique_Entity): Reimplemented to handle many more cases.
-       * sem_util.ads (Corresponding_Spec_Of): Removed.
-       (Unique_Defining_Entity): Update the comment on usage.
-       * sinfo.ads (Is_Entry_Barrier_Function): Update the assertion.
-       (Is_Task_Body_Procedure): New routine.
-       (Set_Is_Entry_Barrier_Function): Update the assertion.
-       (Set_Is_Task_Body_Procedure): New routine.
-       * sinfo.adb Update the documentation of attribute
-       Is_Entry_Barrier_Function along with use in nodes. Add new
-       attribute Is_Task_Body_Procedure along with use in nodes.
-       (Is_Task_Body_Procedure): New routine along with pragma Inline.
-       (Set_Is_Task_Body_Procedure): New routine along with pragma Inline.
-
-2015-10-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch13.adb: Minor reformatting.
-
-2015-10-26  Steve Baird  <baird@adacore.com>
-
-       * exp_disp.adb: Omit most dispatch table initialization code
-       if Generate_SCIL is true.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * sinfo.ads, exp_ch3.adb: Revert previous change.
-       (Build_Record_Init_Proc): Do not build an aggregate if
-       Modify_Tree_For_C.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Find_Corresponding_Spec): Reject a subprogram
-       body whose signature is type conformant with a previous expression
-       function.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * treepr.adb: Code clean up.
-
-2015-10-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * freeze.adb (Check_Component_Storage_Order): Skip a record
-       component if it has Complex_Representation.
-       (Freeze_Record_Type): If the type has Complex_Representation, skip the
-       regular treatment of Scalar_Storage_Order attribute and instead issue
-       a warning if it is present.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Check_Iterator_Functions): For a Default_Iterator
-       aspect, make sure an implicitly declared interpretation is
-       overridden by an explicit one.
-       * sem_util.ads: Update comment.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch7.adb, sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only source
-       bodies should "freeze" the contract of the nearest enclosing
-       package body.
-
-2015-10-26  Joel Brobecker  <brobecker@adacore.com brobecker>
-
-       * adaint.c (__gnat_lwp_self): Replace current implementation re-using
-       the Linux one, which uses an __NR_gettid syscall rather than
-       pthread_self.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * sinfo.ads, exp_ch3.adb (Build_Array_Init_Proc,
-       Build_Record_Init_Proc): Do not inline init procs when
-       Modify_Tree_For_C is True.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * errout.ads: Minor comment fix.
-       * einfo.ads: Minor style fix.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * sem_ch3.adb (Derive_Interface_Subprogram): Fix
-       Is_Abstract_Subprogram, which might have been calculated
-       incorrectly, because we're passing Ultimate_Alias (Subp) (and
-       its dispatching type) to Derive_Subprogram, instead of the true
-       parent subprogram and type.
-
-2015-10-26  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Check_Iterator_Functions): When
-       printing the "default iterator must be unique" error message,
-       also print references to the places where the duplicates are
-       declared. This makes the message clearer.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Do not set
-       Box_Present when the formal part is (others => <>) even though
-       it is equivalent to a formal part (<>), because ASIS tools depend
-       on the syntactic setting of this flag.
-
-2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch13.adb: Minor reformatting.
-       * einfo.ads: Minor typo.
-
-2015-10-26  Joel Brobecker  <brobecker@adacore.com brobecker>
-
-       * adaint.c (__gnat_open_new_temp): Use mkstemp on Android.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code clean up.
-       * sem_ch13.adb (Check_Inherited_Indexing): New inner procedure
-       of Check_Indexing_Functions, to verify that a derived type with an
-       Indexing aspect is not inheriting such an aspect from an ancestor.
-       (Check_Indexing_Functions): Call Check_Inherited_Indexing within
-       an instance.
-
-2015-10-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * a-reatim.adb, contracts.adb, contracts.ads: Minor reformatting and
-       typo corrections.
-
-2015-10-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
-       recheck the consistency betwen the freeze point and the end of
-       declarations for the expression in an aspect specification,
-       because it was done already in the analysis of the generic.
-       Furthermore, the delayed analysis of an aspect of the instance
-       may produce spurious errors when the generic is a child unit
-       that references entities in the parent (which might not be in
-       scope at the freeze point of the instance).
-
-2015-10-26  Yannick Moy  <moy@adacore.com>
-
-       * sem_res.adb (Resolve_Call): Issue info message
-       instead of warning when call cannot be inlined in GNATprove mode.
-
-2015-10-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch6.adb (Build_Procedure_Form): Use _result as the
-       name of the extra parameter, cleaner than a random temp name.
-       * gnat1drv.adb (Gnat1drv): Code clean up.
-
-2015-10-24  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils2.c (build_binary_op): Tweak formatting.
-       (build_unary_op): Likewise.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
-       * doc/share/ada_pygments.py, 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_rm/implementation_defined_attributes.rst,
-       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
-       doc/gnat_rm/representation_clauses_and_pragmas.rst,
-       doc/gnat_rm/implementation_defined_pragmas.rst,
-       doc/gnat_rm/about_this_guide.rst,
-       doc/gnat_rm/implementation_of_ada_2012_features.rst,
-       doc/gnat_rm/implementation_of_specific_ada_features.rst,
-       doc/gnat_rm/implementation_defined_aspects.rst,
-       doc/gnat_rm/implementation_advice.rst: Update documentation.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * contracts.ads, contracts.adb: New unit.
-       * exp_ch6.adb Add with and use clauses for Contracts.
-       (Expand_Subprogram_Contract): Moved to Contracts.
-       * exp_ch6.ads (Expand_Subprogram_Contract): Moved to Contracts.
-       * sem_ch3.adb Add with and use clauses for Contracts.
-       (Analyze_Object_Contract): Moved to Contracts.
-       (Analyze_Declarations): Remove local variable Pack_Decl. Do not
-       capture global references in contracts. Check the hidden states
-       of a package body.
-       * sem_ch6.adb Add with and use clauses in Contracts.
-       (Analyze_Generic_Subprogram_Body): Do not capture global
-       references in contracts.
-       (Analyze_Subprogram_Body_Contract):
-       Moved to Contracts.
-       (Analyze_Subprogram_Body_Helper): Freeze the
-       contract of the nearest enclosing package body. Always analyze
-       the subprogram body contract. Do not expand the subprogram
-       body contract.
-       (Analyze_Subprogram_Contract): Moved to Contracts.
-       * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Moved to Contracts.
-       (Analyze_Subprogram_Contract): Moved to Contracts.
-       * sem_ch7.adb Add with and use clauses for Contracts.
-       (Analyze_Package_Body_Contract): Moved to Contracts.
-       (Analyze_Package_Body_Helper): Freeze the contract of the
-       nearest enclosing package body.
-       (Analyze_Package_Contract): Moved to Contracts.
-       * sem_ch7.ads (Analyze_Package_Body_Contract): Moved to Contracts.
-       (Analyze_Package_Contract): Moved to Contracts.
-       * sem_ch10.adb Add with and use clauses for Contracts.
-       (Analyze_Compilation_Unit): Do not capture global references
-       in contracts.
-       (Analyze_Subprogram_Body_Stub_Contract): Moved to Contracts.
-       * sem_ch10.ads (Analyze_Subprogram_Body_Stub_Contract): Moved
-       to Contracts.
-       * sem_ch12.adb Add with and use clauses for Contracts.
-       (Analyze_Subprogram_Instantiation): Update the call to
-       Instantiate_Subprogram_Contract.
-       (Instantiate_Package_Body):
-       Do not copy the entity of the spec when creating an entity
-       for the body. Construct a brand new defining identifier for
-       the body and inherit the Comes_From_Source flag from the spec.
-       (Instantiate_Subprogram_Body): Remove Anon_Id to Act_Decl_Id
-       and update all occurrences. Construct a brand new defining
-       identifier for the body and inherit the Comes_From_Source
-       flag from the spec.
-       (Instantiate_Subprogram_Contract): Moved
-       to Contracts.
-       (Save_Global_References_In_Aspects): Moved to
-       the spec of Sem_Ch12.
-       (Save_Global_References_In_Contract):
-       Moved to Contracts.
-       * sem_ch12.ads (Save_Global_References_In_Aspects): Moved from
-       the body of Sem_Ch12.
-       (Save_Global_References_In_Contract):
-       Moved to Contracts.
-       * sem_prag.adb Add with and use clauses for Contracts.
-       (Add_Item): Removed. All references to this routine have been
-       replaced with calls to Append_New_Elmt.
-       (Analyze_Constituent):
-       Add special diagnostics for errors caused by freezing of
-       contracts.
-       (Analyze_Refined_State_In_Decl_Part): Add formal
-       parameter Freeze_Id. Add new global variable Freeze_Posted.
-       (Collect_Body_States): Removed.
-       (Report_Unused_States): Removed.
-       * sem_prag.ads (Analyze_Defined_State_In_Decl_Part): Add formal
-       parameter Freeze_Id and update comment on usage.
-       * sem_util.adb Remove with and use clauses for
-       Sem_Ch12.
-       (Add_Contract_Item): Moved to Contracts.
-       (Check_Unused_Body_States): New routine.
-       (Collect_Body_States):
-       New routine.
-       (Create_Generic_Contract): Moved to Contracts.
-       (Inherit_Subprogram_Contract): Moved to Contracts.
-       (Report_Unused_Body_States): New routine.
-       * sem_util.ads (Add_Contract_Item): Moved to Contracts.
-       (Check_Unused_Body_States): New routine.
-       (Collect_Body_States): New routine.
-       (Create_Generic_Contract): Moved to Contracts.
-       (Inherit_Subprogram_Contract): Moved to Contracts.
-       (Report_Unused_Body_States): New routine.
-       * sinfo.adb (Is_Expanded_Contract): New routine.
-       (Set_Is_Expanded_Contract): New routine.
-       * sinfo.ads New attribute Is_Expanded_Contract along with
-       placement in nodes.
-       (Is_Expanded_Contract): New routine along
-       with pragma Inline.
-       (Set_Is_Expanded_Contract): New routine
-       along with pragma Inline.
-       * gcc-interface/Make-lang.in: Add entry for contracts.o
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * bindgen.adb, init.c, opt.ads, switch-b.adb: Implement new -Ea and
-       -Es switches.
-       * switch-b.ads: Minor comment fix.
-       * bindusg.adb: Document new -Ea and -Es switches.
-       * s-exctra.ads: Use -Es instead of -E.
-
-2015-10-23  Tristan Gingold  <gingold@adacore.com>
-
-       * gcc-interface/utils2.c (build_call_alloc_dealloc): Check no implicit
-       task and protected object restrictions.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch12.adb, exp_ch6.adb: Minor reformatting.
-
-2015-10-23  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch6.adb: Minor reformatting.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Check_Formal_Packages): A formal package whose
-       actual part is (others => <>) os identical to a formal package
-       with an actual part written as (<>).
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * a-reatim.adb ("/"): For Time_Span division convert the operands
-       to integers and then use integer division, which conforms to
-       the rounding required by Ada RM.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Check_Missing_Return): Do not report a missing
-       return statement on a function body constructed to complete a
-       package body for a premature instantiation.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Build_Procedure_Body_Form): Replace body of
-       original function with that of generated procedure, to simplify
-       processing and avoid scoping problems with local declarations.
-       (Rewrite_Function_Call_For_C): Handle properly the case of a
-       parameterless function.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * a-exextr.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-taskin.ads: Minor code clean up.
-       (Ada_Task_Control_Block): Move fixed size field before variable sized
-       ones.
-       * einfo.ads: Minor editing.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Check_Aggregate_Accessibility): Apply rule in RM
-       6.5 (8.3) to verify that access discriminants in an aggregate
-       in a return statement have the proper accessibility, i.e. do
-       not lead to dangling references.
-
-2015-10-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add missing
-       test on Address_Clause_Overlay_Warnings to the "constant overlays
-       variable" warning. For the reverse case, also issue a warning if
-       the modification is potentially made through the initialization
-       of the variable.
-
-2015-10-23  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-exetim-posix.adb (Clock): Use the pthread_getcpuclockid
-       function to have access to CPU clocks for tasks other than the
-       calling task.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * debug.adb: Switch -gnatd.5 is no longer in use, remove the
-       associated documentation.
-       * exp_dbug.adb (Get_External_Name): Do not add a special prefix
-       for ignored Ghost entities or when switch -gnatd.5 is enabled.
-       * exp_dbug.ads Remove the documentation concerning the encoding
-       of ignored Ghost entities.
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * a-exextr.adb (Notify_Exception): For Unhandled_Raise_In_Main,
-       mimic the output from Ada.Exceptions.Last_Chance_Handler; don't
-       print "Exception raised".
-       * s-stalib.ads, s-exctra.ads, s-exctra.adb: Add
-       Unhandled_Raise_In_Main to types Exception_Trace_Kind/Trace_Kind.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_attr.adb, freeze.adb, sem_attr.adb, exp_aggr.adb,
-       gnatname.adb: Minor reformatting.
-
-2015-10-23  Steve Baird  <baird@adacore.com>
-
-       * a-cbdlli.ads, a-cbhama.ads, a-cbhase.ads, a-cbmutr.ads,
-       a-cborma.ads, a-cborse.ads, a-cbprqu.ads, a-cbsyqu.ads,
-       a-cdlili.ads, a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads,
-       a-cfinve.ads, a-cforma.ads, a-cforse.ads, a-cidlli.ads,
-       a-cihama.ads, a-cihase.ads, a-cimutr.ads, a-ciorma.ads,
-       a-ciormu.ads, a-ciorse.ads, a-coboho.ads, a-cobove.ads,
-       a-cofove.ads, a-cohama.ads, a-cohase.ads, a-coinho.ads,
-       a-coinho-shared.ads, a-coinve.ads, a-comutr.ads, a-conhel.ads,
-       a-convec.ads, a-coorma.ads, a-coormu.ads, a-coorse.ads,
-       a-cuprqu.ads, a-cusyqu.ads, a-rbtgbo.ads: Add spec Annotate
-       pragmas.
-       * a-cbdlli.adb, a-cbhama.adb, a-cbhase.adb, a-cbmutr.adb,
-       a-cborma.adb, a-cborse.adb, a-cbprqu.adb, a-cbsyqu.adb,
-       a-cdlili.adb, a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb,
-       a-cfinve.adb, a-cforma.adb, a-cforse.adb, a-cidlli.adb,
-       a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb,
-       a-ciormu.adb, a-ciorse.adb, a-coboho.adb, a-cobove.adb,
-       a-cofove.adb, a-cohama.adb, a-cohase.adb, a-coinho.adb,
-       a-coinho-shared.adb, a-coinve.adb, a-comutr.adb, a-conhel.adb,
-       a-convec.adb, a-coorma.adb, a-coormu.adb, a-coorse.adb,
-       a-cuprqu.adb, a-cusyqu.adb, a-rbtgbo.adb: Remove body Annotate
-       pragmas.
-
-2015-10-23  Vincent Celier  <celier@adacore.com>
-
-       * gnatname.adb: When gnatname is invoked with a project file,
-       specified with switch -P, if gprname is available, gnatname will
-       invoke gprname, with the target if it is a cross gnatname.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch4.adb: Fix typo.
-       * exp_ch6.adb: Update comment.
-       * exp_attr.adb (Expand_Min_Max_Attribute): Simplify expansion.
-       * exp_aggr.adb (Convert_To_Positional): Only convert to
-       positional when generating C in case of an object declaration.
-       (In_Object_Declaration): New.
-       (Late_Expansion): Adapt to trees generated by Modify_Tree_For_C.
-       * sinfo.ads: Update documentation.
-
-2015-10-23  Joel Brobecker  <brobecker@adacore.com brobecker>
-
-       * sigtramp.h (struct sigcontext, struct ucontext): Remove declarations,
-       and replace them by include of corresponding header file.
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * a-convec.adb (Copy): Make sure C is initialized
-       on all paths, including when Checks is False.
-
-2015-10-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove
-       error as unreachable.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb (Adjust_Global_Switches): Adjust.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for
-       ignored Ghost entities is now ___ghost_.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * ghost.adb (Is_Subject_To_Ghost): Check the
-       original node when searching for pragma Ghost to catch cases
-       where a source construct has been rewritten into something else.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions
-       that return a constrained array type.  When generating C these
-       functions are rewritten as procedures with an out parameter,
-       and calls to such functions are rewritten accordingly.
-       * exp_ch6.adb (Expand_N_Subprogram_Declaration): When
-       Modify_Tree_For_C is set and the function returns a constrained
-       array type, generate a procedure declaration with an additional
-       out parameter. Mark original function as Rewritten_For_C.
-       The new declaration is inserted in tree immediately after
-       current declaration.
-       (Expand_Subprogram_Body): If entity is marked Rewritten_For_C,
-       generate body of corresponding procedure using declarations
-       and statements for function body. Replace return statements
-       with assignments to the out parameter, followed by a simple
-       return statement.
-       (Rewrite_Function_Call_For_C): New procedure to replace a function
-       call that returns an array by a procedure call.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_util.adb (Denotes_Iterator): New routine.
-       (Is_Iterator): Code cleanup. Factor out the detection of a
-       predefined iterator.  As a result this fixes a missing case
-       where a tagged type implements interface Reversible_Iterator.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_attr.adb (Eval_Attribute): Constant-fold 'Enabled if
-       not within a generic unit, even if expander is not active, so
-       that instances of container packages remain preelaborable in
-       -gnatc mode.
-
-2015-10-23  Tristan Gingold  <gingold@adacore.com>
-
-       * init.c (__gnat_sigtramp): New assembly function for arm64-darwin.
-       (__gnat_error_handler): Use trampoline for arm64.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch3.adb (Expand_N_Object_Declaration): if the type of the
-       object is a class-wide limited interface type, the expression
-       is not restricted to the forms specified for limited types.
-
-2015-10-23  Vincent Celier  <celier@adacore.com>
-
-       * gnatname.adb: Code clean up.
-       * s-taasde.ads: Fix comment.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Is_Iterator, Is_Reversible_iterator): Use
-       root type to determine whether the type is a descendant of the
-       corresponding interface type, so take into account multiple
-       levels of subtypes and derivations.
-
-2015-10-23  Olivier Hainque  <hainque@adacore.com>
-
-       * tracebak.c: Refine selection of GCC/GENERIC_UNWINDER for
-       tracebacks on x86 & x86_64.
-       (x86 & x86_64): If !SJLJ, always pick the
-       GCC_UNWINDER for x86_64 (not only on linux).
-       * sem_util.ads: Minor fix in comment.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should
-       not apply to a function instantiation.
-       * sem_util.adb (Has_Effectively_Volatile_Profile): New routine.
-       (Is_Volatile_Function): An instance of Ada.Unchecked_Conversion
-       is a volatile function when its profile contains an effectively
-       volatile type.
-       * sem_util.ads (Has_Effectively_Volatile_Profile): New routine.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_unst.adb (Unnest_Subprogram): Complete previous
-       change and update comments.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.ads, sem_util.adb (Check_Function_With_Address_Parameter):
-       A subprogram that has an Address parameter and is declared in a Pure
-       package is not considered Pure, because the parameter may be used as a
-       pointer and the referenced data may change even if the address value
-       itself does not.
-       * freeze.adb (Freeze_Subprogram): use it.
-       * exp_ch6.adb (Expand_N_Subprogram_Body): Use it.
-
-2015-10-23  Olivier Hainque  <hainque@adacore.com>
-
-       * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 &
-       x86_64 linux
-       * tracebak.c: Rework x86 & x86_64 sections to resort to the
-       generic unwinder if __USING_SJLJ_EXCEPTIONS__.
-
-2015-10-23  Javier Miranda  <miranda@adacore.com>
-
-       * sem_util.adb (Check_Function_Writable_Actuals): For function
-       calls restrict the check to elementary types, as requested by
-       RM 6.4.1(6.15/3)
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_unst.adb (Unnest_Subprogram): Suppress initialization on
-       Decl_ARECnT since we are taking care of all initializations in
-       the generated code.
-
-2015-10-23  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
-       Handle properly a box-initialized aggregate component.
-
-2015-10-23  Yannick Moy  <moy@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed
-       on a function.
-
-2015-10-23  Yannick Moy  <moy@adacore.com>
-
-       * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads,
-       a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null"
-       contract on subprograms.
-       * lib-xref-spark_specific.adb: collect scopes for stubs of
-       protected objects
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb (Adjust_Global_Switches): Enable
-       Back_Annotate_Rep_Info to get size information from gigi.
-       (Gnat1drv): Code clean ups.
-       * frontend.adb (Frontend): Ditto.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
-       * sem.adb (Semantics): Remove special case.
-
-2015-10-23  Gary Dismukes  <dismukes@adacore.com>
-
-       * bindgen.adb, restrict.adb: Minor spelling/grammar fixes.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible
-       elaboration issues in SPARK when the name denotes a source variable.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly
-       handle restriction No_Exception_Propagation.
-       * exp_ch11.adb (Expand_At_End_Handler): Update the parameter
-       profile and all references to Block.
-       * exp_ch11.ads (Expand_At_End_Handler): Update the parameter
-       profile and comment on usage.
-       * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly
-       handle restriction No_Exception_Propagation.
-       * gnat1drv.adb, restrict.adb: Update comment.
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
-       SS_Release for a block statement enclosing the return statement in the
-       case where a build-in-place function return is returning
-       the result on the secondary stack. This is accomplished by
-       setting the Sec_Stack_Needed_For_Return flag on such blocks.
-       It was already being set for the function itself, and it was
-       already set correctly for blocks in the non-build-in-place case
-       (in Expand_Simple_Function_Return).
-       (Set_Enclosing_Sec_Stack_Return): New procedure to perform
-       the Set_Sec_Stack_Needed_For_Return calls. Called in the
-       build-in-place and non-build-in-place cases.
-       (Expand_Simple_Function_Return): Call
-       Set_Enclosing_Sec_Stack_Return instead of performing the loop
-       in line.
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * scng.adb (Char_Literal_Case): If an apostrophe
-       follows a reserved word, treat it as a lone apostrophe, rather
-       than the start of a character literal. This was already done for
-       "all", but it needs to be done also for (e.g.) "Delta".
-
-2015-10-23  Bob Duff  <duff@adacore.com>
-
-       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use
-       Underlying_Type for B_Typ, in case the Typ is a subtype of a type with
-       unknown discriminants.
-       * g-awk.ads: Minor style fix in comment
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * debug.adb: Document the use of debug switch -gnatd.5.
-       * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb.
-       * einfo.ads New synthesized attribute Is_Ghost_Enity along
-       with usage in nodes and pragma Inline.
-       (Is_Ghost_Entity: Moved from ghost.ads.
-       * exp_ch3.adb Code reformatting.
-       (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode.
-       (Expand_Freeze_Class_Wide_Type): Capture, set and restore the
-       Ghost mode.
-       (Expand_Freeze_Enumeration_Type): Capture, set and
-       restore the Ghost mode.
-       (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode.
-       * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the
-       contract of an ignored Ghost subprogram.
-       * exp_ch13.adb Add with and use clauses for Ghost.
-       (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode.
-       * exp_dbug.adb (Get_External_Name): Code reformatting. Add a
-       special prefix for ignored Ghost entities or when requested by
-       -gnatd.5 for any Ghost entity.
-       * exp_dbug.ads Document the use of prefix "_ghost_" for ignored
-       Ghost entities.
-       * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the
-       Ghost mode.
-       (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr
-       to signal the original context.
-       * ghost.adb (Check_Ghost_Overriding): Code cleanup.
-       (Is_Ghost_Entity): Moved to einfo.adb.  (Is_OK_Declaration):
-       Move the assertion expression check to the outer level.
-       (Is_OK_Ghost_Context): An assertion expression is a valid Ghost
-       context.
-       * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads.
-       * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object
-       cannot be imported or exported. Mark internally generated objects
-       as Ghost when applicable.
-       (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark
-       a stand alone subprogram body as Ghost when applicable.
-       (Analyze_Subprogram_Declaration): Mark internally generated
-       subprograms as Ghost when applicable.
-       * sem_ch7.adb: Code cleanup.
-       * sem_ch13.adb (Add_Invariants): Add various formal
-       parameters to break dependency on global variables.
-       (Build_Invariant_Procedure): Code cleanup. Capture, set and
-       restore the Ghost mode.
-       * sem_res.adb (Resolve_Actuals): The actual parameter of a source
-       Ghost subprogram whose formal is of mode IN OUT or OUT must be
-       a Ghost variable.
-
-2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch8.adb Code cleanup.
-       (Find_Expanded_Name): Replace
-       the call to In_Pragmas_Depends_Or_Global with a call to
-       In_Abstract_View_Pragma.
-       (In_Abstract_View_Pragma): New routine.
-       (In_Pragmas_Depends_Or_Global): Removed.
-       * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator
-       Part_Of denotes the abstract view of a variable.
-
-2015-10-23  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_util.ads (Unique_Defining_Entity): Document the result
-       for tasks and entries.
-       * sem_util.adb (Unique_Entity): Return declaration entity for task and
-       entry bodies
-
-2015-10-22  Mikhail Maltsev  <maltsevm@gmail.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert.
-       * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking.
-       * gcc-interface/utils.c (relate_alias_sets): Likewise.
-       * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use
-       gcc_checking_assert
-
-2015-10-21  Martin Sebor  <msebor@redhat.com>
-
-       PR driver/68043
-       * gcc-interface/lang.opt: End each sentence that describes
-       an option with a period.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb,
-       a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb,
-       sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding
-       style for marking start of processing of subprograms.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal
-       by requesting info from stubs.  (Traverse_All_Compilation_Units):
-       Remove unused procedure.
-       (Traverse_Declarations_Or_Statements): Handle protected and task units.
-       * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused
-       procedure.
-       * restrict.adb (Check_Restriction): Do not ignore
-       restrictions in GNATprove_Mode.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-valllu.adb, sem_ch3.adb, layout.adb, a-crbtgo.adb, exp_ch9.adb,
-       make.adb, g-diopit.adb, s-valuns.adb, sem_ch9.adb, sem_ch10.adb,
-       sem_ch12.adb, a-tifiio.adb, g-dynhta.adb, uintp.adb,
-       sem_util.adb, sem_res.adb, s-htable.adb, exp_tss.adb, s-soflin.ads,
-       exp_ch6.adb, sem_ch6.adb, a-rbtgbo.adb, par-ch12.adb, sem_ch8.adb,
-       sem_eval.adb, mdll.adb, par-ch5.adb, s-poosiz.adb, sem_ch4.adb,
-       a-ngelfu.adb, s-taspri-solaris.ads, a-cforse.adb: Fix typos.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_aggr.adb, mlib-prj.adb, prep.adb, eval_fat.adb, rtsfind.adb,
-       freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnatlink.adb,
-       par-ch6.adb, exp_tss.adb, exp_ch4.adb, s-shasto.adb, exp_fixd.adb,
-       sem_ch6.adb, clean.adb, sem_ch8.adb, sem_eval.adb, sem_ch9.adb: Fix
-       typos.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a
-       postcondition subprogram, do not check for useless assignments
-       because there are no source references in such a body, and the
-       call will lose deferred references from the enclosing subprogram.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case
-       'Address):  If either object is controlled the overlay is
-       erroneous, but analysis must be completed so that back-end sees
-       address clause and completes code generation.  Improve text
-       of warning.
-
-2015-10-20  Thomas Quinot  <quinot@adacore.com>
-
-       * exp_ch4.adb: Minor reformatting.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU
-       arrays.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * sinfo.ads, g-pehage.adb, par-ch12.adb,
-       layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb,
-       sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb,
-       switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb,
-       lib-xref.adb: Fix typos.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * exp_ch4.adb (Expand_Array_Comparison): Use
-       generic code if runtime routine is not available.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * a-sytaco.ads (Ada.Synchronous_Task_Control): Package
-       now withs System.Task_Identification. The visible part
-       of the spec has SPARK_Mode. The private part has pragma
-       SPARK_Mode (Off).
-       (Set_True): Added Global and Depends aspects
-       (Set_False): Added Global and Depends aspects (Current_State):
-       Added Volatile_Function aspect and added external state
-       Ada.Task_Identification.Tasking_State as a Global input.
-       (Suspend_Until_True): Added Global and Depends aspects
-       * a-sytaco.adb (Ada.Synchronous_Task_Control):
-       Package body has SPARK_Mode => Off
-       * a-extiin.ads (Ada.Execution_Time.Interrupts):
-       Package now withs Ada.Real_Time and has SPARK_Mode.
-       (Clock): Added Volatile_Function aspect and added external state
-       Ada.Real_Time.Clock_Time as a Global input.
-       * a-reatim.ads (Ada.Real_Time): The visible part of the spec has
-       SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package
-       declares external state Clock_Time with properties Async_Readers and
-       Async_Writers.
-       (Clock): Added Volatile_Function aspect and
-       added external state Clock_Time as a Global input.
-       * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off
-       * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time):
-       The visible part of the spec has SPARK_Mode. The private part
-       has pragma SPARK_Mode (Off).
-       (Clock): Added Volatile_Function
-       aspect and added external state Clock_Time as a Global input.
-       (Clock_For_Interrupts): Added Volatile_Function aspect and added
-       external state Ada.Real_Time.Clock_Time as a Global input.
-       * a-exetim-mingw.adb (Ada.Execution_Time): Package body has
-       SPARK_Mode => Off
-       * a-interr.ads (Ada.Interrupts): Package now
-       withs Ada.Task_Identification (Is_Reserved): Added
-       SPARK_Mode, Volatile_Function and external state
-       Ada.Task_Identification.Tasking_State as a Global input.
-       (Is_Attached): Added SPARK_Mode, Volatile_Function and external
-       state Ada.Task_Identification.Tasking_State as a Global input.
-       (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler):
-       Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode
-       and external state Ada.Task_Identification.Tasking_State as a
-       Global In_Out.  (Reference): Added SPARK_Mode => Off
-       * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function
-       and external state Ada.Task_Identification.Tasking_State as a
-       Global input.
-       * a-taside.ads (Ada.Task_Identification): The visible part of
-       the spec has SPARK_Mode.  The private part has pragma SPARK_Mode
-       (Off). The package declares external state Tasking_State with
-       properties Async_Readers and Async_Writers.
-       (Current_Task): Added
-       Volatile_Function aspect and added external state Tasking_State
-       as a Global input.
-       (Environment_Task): Added SPARK_Mode => Off
-       (Is_Terminated): Added Volatile_Function aspect and added external
-       state Tasking_State as a Global input.  (Is_Callable): Added
-       Volatile_Function aspect and added external state Tasking_State as
-       a Global input.
-       (Activation_Is_Complete): Added Volatile_Function
-       aspect and added external state Tasking_State as a Global input.
-       * a-taside.adb (Ada.Task_Identification): Package body has
-       SPARK_Mode => Off.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * atree.ads, atree.adb: Enable List38 and List39 on entities.
-       * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined
-       on subprograms. Holds the list of class-wide precondition
-       functions inherited from ancestors. Each such function is an
-       instantiation of the generic function generated from an explicit
-       aspect specification for a class-wide precondition. A type is
-       an ancestor of itself, and therefore a root type has such an
-       instance on its own list.
-       (Class_Wide_Postconds): ditto for postconditions.
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * prj-attr.adb: Add packages Prove and GnatTest.
-
-2015-10-20  Steve Baird  <baird@adacore.com>
-
-       * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's
-       analysis of internals of container generic instances. This pragma
-       has no other effect.
-       * a-conhel.adb (Generic_Implementation) Add "pragma Annotate
-       (CodePeer, Skip_Analysis);".
-
-2015-10-20  Steve Baird  <baird@adacore.com>
-
-       * pprint.adb: Code clean up.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-cfinve.ads, a-coboho.ads: Improve comments.
-       * a-coboho.adb (Size_In_Storage_Elements): Improve error message
-       in case of "Size is too big" exception.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-contai.ads: Remove check names (moved to snames.ads-tmpl).
-       * snames.ads-tmpl: Add check names that were previously in
-       a-contai.ads, so they are now visible in configuration files.
-       * types.ads: Add checks corresponding to snames.ads-tmpl.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop
-       identifier to the tree, because it may be the root of a tree
-       traversal in Pop_Scope when freeze actions are pending.
-
-2015-10-20  Steve Baird  <baird@adacore.com>
-
-       * pprint.ads (Expression_Image) Add new generic formal flag
-       Hide_Parameter_Blocks.
-       * pprint.adb (Expression_Image) If new flag is set, then display
-       dereferences of parameter block components accordingly.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.adb: Code clean up.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup.
-       (Make_Build_In_Place_Call_In_Object_Declaration): Update the
-       parameter profile.  Code cleanup. Request debug info for the
-       object renaming declaration.
-       (Move_Activation_Chain): Add new formal parameter and update the
-       comment on usage.
-       * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration):
-       Update the parameter profile and comment on usage.
-       * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine,
-       currently unused.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Analyze_One_Aspect, case
-       Aspect_Disable_Controlled): If expander is not active, pre-analyze
-       expression anyway for ASIS and other tools use.
-       * sem_prag.adb (Build_Generic_Class_Condition): Handle properly
-       anonymous access types in parameter specifications. Make the
-       formal type a formal derived type of the controlling type of
-       the subprogram.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction.
-       * sem_prag.adb (Analyze_Pragma): Check the restriction.
-       * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
-       Check the restriction (for aspects).
-
-2015-10-20  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_prag.adb: Minor reformatting.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * sem_util.adb (Is_Protected_Self_Reference): Remove reference to
-       UET_Address in comment.
-       * sem_attr.adb (Check_Unit_Name): Adjust comment.
-       (Analyze_Attribute): Remove handling of UET_Address.
-       * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address.
-       * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address.
-       * exp_attr.adb (Expand_N_Attribute_Reference): Remove
-       Attribute_UET_Address.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb,
-       * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid
-       modifying the tampering counts unnecessarily.
-       (Adjust): Zero tampering counts unconditionally.
-
-2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c: Fix build issue on arm-vx6 when building the RTP
-       run-time.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Object_Declaration): If the expression
-       is an aggregate and compilation is in -gnatI mode (ignore rep
-       clauses) do not delay resolution of aggregate, to prevent freeze
-       actions out of order in the backend.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition):
-       New procedure to construct a generic function for a class-wide
-       precondition, to implement AI12-0113  concerning the new semantics
-       of class-wide preconditions for overriding uperations.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_util.adb (Find_Actual): The routine is
-       now capable of operating on entry calls.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb: Remove redundant check.
-
-2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c (__gnat_vxsim_error_handler): Completely disable on
-       VxWorks-7 as the VSBs used to build gcc do not support vxsim
-       architecture.
-
-2015-10-20  Claire Dross  <dross@adacore.com>
-
-       * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit
-       SPARK_Mode.
-       * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * exp_ch9.adb (Expand_N_Protected_Type_Declaration):
-       Check for No_Implicit_Protected_Object_Allocations.
-       * fe.h (Check_No_Implicit_Task_Alloc,
-       Check_No_Implicit_Protected_Alloc): Define and declare.
-       * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc,
-       Check_No_Implicit_Protected_Alloc): New procedures to check the
-       restrictions.
-       * s-rident.ads (No_Implicit_Task_Allocations)
-       (No_Implicit_Protected_Object_Allocations): Declare new
-       restrictions.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * sem_res.adb (Resolve_Selected_Component): Only set flag
-       when component is defined in a variant part.
-       * sem_util.adb,
-       * sem_util.ads (Is_Declared_Within_Variant): Promote local query
-       as publicy visible one for use in Resolve_Selected_Component.
-
-2015-10-20  Philippe Gil  <gil@adacore.com>
-
-       * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool
-       from foreign threads.
-       * g-debpoo.adb (Print_Traceback): NEW print traceback if available
-       added to support Stack_Trace_Depth = 0.
-       (Print_Address): NEW print System.Address without no secondary
-       stack use (Address_Image uses secondary stack)
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable
-       Func.
-
-2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
-
-       * init.c (__gnat_error_handler for vxworks): Force
-       SPE bit in the MSR when handling signals
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads,
-       g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Loop_Statement): Element iterators
-       over multidimensional arrays create additional loops during
-       expansion. For such loops we create a label as a scope
-       name. Attach this label  properly to tree, for use in GNATProve
-       over such element iterators.
-       * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to
-       which the attribute applies comes from source, not from expansion
-       of an element iterator or a quantified expression.
-       * exp_attr.adb (Expand_N_Attribute_Reference): Ditto.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Expand_Call): Check for a call to a function
-       declared in a Dimension I/O package, to handle the new Image
-       function.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * inline.ads: Minor comment fixes.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because
-       we're doing unchecked conversions with this pointer.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch9.adb (Next_Protected_Operation): An expression function
-       used as a completion can be the next protected operation in a
-       protected body.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a
-       possible call to an instance of Ada.Unchecked_Conversion to avoid
-       testing protected function calls. Allow references to protected objects
-       in prefixed protected calls.
-       (Is_Protected_Operation_Call): New routine.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make
-       query public. Remove code handling with iterator loop over array
-       of the 'in' form, which is not allowed in Ada.  * exp_spark.adb
-       (Expand_SPARK): Expand loop statements that take the form of an
-       iterator over an array.
-       * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements
-       that take the form of an iterator over an array, so that the rewritten
-       form gets analyzed instead.
-       * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query
-       to recognize iterators over arrays.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add
-       parameter Message.
-       * a-except.adb (Raise_Current_Excep): Update call to
-       Debug_Raise_Exception.
-       * a-except-2005.adb (Complete_Occurrence): Ditto.
-       * sem_ch12.adb: Whitespace fix.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as
-       fully default initialized.
-       * sem_ch6.adb: minor style fix in comment
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned
-       quantities, to produce a string that includes the dimension
-       synbol for the quantity, or the vector of dimensions in standard
-       notation.
-       * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function
-       Image, to include dimension information in the generated string,
-       identical to the string produced by the Put procedure on a string
-       for a dimensioned quantity.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch7.adb (Process_Declarations): A loop
-       parameter does not require finalization actions.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an
-       actual subtype for a mutable record return type if the expression
-       is itself a function call.
-
-2015-10-20  Dmitriy Anisimkov  <anisimko@adacore.com>
-
-       * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description
-       related to new type support.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension
-       to propagate dimension information from prefix.
-       * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference.
-       * inline.ads: minor whitespace fix in comment
-       * sem_ch6.adb: minor gramar fix in comment
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch3.adb (Analyze_Object_Contract):
-       A protected type or a protected object is allowed to have a
-       discriminated part.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * sem_util.adb (Requires_Transient_Scope):
-       Return true for mutable records if the maximum size is very large.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with
-       the same signature as in System.IO.Put.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks
-       and then" on the check.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly
-       a misplaced "constant" keyword in a discriminant specification.
-
-2015-10-20  Steve Baird  <baird@adacore.com>
-
-       * einfo.ads (Is_Param_Block_Component_Type): New function decl
-       for querying the flag.
-       (Set_Is_Param_Block_Component_Type): New procedure decl for setting
-       the flag.
-       * einfo.adb (Is_Param_Block_Component_Type): New function body.
-       (Set_Is_Param_Block_Component_Type): New procedure body.
-       (Write_Entity_Flags): Display the new flag.
-       * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter
-       block component types.
-       (Expand_N_Entry_Declaration): Set flag on parameter block component
-       types.
-
-2015-10-20  Steve Baird  <baird@adacore.com>
-
-       * sem_elab.adb: Do not pass an N_Attribute_Reference node to
-       Sinfo.Set_No_Elaboration_Check.
-       * sem_elab.adb (Check_Elab_Call) Do not pass a non-call
-       node (specifically, an N_Attribute_Reference node) to
-       Sinfo.Set_No_Elaboration_Check.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * adaint.c: File names are case sensitive on aarch64-ios.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads,
-       * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads,
-       * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads,
-       * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not
-       require finalization actions.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * par-ch3.adb (P_Declarative_Items): In case of misplaced
-       aspect specifications, ensure that flag Done is properly set to
-       continue parse.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control
-       and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id.
-       * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update
-       the comment on usage. Use routine Is_Suspension_Object to detect
-       whether a type matches Suspension_Object.
-       (Is_Suspension_Object): New routine.
-       * snames.ads-tmpl: Add predefined names for Suspension_Object
-       and Synchronous_Task_Control.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_smem.adb (Check_Shared_Var): Clean up code that handles
-       type declarations with discriminants, remove obsolete check.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * par_sco.adb: Minor style fixes.
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * debug.adb: Update documentation of -gnatdu.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * aspects.adb Add aspect Volatile_Function to table
-       Canonical_Aspect.
-       * aspect.ads Add aspect Volatile_Function to tables
-       Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
-       and Implementation_Defined_Aspect.  Aspects Async_Readers,
-       Async_Writers, Effective_Reads and Effective_Writes are no
-       longer Boolean.
-       * einfo.adb (Get_Pragma): Add an entry for pragma
-       Volatile_Function.
-       * par-prag.adb (Prag): Pragma Volatile_Function does not need
-       special processing by the parser.
-       * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in
-       table RTU_Id. Add an entry for Suspension_Object in table RE_Id.
-       * sem_ch3.adb Fix SPARK RM references.
-       (Analyze_Object_Contract): Update the error guard.
-       * sem_ch5.adb Fix SPARK RM references.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure
-       that a non-volatile function does not contain an effectively
-       volatile parameter.
-       (Analyze_Subprogram_Contract): Ensure
-       that a non-volatile function does not contain an effectively
-       volatile parameter.
-       * sem_ch12.adb (Instantiate_Object): Remove the reference to
-       the SPARK RM from the error message.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Add
-       processing for aspects Async_Readers, Async_Writers,
-       Effective_Reads, Effective_Writes and Volatile_Function.
-       (Check_Aspect_At_Freeze_Point): Aspects Async_Readers,
-       Async_Writers, Effective_Reads, Effective_Writes and
-       Volatile_Function do not need special processing at the freeze
-       point.
-       * sem_prag.adb Add an entry for pragma Volatile_Function in
-       table Sig_Flags.
-       (Analyze_External_Property_In_Decl_Part):
-       Reimplemented as Async_Readers, Async_Writers, Effective_Reads
-       and Effective_Writes are no longer Boolean pragmas.
-       (Analyze_Global_Item): An external state or effectively
-       volatile object cannot appear as an item in pragma
-       [Refined_]Global.
-       (Analyze_Pragma): Change the implementation
-       of Async_Readers, Async_Writers, Effective_Reads and
-       Effective_Writes as these are no longer Boolean pragmas.
-       Use routine Check_Static_Boolean_Expression to verify the
-       optional Boolean expression of Async_Readers, Async_Writers,
-       Constant_After_Elaboration, Effective_Reads, Effective_Writes,
-       Extensions_Visible and Volatile_Function.  Add processing for
-       pragma Volatile_Function.
-       (Check_Static_Boolean_Expression): New routine.
-       (Find_Related_Context): Update the comment on usage.
-       (Is_Enabled_Pragma): New routine.
-       * sem_prag.ads (Is_Enabled_Pragma): New routine.
-       * sem_res.adb Fix SPARK RM references.
-       (Is_OK_Volatile_Context): Add detection for return statements.
-       (Resolve_Actuals): Remove the check concerning an effectively volatile
-       OUT actual parameter as this is now done by the SPARK flow analyzer.
-       (Resolve_Entity_Name): Remove the check concerning an effectively
-       volatile OUT formal parameter as this is now done by the SPARK
-       flow analyzer.  (Within_Volatile_Function): New routine.
-       * sem_util.adb (Add_Contract_Item): Add processing for pragma
-       Volatile_Function.
-       (Check_Nonvolatile_Function_Profile): New routine.
-       (Is_Descendant_Of_Suspension_Object): New routine.
-       (Is_Effectively_Volatile): Protected types and descendants of
-       Suspension_Object are now treated as effectively volatile.
-       (Is_Enabled): The optional Boolean expression of pragmas
-       Async_Readers, Async_Writers, Effective_Reads and Effective_Writes
-       now appears as the first argument.
-       (Is_Volatile_Function): New routine.
-       * sem_util.ads Add SPARK RM references.
-       (Add_Contract_Item): Update the comment on usage.
-       (Check_Nonvolatile_Function_Profile): New routine.
-       (Is_Effectively_Volatile): Update the comment on usage.
-       (Is_Volatile_Function): New routine.
-       * snames.ads-tmpl Add a predefined name and pragma id for
-       Volatile_Function.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_ugn.texi, gnat_rm.texi: Regenerate.
-       * doc/gnat_ugn/gnat_project_manager.rst,
-       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-       doc/gnat_ugn/the_gnat_compilation_model.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_characteristics.rst: Update doc.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * gcc-interface/Makefile.in: Update targets.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Analyze_One_Aspect): Avoid
-       analyzing the expression in a 'Disable_Controlled attribute when
-       Expander_Active is False, because otherwise, we get errors about
-       nonstatic expressions in pragma-Preelaborate generic packages.
-       * restrict.ads: minor whitespace cleanup in comment
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-conhel.adb: Remove "use SAC;", because otherwise the compiler
-       complains about use clauses in run-time units. Use "use type"
-       instead.
-       * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads,
-       * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads,
-       * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads,
-       * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads,
-       * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads,
-       * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads,
-       * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
-       * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads,
-       * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads,
-       * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads,
-       * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads,
-       * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads,
-       * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb,
-       * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads,
-       * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads,
-       * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads,
-       * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers
-       to share the tampering machinery in Ada.Containers.Helpers. This
-       reduces the amount of duplicated code, and takes advantage of
-       efficiency improvements in Helpers.
-       Protect all run-time checks and supporting machinery with "if
-       Checks" or "if T_Check", so this code can be suppressed with
-       pragma Suppress or -gnatp.
-       Add Pseudo_Reference and Get_Element_Access to remaining
-       containers, so that the compiler can optimize "for ... of" loops.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads,
-       Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a
-       new package Ada.Containers.Helpers, because otherwise it's not
-       visible everywhere it needs to be (e.g. in the package
-       Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have
-       a component of type Tamper_Counts).
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_type.adb (Intersect_Types): Specialize error message when
-       one operand is a limited view which is a priori incompatible
-       with all other named types.
-       * sem_prag.adb: minor fix in comment
-       * sem_ch13.adb: Code clean up.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true
-       for a subprogram nested in an inlined subprogram.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-coinve.adb, a-contai.adb: Update comments.
-       * pprint.ads: Minor reformatting.
-
-2015-10-20  Tristan Gingold  <gingold@adacore.com>
-
-       * env.c, init.c: Handle arm64-darwin like arm-darwin.
-       * tracebak.c: Handle arm64-darwin.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * s-trasym.adb (Symbolic_Traceback): When giving the traceback
-       as hexadecimal code addresses, separate by blanks instead of LF.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
-       node for subprogram in Compile_Only mode.
-
-2015-10-20  Dmitriy Anisimkov  <anisimko@adacore.com>
-
-       * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads,
-       s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container
-       iterations.
-
-2015-10-20  Philippe Gil  <gil@adacore.com>
-
-       * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main
-       contributors.
-       (Dump_Stdout): NEW print to stdout Debug_Pool statistics &
-       main contributors.
-       (Reset): NEW reset counters to 0.
-       (Get_Size): NEW return size allocated at parameter.
-       (High_Water_Mark): NEW.
-       (Current_Water_Mark): NEW.
-       (System_Memory_Debug_Pool): NEW tell Debug_Pools that
-       System.Memory uses it.
-       * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees
-       components.
-       (Find_Or_Create_Traceback): don't manage in System.Memory
-       Debug_Pool Deallocate Traceback's.
-       (Validity): add optional Handled table when System.Memory asked
-       for Allow_Unhandled_Memory.
-       (Allocate): handle Allocate reentrancy occuring when System.Memory
-       uses Debug_Pools.
-       (Deallocate): handle when Allow_Unhandled_Memory
-       is set deallocation of unhandled memory. Dont't check
-       Size_In_Storage_Elements if equal to Storage_Count'Last. update
-       Frees, Total_Frees new components.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * fe.h: Minor tweak.
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * sem_cat.adb (Check_Categorization_Dependencies): Do nothing
-       when -gnatdu is specified.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a
-       formal abstract subprogram must have a controlling type.
-       * stand.ads: Minor whitespace cleanup.
-
-2015-10-20  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch13.adb: Minor reference change (RM => AARM).
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * make.adb (Check): Skip multilib switches reinstated by the
-       compiler only when counting the number of switches, since it is
-       what really matters in the regular operating mode.
-
-2015-10-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * einfo.adb: Add extra assertion for small clause.
-       * cstand.adb: Minor style fix in comment.
-       * debug.adb: Minor reformatting.
-       * exp_util.adb: Fix minor typo.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Same_Instantiated_Function): New predicate in
-       Check_Formal_Package_Instance, used to verify that the formal
-       and the actual of an actual package match when both are functions
-       given as attribute references.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-coinve.ads, a-coinve.adb: Do the same efficiency
-       improvements that were already done in the definite case
-       (Ada.Containers.Vectors, i.e. a-convec). This includes the
-       ability to suppress checks, the fast path for Append, inlining
-       as appropriate, and special-casing of "for ... of" loops. Reuse
-       the tampering machinery that is now in Ada.Containers. Simplify
-       many operations.
-       * a-convec.ads, a-convec.adb: Change the code to be more similar
-       to a-coinve.
-       * a-finali.ads, a-finali.adb: Expose the "null"-ness of the
-       operations. This may enable optimizations in the future, and
-       seems cleaner anyway.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Is_Operational_Item): Attributes related to
-       Ada 2012 iterators are operational items, and can be specified
-       on partial views.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Check_Usage): Update the calls to Usage_Error.
-       (Usage_Error): Remove formal parameter Item. Emit a clearer message
-       concerning a missing dependency item and place it on the related pragma.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * debug.adb, expander.adb: Implement -gnatd.B switch, which
-       triggers a bug box when an abort_statement is seen. This is
-       useful for testing Comperr.Compiler_Abort.
-       * gnat1drv.adb: Trigger bug box on all exceptions other than
-       Unrecoverable_Error.
-
-2015-10-20  Thomas Quinot  <quinot@adacore.com>
-
-       * Makefile.rtl: add the following...
-       * g-binenv.ads, g-binenv.adb: New unit providing runtime access
-       to bind time captured values ("bind environment")
-       * init.c: declare new global variable __gl_bind_env_addr.
-       * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind
-       environment key=value pair.
-       (Gen_Bind_Env_String): helper to produce the bind environment data
-       called  in the binder generated file.
-       (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set
-       __gl_bind_env_addr accordingly.
-       * switch-b.adb: Support for command line switch -V (user interface
-       to set a build environment key=value pair)
-       * bindusg.adb: Document the above
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the
-       entity as Pure if Debug_Flag_U is set.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * output.adb (Write_Int): Work with negative numbers in order to avoid
-       negating Int'First and thereby causing overflow.
-       * sem_util.adb: Minor comment fix.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * make.adb (Check): Skip multilib switches reinstated by the
-       compiler when doing the comparison with switches passed to
-       gnatmake.
-
-2015-10-20  Yannick Moy  <moy@adacore.com>
-
-       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return
-       False for procedures marked No_Return.
-       * sem_util.ads (Enclosing_Declaration): Improve comment.
-       * einfo.adb (Is_Completely_Hidden): Remove spurious assertion.
-
-2015-10-20  Thomas Quinot  <quinot@adacore.com>
-
-       * types.ads: Minor reformatting.
-
-2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant
-       Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of
-       classification pragmas.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Declarations); At the of the visible part,
-       perform name resolution on the expressions in aspects of visible
-       entities.
-       * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve
-       expressions in aspects independently of whether corresponding
-       entity is frozen. Used to complete name resolution of aspect
-       expressions for entities declared in the visible part of a
-       package or generic package declaration.
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * prj-attr.adb: Add package Codepeer and its attributes.
-
-2015-10-20  Thomas Quinot  <quinot@adacore.com>
-
-       * sem_ch3.adb, sem_ch13.adb: Minor reformatting.
-
-2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gnatlink.adb (Gnatlink): Do not translate --RTS switch
-       for the linker and instead pass the switches that were
-       reinstated by the compiler.
-
-2015-10-20  Bob Duff  <duff@adacore.com>
-
-       * a-contai.ads, a-convec.ads: Move Count_Type_Last from
-       a-convec.ads to a-contai.ads, so other containers can refer to it.
-
-2015-10-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within
-       Analyze_Full_Type_ Declaration, used to apply legality rules in
-       13,1,1 (18.3.3) concerning aspects that cannot be overridden in
-       a type extension.
-       (Check_Duplicate_Aspects): It is not legal to specify the
-       Implicit_Dereference aspect on a full view if partial view has
-       known discriminants.
-       * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that
-       the specification of the aspect on a derived type confirms the
-       value of the inherited one.
-       * sem_util.adb (Reference_Discriminant): Return empty if none
-       specified.
-
-2015-10-20  Thomas Quinot  <quinot@adacore.com>
-
-       * exp_ch5.adb, sem_ch3.adb: Minor reformatting.
-
-2015-10-20  Vincent Celier  <celier@adacore.com>
-
-       * a-strsup.adb (Super_Trim): Remove statements that put NUL
-       characters in unused portion of the Data string.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * aspects.adb Add an entry for Constant_After_Elaboration in
-       table Canonical_Aspect.
-       * aspects.ads Add entries for Constant_After_Elaboration in
-       tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
-       and Implementation_Defined_Aspect.
-       * par-prag.adb Pragma Constant_After_Elaboration does not require
-       special processing by the parser.
-       * sem_ch13.adb Add an entry for Constant_After_Elaboration
-       in table Sig_Flags.
-       (Analyze_Aspect_Specifications):
-       Add processing for aspect Constant_After_Elaboration.
-       (Check_Aspect_At_Freeze_Point): Aspect Constant_After_Elaboration
-       does not require special processing at freeze time.
-       * sem_prag.adb (Analyze_Pragma): Add processing for pragma
-       Constant_After_Elaboration. Use routine Find_Related_Context to
-       retrieve the context of pragma Part_Of.
-       (Duplication_Error): Update comment on usage.
-       (Find_Related_Context): New routine.
-       * sem_prag.ads Add an entry for Constant_After_Elaboration
-       in table Aspect_Specifying_Pragma.
-       (Analyze_Contract_Cases_In_Decl_Part): Update the comment on usage.
-       * sem_util.adb (Add_Contract_Item): Add processing for pragma
-       Constant_After_Elaboration.
-       * sem_util.ads (Add_Contract_Item): Update the comment on usage.
-       * snames.ads-tmpl Add new predefined name and aspect id for
-       Constant_After_Elaboration.
-
-2015-10-16  Vincent Celier  <celier@adacore.com>
-
-       * prj-pp.adb (Pretty_Print.Print): Correctly display extending
-       packages, instead of making them renamed packages.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch12.adb (Analyze_Package_Instantiation):
-       Treat a missing SPARK_Mode annotation as having mode "Off".
-       (Analyze_Subprogram_Instantiation): Treat a missing SPARK_Mode
-       annotation as having mode "Off".
-       (Instantiate_Package_Body): Code
-       reformatting. Treat a missing SPARK_Mode annotation as having mode
-       "Off".
-       (Instantiate_Subprogram_Body): Code reformatting. Treat
-       a missing SPARK_Mode annotation as having mode "Off".
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb: Code clean up.
-       * sem_ch13.adb: Minor fix in comment.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * a-exexda.adb: Change format of Exception_Information to be
-       more like what we print for unhandled exceptions.
-       * a-exstat.adb: Parse new format.
-       * a-except-2005.adb, a-except.adb: Document new format.
-
-2015-10-16  Javier Miranda  <miranda@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specification): Associate a
-       transient scope with the renaming object declararation.
-       * exp_util.adb (Insert_Actions): if the enclosing interator
-       loop is marked as requiring the secondary stack then attach the
-       actions to the transient scope.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * exp_ch7.adb: Minor spelling fixes.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
-       If anonymous type is component type of array type declaration,
-       analyze its declaration in the current scope, not the enclosing
-       one.
-
-2015-10-16  Gary Dismukes  <dismukes@adacore.com>
-
-       * prj.adb, sem_util.adb, exp_ch6.adb: Minor reformatting.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Modify
-       expansion to allow element iteration over formal containers
-       whose elements are indefinite types.
-
-2015-10-16  Doug Rupp  <rupp@adacore.com>
-
-       * s-taprop-linux.adb (Monotonic_Clock): Call clock_gettime
-       instead of gettimeofday.
-       * s-osinte-android.ads, s-osinte-android.adb, s-osinte-linux.ads
-       (clock_gettime): New imported subprogram.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
-       Indefinite or limited library level objects are now returned on
-       the heap.
-       * exp_ch7.adb (Build_Finalization_Master): Add formal
-       parameter For_Lib_Level. Add context specific insertion for a
-       finalization master created for an access result type related
-       to a build-in-place function call used to initialize a library
-       level object.
-       * exp_ch7.ads (Build_Finalization_Master): Add formal parameter
-       For_Lib_Level. Update the comment on usage.
-       * sem_util.adb (Mark_Coextensions): Code cleanup.
-
-2015-10-16  Emmanuel Briot  <briot@adacore.com>
-
-       * prj.adb (For_Every_Project_Imported_Context): Fix handling
-       of aggregated projects with duplicate names.
-       * a-ngelfu.ads: Minor whitespace fix.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Build_Predicate_Functions): The expression for
-       the predicate is side-effect free if it does not contain any
-       variable references.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * a-convec.adb ("="): Previous version depended
-       on "=" composing, but that doesn't quite work -- we want the "="
-       operator passed in to the generic. So we need a loop after all.
-
-2015-10-16  Yannick Moy  <moy@adacore.com>
-
-       * sem_util.adb (Is_Object_Reference): Attribute 'Loop_Entry produces
-       an object.
-       * sem_ch6.adb: Minor fix in comment.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * a-contai.ads: Add two check names: Container_Checks and
-       Tampering_Check.  Move the tampering check machinery from
-       Ada.Containers.Vectors to Ada.Containers. Later we can share it
-       with other containers.
-       Disable the tampering machinery in the presence of
-       Suppress(Tampering_Check).
-       Simplify the implementation of tampering checks. E.g. use RAII
-       to make incrementing/decrementing of the counts more concise.
-       * a-contai.adb: New package body, implementing the above.
-       * a-convec.ads, a-convec.adb: Use tampering check machinery
-       in Ada.Containers.
-       Disable all checking code when checks are suppressed.
-       Simplify many of the operations. Implement "&" in terms of Append,
-       rather than "by hand".
-       Remove: function "=" (L, R : Elements_Array) return Boolean is
-       abstract; so we can call the predefined "=" on Elements_Array.
-       For "=" on Vectors: Previously, we returned True immediately if
-       Left'Address = Right'Address.  That seems like a non-optimization
-       ("if X = X" is unusual), so removed that.  Simplify by using
-       slice comparison ("=" on Element_Array will automatically call
-       "=" on the components, even if user defined).
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Chek_Record_Representation_Clause): When
-       iterating over components, skip anonymous subtypes created for
-       constrained array components.
-
-2015-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * a-tags.ads (Parent_Size): Remove obsolete pragma Export.
-       * s-finmas.ads (Header_Offset): Delete.
-       * s-finmas.adb (Header_Offset): Likewise.
-       (Finalize): Call Header_Size instead of Header_Offset.
-       * s-stposu.adb (Allocate_Any_Controlled): Likewise.
-       (Deallocate_Any_Controlled): Likewise.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * a-exetim.ads, a-exetim-mingw.ads, a-exetim-default.ads: Whitespace
-       cleanup.
-       * s-osprim-mingw.adb, einfo.ads, sem_util.adb, sem_util.ads,
-       sem_ch4.adb, sem_ch13.adb, s-trasym.adb, s-trasym.ads,
-       s-taprop-posix.adb: Minor reformatting.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * adadecode.h, adadecode.c (ada_demangle): Remove
-       ada_demangle, no longer used.
-       * a-except-2005.adb: Bring System.Traceback.Symbolic into the
-       closure.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb, sem_util.ads (Get_Reference_Discriminant): Utility to
-       locate the access discriminant that supports implicit dereference on a
-       record type.
-       (Is_OK_Variable_For_Out_Parameter): Reject other illegal uses
-       of Implicit_Dereference on an access_to_constant when actual
-       parameter is a rewritten variable or function call.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * a-tags.adb, s-trasym.adb, s-trasym.ads: Make sure we don't get
-       elaboration circularities when polling is turned on.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
-       When creating a full declaration for a formal parameter, the
-       entity is labelled as an Itype, so set Associated_Node_For_Itype
-       accordingly.
-       * einfo.ads: Clarify use of Associated_Node_For_Itype.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * bindgen: Move pragmas Warnings earlier, otherwise
-       we can get warnings on with_clauses.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb,
-       s-taprop-posix.adb (Monotonic_Clock): Removed, not used.
-       Remove remaining references to OS_Primitives.Monotonic_Clock.
-       Keep it only on windows which is a special case.
-
-2015-10-16  Javier Miranda  <miranda@adacore.com>
-
-       * a-textio.adb (Get_Line): Fix documentation.
-       * einfo.ads (Interface_Name): Fix documentation.
-       * exp_aggr.adb (Backend_Processing_Possible): Fix documentation.
-       * exp_ch4.adb (Expand_N_In): Fix documentation.
-
-2015-10-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * inline.adb (Subp_Info): Remove Listed component.
-       (Add_Inlined_Subprogram): Take an entity instead of an index.
-       Do not set Listed component to True.
-       (New_Entry): Do not initialize Listed component to False.
-       (Analyze_Inlined_Bodies): Do not test Listed component
-       (Must_Inline): Add calls not in the main unit only
-       if they are in a subprogram that can be inlined outside its unit.
-       (Add_Inlined_Body): Move test around and add comment.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * sinfo.ads, einfo.ads: monir clean ups.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * usage.adb, debug.adb, a-except.adb, a-except.ads, a-except-2005.adb,
-       a-except-2005.ads, s-imgrea.adb: Minor code clean ups related to
-       jgnat/dotnet removal.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-osprim-vxworks.adb, s-osprim-darwin.adb, s-tadeca.adb,
-       s-osprim-unix.adb, s-osprim-solaris.adb, s-osprim-posix.adb,
-       s-osprim.ads (Monotonic_Clock): Removed, unused.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Try_Object_Operation, Try_One_Interpretation):
-       Do not reset the Obj_Type of the prefix if an interpretation
-       involves an untagged type, to prevent a crash when analyzing an
-       illegal program in All_Errors mode.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Expression_With_Actions):
-       Force the evaluation of the expression when its type is Boolean.
-       (Force_Boolean_Evaluation): New routine.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * sem_util.adb (Has_Discrim_Dep_Array): Remove
-       this function, and the call. No longer needed now that the back
-       end can handle such things. Should result in further speedups
-       in some cases.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Build_Predicate_Functions): If expression for
-       predicate is side-effect free, indicate that the predicate
-       function is pure, to allow for optimization of redundant
-       predicate checks.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * checks.adb: Fix typo.
-       * s-osinte-linux.ads: Add header.
-       * projects.texi: Removed, no longer used.
-       * gcc-interface/Make-lang.in: Update dependencies
-       * s-multip.adb: Minor: fix header.
-       * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads,
-       a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb,
-       a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to
-       .NET.
-       * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment
-       updates.
-
-2015-10-16  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on
-       the temporary object used for a by-copy entry parameter, to
-       ensure that the object doesn't get its No_Initialization flag
-       reset later in Default_Initialize_Object. Also, generate the
-       assignment of the actual to the temporary in the additional case
-       of a scalar out parameter whose type has a Default_Value aspect.
-       * exp_ch3.adb: Fix minor typo in comment.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb, sem_util.ads, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb:
-       Minor reformatting.
-       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Set the
-       SPARK_Mode from the context.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * sem_util.adb (Requires_Transient_Scope):
-       If Typ is a generic formal incomplete type, look at the actual
-       type. Otherwise, we don't notice that the actual type is tagged,
-       has a variant part, etc, causing a mismatch of calling conventions
-       between caller and callee.
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.ads: Move the declaration of enumeration
-       literal E_Abstract_State above E_Entry.  Update the upper bound
-       of subtype Overloadable_Kind.
-
-2015-10-16  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_attr.adb: Minor editorial changes.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads,
-       sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb,
-       exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb,
-       lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb,
-       einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb,
-       rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb,
-       gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb,
-       exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb,
-       exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb,
-       sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb,
-       exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb:
-       Code clean up: remove special handling for .NET and JVM.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_ch12.adb: Minor punctuation fix in comment
-       * s-rident.ads: Minor consistency fix in comment
-       * exp_attr.adb, g-spipat.ads: punctuation fixes in comments.
-       * restrict.ads: Style fix in comments.
-       * sem_prag.adb: Minor grammar fix in comment
-
-2015-10-16  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch12.adb: Minor reformatting/rewording.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * einfo.ads: Minor fix of duplicate words
-       * rident.ads: Minor style fix in comment
-
-2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture,
-       set and restore the Ghost mode.
-       (Expand_N_Object_Declaration): Do not capture, set and restore the
-       Ghost mode.
-       (Freeze_Type): Redo the capture and restore of the Ghost mode.
-       (Restore_Globals): Removed.
-       * exp_ch5.adb (Expand_N_Assignment_Statement): Redo the capture
-       and restore of the Ghost mode.
-       (Restore_Globals): Removed.
-       * exp_ch6.adb (Expand_N_Procedure_Call_Statement):
-       Redo the capture and restore of the Ghost mode.
-       (Expand_N_Subprogram_Body): Redo the capture, set and restore
-       of the Ghost mode.
-       (Expand_N_Subprogram_Declaration): Do not
-       capture, set and restore the Ghost mode.
-       (Restore_Globals): Removed.
-       * exp_ch7.adb (Expand_N_Package_Body): Redo the capture, set
-       and restore of the Ghost mode.
-       (Expand_N_Package_Declaration): Do not capture, set and restore the
-       Ghost mode.
-       * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration):
-       Redo the capture and restore of the Ghost mode.
-       (Expand_N_Object_Renaming_Declaration): Redo
-       the capture and restore of the Ghost mode.
-       (Expand_N_Package_Renaming_Declaration):
-       Redo the capture and restore of the Ghost mode.
-       (Expand_N_Subprogram_Renaming_Declaration): Redo the capture
-       and restore of the Ghost mode.
-       * exp_ch11.adb Remove with and use clauses for Ghost.
-       (Expand_N_Exception_Declaration): Do not capture, set and restore
-       the Ghost mode.
-       * exp_disp.adb (Make_DT): Redo the capture and restore of the
-       Ghost mode.
-       (Restore_Globals): Removed.
-       * exp_prag.adb (Expand_Pragma_Check): Do not capture, set
-       and restore the Ghost mode.
-       (Expand_Pragma_Contract_Cases):
-       Redo the capture and restore of the Ghost mode.  Preserve the
-       original context of contract cases by setting / resetting the
-       In_Assertion_Expr counter.
-       (Expand_Pragma_Initial_Condition):
-       Redo the capture and restore of the Ghost mode.
-       (Expand_Pragma_Loop_Variant): Redo the capture and restore of
-       the Ghost mode.
-       (Restore_Globals): Removed.
-       * exp_util.adb (Make_Predicate_Call): Redo the capture and
-       restore of the Ghost mode.
-       (Restore_Globals): Removed.
-       * freeze.adb (Freeze_Entity): Redo the capture and restore of
-       the Ghost mode.
-       (Restore_Globals): Removed.
-       * ghost.adb (Check_Ghost_Context): Remove the RM reference from
-       the error message.
-       (Is_OK_Statement): Account for statements
-       that appear in assertion expressions.
-       (Is_Subject_To_Ghost):
-       Moved from spec.
-       * ghost.ads (Is_Subject_To_Ghost): Moved to body.
-       * rtsfind.ads (Load_RTU): Redo the capture and restore of the
-       Ghost mode.
-       * sem.adb Add with and use clauses for Ghost.
-       (Analyze): Redo
-       the capture and restore of the Ghost mode. Set the Ghost mode
-       when analyzing a declaration.
-       (Do_Analyze): Redo the capture
-       and restore of the Ghost mode.
-       * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not capture, set
-       and restore the Ghost mode.
-       (Analyze_Incomplete_Type_Decl):
-       Do not capture, set and restore the Ghost mode.
-       (Analyze_Number_Declaration): Do not capture, set and restore the
-       Ghost mode.
-       (Analyze_Object_Declaration): Do not capture, set and
-       restore the Ghost mode.
-       (Analyze_Private_Extension_Declaration):
-       Do not capture, set and restore the Ghost mode.
-       (Analyze_Subtype_Declaration): Do not capture, set and restore
-       the Ghost mode.
-       (Restore_Globals): Removed.
-       * sem_ch5.adb (Analyze_Assignment): Redo the capture and restore
-       of the Ghost mode.
-       (Restore_Globals): Removed.
-       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
-       Do not capture, set and restore the Ghost mode.
-       (Analyze_Procedure_Call): Redo the capture and restore of the
-       Ghost mode.
-       (Analyze_Subprogram_Body_Helper): Redo the capture
-       and restore of the Ghost mode.  (Analyze_Subprogram_Declaration):
-       Do not capture, set and restore the Ghost mode.
-       (Restore_Globals): Removed.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Redo the capture and
-       restore of the Ghost mode.
-       (Analyze_Package_Declaration):
-       Do not capture, set and restore the Ghost mode.
-       (Analyze_Private_Type_Declaration): Do not capture, set and
-       restore the Ghost mode.
-       (Restore_Globals): Removed.
-       * sem_ch8.adb (Analyze_Exception_Renaming): Do not capture,
-       set and restore the Ghost mode.
-       (Analyze_Generic_Renaming): Do not capture, set and restore the Ghost
-       mode.
-       (Analyze_Object_Renaming): Do not capture, set and restore the
-       Ghost mode.
-       (Analyze_Package_Renaming): Do not capture, set and restore the Ghost
-       mode.
-       (Analyze_Subprogram_Renaming): Do not capture, set and restore the
-       Ghost mode.
-       (Restore_Globals): Removed.
-       * sem_ch11.adb (Analyze_Exception_Declaration): Do not capture,
-       set and restore the Ghost mode.
-       * sem_ch12.adb (Analyze_Generic_Package_Declaration):
-       Do not capture, set and restore the Ghost mode.
-       (Analyze_Generic_Subprogram_Declaration): Do not capture, set
-       and restore the Ghost mode.
-       * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Redo
-       the capture and restore of the Ghost mode.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-       Redo the capture and restore of the Ghost mode.
-       (Analyze_External_Property_In_Decl_Part):
-       Redo the capture and restore of the Ghost mode.
-       (Analyze_Initial_Condition_In_Decl_Part): Redo the
-       capture and restore of the Ghost mode.  (Analyze_Pragma):
-       Do not capture, set and restore the Ghost mode for Assert.
-       Redo the capture and restore of the Ghost mode for Check. Do
-       not capture and restore the Ghost mode for Invariant.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Redo the capture and
-       restore of the Ghost mode.
-       * sem_res.adb (Resolve): Capture, set and restore the Ghost mode
-       when resolving a declaration.
-       * sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
-       Redo the capture and restore of the Ghost mode.
-       (Build_Default_Init_Cond_Procedure_Declaration): Redo the capture
-       and restore of the Ghost mode.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * debug.adb: Document -gnatdQ switch.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Formal_Subprogram): Implement rule that
-       a formal abstract subprogram cannot have a null default: RM 12.6
-       (4 1.2).
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * sem_util.ads, sinput.ads, bcheck.adb: Minor comment fixes.
-
-2015-10-16  Javier Miranda  <miranda@adacore.com>
-
-       * inline.adb (Add_Inlined_Body): Ensure that
-       Analyze_Inlined_Bodies will be invoked after completing the
-       analysis of the current unit.
-
-2015-10-16  Arnaud Charlet  <charlet@adacore.com>
-
-       * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Fix error
-       message for bad last bit position.
-       * sem_ch3.adb, sem_util.adb, sem_util.ads: Minor reformatting.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_N_Case_Statement): If expression is
-       compile-time known but does not obey a static predicate on
-       its type, replace the case statement with a raise statement,
-       as with other statically detected constraint violations.
-
-2015-10-16  Bob Duff  <duff@adacore.com>
-
-       * s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
-       Reinstate code.
-       * opt.ads: Minor typo.
-
-2015-10-16  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Gather_Components): When gathering components
-       of a nested variant, the record type used in legality checks is
-       the enclosing record type.
-
-2015-10-13  Jakub Jelinek  <jakub@redhat.com>
-
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
-       DEF_FUNCTION_TYPE_11): Define.
-
-2015-10-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just
-       GNAT1_ADA_OBJS are compiled only after generated files are created.
-
-2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
-
-       * gcc-interface/trans.c (convert_with_check): Use real_arithmetic
-       instead of REAL_ARITHMETIC.
-
-2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
-
-       * gcc-interface/trans.c (convert_with_check): Use real_less instead
-       of REAL_VALUES_LESS.
-
-2015-10-02  Doug Rupp  <rupp@adacore.com>
-            Olivier Hainque  <hainque@adacore.com>
-
-       * gcc-interface/lang.opt (fbuiltin-printf): Accept.
-       * gcc-interface/misc.c (gnat_handle_option): Ignore it.
-       * gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
-       flags as -g* and -m* flags past -gnatez.
-
-2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
-       linear search with call to find_opt and issue warnings if the -W
-       switch is not appropriate.
-
-2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
-       * gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
-       reference but whose type isn't by-ref and whose mechanism hasn't been
-       forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
-       them instead of changing their type.
-       * gcc-interface/trans.c (scan_rhs_r): New helper function.
-       (independent_iterations_p): New predicate.
-       (Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
-       ivdep pragma if the iterations are independent.
-
-2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
-       (Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
-       (finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
-       (build_stmt_group): Add blank lines.
-
-2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
-
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
-
-2015-09-28  Tom de Vries  <tom@codesourcery.com>
-
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define.
-
-2015-09-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
-
-2015-09-14  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/misc.c (gnat_post_options): Issue a warning if
-       generating STABS debugging information when not the default.
-
-2015-09-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (ref_filename): Delete.
-       (Sloc_to_locus): Add clean_column parameter defaulting to false.
-       (build_call_raise): Adjust comment.
-       (build_call_raise_range): Move around.
-       * gcc-interface/trans.c (ref_filename): Delete.
-       (gigi): Fix formatting.
-       (block_end_locus_sink): Delete.
-       (Sloc_to_locus1): Tidy up and reformat.  Rename into...
-       (Sloc_to_locus): ...this.  Add default for clean_colmun parameter.
-       (set_expr_location_from_node1): Rename into...
-       (set_expr_location_from_node): ...this.
-       (set_end_locus_from_node): Move around.  Adjust for renaming.
-       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
-       (add_cleanup): Likewise.
-       * gcc-interface/utils2.c (expand_sloc): New static function.
-       (build_call_raise): Call it.
-       (build_call_raise_column): Likewise.
-       (build_call_raise_range): Likewise.  Move around.
-
-2015-09-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
-       another acceptable pattern for the RHS.
-
-2015-07-24  Micahel Darling  <darlingm@gmail.com>
-
-       PR other/66259
-       * prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
-       * gcc-interface/Makefile.in: Likewise
-
-2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
-
-       * gcc-interface/utils.c: Fix double word typos.
-       * gnat_ugn.texi: Same.
-       * init.c: Same.
-       * par.adb: Same.
-       * projects.texi: Same.
-       * sem_ch4.adb: Same.
-       * sem_ch6.adb: Same.
-       * sem_dim.adb: Same.
-       * sem_eval.adb: Same.
-       * sem_prag.adb: Same.
-       * sem_warn.adb: Same.
-
-2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/cuintp.c: Adjust includes.
-       * gcc-interface/decl.c: Likewise.
-       * gcc-interface/misc.c: Likewise.
-       * gcc-interface/targtyps.c: Likewise.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-       * gcc-interface/utils2.c: Likewise.
-
-2015-07-06  John Marino  <gnugcc@marino.st>
-
-       * s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
-
-2015-06-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/63310
-       * gcc-interface/utils.c (gnat_write_global_declarations): Always
-       build the dummy global variable if code was generated.
-
-2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
-
-       PR fortran/66605
-       * gcc-interface/misc.c (gnat_post_options): No need to disable
-       warn_unused_parameter anymore.
-
-2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
-       not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
-       at-end procedures.
-
-2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (note_types_used_by_globals): Delete.
-       (gnat_write_global_declarations): New prototype.
-       * gcc-interface/utils.c (type_decls): Rename back to...
-       (global_decls): ...this.
-       (gnat_pushdecls): Revert previous change.
-       (create_var_decl): Do not output global variables.
-       (note_types_used_by_globals): Rename back to...
-       (gnat_write_global_declarations): ...this.  Output variables on the
-       global_decls vector.
-       * gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.
-
-2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (create_var_decl_1): Rename into...
-       (create_var_decl): ...this.  Add default value for last parameter.
-       (create_type_stub_decl): Adjust.
-       (create_type_decl): Likewise.
-       (create_field_decl): Likewise.
-       (create_param_decl): Likewise.
-       (create_label_decl): Likewise.
-       (create_subprog_decl): Likewise.
-       * gcc-interface/utils.c (create_var_decl_1): Rename into...
-       (create_var_decl): ...this.  Rename var_name into name and var_init
-       into init, move const_decl_allowed_p last and adjust accordingly.
-       (create_type_stub_decl): Rename type_name into name and adjust.
-       (create_type_decl): Likewise.
-       (create_field_decl): Likewise for field_name and field_type.
-       (create_param_decl): Likewise for param_name and param_type.
-       (create_label_decl): Likewise for label_name.
-       (create_subprog_decl): Likewise for subprog_name and subprog_type.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
-       to create_var_decl_1.
-
-2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
-       artificial, has_checks and warned_aggressive_loop_optimizations.
-       (gigi): Set warn_aggressive_loop_optimizations to 0.
-       (inside_loop_p): New inline predicate.
-       (push_range_check_info): Rename into...
-       (find_loop_for): ...this and do not push range_check_info_d object.
-       (Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
-       fields of gnu_loop_info.  Adjust detection of checks enabled by
-       -funswitch-loops and adds one for -faggressive-loop-optimizations.
-       (gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
-       are enabled, warn for loops overrunning an array of size 1 not at the
-       end of a record.
-
-2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
-       list.
-       * gcc-interface/utils.c: Likewise.
-
-2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
-
-       * gcc-interface/decl.c (value_annotation_hasher): Inherit from
-       ggc_cache_ptr_hash rather than ggc_cache_hasher.
-       * gcc-interface/utils.c (pad_type_hasher): Likewise.
-
-2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
-
-       * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry):
-       Delete.
-       (value_annotation_hasher::keep_cache_entry): New function.
-       * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry):
-       Delete.
-       (pad_type_hasher::keep_cache_entry): New function.
-
-2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/misc.c: Include calls.h not function.h.
-
-2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (record_builtin_type): Adjust comment.
-       (tree create_type_decl): Likewise.
-       (create_var_decl_1): Add artificial_p and debug_info_p parameters.
-       (create_var_decl): Likewise.
-       (create_true_var_decl): Delete.
-       (create_subprog_decl): Add debug_info_p parameter.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
-       variable and use it throughout.  Remove DECL_ARTIFICIAL settings.
-       <E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
-       Remove DECL_IGNORED_P settings.
-       <E_Enumeration_Type>: Likewise.
-       <E_Record_Type>: Likewise.
-       <E_Subprogram_Type>: Likewise.  Remove artificial_flag local variable.
-       Adjust call to create_subprog_decl.
-       (get_minimal_subprog_decl): Likewise.
-       (elaborate_expression_1): Adjust call to create_var_decl.
-       * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
-       create_subprog_decl.  Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
-       * gcc-interface/utils.c (maybe_pad_type): Likewise.
-       (record_builtin_type): Adjust comment.
-       (create_type_stub_decl): Remove obsolete comment.
-       (create_var_decl_1): Add artificial_p and debug_info_p parameters.
-       Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
-       (create_subprog_decl): Add debug_info_p parameter.  Set DECL_IGNORED_P
-       accordingly.
-
-2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
-
-2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure
-       the size of a padding type built around the return type is positive.
-       * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
-       Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
-
-2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/cuintp.c: Do not include input.h, line-map.h or is-a.h.
-       * gcc-interface/decl.c: Likewise.
-       * gcc-interface/misc.c: Likewise.
-       * gcc-interface/targtyps.c: Likewise.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-       * gcc-interface/utils2.c: Likewise.
-
-2015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/utils.c (get_global_context): Register the main
-       translation unit through the new debug hook.
-
-2015-06-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/misc.c: Remove duplicate include directives.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-
-2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/cuintp.c : Adjust include files.
-       * gcc-interface/decl.c : Likewise.
-       * gcc-interface/misc.c : Likewise.
-       * gcc-interface/targtyps.c : Likewise.
-       * gcc-interface/trans.c : Likewise.
-       * gcc-interface/utils.c : Likewise.
-       * gcc-interface/utils2.c : Likewise.
-
-2015-06-08  John Marino  <gnugcc@marino.st>
-
-       * a-intnam-dragonfly.ads: New.
-       * s-osinte-dragonfly.adb: Likewise.
-       * s-osinte-dragonfly.ads: Likewise.
-       * system-dragonfly-x86_64.ads: Likewise.
-       * adaint.c: Add BSD macros.
-       * cstreams.c: Likewise.
-       * gsocket.h: Likewise.
-       * link.c: Likewise.
-       * socket.c: Likewise.
-       * env.c: Add __DragonFly__, remove __FreeBSD__ macro.
-       * init.c: Add __DragonFly__, change __gnat_install_handler
-       prototype from empty to void.
-       * initialize.c: Add __DragonFly__.
-       * sysdep.c: Likewise.
-       * s-osinte-freebsd.adb: Use __get_errno instead of __error.
-       * tracebak.c: Set unwinder for i386 BSD.
-       * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
-       x86_64 FreeBSD and x86 FreeBSD.
-
-2015-06-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
-
-2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
-
-       * gcc-interface/gigi.h (note_types_used_by_globals): Rename from
-       gnat_write_global_declarations.
-       * gcc-interface/misc.c (gnat_parse_file): Call
-       note_types_used_by_globals.
-       Remove LANG_HOOKS_WRITE_GLOBALS.
-       * gcc-interface/utils.c: Rename global_decls to type_decls.
-       (gnat_write_global_declarations): Rename
-       to note_types_used_by_globals.
-       Remove call to finalize_compilation_unit.
-       Remove call to debug_hooks->global_decl for globals.
-       (gnat_pushdecls): Only insert into type_decls if TYPE_DECL.
-
-2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
-
-       * gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
-       * gcc-interface/decl.c: Likewise.
-       * gcc-interface/misc.c: Likewise.
-       * gcc-interface/targtyps.c: Likewise.
-       * gcc-interface/trans.c: Likewise.
-       * gcc-interface/utils.c: Likewise.
-       * gcc-interface/utils2.c: Likewise.
-
-2015-06-04  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If
-       processing a definition, create definitions for padding types
-       around return types.
-
-2015-06-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.
-
-2015-06-03  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix
-       typo in latest change.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
-
-2015-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/utils.c (scale_by_factor_of): When handling a function
-       call expression, process the corresponding function body.  Also handle
-       potential addends.
-
-2015-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
-       references ones for functions that return references.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
-       definition of a type coming from a limited_with, get to the full view
-       if it is not in the main code unit.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (create_var_decl_1): If an assembler name is
-       specified, let the target mangle it before settting.
-       (create_subprog_decl): Likewise and move this treatment last.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to
-       before first -gnatez switch.  Simplify and add trailing space.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
-       record has a parent field and a representation clause, make sure that
-       it is properly aligned.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal
-       with character and enumeration literals as index values.
-
-2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (build_simple_component_ref): Declare.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
-       address clause on aliased object with unconstrained nominal subtype.
-       Mark the aligning variable as artificial, do not convert the address
-       expression immediately but mark it as constant instead.
-       * gcc-interface/utils.c (convert): If the target type contains a
-       template, be prepared for an empty array.
-       (maybe_unconstrained_array): Likewise.
-       * gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal
-       with the pattern built for aligning types.
-       <INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT.
-       (build_simple_component_ref): Make public.
-       If the base object is a constructor that contains a template, fold the
-       result field by field.
-
-2015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
-
-2015-05-30  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * adaint.c: Test for __linux__ instead of linux and __sun__ instead
-       of sun.  Add missing leading underscore to AIX.  Remove #elif 0.
-       * adaint.h: Likewise.
-       * cio.c: Likewise.
-       * cstreams.c: Likewise.
-       * env.c: Likewise.
-       * gsocket.h: Likewise.
-       * init.c: Likewise.  Test for __i386__ instead of i386.
-       * link.c: Likewise.
-       * s-oscons-tmplt.c: Likewise.
-       * sysdep.c: Likewise.
-       * terminals.c: Likewise.  Use BSD symbol instead of FREEBSD.
-       * tracebak.c: Likewise.  Test for __sparc__ instead of sparc.
-
-2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
-       deal with the subtraction of a "negative" value in an unsigned type.
-
-2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
-       not error out on a return type which has a size that overflows if the
-       return is done by invisible reference.
-
-2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
-       and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.
-
-2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
-       (rewrite_fn): Remove third parameter.
-       (type_is_padding_self_referential): New inline predicate.
-       (return_type_with_variable_size_p): Likewise.
-       * gcc-interface/decl.c (allocatable_size_p): More around.
-       (cannot_be_superflat_p): Rename into...
-       (cannot_be_superflat ): ...this.
-       (initial_value_needs_conversion): New predicate.
-       (gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
-       initial_value_needs_conversion and adjust to above renaming.
-       For a renaming, force the materialization if the inner expression
-       is compound.  Adjust calls to elaborate_reference and build a
-       compound expression if needed.
-       (struct er_dat): Add N field.
-       (elaborate_reference_1): Remove N parameter and adjust.
-       (elaborate_reference): Add INIT parameter and pass it in the call to
-       gnat_rewrite_reference.  Adjust initial expression.
-       * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
-       regular object declarations when it comes to creating a temporary.
-       Adjust call to gnat_stabilize_reference and build a compound expression
-       if needed.  Invoke return_type_with_variable_size_p.
-       (gnat_to_gnu): Invoke type_is_padding_self_referential.  In case #4,
-       return a call to a function unmodified if it returns with variable size
-       and is also the initial expression in an object declaration.
-       * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
-       type if it is a call to a function that returns with variable size.
-       (build_unary_op): Invoke type_is_padding_self_referential.
-       (gnat_stabilize_reference_1): Remove N parameter and adjust.
-       (gnat_stabilize_reference): Add INIT parameter and pass it in the call
-       to gnat_rewrite_reference.
-       (gnat_rewrite_reference):  Remove N, add INIT parameter and adjust.
-       <COMPOUND_EXPR>: New case.
-
-2015-05-28  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Is_Visible_Component): Component is visible
-       in a derived type if inherited through an ancestor that has a
-       partial view of the original type holding the component, if the
-       full view of that original type is in scope.
-       * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.
-
-2015-05-28  Bob Duff  <duff@adacore.com>
-
-       * sem_util.adb (Requires_Transient_Scope): For definite untagged
-       subtypes, we should never have to use the secondary stack. This moves
-       toward that goal. But there are still cases that don't work.
-       Here, we move the check for Is_Definite first, but add a
-       special-purpose check for Has_Discrim_Dep_Array.
-
-2015-05-28  Bob Duff  <duff@adacore.com>
-
-       * sem_util.adb (Requires_Transient_Scope): Avoid returning
-       function results on the secondary stack in so many cases.
-
-2015-05-28  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Wrong_Type): In any instance, do not emit error
-       if type of expression is the partial view of the expected type.
-
-2015-05-28  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Actuals): a)  The replacement of formal
-       names in named associations only needs to be done within an
-       instance, on a call to a primitive of a formal derived type,
-       where the actual subprogram may have different formal names than
-       those of the primitive operation of the formal type.
-       b) Defaulted parameters must be taken into account when obtaining
-       the names of the formals of the actual subprogram being called.
-
-2015-05-28  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch13.adb, sem_disp.ads: Minor reformatting.
-
-2015-05-28  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Set_Debug_Info_Needed): For a private type
-       whose full view is itself a derived private type, set flag on
-       underlying full view as well, for proper gdb display.
-
-2015-05-28  Bob Duff  <duff@adacore.com>
-
-       * exp_tss.ads: Minor comment fix.
-       * exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
-       Inline init_procs when the type has controlled parts. Remove
-       obsolete comments about those init_procs -- init_procs for
-       such types are no longer complex. A typical init_proc just
-       initializes the 'Tag field, and calls the parent init_proc
-       (e.g. for Limited_Controlled), which calls the grandparent
-       (for Root_Controlled), which does nothing. This all boils down
-       to one instruction when inlined.
-       * exp_ch7.adb (Create_Finalizer): Inline the finalizer.
-
-2015-05-28  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Selected_Component): If the type to use
-       is a derived type and is a generic actual, the selected component
-       appears within an instance body, and the check over the type
-       has failed, examine ancestor types for the desired component.
-       (Find_Component_In_Instance): If record type is a derived type,
-       examine all ancestors in order to locate desired component.
-
-2015-05-27  H.J. Lu  <hongjiu.lu@intel.com>
-
-       * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.
-
-2015-05-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
-       incomplete type coming from a limited_with and whose non-limited view
-       comes from the main unit.
-
-2015-05-27  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
-       code applying atomic checks to the object.
-
-2015-05-27  Robert Dewar  <dewar@adacore.com>
-
-       * sem_aux.adb: Minor rewording.
-
-2015-05-27  Bob Duff  <duff@adacore.com>
-
-       * exp_prag.adb (Expand_Pragma_Abort_Defer): Make
-       pragma Abort_Defer do nothing if Abort_Allowed is False.
-
-2015-05-27  Arnaud Charlet  <charlet@adacore.com>
-
-       * exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
-       sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
-       opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
-       sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.
-
-2015-05-27  Doug Rupp  <rupp@adacore.com>
-
-       * adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
-       well as kernel.
-
-2015-05-27  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * par_sco.adb (Process_Decision): Store sloc to
-       condition/pragmas SCOs associations into a temporary table before
-       moving them to the SCO_Raw_Hash_Table so that we can back them
-       out just like we do for SCO entries that are simple decisions
-       in an expression context.
-
-2015-05-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Process_Formals): A non-private formal type that
-       is a limited view does not have a list of private dependents.
-
-2015-05-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_N_Case_Statement): If the expression in
-       the case statement is a compile-time known value, we look for a
-       corresponding alternative to optimize the case statement into a
-       single case. If the type has a static predicate and the expression
-       does not satisfy the predicate, there is no legal alternative and
-       this optimization is not applicable.  Excecution is erroneous,
-       or else if assertions are enabled, an exception will be raised
-       earlier, at the point the expression is elaborated.
-
-2015-05-27  Robert Dewar  <dewar@adacore.com>
-
-       * sem_elab.adb (Check_Internal_Call_Continue): Suppress
-       warning on Finalize, Adjust, or Initialize if type involved has
-       Warnings_Off set.
-
-2015-05-27  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
-       applied to a type with no known discriminants.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * sem_elab.adb (Check_A_Call): In the case where we're
-       calling something in an instance of a generic package that is
-       within this same unit (as the call), make sure we treat it
-       as a call to an entity within the same unit. That is, call
-       Check_Internal_Call, rather than putting "Elaborate_All(X)"
-       on X, which would necessarily result in an elaboration cycle in
-       static-elaboration mode.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
-       * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
-       parameter into Node parameter and remove Type parameter.
-       Look at Is_Atomic_Or_VFA both on the type and on the object.
-       (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
-       * exp_aggr.adb (Expand_Record_Aggregate): Likewise.
-       (Process_Atomic_Independent_Shared_Volatile): Remove code
-       propagating Atomic or VFA from object to locally-defined type.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * exp_ch7.adb: Minor comment fix.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
-       bother about NaN's if Machine_Overflows is true.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
-       force evaluation of the expression, if any, when the object has its
-       elaboration delayed.  Do not create a variable at global level.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
-       extra-precision trick to literals.  Build SAVE_EXPR manually.
-
-       * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
-       (DECL_RENAMED_OBJECT): Adjust comment.
-       * gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
-       (invalidate_global_nonconstant_renamings): Likewise.
-       (gnat_constant_reference_p): Likewise.
-       (rewrite_fn): New function type.
-       (gnat_rewrite_reference): Declare.
-       (call_is_atomic_load): New inline predicate.
-       * gcc-interface/decl.c (elaborate_reference_1): New function.
-       (elaborate_reference): Likewise.
-       (gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
-       and simplify associated code.  Set const_flag to true consistently in
-       conjunction with used_by_ref.
-       * gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
-       pointers by renamed objects.
-       (outer_atomic_access_required_p): Deal with renamings.
-       (Compilation_Unit_to_gnu): Do not call
-       invalidate_global_nonconstant_renamings.
-       (gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
-       (gnat_gimplify_expr): Deal with atomic loads.
-       * gcc-interface/utils.c (global_nonconstant_renamings): Delete.
-       (destroy_gnat_utils): Do not call
-       invalidate_global_nonconstant_renamings.
-       (record_global_nonconstant_renaming): Delete.
-       (invalidate_global_nonconstant_renamings): Likewise.
-       * gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
-       (build_load_modify_store): Build a copy of the destination.
-       (gnat_stabilize_reference_1): Adjust.
-       (gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
-       gnat_rewrite_reference and move bulk of code to...
-       (gnat_rewrite_reference): ...here.  New global function.
-       (gnat_constant_reference_p): Delete.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
-       to detect constant renamings.  Be prepared for specific pattern of
-       renamed object based on function calls.  Create a constant object
-       for the renaming of a NULL_EXPR or of a CONSTRUCTOR.  Adjust calls
-       to gnat_stabilize_reference and tidy up.  Remove redundant tests.
-       (elaborate_expression_1): Remove obsolete test and tidy up.
-       * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
-       parameters passed by reference.
-       (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
-       side-effects.
-       Use gnat_protect_expr instead of gnat_stabilize_reference for general
-       protection against side-effects.
-       * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
-       (gnat_save_expr): Invoke it.
-       (gnat_protect_expr): Likewise.
-       (gnat_stabilize_reference_1): Likewise.  Remove useless propagation
-       of TREE_THIS_NOTRAP.
-       (gnat_stabilize_reference): Remove parameter and adjust throughout.
-       Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
-       Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sinfo.ads: Minor reformatting.
-       * sem_aux.ads: Clarify use of First_Discriminant.
-       * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
-       view is replaced with the non-limited view in an instance body,
-       where the enclosing unit must have a regular with_clause on the
-       relevant unit.
-       * sem_ch12.adb (Install_Body): Freeze instantation after its
-       body. Remove useless freeze nodes for incomplete actuals to
-       prevent multiple generation of internal operations.
-       (Instantiate_Package_Body): Set sloc of body appropriately when
-       there are incomplete actuals and the instance body is placed in
-       the body of the enclosing unit.
-       * errout.ads: Consistent punctuation, better alignment and trivial
-       typos in comments.
-       * err_vars.ads: Fix typo.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
-       components of Volatile_Full_Access objects.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Is_Non_Overriding_Operation,
-       Get_Generic_Parent_Type): Handle properly the case of a derived
-       scalar type by using the first subtype rather than its generated
-       anonymous base type.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
-       case to...
-       (Write_Field19_Name): ...here.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
-       of original expression in ASIS mode: does not solve the ASIS
-       problem of a usable type information, and crashes the back-end
-       when performing type annotations.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
-       (Is_Overriding_Subprogram): Use One_Only_Parameter.
-       * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
-       exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
-       exp_ch3.adb: Minor reformatting.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * treepr.adb: Minor improvement to debugging routines (pp, pn)
-       robustness.  Rearrange the code so passing a nonexistent Node_Id
-       prints "No such node" rather than crashing, and causing gdb to
-       generate confusing messages.
-
-2015-05-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_util.adb: Minor typo fix.
-
-2015-05-26  Yannick Moy  <moy@adacore.com>
-
-       * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.
-
-2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
-       restore the Ghost mode.
-       (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
-       (Freeze_Type): Update the call to Set_Ghost_Mode.
-       (Restore_Globals): New routine.
-       * exp_ch5.adb Add with and use clauses for Ghost.
-       (Expand_N_Assignment_Statement): Capture, set and restore the
-       Ghost mode.
-       (Restore_Globals): New routine.
-       * exp_ch6.adb Add with and use clauses for Ghost.
-       (Expand_N_Procedure_Call_Statement): Capture, set and
-       restore the Ghost mode.
-       (Expand_N_Subprogram_Body):
-       Code cleanup. Capture, set and restore the Ghost mode.
-       (Expand_N_Subprogram_Declaration): Capture, set and restore the
-       Ghost mode.
-       (Restore_Globals): New routine.
-       * exp_ch7.adb Add with and use clauses for Ghost.
-       (Expand_N_Package_Body): Capture, set and restore the Ghost mode.
-       (Expand_N_Package_Declaration): Capture, set and restore the
-       Ghost mode.
-       (Wrap_HSS_In_Block): Create a proper identifier for the block.
-       * exp_ch8.adb Add with and use clauses for Ghost.
-       (Expand_N_Exception_Renaming_Declaration): Code
-       cleanup. Capture, set and restore the Ghost mode.
-       (Expand_N_Object_Renaming_Declaration): Capture, set and restore
-       the Ghost mode.
-       (Expand_N_Package_Renaming_Declaration): Capture, set and restore the
-       Ghost mode.
-       (Expand_N_Subprogram_Renaming_Declaration): Capture, set and
-       restore the Ghost mode.
-       * exp_ch11.adb (Expand_N_Exception_Declaration): Code
-       cleanup. Capture, set and restore the Ghost mode.
-       * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
-       not initialize the dispatch table slot of a Ghost subprogram.
-       * exp_prag.adb Add with and use clauses for Ghost.
-       (Expand_Pragma_Check): Capture, set and restore the Ghost mode.
-       (Expand_Pragma_Contract_Cases): Capture, set and restore the
-       Ghost mode.
-       (Expand_Pragma_Initial_Condition): Capture, set and
-       restore the Ghost mode.
-       (Expand_Pragma_Loop_Variant): Capture,
-       set and restore the Ghost mode.
-       (Restore_Globals): New routine.
-       * exp_util.adb Add with and use clauses for Ghost.
-       (Make_Predicate_Call): Code cleanup. Capture, set and restore
-       the Ghost mode.
-       (Restore_Globals): New routine.
-       * freeze.adb (Freeze_Entity): Code cleanup. Update the call
-       to Set_Ghost_Mode.
-       * ghost.adb Add with and use clause for Sem_Prag.
-       (Check_Ghost_Completion): Code cleanup.
-       (Check_Ghost_Overriding): New routine.
-       (Check_Ghost_Policy): Code cleanup.
-       (Ghost_Entity): New routine.
-       (Is_Ghost_Declaration): Removed.
-       (Is_Ghost_Statement_Or_Pragma): Removed.
-       (Is_OK_Context): Reimplemented.
-       (Is_OK_Declaration): New routine.
-       (Is_OK_Pragma): New routine.
-       (Is_OK_Statement): New routine.
-       (Mark_Full_View_As_Ghost): New routine.
-       (Mark_Pragma_As_Ghost): New routine.
-       (Mark_Renaming_As_Ghost): New routine.
-       (Propagate_Ignored_Ghost_Code): Update the comment on usage.
-       (Set_From_Entity): New routine.
-       (Set_From_Policy): New routine.
-       (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
-       (Set_Ghost_Mode_For_Freeze): Removed.
-       (Set_Ghost_Mode_From_Entity): New routine.
-       (Set_Ghost_Mode_From_Policy): Removed.
-       * ghost.ads (Check_Ghost_Overriding): New routine.
-       (Mark_Full_View_As_Ghost): New routine.
-       (Mark_Pragma_As_Ghost): New routine.
-       (Mark_Renaming_As_Ghost): New routine.
-       (Set_Ghost_Mode): Update the parameter profile. Update the
-       comment on usage.
-       (Set_Ghost_Mode_For_Freeze): Removed.
-       (Set_Ghost_Mode_From_Entity): New routine.
-       * sem_ch3.adb (Analyze_Full_Type_Declaration):
-       Capture and restore the Ghost mode. Mark a type
-       as Ghost regardless of whether it comes from source.
-       (Analyze_Incomplete_Type_Decl): Capture, set and restore the
-       Ghost mode.
-       (Analyze_Number_Declaration): Capture and restore the Ghost mode.
-       (Analyze_Object_Declaration): Capture and restore the Ghost mode.
-       (Analyze_Private_Extension_Declaration): Capture and
-       restore the Ghost mode.
-       (Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
-       (Process_Full_View): The full view inherits all Ghost-related
-       attributes from the private view.
-       (Restore_Globals): New routine.
-       * sem_ch5.adb (Analyze_Assignment): Capture and restore the
-       Ghost mode.
-       (Restore_Globals): New routine.
-       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
-       Code cleanup. Capture and restore the Ghost mode. Mark a
-       subprogram as Ghost regarless of whether it comes from source.
-       (Analyze_Procedure_Call): Capture and restore the Ghost mode.
-       (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
-       (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
-       (New_Overloaded_Entity): Ensure that a
-       parent subprogram and an overriding subprogram have compatible
-       Ghost policies.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
-       the Ghost mode.
-       (Analyze_Package_Declaration): Capture and
-       restore the Ghost mode. Mark a package as Ghost when it is
-       declared in a Ghost region.
-       (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
-       (Restore_Globals): New routine.
-       * sem_ch8.adb (Analyze_Exception_Renaming): Code
-       reformatting. Capture and restore the Ghost mode. A renaming
-       becomes Ghost when its name references a Ghost entity.
-       (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
-       renaming becomes Ghost when its name references a Ghost entity.
-       (Analyze_Object_Renaming): Capture and restore the Ghost mode. A
-       renaming becomes Ghost when its name references a Ghost entity.
-       (Analyze_Package_Renaming): Capture and restore the Ghost mode. A
-       renaming becomes Ghost when its name references a Ghost entity.
-       (Analyze_Subprogram_Renaming): Capture and restore the Ghost
-       mode. A renaming becomes Ghost when its name references a
-       Ghost entity.
-       * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
-       and restore the Ghost mode.
-       * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
-       restore the Ghost mode.
-       (Analyze_Generic_Subprogram_Declaration):
-       Capture and restore the Ghost mode.
-       * sem_ch13.adb Add with and use clauses for Ghost.
-       (Add_Invariant): New routine.
-       (Add_Invariants): Factor out code.
-       (Add_Predicate): New routine.
-       (Add_Predicates): Factor out code.
-       (Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
-       set and restore the Ghost mode.
-       (Build_Invariant_Procedure): Code cleanup.
-       (Build_Predicate_Functions): Capture, set and
-       restore the Ghost mode. Mark the generated functions as Ghost.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
-       Capture, set and restore the Ghost mode.
-       (Analyze_External_Property_In_Decl_Part): Capture, set and restore
-       the Ghost mode.
-       (Analyze_Initial_Condition_In_Decl_Part):
-       Capture, set and restore the Ghost mode.
-       (Analyze_Pragma):
-       Code cleanup. Capture, set and restore the Ghost mode. Flag
-       pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
-       Unreferenced_Objects as illegal when it applies to both Ghost
-       and living arguments. Pragma Ghost cannot apply to synchronized
-       objects.
-       (Check_Kind): Moved to the spec of Sem_Prag.
-       (Process_Inline): Flag the pragma as illegal when it applies to
-       both Ghost and living arguments.
-       (Restore_Globals): New routine.
-       * sem_prag.ads Add pragma Default_Initial_Condition
-       to table Assertion_Expression_Pragma. Add new table
-       Is_Aspect_Specifying_Pragma.
-       (Check_Kind): Moved from body of Sem_Prag.
-       * sem_util.adb Add with and use clauses for Ghost.
-       (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
-       the Ghost mode.
-       (Build_Default_Init_Cond_Procedure_Declaration):
-       Capture, set and restore the Ghost mode. Mark the default
-       initial condition procedure as Ghost when it is declared
-       in a Ghost region.
-       (Is_Renaming_Declaration): New routine.
-       (Policy_In_List): Account for the single argument version of
-       Check_Pragma.
-       * sem_util.ads (Is_Renaming_Declaration): New routine.
-       * sinfo.adb (Is_Ghost_Pragma): New routine.
-       (Set_Is_Ghost_Pragma): New routine.
-       * sinfo.ads New attribute Is_Ghost_Pragma.
-       (Is_Ghost_Pragma): New routine along with pragma Inline.
-       (Set_Is_Ghost_Pragma): New routine along with pragma Inline.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
-       Minor reformatting.
-
-2015-05-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
-       reformatting and typo fixes in comments.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch7.adb (Swap_Private_Dependets): Set visibility of
-       the two views of a private dependent in two separate steps,
-       to ensure proper visibility in parent units analyzed for inlining.
-
-2015-05-26  Yannick Moy  <moy@adacore.com>
-
-       * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
-       (Package_Body, Package_Spec): New queries moved
-       here from GNATprove.
-       (Package_Specification): Simplify query to remove use of loop.
-       * sem_util.adb, sem_util.ads (Enclosing_Declaration,
-       Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
-       queries moved here from GNATprove.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
-       obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
-       redundant assertions.
-
-2015-05-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.
-
-2015-05-26  Doug Rupp  <rupp@adacore.com>
-
-       * init.c [vxworks]: Refine previous checkin.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch4.adb (Wrap_MA): New function.
-       (Expand_N_Op_Expon): Use Wrap_MA.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
-       Do not use secondary stack to return limited records with
-       defaulted discriminants. This is an efficiency improvement.
-       * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
-       sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
-       sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
-       Is_Definite_Subtype. This is an improvement to readability (the double
-       negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
-       disallow passing non-[sub]type entities, an unnecessary and slightly
-       bug-prone flexibility.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sem_aggr.adb (Resolve_Array_Aggregate): Defend against
-       bad bounds.
-       * debug.adb: Document -gnatd.k.
-       * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * gnat1drv.adb (Gnat1drv): Provide new arguments for
-       Get_Target_Parameters.
-       * restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
-       new procedure.
-       (Set_Restriction_No_Use_Of_Attribute): new procedure.
-       * restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
-       new procedure.
-       (Set_Restriction_No_Use_Of_Attribute): new procedure.
-       * s-rident.ads (Integer_Parameter_Restrictions): New subtype.
-       * targparm.adb (Get_Target_Parameters): Allow new restriction
-       pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
-       No_Use_Of_Pragma.
-       * targparm.ads: New parameters for Get_Target_Parameters.
-       * tbuild.adb (Set_NOD): New name for Set_RND.
-       (Set_NSA): New procedure.
-       (Set_NUA): New procedure.
-       (Set_NUP): New procedure.
-       * tbuild.ads (Make_SC): Minor reformatting.
-       (Set_NOD): New name for Set_RND.
-       (Set_NSA, Set_NUA, Set_NUP): New procedure.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * a-stwise.adb (Find_Token): If source'first is not positive,
-       an exception must be raised, as specified by RM 2005 A.4.3
-       (68/1). This must be checked explicitly, given that run-time
-       files are normally compiled without constraint checks.
-       * a-stzsea.adb (Find_Token): Ditto.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.ads sem_util.adb (Is_Current_Instance):  New predicate
-       to fully implement RM 8.6 (17/3). which earlier only applied
-       to synchronized types. Used to preanalyze aspects that include
-       current instances of types, such as Predicate and Invariant.
-       * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
-       * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
-       expression of aspect and analyze it to provide proper type
-       information.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
-       * s-exnllf.adb (Exn_Float): New function.
-       (Exn_Long_Float): New function.
-       (Exn_Long_Long_Float): Rewritten interface.
-       (Exp): New name for what used to be Exn_Long_Long_Float.
-       * s-exnllf.ads (Exn_Float): New function.
-       (Exn_Long_Float): New function.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Find_Selected_Component): Do not emit an error
-       on a selected component when the prefix is a type name that is
-       a Current_Instance.
-       * einfo.ads: Minor grammar fix.
-
-2015-05-26  Doug Rupp  <rupp@adacore.com>
-
-       * init.c [vxworks] (sysLib.h): Only for x86.
-
-2015-05-26  Doug Rupp  <rupp@adacore.com>
-
-       * init-vxsim.c (CPU): define as __VXSIM_CPU__
-       * sigtramp-vxworks-vxsim.c (CPU): Likewise.
-       sigtramp-vxworks-target.inc: Add check for SIMLINUX.
-       * sigtramp.h: Likewise.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
-       * sem_util.adb: Minor reformatting
-
-2015-05-26  Yannick Moy  <moy@adacore.com>
-
-       * inline.adb (Has_Initialized_Type): Adapt to new names.
-       * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components,
-       Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec,
-       Subprogram_Specification): New query functions used in GNATprove.
-       * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New
-       query functions used in GNATprove.
-       * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node,
-       Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq,
-       Is_Double_Precision_Floating_Point_Type,
-       Is_Single_Precision_Floating_Point_Type): New query functions
-       used in GNATprove.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to
-       some huge number.
-       * a-except-2005.adb, a-except-2005.ads, a-except.adb,
-       a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sinfo.adb: Minor comment addition.
-       * einfo.adb: Minor whitespace and punctuation fix.
-       * sem_util.adb: Minor editing of comments.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch7.adb (Install_Private_Declarations,
-       Swap_Private_Dependents): Ensure that both views of the dependent
-       subtype are immediately visible if we are within their scope. This
-       may be needed when a procedure body is both the parent of an
-       instantiated child unit, and is itself used to inline a local
-       function.
-
-2015-05-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_prag.adb, gnat1drv.adb: Minor reformatting.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit
-       detecting exceptions to the rewriting, deal with implicit
-       dereferences in the selected component case.
-
-2015-05-26  Bob Duff  <duff@adacore.com>
-
-       * sem_ch13.adb (Analyze_One_Aspect): Do not
-       require the expression of the Disable_Controlled aspect to be
-       static in a generic template, because 'Enabled is not known
-       until the instance.
-
-2015-05-26  Doug Rupp  <rupp@adacore.com>
-
-       * init-vxsim.c: New file for vxsim ZCX
-       * sigtramp-vxworks-vxsim.c: Likewise.
-       * sigtramp-vxworks.c: Factor out target dependent bits into ...
-       * sigtramp-vxworks-target.inc: ... here.
-       * sigtramp.h: Add vxsim zcx protos.
-       * init.c [vxworks...] (sysLib.h): Include.
-       (__gnat_map_signal): Make global.
-        [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if
-       on vxsim.
-       [...i386] (__gnat_install_handler): Test if on vxsim.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specification): For an element
-       iterator over an array, if the component is aliased, the loop
-       variable is aliased as well.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Expand_Actuals): For a function call with in-out
-       parameters that is rewritten as an expression_with_actions,
-       we preserve the original function call node for further use by
-       the caller (typically Expand_Call). In the presence of validity
-       checks, that function call, though it is labelled Analyzed to
-       prevent an infinite recursion, may be rewritten as a temporary
-       by Remove_Side_Effects.  Ensure that the caller has access to
-       the original function call to continue expansion.
-       * atree.ads: Minor typo in comment.
-
-2015-05-26  Javier Miranda  <miranda@adacore.com>
-
-       * sem_util.adb (Check_Function_Writable_Actuals):
-       Add missing support to check the violation of writable actuals
-       in array aggregates that have a nonstatic range.
-
-2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch6.adb (Process_Contract_Cases_For): Update the call to
-       Expand_Pragma_Contract_Cases.
-       * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
-       Expand_Pragma_Contract_Cases.
-       * sem_ch13.adb (Add_Invariants): Use the original aspect name
-       when creating the arguments of pragma Check. This ensures that
-       'Class is properly recognized and handled.
-
-2015-05-26  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb: Minor adjustments.
-       (Adjust_Global_Switches): Disable some related flags in CodePeer mode.
-       * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
-       Stop_Subtree_Climbind): Code cleanup.
-       * einfo.ads: Minor comment change.
-
-2015-05-26  Javier Miranda  <miranda@adacore.com>
-
-       * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
-       Code cleanup.
-       * sem_ch3.adb (Build_Derived_Record_Type,
-       Record_Type_Declaration): Code cleanup.
-       * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
-       Stop_Subtree_Climbind): Tables which speed up the identification
-       of dangerous calls to Ada 2012 functions with writable actuals
-       (AI05-0144).
-       (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
-       Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
-       Analyze_Range): Code cleanup.
-       (Is_Arbitrary_Evaluation_Order_Construct): Removed.
-       (Check_Writable_Actuals): Code cleanup using the added tables.
-       * sem_util.adb (Check_Function_Writable_Actuals): Return
-       immediately if the node does not have the flag Check_Actuals
-       set to True.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
-       condition in the detection of the effects of Remove_Side_Effects.
-       * exp_util.ads (Remove_Side_Effects): Add general and historical note.
-       * exp_util.adb (Is_Name_Reference): New predicate.
-       (Remove_Side_Effects): Use it in lieu of Is_Object_Reference
-       in order to decide whether to use the renaming to capture the
-       side effects of the subexpression.
-       (Side_Effect_Free): Remove obsolete test.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * aspects.ads, aspects.adb: Add aspect Disable_Controlled.
-       * einfo.ads, einfo.adb (Disable_Controlled): New flag.
-       (Is_Controlled_Active): New function.
-       * exp_ch3.adb (Expand_Freeze_Record_Type): Use
-       Is_Controlled_Active.
-       * exp_util.adb (Needs_Finalization): Finalization not needed
-       if Disable_Controlled set.
-       * freeze.adb (Freeze_Array_Type): Do not set
-       Has_Controlled_Component if the component has Disable_Controlled.
-       (Freeze_Record_Type): ditto.
-       * sem_ch13.adb (Decorate): Minor reformatting.
-       (Analyze_Aspect_Specifications): Implement Disable_Controlled.
-       * sem_ch3.adb (Analyze_Object_Declaration): Handle
-       Disable_Controlled.
-       (Array_Type_Declaration): ditto.
-       (Build_Derived_Private_Type): ditto.
-       (Build_Derived_Type): ditto.
-       (Record_Type_Definition): ditto.
-       * snames.ads-tmpl: Add Name_Disable_Controlled.
-
-2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
-       of a renaming to capture the return value of a function call.
-       (Expand_Simple_Function_Return): Call Remove_Side_Effects
-       instead of removing side effects manually before the call to
-       _Postconditions.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
-       order in calling Duplicate_Subexpr.
-       * einfo.ads: Fix documentation of Object/Value size for scalar types.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
-       If a component is default-initialized and its type has an
-       invariant procedure, insert an invariant test after code for
-       default-initialization of the component.
-
-2015-05-26  Gary Dismukes  <dismukes@adacore.com>
-
-       * einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb, exp_unst.ads: Change to using Subps table index for
-       making AREC entity names unique.
-
-2015-05-26  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_cat.adb (Has_Stream_Attribute_Definition): If the type
-       has aspect specifications, examine the corresponding list of
-       representation items to determine whether there is a visible
-       stream operation. The attribute definition clause generated from
-       the aspect will be inserted at the freeze point of the type,
-       which may be in the private part and not directly visible,
-       but the aspect makes the operation available to a client.
-
-2015-05-26  Robert Dewar  <dewar@adacore.com>
-
-       * sem_util.adb: Minor code reorganization.
-       * sem_ch6.adb: Minor reformatting.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
-       original size for elementary types before issuing the size warning.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * get_targ.adb (C_Get_Float_Words_BE): Adjust import name.
-       (C_Get_Words_BE): Likewise.
-       (C_Get_Bytes_BE): Likewise.
-       (C_Get_Bits_BE): Likewise.
-       (Width_From_Size): Remove superfluous space.
-       * gcc-interface/targtyps.c (get_float_words_be): Rename into...
-       (get_target_float_words_be): ...this.
-       (get_words_be): Rename into...
-       (get_target_words_be): ...this.
-       (get_bytes_be): Rename into...
-       (get_target_bytes_be): ...this.
-       (get_bits_be): Rename into...
-       (get_target_bits_be): ...this.
-       * gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
-       (ptr_void_type_node): Delete.
-       (get_target_float_size): Likewise.
-       (get_target_double_size): Likewise.
-       (get_target_long_double_size): Likewise.
-       (get_float_words_be): Likewise.
-       (get_words_be): Likewise.
-       (get_bytes_be): Likewise.
-       (get_bits_be): Likewise.
-       (get_target_float_words_be): Declare.
-       (get_target_words_be): Likewise.
-       (get_target_bytes_be): Likewise.
-       (get_target_bits_be): Likewise.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
-       with ptr_type_node.
-       (intrin_return_compatible_p): Likewise.
-       * gcc-interface/trans.c (gigi): Likewise.
-       * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
-       (maybe_wrap_free): Likewise.
-       * gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
-       * gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (elaborate_expression): Take a const string
-       suffix instead of a tree.
-       (elaborate_expression_1): Likewise.
-       (elaborate_expression_2): Likewise.
-       (gnat_to_gnu_entity): Adjust to above changes.
-       (build_subst_list): Likewise.
-       (get_entity_char): New static function.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
-       <E_Exception>: Merge with E_Variable case.
-       <E_Variable>: Remove 'object' label.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
-       * gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
-       * gcc-interface/utils.c (convert): Likewise and simplify.
-       (remove_conversions): Likewise.
-       * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
-       (build_unary_op): Likewise and simplify.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
-       (build_atomic_store): Likewise.
-       (build_load_modify_store): Declare.
-       (VECTOR_TYPE_P): Delete.
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
-       Is_Atomic_Or_VFA throughout.
-       <E_Array_Type>: Build a variant of the XUA type instead of forcing
-       TYPE_VOLATILE on it.
-       <E_Array_Subtype>: Use the main variant of the base type.
-       Do not force TYPE_VOLATILE on the type being built.
-       <E_Record_Type>: Likewise.
-       <E_Array_Subtype>: Likewise.
-       <E_Subprogram_Type>: Rename local variable.
-       Add Atomic qualifier in conjunction with Volatile on types if needed.
-       Force BLKmode for by-ref types only at the end of the processing.
-       Change qualifiers only after changing the mode of the type.  Set
-       TYPE_UNIVERSAL_ALIASING_P on the type directly.
-       (check_ok_for_atomic_type): Issue specific error message for VFA.
-       (gnat_to_gnu_component_type): Replace Is_Atomic with
-       Is_Atomic_Or_VFA throughout.
-       * gcc-interface/misc.c (gnat_get_alias_set): Test
-       TYPE_UNIVERSAL_ALIASING_P on the type directly.
-       * gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
-       Is_Atomic_Or_VFA throughout.  Add missing guard.
-       (node_is_atomic): New predicate.
-       (node_has_volatile_full_access): Likewise.
-       (gnat_strip_type_conversion): New function.
-       (outer_atomic_access_required_p): New predicate.
-       (atomic_sync_required_p): Rename into...
-       (atomic_access_required_p): ...this.  Add SYNC parameter, scan the
-       parent node first and then look for the atomic setting.  Add support
-       for Volatile_Full_Access.
-       (Call_to_gnu): Add atomic_access and outer_atomic_access parameters
-       and adjusts calls to above functions.  Use load-modify-store sequence
-       for updates of In/Out and Out parameters if required, as well as for
-       moving the result to the target if required.  Add couple of missing
-       guards.
-       (gnat_to_gnu): Adjust calls to above functions.
-       <N_Object_Renaming_Declaration>: If the renamed object has side-effects
-       evaluate only its address.
-       <N_Assignment_Statement>: Adjust call to Call_to_gnu.  Use load-modify
-       store sequence if required.
-       <N_Function_Call>: Adjust call to Call_to_gnu.
-       (extract_values): Adjust comment.
-       * gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
-       use relaxed memory model if it is not set.
-       (build_atomic_store): Likewise.
-       (call_is_atomic_load): New predicate.
-       (build_load_modify_store): New function.
-       (build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
-       (gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.
-
-2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
-       (DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
-       * gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
-       (invalidate_global_renaming_pointers): Likewise.
-       (record_global_nonconstant_renaming): New.
-       (invalidate_global_nonconstant_renamings): Likewise.
-       (get_inner_constant_reference): Likewise.
-       (gnat_constant_reference_p): Likewise.
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
-       and register the renaming pointer only if the object is non-constant.
-       (elaborate_expression_1): Call get_inner_constant_reference instead
-       of get_inner_reference.
-       * gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
-       (Identifier_to_gnu): Adjust to above and do not recheck the renamed
-       object before substituting it.
-       (Compilation_Unit_to_gnu): Adjust to above renaming.  Minor tweaks.
-       (gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
-       result at the global level.
-       (N_Exception_Renaming_Declaration): Likewise.
-       * gcc-interface/utils.c (global_renaming_pointers): Rename into...
-       (global_nonconstant_renamings): ...this.
-       (destroy_gnat_utils): Adjust to above renaming.
-       (record_global_renaming_pointer): Rename into...
-       (record_global_nonconstant_renaming): ...this.
-       (invalidate_global_renaming_pointers): Rename into...
-       (invalidate_global_nonconstant_renamings): ...this and do not recheck
-       the renamed object before invalidating.
-       * gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
-       (get_inner_constant_reference): New public function.
-       (gnat_constant_reference_p): New predicate.
-
-2015-05-25  Javier Miranda  <miranda@adacore.com>
-
-       * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
-       is now present in subprograms, generic subprograms, entries and
-       entry families.
-       * sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
-       on entries, entry families, subprograms and generic subprograms.
-       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
-       Minor code reorganization to ensure that the Ekind attribute
-       of the subprogram entity is set before its formals are
-       processed. Required to allow the use of the attribute
-       Has_Out_Or_In_Out_Parameter on the subprogram entity.
-       * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
-       Perform the check on writable actuals only if the value of some
-       component of the aggregate involves calling a function with
-       out-mode parameters.
-       (Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
-       internally built aggregate.
-       * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
-       Perform the check on writable actuals only if the initialization of
-       some component involves calling a function with out-mode parameters.
-       * sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
-       Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
-       Analyze_Range): Check writable actuals only if the
-       subtrees have a call to a function with out-mode parameters
-       (Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
-       has out or in-out parameters then mark its outermost enclosing
-       construct as a node on which the writable actuals check must
-       be performed.
-       (Analyze_Call): Check if the flag must be set and if the outermost
-       enclosing construct.
-       * sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
-       and reorganization. We skip processing aggregate discriminants
-       since their precise analysis involves two phases traversal.
-       * sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
-       Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
-       check_writable_actuals.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Constrain_Concurrent): If the context is a
-       type declaration, generate an Itype_Reference for the anonymous
-       subtype, to force elaboration at this point in gigi.
-
-2015-05-22  Gary Dismukes  <dismukes@adacore.com>
-
-       * layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
-       exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Actuals): If the call is to an overridden
-       operation, replace the names of the actuals in named associations
-       with the names of the actuals of the subprogram that is eventually
-       executed. The names of the formals and the defaults can differ
-       between the two operations when they are operations of a formal
-       derived type.
-
-2015-05-22  Bob Duff  <duff@adacore.com>
-
-       * a-convec.ads, a-convec.adb (Append): Check for fast path. Split
-       out slow path into separate procedure. Inline Append. Fast path
-       now avoids calling Insert.
-       (Finalize): Do the busy checking last, so the container gets emptied.
-       (Insert, Insert_Space): Remove redundancy.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
-       for -gnatd.V.
-
-2015-05-22  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnatvsn.ads: Minor code reorg to remember more easily to update
-       variables.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
-       limited_with clause on a predefined unit is not transformed into
-       a regular with_clause, to preserve the original tree structure.
-       * sinfo.ads (N_With_Clause): Add comment on handling of
-       Limited_With.
-       * sem_ch10.adb: Minor reformatting.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Freeze_Profile): A limited view of a type in
-       the profile of a subprogram renaming does not require freezing,
-       because it is declared in a different unit.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
-       composite type) is private, go to full view. This was previously
-       done only in an instance context, but is happen whenever a chain
-       of private extensions includes one inherited discriminant.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.ads: Minor comment updates.
-       * exp_unst.adb: Move Subps table to spec Don't remove old entries
-       from table Add Last field to record last entry used.
-       * exp_unst.ads: Move Subps table here from body So that Cprint
-       can access saved values.
-
-2015-05-22  Bob Duff  <duff@adacore.com>
-
-       * a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
-       * a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
-       * a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
-       (Pseudo_Reference, Element_Access, Get_Element_Access): New
-       declarations added for use by performance improvements in exp_ch5.adb.
-       * snames.ads-tmpl: New names referenced by exp_ch5.adb.
-       * exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
-       Instead of doing literally what the RM calls for, we do something
-       equivalent that avoids expensive operations inside the loop. If the
-       container package has appropriate Next, Pseudo_Reference,
-       Element_Access, Get_Element_Access declarations, we invoke the
-       optimization.
-       * snames.ads-tmpl: Note speed improvement.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
-       * xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
-       Add pattern to translate "or else" into "||".
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Has_Volatile_Full_Access): Rename into...
-       (Is_Volatile_Full_Access): ...this.
-       (Set_Has_Volatile_Full_Access): Rename into...
-       (Set_Is_Volatile_Full_Access): ...this.
-       * einfo.adb (Has_Volatile_Full_Access): Rename into...
-       (Is_Volatile_Full_Access): ...this.
-       (Set_Has_Volatile_Full_Access): Rename into...
-       (Set_Is_Volatile_Full_Access): ...this.
-       (Is_Atomic_Or_VFA): Adjust to above renaming.
-       * errout.adb (Special_Msg_Delete): Likewise.
-       * exp_pakd.adb (Install_PAT): Likewise.
-       * freeze.adb (Freeze_Array_Type): Likewise.
-       * sem_ch8.adb (Analyze_Object_Renaming): Likewise.
-       * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
-       (Inherit_Aspects_At_Freeze_Point): Likewise.
-       * sem_prag.adb (Set_Atomic_VFA): Likewise.
-       (Process_Atomic_Independent_Shared_Volatile): Likewise.
-       * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
-       freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
-       exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
-       change that deals with the fact that most of the special coding for
-       Atomic should also apply to the case of Volatile_Full_Access.
-       A new attribute Is_Atomic_Or_VFA is introduced, and many of the
-       references to Is_Atomic now use this new attribute.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
-       comparison.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sprint.adb (Source_Dump): When generating debug files, deal
-       with the case of a stand-alone package instantiation by dumping
-       together the spec and the body in the common debug file.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch13.adb (Minimum_Size): Size is zero for null range
-       discrete subtype.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (Anonymous_Master): This attribute now applies
-       to package and subprogram bodies.
-       (Set_Anonymous_Master): This attribute now applies to package and
-       subprogram bodies.
-       (Write_Field36_Name): Add output for package and subprogram bodies.
-       * einfo.ads Update the documentation on attribute Anonymous_Master
-       along with occurrences in entities.
-       * exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
-       handle spec and body anonymous masters of the same unit.
-       (Current_Anonymous_Master): Reimplemented. Handle a
-       package instantiation that acts as a compilation unit.
-       (Insert_And_Analyze): Reimplemented.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
-       predefined unit is treated as a regular with_clause.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
-       prj-conf.adb, sem_disp.adb: Minor reformatting.
-
-2015-05-22  Vincent Celier  <celier@adacore.com>
-
-       * clean.adb (Parse_Cmd_Line): For native gnatclean, check
-       for switch -P and, if found and gprclean is available, invoke
-       silently gprclean.
-       * make.adb (Initialize): For native gnatmake, check for switch -P
-       and, if found and gprbuild is available, invoke silently gprbuild.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
-       specific warning for discrete types when the source is larger
-       than the target.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
-       package instantiations. Holds the list of actuals in the instance
-       that are incomplete types, to determine where the corresponding
-       instance body must be placed.
-       * sem_ch6.adb (Conforming_Types): An incomplete type used as an
-       actual in an instance matches an incomplete formal.
-       * sem_disp.adb (Check_Dispatching_Call): Handle missing case of
-       explicit dereference.
-       (Inherited_Subprograms): In the presence of a limited view there
-       are no subprograms to inherit.
-       * sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
-       actuals of instance, for later placement of instance body and
-       freeze nodes for actuals.
-       (Install_Body): In the presence of actuals that incomplete types
-       from a limited view, the instance body cannot be placed after
-       the declaration because full views have not been seen yet. Any
-       use of the non-limited views in the instance body requires
-       the presence of a regular with_clause in the enclosing unit,
-       and will fail if this with_clause is missing.  We place the
-       instance body at the beginning of the enclosing body, which is
-       the unit being compiled, and ensure that freeze nodes for the
-       full views of the incomplete types appear before the instance.
-
-2015-05-22  Pascal Obry  <obry@adacore.com>
-
-       * makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
-       (In_Place_Option): Removed.
-       (Relocate_Build_Tree_Option): New constant.
-       (Root_Dir_Option): New constant.
-       (Obj_Root_Dir): Removed.
-       (Build_Tree_Dir): New variable.
-       (Root_Src_Tree): Removed.
-       (Root_Dir): New variable.
-       * prj-conf.adb (Get_Or_Create_Configuration_File): Add check
-       for improper relocation.
-       * prj-nmsc.adb (Locate_Directory): Add check for improper
-       relocation.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
-       attribute now applies to the base type.
-       (Has_Default_Init_Cond): Now applies to the base type.
-       (Has_Inherited_Default_Init_Cond): Now applies to the base type.
-       (Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
-       applies to the base type.
-       (Set_Has_Default_Init_Cond): Now applies to the base type.
-       (Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
-       * exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
-       base type when adding a call to the Default_Initial_Condition.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb: Node36 is now used as Anonymous_Master. Flag253
-       is now unused.
-       (Anonymous_Master): New routine.
-       (Has_Anonymous_Master): Removed.
-       (Set_Anonymous_Master): New routine.
-       (Set_Has_Anonymous_Master): Removed.
-       (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
-       (Write_Field36_Name): Add output for Anonymous_Master.
-       * einfo.ads Add new attribute Anonymous_Master along with
-       occurrences in nodes. Remove attribute Has_Anonymous_Master along
-       with occurrences in nodes.
-       (Anonymous_Master): New routine along with pragma Inline.
-       (Has_Anonymous_Master): Removed along with pragma Inline.
-       (Set_Anonymous_Master): New routine along with pragma Inline.
-       (Set_Has_Anonymous_Master): Removed along with pragma Inline.
-       * exp_ch4.adb (Create_Anonymous_Master): New routine.
-       (Current_Anonymous_Master): Reimplemented.
-
-2015-05-22  Bob Duff  <duff@adacore.com>
-
-       * freeze.adb (Freeze_Profile): Suppress warning if imported
-       subprogram is not at library level.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
-       component of an object to which Volatile_Full_Access applies.
-
-2015-05-22  Jerome Guitton  <guitton@adacore.com>
-
-       * exp_dbug.ads: Add note about non bit-packed arrays.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_prag.adb: Fix typo.
-       * einfo.ads: Grammar fixes in comments.
-
-2015-05-22  Bob Duff  <duff@adacore.com>
-
-       * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
-       * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
-       * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
-       * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
-       * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
-       * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
-       * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
-       Add an initialization expression "raise Program_Error". See,
-       for example, RM-A.18.2(148.4).
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * debug.adb: Update documentation.
-       * einfo.ads, einfo.adb (Needs_Typedef): New flag
-       * exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
-       typedef's in C.
-       * frontend.adb: Update comments.
-       * gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
-       for -gnatd.V
-       * opt.ads (Generate_C_Code): New switch.
-       * osint-c.adb (Write_C_File_Info): Removed, not used
-       (Write_H_File_Info): Removed, not used
-       * osint-c.ads (Write_C_File_Info): Removed, not used
-       (Write_H_File_Info): Removed, not used
-       * osint.ads (Write_Info): Minor comment updates.
-       (Output_FD): Moved from private part to public part of spec.
-       * sem.adb (Semantics): Force expansion on if in Generate_C_Code
-       mode.
-       * atree.ads: minor typo in comment.
-       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
-       Do not allow VFA on composite object with aliased component.
-
-2015-05-22  Arnaud Charlet  <charlet@adacore.com>
-
-       * osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.
-
-2015-05-22  Pascal Obry  <obry@adacore.com>
-
-       * prj-util.adb: Minor comment editing.
-
-2015-05-22  Pascal Obry  <obry@adacore.com>
-
-       * makeutl.ads (In_Place_Option): New constant.
-       * prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
-       objects).
-       (Root_Src_Tree): New variable (absolute path of root source tree).
-       * prj-conf.adb (Do_Autoconf): Take into account the object root
-       directory (if defined) to generate configuration project.
-       * prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
-       is defined.
-       (Locate_Directory): Likewise.
-
-2015-05-22  Pascal Obry  <obry@adacore.com>
-
-       * prj-util.ads, prj-util.adb (Relative_Path): New routine.
-
-2015-05-22  Bob Duff  <duff@adacore.com>
-
-       * exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
-       interface to return Empty when not found, so we can avoid handling
-       Program_Error in that case.
-       (Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
-       primitives.
-       * exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
-       code is expecting Empty.
-       * sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
-       Program_Error.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
-       sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
-       non-binary.
-       * exp_util.adb: Add comment.
-       * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
-       body.
-       (Set_File_Name): New name for the above.
-       (Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
-       Close_C_File, Close_H_File): New procedure.
-       * osint.adb: Minor reformatting.
-       * osint.ads: Minor comment updates.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch4.adb: Minor rewording.
-       * exp_util.ads: Clarify that Find_Prim_Op is only for
-       tagged types.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
-       Check_Actuals.
-       * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
-       and overflow cases.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_pakd.adb (Install_PAT): Propagate representation aspects
-       from the original array type to the PAT.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * atree.adb, atree.ads (Needs_Actuals_Check): New flag.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Remove the detection
-       of a useless Part_Of indicator when the related item is a constant.
-       (Check_Matching_Constituent): Do not emit an error on a constant.
-       (Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
-       when the related item is a constant.
-       (Collect_Body_States): Code cleanup.
-       (Collect_Visible_States): Code cleanup.
-       (Report_Unused_States): Do not emit an error on a constant.
-       * sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.
-
-2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch8.adb (Analyze_Object_Renaming): Copy
-       Has_Volatile_Full_Access from renamed to renaming entities.
-       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
-       Tidy up and remove redundant setting of Has_Volatile_Full_Access.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * ghost.adb (Check_Ghost_Completion): Update references to SPARK
-       RM 6.9 rules.
-       (Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
-       * sem_ch3.adb (Analyze_Object_Declaration): Update references
-       to SPARK RM 6.9 rules.
-       (Check_Completion): Ghost entities do not require a special form of
-       completion.
-       * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
-       to SPARK RM 6.9 rules.
-       (Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
-       rules.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Update references
-       to SPARK RM 6.9 rules.
-       (Requires_Completion_In_Body): Ghost entities do not require a special
-       form of completion.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * a-csquin.ads: Use Ada 2012 notation.
-       * sem_ch8.adb: Minor reformatting.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
-       acts as a completion.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb: Minor reformatting.
-
-2015-05-22  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-reatim.adb: Minor change, fix typo.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * sem_util.ads: Minor addition of ??? comment.
-       * sem_prag.adb, sem_util.adb: Minor reformatting.
-       * sem_ch13.adb: minor reformatting.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * a-reatim.ads: Add Compile_Time_Error to ensure Duration
-       is 64-bits.
-       * sem_ch13.adb: Improve error message.
-       * exp_ch4.adb: Minor reformatting.
-
-2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma): Constants without variable
-       input do not require indicator Part_Of.
-       (Check_Missing_Part_Of): Constants without variable input do not
-       requrie indicator Part_Of.
-       (Collect_Visible_States): Constants without variable input are
-       not part of the hidden state of a package.
-       * sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.
-
-2015-05-22  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.adb (Activate_Atomic_Synchronization): Do not set
-       Atomic_Sync_Required for an object renaming declaration.
-       * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
-       Is_Independent to renaming object.
-
-2015-05-22  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
-       various illegalities in iterators over arrays and containers:
-       a) New function Get_Cursor_Type, to verify that the cursor is
-       not a limited type at the point of iteration.
-       b) If the container is a constant, an element_iterator is illegal
-       if the container type does not have a Constant_Indexing aspect.
-       c) If the iterate function has an in-out controlling parameter,
-       the container cannot be a constant object.
-       d) Reject additional cases of iterators over a
-       discriminant-dependent component of a mutable object.
-
-2015-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb (Contract): This attribute now applies to constants.
-       (Set_Contract): This attribute now applies to constants.
-       (Write_Field34_Name): Add output for constants.
-       * einfo.ads Attribute Contract now applies to constants.
-       * sem_ch3.adb (Analyze_Object_Contract): Constants now have
-       their Part_Of indicator verified.
-       * sem_prag.adb (Analyze_Constituent): A constant is now a valid
-       constituent.
-       (Analyze_Global_Item): A constant cannot act as an output.
-       (Analyze_Initialization_Item): Constants are now a valid
-       initialization item.
-       (Analyze_Initializes_In_Decl_Part): Rename
-       global variable States_And_Vars to States_And_Objs and update
-       all its occurrences.
-       (Analyze_Input_Item): Constants are now a
-       valid initialization item. Remove SPARM RM references from error
-       messages.
-       (Analyze_Pragma): Indicator Part_Of can now apply to a constant.
-       (Collect_Body_States): Collect both source constants
-       and variables.
-       (Collect_States_And_Objects): Collect both source constants and
-       variables.
-       (Collect_States_And_Variables): Rename
-       to Collect_States_And_Objects and update all its occurrences.
-       (Collect_Visible_States): Do not collect constants and variables
-       used to map generic formals to actuals.
-       (Find_Role): The role of a constant is that of an input. Separate the
-       role of a variable from that of a constant.
-       (Report_Unused_Constituents): Add specialized wording for constants.
-       (Report_Unused_States): Add specialized wording for constants.
-       * sem_util.adb (Add_Contract_Item): Add processing for constants.
-       * sem_util.ads (Add_Contract_Item): Update the comment on usage.
-       (Find_Placement_In_State_Space): Update the comment on usage.
-
-2015-05-21  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb: minor reformatting.
-
-2015-05-21  Robert Dewar  <dewar@adacore.com>
-
-       * freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.
-
-2015-05-21  Robert Dewar  <dewar@adacore.com>
-
-       * freeze.adb: Minor reformatting.
-       * cstand.adb (Print_Standard): Fix bad printing of Duration
-       low bound.
-       * a-reatim.adb (Time_Of): Complete rewrite to properly detect
-       out of range args.
-
-2015-05-21  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb: add (useless) initial value.
-       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
-       Check whether the procedure has parameters before processing
-       formals in ASIS mode.
-
-2015-05-21  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
-       aspect as well when indexing function is illegal.
-       (Valid_Default_Iterator): Handle properly somme illegal cases
-       to prevent compilation abandoned messages.
-       (Check_Primitive_Function): Verify that type and indexing function
-       are in the same scope.
-       * freeze.adb (Freeze_Record): Extend patch on the presence of
-       indexing aspects to aspect Default_Iterator.
-
-2015-05-19  David Malcolm  <dmalcolm@redhat.com>
-
-       * gcc-interface/trans.c (Sloc_to_locus1): Strenghthen local "map"
-       from line_map * to line_map_ordinary *.
-
-2015-05-12  Jason Merrill  <jason@redhat.com>
-
-       * sigtramp-vxworks.c: Add space between string literal and macro
-       name.
-
-2015-05-12  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specifications): Additional
-       legality checks for array and container iterators:
-       a) The domain of iteration cannot be a component that depends
-       on discriminants of a mutable object. The check was recently
-       added for element iterators.
-       b) The cursor type cannot be a limited type at the point of the
-       iteration, because the cursor will be assigned to in the body
-       of the loop.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * freeze.adb (Freeze_Record_Type): Make sure that if we have
-       aspect Iterator_Element, then we have either Constant_Indexing
-       or Variable_Indexing.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
-       and Reference_Control_Type to support element iterators over
-       ordered multisets.
-       * a-ciormu.ads, a-ciormu.adb: Ditto for
-       indefinite_ordered_multisets.
-
-2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Expression_With_Actions): Force
-       the evaluation of the EWA expression.  Code cleanup.
-       (Process_Transient_Object): Code cleanup.
-       * exp_util.adb (Is_Aliased): Controlled transient objects found
-       within EWA nodes are not aliased.
-       (Is_Finalizable_Transient): Iterators are not finalizable transients.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
-       Don't allow Atomic and Volatile_Full_Access for the same entity.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Iterator_Specification): Implement new
-       semantics and safety checks specified in AI12-0151.
-
-2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
-       for subunit in generic units.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_elab.adb (Check_A_Call): Avoid checking internal call
-       from Valid_Scalars
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Process_Formals): An untagged incomplete type
-       is legal in the profile of a null procedure.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
-       the checks on a derived formal whose parent type is a previous
-       formal that is not a derived type.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
-       * einfo.adb (Has_Volatile_Full_Access): New flag.
-       (Has_Volatile_Full_Access): New flag.
-       * einfo.ads (Has_Volatile_Full_Access): New flag.
-       * par-prag.adb: Add dummy entry for Volatile_Full_Access.
-       * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
-       Implement new pragma.
-       * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * targparm.ads: Minor reformatting.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
-       * a-reatim.ads: Minor reformatting.
-
-2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.ads: Update the documentation of flags
-       Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * impunit.adb: Add entry for a-dhfina.ads
-       * a-dhfina.ads: New file.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
-       type has convention Fortran, a multidimensional iterator varies
-       the first dimension fastest.
-
-2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb: Node32 is now used as Encapsulating_State.
-       Node37 is now used as Associated_Entity.
-       (Associated_Entity): New routine.
-       (Encapsulating_State): Update the assertion guard to include constants.
-       (Set_Associated_Entity): New routine.
-       (Set_Encapsulating_State): Update the assertion guard to
-       include constants.
-       (Write_Field10_Name): Remove the output for Encapsulating_State.
-       (Write_Field32_Name): Add output for Encapsulating_State.
-       (Write_Field37_Name): Add output for Associated_Entity.
-       * einfo.ads New attribute Associated_Entity along with placement
-       in entities. Attribute Encapsulating_State now uses Node32.
-       (Associated_Entity): New routine along with pragma Inline.
-       (Set_Associated_Entity): New routine along with pragma Inline.
-       * inline.ads Code reformatting.
-       * sem_attr.adb (Analyze_Attribute): Correct the prefix of
-       attribute 'Result when the context is a generic instantiation.
-       (Analyze_Attribute_Old_Result): Pragmas Depends and
-       Refined_Depends are a valid context for attribute 'Result.
-       (Denote_Same_Function): Allow attribute 'Result to denote
-       generic functions.
-       * sem_ch3.adb Add with and use clauses for Sem_Ch12.
-       (Analyze_Declarations): Capture global references within the
-       contracts of packages, subprograms and their respective bodies.
-       * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
-       (Analyze_Completion_Contract): Removed.
-       (Analyze_Generic_Subprogram_Body): Enchange the aspects after
-       creating the generic copy. Create a generic contract for the
-       template. Analyze the aspects of the generic body. Analyze the
-       contract of the generic body when it is a compilation unit and
-       capture global references.
-       (Analyze_Subprogram_Body_Contract): Code cleanup.
-       (Analyze_Subprogram_Contract): Do not save global references here.
-       (Save_Global_References_In_List): Removed.
-       * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
-       (Analyze_Package_Body_Helper): Create a generic contract for
-       the template.
-       (Analyze_Package_Contract): Code cleanup.
-       * sem_ch10.adb Add with and use clauses for Sem_Ch12.
-       (Analyze_Compilation_Unit): Capture global references in a
-       generic subprogram declaration that acts as a compilation unit.
-       * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
-       the implementation of generic contracts. Alphabetize various
-       subprograms.
-       (Analyze_Generic_Package_Declaration):
-       Create a generic contract for the template.
-       (Analyze_Generic_Subprogram_Declaration): Create a generic
-       contract for the template.
-       (Analyze_Subprogram_Instantiation): Instantiate the contract of the
-       subprogram.
-       (Copy_Generic_Node): Link defining entities of the generic template
-       with the corresponding defining entities of the generic copy. Update
-       the processing of pragmas.
-       (Instantiate_Contract): Removed.
-       (Instantiate_Subprogram_Contract): New routine.
-       (Requires_Delayed_Save): New routine.
-       (Save_Global_References): Rename formal parameter N to Templ. Various
-       cleanups.
-       (Save_Global_References_In_Aspects): Moved from the spec.
-       (Save_Global_References_In_Contract): New routine.
-       (Save_References_In_Aggregate): New routine.
-       (Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
-       (Save_References_In_Descendants): New routine.
-       (Save_References_In_Identifier): New routine.
-       (Save_References_In_Operator): New routine.
-       (Save_References_In_Pragma): New routine.
-       * sem_ch12.ads (Save_Global_References): Rename formal
-       parameter N to Templ. Update the comment on usage.
-       (Save_Global_References_In_Aspects): Moved to the body.
-       (Save_Global_References_In_Contract): New routine.
-       * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
-       New routine.
-       * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
-       New routine.
-       * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
-       generic parameters.
-       (Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
-       (Analyze_Depends_Global): New routine.
-       (Analyze_Depends_In_Decl_Part): Code cleanup.
-       (Analyze_Global_In_Decl_Part): Code cleanup.
-       (Analyze_Global_Item): Constants are now valid global items. Do
-       not perform state-related checks in an instance. Change the way
-       renamings are handled.  (Analyze_Initial_Condition_In_Decl_Part):
-       Code cleanup.
-       (Analyze_Initializes_In_Decl_Part): Code cleanup.
-       (Analyze_Input_Output): The analysis of attribute 'Result in
-       the context of pragmas Depends or Refined_Depends now reuses
-       the existing attribute analysis machinery. Constants and
-       generic parameters are now valid dependency items. Do not
-       perform state-related checks in an instance. Change the way
-       renamings are handled.  (Analyze_Pragma): Add a "characteristics"
-       section for pragmas Abstract_State, Contract_Cases, Depends,
-       Extensions_Visible, Global, Initial_Condition, Initializes,
-       Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
-       Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
-       (Analyze_Pre_Post_Condition): Do not create a generic
-       template here.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
-       (Analyze_Refined_Depends_Global_Post): New routine.
-       (Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
-       (Analyze_Refined_Global_In_Decl_Part): Code cleanup.
-       (Analyze_Refined_Pragma): Removed.
-       (Analyze_Refined_State_In_Decl_Part): Code cleanup.
-       (Analyze_Test_Case_In_Decl_Part): Code cleanup.
-       (Check_Dependency_Clause): Do not perform this check in an instance.
-       (Check_Function_Return): Add support for generic functions.
-       (Check_In_Out_States): Do not perform this check in an instance.
-       (Check_Input_States): Do not perform this check in an instance.
-       (Check_Mode_Restriction_In_Function): Add support for generic functions.
-       (Check_Output_States): Do not perform this check in an instance.
-       (Check_Postcondition_Use_In_Inlined_Subprogram): Rename
-       parameter Subp_Id to Spec_Id and update comment on usage.
-       (Check_Proof_In_States): Do not perform this check in an instance.
-       (Check_Refined_Global_Item): Add support for constants.
-       (Check_Refined_Global_List): Do not perform this check in an instance.
-       (Collect_Global_Items): Reimplemented.
-       (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
-       (Create_Generic_Template): Removed.
-       (Find_Related_Package_Or_Body): Moved to spec.
-       (Find_Role): Add support for generic parameters and constants.
-       (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
-       (Match_Item): Add support for constants.
-       (Preanalyze_Test_Case_Arg): Reimplemented.
-       (Report_Extra_Clauses): Do not perform this check in an instance.
-       (Report_Extra_Constituents): Do not perform this check in an instance.
-       * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
-       the comment on usage.
-       (Find_Related_Package_Or_Body): Moved from body.
-       (Get_Argument): Moved from body.
-       * sem_util.adb Add with and use clauses for Sem_Ch12.
-       (Corresponding_Spec_Of): Add support for packages and package bodies.
-       (Create_Generic_Contract): New routine.
-       (Is_Contract_Annotation): Reimplemented.
-       (Is_Generic_Declaration_Or_Body): New routine.
-       (Is_Package_Contract_Annotation): New routine.
-       (Is_Subprogram_Contract_Annotation): New routine.
-       * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
-       (Create_Generic_Contract): New routine.
-       (Is_Generic_Declaration_Or_Body): New routine.
-       (Is_Package_Contract_Annotation): New routine.
-       (Is_Subprogram_Contract_Annotation): New routine.
-       * sinfo.adb (Is_Generic_Contract_Pragma): New routine.
-       (Set_Is_Generic_Contract_Pragma): New routine.
-       * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
-       with occurrences in nodes.
-       (Is_Generic_Contract_Pragma): New routine along with pragma Inline.
-       (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
-       * treepr.adb (Print_Entity_Info): Output fields 36 to 41.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * a-taster.ads: Minor comment fix: fix bad header, this is a
-       pure RM unit.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_intr.adb: (Check_Shift): Diagnose bad modulus value.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
-       Alignment_Checks on non-strict alignment machine.
-       * sem_ch13.adb (Validate_Address_Clauses): Don't give
-       compile-time alignment warnings if run time Alignment_Check
-       is suppressed.
-
-2015-05-12  Thomas Quinot  <quinot@adacore.com>
-
-       * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
-       Data_Rate): New literals B75, B110, B150, B300, B600.
-
-2015-05-12  Doug Rupp  <rupp@adacore.com>
-
-       * init.c (__gnat_init_float) [vxworks]: For e500v2,
-       do nothing and leave the responsibility to install the handler
-       and enable the exceptions to the BSP.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
-       * sem_disp.adb: Minor code reorganization (remove junk redundant
-       null statement).
-       * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
-       references to bounds of types coming from original type reference.
-       * checks.ads: Minor reformatting.
-       * checks.adb: Minor reformatting.
-       * sem_prag.adb (Analyze_Pragma, case Check): If in ignored
-       assertion, then make sure we do not drag in bignum stuff.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch9.adb (Collect_Interfaces): Initialize
-       Direct_Primitive_Operations for a tagged synchronized type,
-       so it can used in ASIS mode.
-       * sem_disp.adb (Check_Dispatching_Operation): If expansion is
-       disabled, attach subprogram to list of Direct_Primitive_Operations
-       of synchronized type itself, for ASIS use, because in this case
-       Corresponding_Record_Type is not built.
-       * einfo.ads: Indicate use of Direct_Primitive_Operations on
-       synchronized type.
-
-2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
-       ___XP suffixes.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_intr.adb (Expand_Dispatching_Constructor_Call): The
-       tag to be retrieved for the generated call is the first entry
-       in the dispatch table for the return type of the instantiated
-       constructor.
-
-2015-05-12  Bob Duff  <duff@adacore.com>
-
-       * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
-       exp_util.ads: Update comments.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
-       freeze nodes for these in ASIS mode, because they lead to
-       elaoration order issues in gigi.
-
-2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_ch6.adb (Analyze_Expression_Function): Code
-       cleanup. Use Copy_Subprogram_Spec to create a proper spec.
-       (Analyze_Subprogram_Body_Helper): Code cleanup. Do not
-       prepare a stand alone body for inlining in GNATprove mode
-       when inside a generic.  (Body_Has_Contract): Reimplemented.
-       (Build_Subprogram_Declaration): New routine.
-       * sem_ch10.adb (Analyze_Compilation_Unit): Capture global
-       references within generic bodies by loading them.
-       * sem_util.adb (Copy_Parameter_List): Code cleanup.
-       (Copy_Subprogram_Spec): New routine.
-       (Is_Contract_Annotation): New routine.
-       * sem_util.ads (Copy_Subprogram_Spec): New routine.
-       (Is_Contract_Annotation): New routine.
-
-2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_attr.adb (Resolve_Attribute): Do not analyze the generated
-       body of an expression function when the prefix of attribute
-       'Access is the body.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
-       created for a derived enumeration type is not a first subtype,
-       even though it is defined through a full type declaration.
-       * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
-       aspects for the anonymous base type constructed for a derived
-       scalar type, because they will be set when the first subtype
-       is frozen.
-       (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
-       Default_Value and Default_Component_Value, that prevented the
-       proper inheritance of these aspects.
-
-2015-05-12  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_ch6.adb, exp_unst.adb: Minor typo fixes.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb: Minor reformatting.
-
-2015-05-12  Vincent Celier  <celier@adacore.com>
-
-       * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
-       -P, then check if gprbuild (gprclean) is available; if it is,
-       use gprbuild (gprclean) instead of gnatmake (gnatclean).
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * debug.adb: Add flag -gnatd.3 to output diagnostic info from
-       Exp_Unst.
-       * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
-       Exp_Unst.
-       * exp_ch6.adb (Unest_Bodies): Table for delayed calls to
-       Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
-       for later call instead of calling Unnest_Subprogram directly
-       (Initialize): New procedure (Unnest_Subprograms): New procedure
-       * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
-       alpha order.
-       (Initialize): New procedure.
-       (Unnest_Subprograms): New procedure.
-       * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
-       all processing to this routine which is now called late
-       after instantiating bodies. Fully handles the case of generic
-       instantiations now.
-       * exp_unst.ads: Major rewrite, moving all processing to
-       Unnest_Subprogram.
-       * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
-       (Frontend): Add call to Unnest_Subprograms.
-       * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
-       for Check_Nested_Access.
-       * sem_util.adb (Build_Default_Subtype): Minor reformatting
-       (Check_Nested_Access): Back to original VM-only form (we
-       now do all the processing for Unnest_Subprogram at the time
-       it is called.
-       (Denotes_Same_Object): Minor reformatting
-       (Note_Possible_Modification): Old calling sequence for
-       Check_Nested_Access.
-       * sem_util.ads (Check_Nested_Access): Back to original VM-only
-       form (we now do all the processing for Unnest_Subprogram at the
-       time it is called.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Object_Declaration): New function
-       Has_Delayed_Aspect, used to defer resolution of an aggregate
-       expression when the object declaration carries aspects Address
-       and/or Alignment.
-       * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
-       to Freeze_Entity.  In addition to the previous processing steps
-       at the freeze point of an object, this procedure also handles
-       aggregates in object declarations, when the declaration carries
-       delayed aspects that require that the initialization of the
-       object be attached to its freeze actions.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Subprogram_Declaration): Following
-       AI12-0147, null procedures and expression functions are allowed
-       in protected bodies.
-
-2015-05-12  Tristan Gingold  <gingold@adacore.com>
-
-       * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Complete_Private_Subtype): Propagate
-       Has_Delayed_Aspects flag from private to full view, to ensure
-       that predicate functions are constructed.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Process_Formals): If a tagged formal is an
-       incomplete class-wide type, the subprogram must have a delayed
-       freeze even though the opertation is not a primitive of the
-       type. THis ensures that the backend can recover the full view
-       when elaborating the subprogram declaration.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_util.adb (Get_Current_Value_Condition): Nothing to be
-       done if an elsif part has been rewritten so that it is not part
-       of an enclosing if_statement.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
-       Minor reformatting.
-
-2015-05-12  Bob Duff  <duff@adacore.com>
-
-       * exp_attr.adb (Size): Remove unnecessary check for types with
-       unknown discriminants.  That was causing the compiler to build
-       a function call _size(T), where T is a type, not an object.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
-       primitive operations of a type extension declared in the package
-       body, to prevent duplicates in extended list.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Analyze_Component_Declaration): If the component is
-       an unconstrained synchronized type with discriminants, create a
-       constrained default subtype for it, so that the enclosing record
-       can be given the proper size.
-       * sem_util.adb (Build_Default_Subtype): If the subtype is created
-       for a record discriminant, do not analyze the declarztion at
-       once because it is added to the freezing actions of the enclosing
-       record type.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
-       Null statements.
-       * namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
-       * par-prag.adb (Prag): Implement Ignore_Pragma.
-       * sem_prag.adb: Implement Ignore_Pragma.
-       * snames.ads-tmpl: Add entries for pragma Ignore_Pragma.
-
-2015-05-12  Javier Miranda  <miranda@adacore.com>
-
-       * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
-       entity with its corresponding real entity.
-       (Decorate_Type): Unconditionally build the class-wide shadow entity of
-       tagged types.
-       * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
-       attribute.
-       (Non_Limited_View): Moved from field 17 to field 19 be available
-       in class-wide entities.
-       * exp_attr.adb (Access_Cases): Code cleanup.
-       * exp_disp.adb (Expand_Interface_Actuals): Ditto.
-       * exp_util.adb (Non_Limited_Designated_Type): Ditto.
-       * freeze.adb (Build_Renamed_Bdody): Ditto.
-       * sem_aux.adb (Available_View): Ditto.
-       * sem_ch4.adb (Analyze_Selected_Component): Ditto.
-       (Try_One_Prefix_Interpretation): Ditto.
-       * sem_ch5.adb (Analyze_Assignment): Ditto.
-       * sem_ch6.adb (Detect_And_Exchange): Ditto.
-       * sem_ch8.adb (Find_Expanded_Name): Ditto.
-       * sem_disp.adb (Check_Controlling_Type): Ditto.
-       * sem_res.adb (Resolve_Type_Conversion): Ditto.
-       (Full_Designated_Type): Ditto.
-       * sem_type.adb (Covers): Ditto.
-       * sem_util.adb: Fix typo in comment.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb (Get_Real_Subp): New subprogram.
-       (Unnest_Subprogram): Use Get_Real_Subp.
-       (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
-       (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
-       auxiliary to Try_Primitive_Operation to handle properly prefixed
-       calls where the operation is not a primitive of the type, but
-       is declared in the package body that is in the immediate scope
-       of the type.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.
-
-2015-05-12  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
-       qualified name for an instance of a generic grand-child unit in
-       the body its parent.
-
-2015-05-12  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb (Upref_Name): New subprogram.
-       (Unnest_Subprogram): Use Upref_Name.
-       (Unnest_Subprogram): Use new Deref attribute.
-       * exp_unst.ads: Doc updates.
-
-2015-05-12  Thomas Quinot  <quinot@adacore.com>
-
-       * adaint.c: Enable Large File Support in adaint so that __gnat_readdir
-       can access files on filesystems mounted from servers that use large
-       NFS file handles.
-
-2015-05-09  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl
-       method instead of global_decl for TYPE_DECLs.
-
-2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
-
-       * gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
-       and gnat1.
-
-2015-04-13  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gnatvsn.ads (Library_Version): Bump to 6.
-
-2015-04-09  Iain Sandoe  <iain@codesourcery.com>
-
-       * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics.
-
-2015-04-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make
-       a function returning an unconstrained type 'const' for the middle-end.
-
-       * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use
-       exact condition to detect Reason => "..." pattern.
-
-2015-03-31  Tom de Vries  <tom@codesourcery.com>
-
-       PR ada/65490
-       * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
-       bzero call is the same expression as the destination'.
-
-2015-03-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
-
-2015-03-24  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch3.adb: Minor typo fix (missing paren).
-
-2015-03-24  Robert Dewar  <dewar@adacore.com>
-
-       * sinfo.ads: Update comment.
-
-2015-03-24  Robert Dewar  <dewar@adacore.com>
-
-       * exp_attr.adb: Add entry for typ'Deref.
-       * sem_attr.adb (Deref): New GNAT attribute.
-       * sem_attr.ads: Add entry for new GNAT attribute Deref.
-       * snames.ads-tmpl: Add entries for new attribute Deref.
-
-2015-03-24  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
-       on generic type.
-
-2015-03-24  Gary Dismukes  <dismukes@adacore.com>
-
-       * inline.adb: Minor typo fix.
-
-2015-03-24  Arnaud Charlet  <charlet@adacore.com>
-
-       * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
-       doc/gnat_ugn/gnat_utility_programs.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/about_this_guide.rst
-       doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
-       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
-
-2015-03-23  Jakub Jelinek  <jakub@redhat.com>
-
-       PR bootstrap/65522
-       * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC.
-
-2015-03-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/65451
-       * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment.
-       Make sure to chain only main variants through TYPE_NEXT_PTR_TO.
-
-       * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change.
-
-2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type
-       of the expression ends up being composite.
-
-2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate.
-       (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and
-       parameter types to detect circularities in ASIS mode.
-       * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151.
-
-2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not
-       short-circuit the regular handling.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate
-       references.
-       (Actual_Ref): New function.
-       (AREC_String): Minor reformatting.
-       (Unnest_Subprogram): Use Actual_Ref.
-       * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode
-       before call to Instantiate_Bodies.
-
-2015-03-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * freeze.adb (Freeze_Profile): If the return type of a function
-       being frozen is an untagged limited view and the function is
-       abstract, mark the type as frozen because there is no later
-       point at which the profile of the subprogram will be elaborated.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh
-       component to entities. Add new fields Field36-41 and Node36-41.
-
-2015-03-13  Claire Dross  <dross@adacore.com>
-
-       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.adb (Is_Volatile_Reference): Compile time known
-       value is never considered to be a volatile reference.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant
-       cannot be volatile" for internally generated object (such as
-       FIRST and LAST constants).
-
-2015-03-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a
-       convention is specified for the formal parameter, verify that
-       the actual has the same convention.
-       * sem_prag.adb (Set_Convention_From_Pragma): Allow convention
-       pragma to be set on a generic formal type.
-       * sem_util.adb (Set_Convention): Ignore within an instance,
-       as it has already been verified in the generic unit.
-
-2015-03-13  Claire Dross  <dross@adacore.com>
-
-       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline
-       subprograms with unconstrained record parameters containing
-       Itype declarations.
-       * sinfo.ads Document GNATprove assumption that type should match
-       in the AST.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Contract):
-       Do not check for Refined_Depends and Refined_Globals contracts
-       as they are optional.
-
-2015-03-13  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Instantiate_Type): For a floating-point type,
-       capture dimension info if any, because the generated subtype
-       declaration does not come from source and will not process dimensions.
-       * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
-       Do not analyze expressions with an initialization procedure
-       because aggregates will have been checked at the point of record
-       declaration.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * aspects.ads, aspects.adb: Add entries for aspect Unimplemented.
-       * einfo.ads, einfo.adb (Is_Unimplemented): New flag.
-       * sem_ch13.adb: Add dummy entry for aspect Unimplemented.
-       * snames.ads-tmpl: Add entry for Name_Unimplemented.
-
-2015-03-13  Gary Dismukes  <dismukes@adacore.com>
-
-       * style.adb (Missing_Overriding): Apply the
-       Comes_From_Source test to the Original_Node of the subprogram
-       node, to handle the case of a null procedure declaration that
-       has been rewritten as an empty procedure body.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.ads: Minor fix to comment.
-       * sem_ch3.adb (Constrain_Index): Correct pasto from previous
-       change.
-
-2015-03-13  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and
-       Is_Low/High_Bound params.
-       * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling
-       sequence to simplify generation of FIRST/LAST temps for bounds.
-
-2015-03-12  Olivier Hainque  <hainque@adacore.com>
-
-       * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>:
-       On targets where a function symbol designates a function descriptor,
-       fetch the function code address from the descriptor.
-       (USE_RUNTIME_DESCRIPTORS): Provide a default definition.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * sem_warn.adb: Minor reformatting.
-       * init.c: Minor tweaks.
-
-2015-03-04  Dmitriy Anisimko  <anisimko@adacore.com>
-
-       * a-coinho-shared.adb: Fix clear of already empty holder.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
-       (Check_Uplevel_Reference_To_Type): Ignore call inside generic.
-       (Note_Uplevel_Reference): Ignore call inside generic.
-       (Note_Uplevel_Reference): Fix check for no entity field.
-       (Unnest_Subprogram): Ignore call inside generic.
-       (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
-       (Visit_Node): Ignore calls to Imported subprograms.
-       (Visit_Node): Fix problem in finding subprogram body in some cases.
-       (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.adb (Is_ARECnF_Entity): Removed.
-       (Last_Formal): Remove special handling of Is_ARECnF_Entity.
-       (Next_Formal): Remove special handling of Is_ARECnF_Entity.
-       (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
-       (Number_Entries): Minor reformatting.
-       * einfo.ads (Is_ARECnF_Entity): Removed.
-       * exp_unst.adb (Unnest_Subprogram): Remove setting of
-       Is_ARECnF_Entity.
-       (Add_Extra_Formal): Use normal Extra_Formal circuit.
-       * sprint.adb (Write_Param_Specs): Properly handle case where
-       there are no source formals, but we have at least one Extra_Formal
-       present.
-
-2015-03-04  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aggr.adb (Resolve_Record_Aggregate,
-       Add_Discriminant_Values): If the value is a reference to the
-       current instance of an enclosing type, use its base type to check
-       against prefix of attribute reference, because the target type
-       may be otherwise constrained.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * atree.h: Add entries for Flag287-Flag309.
-       * einfo.adb: Add (unused) flags Flag287-Flag309.
-
-2015-03-04  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Collect_Interfaces, Collect): When gathering
-       interfaces of ancestors, handle properly a subtype of a private
-       extension.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
-       (Next_Formal): Don't return ARECnF formal.
-       (Last_Formal): Don't consider ARECnF formal.
-       (Next_Formal_With_Extras): Do consider ARECnF formal.
-       * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
-       * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.
-
-2015-03-04  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch6.adb (Expand_Simple_Function_Return): When the returned
-       object is a class-wide interface object and we generate the
-       accessibility described in RM 6.5(8/3) then displace the pointer
-       to the object to reference the base of the object (to get access
-       to the TSD of the object).
-
-2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Analyze_Abstract_State): Use routine
-       Malformed_State_Error to issue general errors.
-       (Analyze_Pragma): Diagnose a syntax error related to a state
-       declaration with a simple option.
-       (Malformed_State_Error): New routine.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * a-strsup.adb (Super_Slice): Deal with super flat case.
-       * einfo.ads: Minor reformatting.
-       * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
-       redundant code.
-
-2015-03-04  Claire Dross  <dross@adacore.com>
-
-       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
-       a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
-       containers.
-
-2015-03-04  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_warn.adb (Check_References): When checking for an unused
-       in-out parameter of a class- wide type, use its type to determine
-       whether it is private, in order to avoid a spurious warning when
-       subprogram spec and body are in different units.
-
-2015-03-04  Yannick Moy  <moy@adacore.com>
-
-       * sem_attr.adb: Improve warning messages.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
-       generic subprograms.
-       * exp_unst.adb (Check_Dynamic_Type): Handle record types properly
-       (Note_Uplevel_Reference): Ignore uplevel references to non-types
-       (Get_Level): Consider only subprograms, not blocks.
-       (Visit_Node): Set proper condition for generating ARECnF entity.
-       Ignore indirect calls. Ignore calls to subprograms
-       outside our nest.
-       (Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
-       (Add_Form_To_Spec): Properly set Last_Entity field.
-       (Unnest_Subprogram): Set current subprogram scope for analyze calls.
-       Handle case of no uplevel refs in outer subprogram
-       Don't mark uplevel entities as aliased.
-       Don't deal with calls with no ARECnF requirement.
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
-       * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
-       operation in computing LZ.
-       * sem_attr.adb: Minor typo fix
-
-2015-03-04  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch7.adb: Minor reformatting.
-       * exp_unst.adb (Build_Tables): Fix minor glitch for no separate
-       spec case.
-       * erroutc.adb (Delete_Msg): add missing decrement of info msg counter.
-
-2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress
-       references to formal parameters subject to pragma Unreferenced.
-       (Suppress_Reference): New routine.
-       * sem_attr.adb (Analyze_Attribute): Reimplement the analysis
-       of attribute 'Old. Attributes 'Old and 'Result now share
-       common processing.
-       (Analyze_Old_Result_Attribute): New routine.
-       (Check_Placement_In_Check): Removed.
-       (Check_Placement_In_Contract_Cases): Removed.
-       (Check_Placement_In_Test_Case): Removed.
-       (Check_Use_In_Contract_Cases): Removed.
-       (Check_Use_In_Test_Case): Removed.
-       (In_Refined_Post): Removed.
-       (Is_Within): Removed.
-       * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup.
-       (Check_Low_Bound_Tested_For): New routine.
-
-2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch3.adb (Expand_N_Object_Declaration):
-       Generate a runtime check to test the expression of pragma
-       Default_Initial_Condition when the object is default initialized.
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * scng.adb (Scan): Ignore illegal character in relaxed
-       semantics mode.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag
-       on left operand, so it can be properly resolved with type of
-       alternatives of right operand.
-       * sem_res.adb (Resolve_Set_Membership): Handle properly an
-       overloaded left-hand side when the alternatives on the right
-       hand side are literals of some universal type.  Use first
-       non-overloaded alternative to find expected type.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying
-       type to retrieve designated type, because the purported access
-       type may be a partial (private) view, when it is declared in
-       the private part of a nested package, and finalization actions
-       are generated when completing compilation of enclosing unit.
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * back_end.adb (Call_Back_End): Remove previous patch,
-       the back end now gets to see the result of -gnatd.1
-       (Unnest_Subprogram_Mode) processing.
-       * elists.ads, elists.adb (List_Length): New function.
-       * exp_unst.ads, exp_unst.adb: Major changes, first complete version.
-       * sem_util.adb (Check_Nested_Access): Handle formals in
-       Unnest_Subprogram_Mode.
-       (Adjust_Named_Associations): Minor reformatting.
-       * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased
-       for parameters.
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * atree.ads, atree.adb (Uint24): New function
-       (Set_Uint24): New procedure.
-       * atree.h (Uint24): New macro for field access.
-       * back_end.adb (Call_Back_End): For now, don't call back end
-       if unnesting subprogs.
-       * einfo.adb (Activation_Record_Component): New field
-       (Subps_Index): New field.
-       * einfo.ads (Activation_Record_Component): New field
-       (Subps_Index): New field Minor reordering of comments into alpha order.
-       * exp_unst.ads, exp_unst.adb: Continued development.
-
-2015-03-02  Gary Dismukes  <dismukes@adacore.com>
-
-       * exp_disp.ads: Minor reformatting.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from
-       ancestor to list of use clauses active in descendant unit if we
-       are within the private part of an intervening parent, to prevent
-       circularities in use clause list.
-
-2015-03-02  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch9.adb (Build_Corresponding_Record): Propagate type
-       invariants to the corresponding record type.
-       * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram
-       which sets the value of the DTC_Entity associated with a given
-       primitive of a tagged type and propagates the value to the
-       wrapped subprogram.
-       (Set_DTC_Entity_Value): Propagate the DTC
-       value to the wrapped entity.
-       * sem_ch13.adb (Build_Invariant_Procedure): Append the code
-       associated with invariants of progenitors.
-       * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants
-       of parents and progenitors.
-       (Process_Full_View): Check hidden inheritance of class-wide type
-       invariants.
-       * sem_ch7.adb (Analyze_Package_Specification): Do not generate
-       the invariant procedure for interface types; build the invariant
-       procedure for tagged types inheriting invariants from their
-       progenitors.
-       * sem_prag.adb (Pragma_Invariant) Allow invariants in interface
-       types but do not build their invariant procedure since their
-       invariants will be propagated to the invariant procedure of
-       types covering the interface.
-       * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb,
-       sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position
-       by calls to Set_DT_Position_Value.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_attr.adb (Analyze_Attribute): Factor out heavily indented
-       code in Denote_Same_Function.  Do not analyze attribute 'Result
-       when it is inside procedure _Postconditions.  Remove a misplaced
-       warning diagnostic. Code cleanup.
-       (Denote_Same_Function): New routine.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code
-       cleanup. Warn on pre/postconditions on an inlined subprogram.
-       (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on
-       an inlined subprogram.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on
-       pre/post condition on an inlined subprogram.
-       (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on
-       pre/postconditions on an inlined subprogram.
-       (Check_Postcondition_Use_In_Inlined_Subprogram): New routine.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Ensure_Aggregate_Form):
-       Ensure that the name denoted by the Chars of a pragma argument
-       association has the proper Sloc when converted into an aggregate.
-
-2015-03-02  Bob Duff  <duff@adacore.com>
-
-       * sem_ch6.adb (Check_Private_Overriding): Capture
-       Incomplete_Or_Partial_View in a constant. This is cleaner and
-       more efficient.
-
-2015-03-02  Gary Dismukes  <dismukes@adacore.com>
-
-       * einfo.ads, exp_unst.ads: Minor reformatting.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * a-strsea.adb (Find_Token): Ensure that the range of iteration
-       does not perform any improper character access. This prevents
-       erroneous access in the unusual case of an empty string target
-       and a From parameter less than Source'First.
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * elists.adb (List_Length): Fix incorrect result.
-
-2015-03-02  Bob Duff  <duff@adacore.com>
-
-       * sem_ch6.adb (Check_Private_Overriding): Refine the legality
-       checks here. It used to check that the function is merely
-       overriding SOMEthing. Now it checks that the function is
-       overriding a corresponding public operation. This is a correction
-       to the implementation of the rule in RM-3.9.3(10).
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * debug.adb: Document new debug flag -gnatd.1.
-       * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
-       (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
-       (Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
-       * elists.ads elists.adb (List_Length): New function.
-       * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
-       when appropriate (Process_Preconditions): Minor code
-       reorganization and reformatting
-       * exp_unst.ads, exp_unst.adb: New files.
-       * gnat1drv.adb (Adjust_Global_Switches): Set
-       Unnest_Subprogram_Mode if -gnatd.1
-       * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
-       string argument.
-       * opt.ads (Unnest_Subprogram_Mode): New flag.
-       * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
-       Has_Nested_Subprogram flag.
-       * sem_ch8.adb (Find_Direct_Name): New calling sequence for
-       Check_Nested_Access.
-       (Find_Selected_Component): Minor comment addition.
-       * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
-       (Note_Possible_Modification): New calling sequence for
-       Check_Nested_Access.
-       * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
-       * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o
-
-2015-03-02  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
-       types, preserve the original type and create copies just like the C
-       front-end does.  For artificial ones, do not define a name for
-       the original type.
-       (create_type_decl): When gnat_pushdecl made the input type the
-       original type for the new declaration, do not define a stub
-       declaration for it.
-       * gcc-interface/utils2.c (build_binary_op): Accept two different
-       pointer types when they point to the same type.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_util.adb (Possible_Bit_Aligned_Component): Do not process
-       an unanalyzed node.
-       * sem_util.adb (Kill_Current_Values): Do not invalidate and
-       de-null a constant.
-
-2015-03-02  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor
-       reformatting.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb: extend use of Available_Subtype.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Duplication_Error): Remove the special handling
-       of 'Class or _Class in the context of pre/postconditions.
-       (Process_Class_Wide_Condition): Remove the special handling of
-       'Class or _Class in the context of pre/postconditions.
-       * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class
-       and Post_Class no longer need to be converted to _Pre and _Post.
-       * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment
-       on usage.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * exp_ch6.adb (Process_Preconditions): Modify the
-       mechanism that find the first source declaration to correct exit
-       the loop once it has been found.
-
-2015-03-02  Gary Dismukes  <dismukes@adacore.com>
-
-       * a-strsea.adb: Minor typo fix.
-
-2015-03-02  Bob Duff  <duff@adacore.com>
-
-       * einfo.ads: Minor comment fixes.
-
-2015-03-02  Gary Dismukes  <dismukes@adacore.com>
-
-       * einfo.adb, checks.adb: Minor reformatting and typo fixes.
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value
-       is defined for the array type, use it instead of a Default_Value
-       specified for the component type itself.
-
-2015-03-02  Thomas Quinot  <quinot@adacore.com>
-
-       * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When
-       expanding a 'Input attribute reference for a class-wide type,
-       do not generate a separate object declaration for the controlling
-       tag dummy object; instead, generate the expression inline in the
-       dispatching call. Otherwise, the declaration (which involves a
-       call to String'Input, returning a dynamically sized value on the
-       secondary stack) will be expanded outside of proper secondary
-       stack mark/release operations, and will thus cause a secondary
-       stack leak.
-
-2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * checks.adb (Add_Validity_Check): Change the names of all
-       formal parameters to better illustrate their purpose. Update
-       the subprogram documentation. Update all occurrences of the
-       formal parameters. Generate a pre/postcondition pragma by
-       calling Build_Pre_Post_Condition.
-       (Build_PPC_Pragma): Removed.
-       (Build_Pre_Post_Condition): New routine.
-       * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14
-       is now used as Postconditions_Proc. Flag240 is now renamed to
-       Has_Expanded_Contract.  (First_Formal): The routine can now
-       operate on generic subprograms.
-       (First_Formal_With_Extras): The routine can now operate on generic
-       subprograms.
-       (Has_Expanded_Contract): New routine.
-       (Has_Postconditions): Removed.
-       (Postcondition_Proc): Removed.
-       (Postconditions_Proc): New routine.
-       (Set_Has_Expanded_Contract): New routine.
-       (Set_Has_Postconditions): Removed.
-       (Set_Postcondition_Proc): Removed.
-       (Set_Postconditions_Proc): New routine.
-       (Write_Entity_Flags): Remove the output of Has_Postconditions. Add
-       the output of Has_Expanded_Contract.
-       (Write_Field8_Name): Remove the output of Postcondition_Proc.
-       (Write_Field14_Name): Add the output of Postconditions_Proc.
-       * einfo.ads New attributes Has_Expanded_Contract and
-       Postconditions_Proc along with occurrences in entities.
-       Remove attributes Has_Postconditions and Postcondition_Proc
-       along with occurrences in entities.
-       (Has_Expanded_Contract): New routine along with pragma Inline.
-       (Has_Postconditions): Removed along with pragma Inline.
-       (Postcondition_Proc): Removed along with pragma Inline.
-       (Postconditions_Proc): New routine along with pragma Inline.
-       (Set_Has_Expanded_Contract): New routine along with pragma Inline.
-       (Set_Has_Postconditions): Removed along with pragma Inline.
-       (Set_Postcondition_Proc): Removed along with pragma Inline.
-       (Set_Postconditions_Proc): New routine along with pragma Inline.
-       * exp_ch6.adb (Add_Return): Code cleanup. Update the
-       generation of the call to the _Postconditions routine of
-       the procedure.  (Expand_Non_Function_Return): Reformat the
-       comment on usage. Code cleanup.  Update the generation of
-       the call to the _Postconditions routine of the procedure or
-       entry [family].
-       (Expand_Simple_Function_Return): Update the
-       generation of the _Postconditions routine of the function.
-       (Expand_Subprogram_Contract): Reimplemented.
-       * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter
-       profile along the comment on usage.
-       * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup.
-       (Expand_N_Task_Type_Declaration): Generate pre/postconditions
-       wrapper when the entry [family] has a contract with
-       pre/postconditions.
-       * exp_prag.adb (Expand_Attributes_In_Consequence): New routine.
-       (Expand_Contract_Cases): This routine and its subsidiaries now
-       analyze all generated code.
-       (Expand_Old_In_Consequence): Removed.
-       * sem_attr.adb Add with and use clause for Sem_Prag.
-       (Analyze_Attribute): Reimplment the analysis of attribute 'Result.
-       (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain
-       "Ensures".
-       * sem_ch3.adb (Analyze_Declarations): Analyze the contract of
-       a generic subprogram.
-       (Analyze_Object_Declaration): Do not create a contract node.
-       (Derive_Subprogram): Do not create a contract node.
-       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do
-       not create a contract node.
-       (Analyze_Completion_Contract): New routine.
-       (Analyze_Function_Return): Alphabetize.
-       (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a
-       contract node.  Do not copy pre/postconditions to the original
-       generic template.
-       (Analyze_Null_Procedure): Do not create a contract node.
-       (Analyze_Subprogram_Body_Contract): Reimplemented.
-       (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope
-       as having postconditions. Do not create a contract node. Analyze
-       the subprogram body contract of a body that acts as a compilation
-       unit. Expand the subprogram contract after the declarations have
-       been analyzed.
-       (Analyze_Subprogram_Contract): Reimplemented.
-       (Analyze_Subprogram_Specification): Do not create a contract node.
-       (List_Inherited_Pre_Post_Aspects): Code cleanup.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the
-       comment on usage.
-       (Analyze_Subprogram_Contract): Update the
-       parameter profile and the comment on usage.
-       * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a
-       contract node.
-       (Analyze_Package_Declaration): Do not create a
-       contract node.
-       (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity.
-       * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a
-       contract node.
-       * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a
-       contract node.
-       * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to
-       their proper section and alphabetize them. Analyze the contract of
-       a [generic] subprogram after all Pragmas_After have been analyzed.
-       (Analyze_Subprogram_Body_Stub_Contract): Alphabetize.
-       * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not
-       create a contract node.
-       (Analyze_Generic_Subprogram_Declaration):
-       Alphabetize local variables. Do not create a contract
-       node. Do not generate aspects out of pragmas for ASIS.
-       (Analyze_Subprogram_Instantiation): Instantiate
-       the contract of the subprogram.  Do not create a
-       contract node.  (Instantiate_Contract): New routine.
-       (Instantiate_Subprogram_Body): Alphabetize local variables.
-       (Save_Global_References_In_Aspects): New routine.
-       (Save_References): Do not save the global references found within
-       the aspects of a generic subprogram.
-       * sem_ch12.ads (Save_Global_References_In_Aspects): New routine.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use
-       Original_Node for establishing linkages.
-       (Insert_Pragma): Insertion in a subprogram body takes precedence over
-       the case where the subprogram body is also a compilation unit.
-       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use
-       Get_Argument to obtain the proper expression. Install the generic
-       formals when the related context is a generic subprogram.
-       (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain
-       the proper expression. Use Corresponding_Spec_Of to obtain
-       the spec. Install the generic formal when the related context
-       is a generic subprogram.
-       (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper
-       expression. Use Corresponding_Spec_Of to obtain the spec. Install the
-       generic formal when the related context is a generic subprogram.
-       (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument
-       to obtain the proper expression. Remove the call to
-       Check_SPARK_Aspect_For_ASIS as the analysis is now done
-       automatically.
-       (Analyze_Pragma): Update all occurrences
-       to Original_Aspect_Name. Pragmas Contract_Cases, Depends,
-       Extensions_Visible, Global, Postcondition, Precondition and
-       Test_Case now carry generic templates when the related context
-       is a generic subprogram. The same pragmas are no longer
-       forcefully fully analyzed when the context is a subprogram
-       that acts as a compilation unit. Pragmas Abstract_State,
-       Initial_Condition, Initializes and Refined_State have been clean
-       up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class
-       and Precondition now use the same routine for analysis. Pragma
-       Refined_Post does not need to check the use of 'Result or
-       the lack of a post-state in its expression. Reimplement the
-       analysis of pragma Test_Case.
-       (Analyze_Pre_Post_Condition): New routine.
-       (Analyze_Pre_Post_Condition_In_Decl_Part):
-       Reimplemented.
-       (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the
-       proper expression.
-       (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain
-       the proper expression.
-       (Analyze_Test_Case_In_Decl_Part): Reimplemented.
-       (Check_Pre_Post): Removed.
-       (Check_Precondition_Postcondition): Removed.
-       (Check_SPARK_Aspect_For_ASIS): Removed.
-       (Check_Test_Case): Removed.
-       (Collect_Subprogram_Inputs_Outputs): Use Get_Argument
-       to obtain the proper expression. Use Corresponding_Spec_Of to
-       find the proper spec.
-       (Create_Generic_Template): New routine.
-       (Duplication_Error): New routine.
-       (Expression_Function_Error): New routine.
-       (Find_Related_Subprogram_Or_Body): Moved to the spec
-       of Sem_Prag. Emit precise error messages. Account for cases of
-       rewritten expression functions, generic instantiations, handled
-       sequence of statements and pragmas from aspects.
-       (Get_Argument): New routine.
-       (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
-       (Preanalyze_CTC_Args): Removed.
-       (Process_Class_Wide_Condition): New routine.
-       * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update
-       the parameter profile along with the comment on usage.
-       (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag.
-       (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
-       (Test_Case_Arg): New routine.
-       * sem_util.adb Add with and use clauses for Sem_Ch6.
-       (Add_Contract_Item): This routine now creates a contract
-       node the first time an item is added. Remove the duplicate
-       aspect/pragma checks.
-       (Check_Result_And_Post_State): Reimplemented.
-       (Corresponding_Spec_Of): New routine.
-       (Get_Ensures_From_CTC_Pragma): Removed.
-       (Get_Requires_From_CTC_Pragma): Removed.
-       (Has_Significant_Contract): New routine.
-       (Inherit_Subprogram_Contract): Inherit only if the source
-       has a contract.
-       (Install_Generic_Formals): New routine.
-       (Original_Aspect_Name): Removed.
-       (Original_Aspect_Pragma_Name): New routine.
-       * sem_util.ads (Check_Result_And_Post_State): Reimplemented.
-       (Corresponding_Spec_Of): New routine.
-       (Get_Ensures_From_CTC_Pragma): Removed.
-       (Get_Requires_From_CTC_Pragma): Removed.
-       (Has_Significant_Contract): New routine.
-       (Install_Generic_Formals): New routine.
-       (Original_Aspect_Name): Removed.
-       (Original_Aspect_Pragma_Name): New routine.
-       * sem_warn.adb Add with and use clauses for Sem_Prag.
-       (Within_Postcondition): Use Test_Case_Arg to extract "Ensures".
-
-2015-03-02  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb (Available_Subtype): Optimization in
-       Find_Selected_Component: when safe, use existing subtype of
-       array component, possibly discriminant-dependent, rather than
-       creating new subtype declaration for it. In this fashion different
-       occurrences of the component have the same subtype, rather than
-       just equivalent ones. Simplifies value tracing in GNATProve.
-
-2015-03-01  Arnaud Charlet  <charlet@adacore.com>
-
-       PR ada/65259
-       * doc/gnat_ugn/gnat_project_manager.rst,
-       doc/gnat_ugn/platform_specific_information.rst: Remove reference to
-       image, too troublesome with texi format.
-       * gnat_ugn.texi: Regenerate.
-
-2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
-
-       PR libgomp/64625
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove.
-       (DEF_FUNCTION_TYPE_VAR_12): Likewise.
-       (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
-
-2015-02-23  Thomas Schwinge  <thomas@codesourcery.com>
-
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of
-       arguments parameter.
-       (DEF_FUNCTION_TYPE_VAR_12): Likewise.
-
-2015-02-22  Arnaud Charlet  <charlet@adacore.com>
-
-       * doc/Makefile: postprocess texinfo files to update @dircategory
-       and update texi files under gcc/ada.
-       * gnat_ugn.texi, gnat_rm.texi: Regenerated.
-
-2015-02-22  Arnaud Charlet  <charlet@adacore.com>
-
-       * doc/gnat_ugn/project-manager-figure.png,
-       doc/gnat_ugn/rtlibrary-structure.png: New.
-
-2015-02-22  Tom de Vries  <tom@codesourcery.com>
-
-       PR ada/65100
-       * gnat-style.texi (@subsection Loop Statements): Replace @noindent by
-       @item, and fix warning '@itemize has text but no @item'.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
-       legally applies to an abstract subprogram declaration.
-       * freeze.adb: Minor comment addition.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.
-       * erroutc.adb (Set_Msg_Str): Replace _xxx.
-       (Pre/Post/Type_Invariant) by xxx'Class.
-       * erroutc.ads (Set_Msg_Str): Replace _xxx.
-       (Pre/Post/Type_Invariant) by xxx'Class.
-       * sem_prag.adb (Fix_Error): Remove special casing of
-       Name_uType_Invariant.
-       (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of
-       Name_uPre and Name_uPost in aspect case (done in Errout now).
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * g-alveop.adb: Minor style fixes.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * freeze.adb (Warn_Overlay): Guard against blow up with address
-       clause.
-
-2015-02-20  Bob Duff  <duff@adacore.com>
-
-       * exp_attr.adb (May_Be_External_Call): Remove this. There is no need
-       for the compiler to guess whether the call is internal or external --
-       it is always external.
-       (Expand_Access_To_Protected_Op): For P'Access, where P
-       is a protected subprogram, always create a pointer to the
-       External_Subprogram.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * a-dispat.adb, a-stcoed.ads: Minor reformatting.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static
-       predicate for non-static subtype.
-       (Build_Predicate_Functions): Do not assume subtype associated with a
-       static predicate must be static.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * errout.adb (Set_Msg_Node): Better handling of internal names
-       (Set_Msg_Node): Kill message when we cannot eliminate internal name.
-       * errout.ads: Document additional case of message deletion.
-       * namet.adb (Is_Internal_Name): Refined to consider wide
-       strings in brackets notation and character literals not to be
-       internal names.
-       * sem_ch8.adb (Find_Selected_Component): Give additional error
-       when selector name is a subprogram whose first parameter has
-       the same type as the prefix, but that type is untagged.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
-
-2015-02-20  Tristan Gingold  <gingold@adacore.com>
-
-       * opt.ads (GNAT_Mode_Config): New variable.
-       * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config
-       to set Assertions_Enabled.
-       * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config
-       for -gnatg.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional
-       comment regarding the handling of unterminated fixed-point
-       constants.
-       * s-valuns.ads (Scan_Raw_Unsigned): Add comments
-       corresponding to those previously added for
-       System.Val_LLU.Scan_Raw_Long_Long_Unsigned.
-
-2015-02-20  Olivier Hainque  <hainque@adacore.com>
-
-       * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb: Minor comment clarification.
-
-2015-02-20  Olivier Hainque  <hainque@adacore.com>
-
-       * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove.
-       * g-alleve.ads, g-alleva.adb (vcfux): Likewise.
-       * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions.
-       (vec_ctf): Now renamings as well.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * switch-c.adb, bindgen.adb: Minor reformatting.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma, case Type_Invariant):
-       Invariant'class is allowed on an abstract type.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Access_Definition): If the access definition is
-       for a protected component and defines an access to protected
-       subprogram, do not create an itype reference for it because a
-       full type declaration will be built in order to generate the
-       proper equivalent type.
-       (Analyze_Subtype_Declaration): Add information of incomplete
-       subtypes, for Ada 2012 extended uses of incomplete types.
-
-2015-02-20  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_res.adb: Minor reformatting.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * switch-c.adb (Scan_Front_End_Switches): When comparing runtime
-       path name for several switches --RTS, use the normalized path
-       names.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * bindgen.adb: Minor reformatting and code reorganization.
-
-2015-02-20  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-stcoed.ads: Add spec for this package (Unimplemented_Unit).
-       * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as
-       defined by Ada 2012.
-
-2015-02-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove
-       obsolete references to RTX, nucleus, VMS.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
-       aspect, use name that mentions Class explicitly, rather than
-       compiler-internal name.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * debug.adb: Add documentation for -gnatd.2 (allow statements
-       in decl sequences).
-       * par-ch3.adb (P_Identifier_Declarations): Handle
-       statement appearing where declaration expected more cleanly.
-       (Statement_When_Declaration_Expected): Implement debug flag
-       -gnatd.2.
-
-2015-02-20  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-dinopr.ads: Add spec for this package (Unimplemented_Unit).
-       * a-dispat.ads (Yield): Include procedure added in Ada 2012.
-       * a-dispat.adb (Yield): Implement procedure added in Ada 2012.
-       * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as
-       defined by Ada 2005.
-       * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities):
-       This is the correct name for the dispatching policy (FIFO was
-       missing).
-
-2015-02-20  Javier Miranda  <miranda@adacore.com>
-
-       * sem_res.adb (Resolve_Type_Conversion): If the type of the
-       operand is the limited-view of a class-wide type then recover
-       the class-wide type of the non-limited view.
-
-2015-02-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * gcc-interface/Makefile.in: Remove references to nucleus.
-       * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
-       extern_flag to true for Inline_Always subprograms with
-       Intrinsic convention.
-
-2015-02-20  Yannick Moy  <moy@adacore.com>
-
-       * sem_prag.ads: Minor typo in comment.
-
-2015-02-20  Pascal Obry  <obry@adacore.com>
-
-       * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * makeutl.adb (Get_Directories.Add_Dir): Add a directory only
-       if it exists.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * sem_eval.ads: Minor reformatting.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * freeze.adb (Size_Known): Do not set the packed size for
-       independent type or component.
-       (Freeze_Array_Type): Check for Independent[_Components] with packing
-       or explicit component size clause.
-       * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation
-       of independence pragmas only for non-GCC back-ends.
-       * sem_ch13.adb (Initialize): Likewise for the initialization.
-       * sem_prag.adb (Record_Independence_Check): New procedure to record an
-       independence check in the table.
-       (Analyze_Pragma): Use it throughout instead of doing it manually.
-       * gcc-interface/decl.c (gnat_to_gnu_field): Add support for
-       independent type or component.
-
-2015-02-20  Thomas Quinot  <quinot@adacore.com>
-
-       * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of
-       struct direct and readdir. This is required for NFS filesystems
-       mounted from servers that use 64-bit cookies.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram
-       Build_Subprogram_Renaming, to create renaming of subprogram
-       instance in the the declaration of the wrapper package rather
-       than in its body, so that it is available for analysis of aspects
-       propagated from generic to instantiation.
-       (Check_Mismatch): An actual for a formal package that is an
-       incomplete type matches a formal type that is incomplete.
-       (Instantiate_Package_Body): Move code that builds subprogram
-       renaming to Analyze_Subprogram_Instantiation.
-       (Instantiate_Type): The generated subtype is a limited view if
-       the actual is a limited view.
-       (Load_Parent_Of_Generic): Retrieve instance declaration from
-       its new position within wrapper package.
-
-2015-02-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-parame-vxworks.adb, s-os_lib.ads: Update comments.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * s-osinte-vxworks.ads (To_Timespec): Add comment about the
-       issue of negative arguments.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gnat1drv.adb: Minor consistency fix.
-
-2015-02-20  Pascal Obry  <obry@adacore.com>
-
-       * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all
-       paths.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram
-       renamings.
-       * exp_ch6.adb (Expand_Call): Use back-end inlining
-       instead of expansion for simple subprogram renamings.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.adb: Minor reformatting.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS=
-       is specified several times with different values that indicates
-       the same runtime directory.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to
-       handle properly illegal uses of attributes on prefixes on an
-       incomplete type, both when the type of the prefix is locally
-       incomplete, and when it is a limited view of a type whose
-       non-limited view is not available.
-       (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for
-       'Address and others.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch6.adb: Fix minor typo in comment.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sinfo.ads: Add comment.
-
-2015-02-20  Olivier Hainque  <hainque@adacore.com>
-
-       * opt.ads: Replace Opt.Suppress_All_Inlining by two separate
-       flags controlling the actual FE inlining out of pragma Inline
-       and pragma Inline_Always.
-       * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
-       on -fno-inline, which disables all inlining in compilers with
-       an Ada back-end and without back-end inlining support.
-       * back_end.adb (Scan_Back_End_Switches): Set the Inline related
-       flag to True on -fno-inline and leave Inline_Always alone for
-       gcc back-ends.
-       * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
-       names of the Opt flags it sets.
-       * gnat1drv.adb (Adjust_Global_Switches): Remove test on
-       Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
-       * sem_prag.adb (Make_Inline): Remove early return conditioned
-       on Opt.Suppress_All_Inlining.
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
-       disable the calls to Build_Body_To_Inline otherwise triggered
-       by pragma Inline or Inline_Always. This will prevent actual
-       front-end inlining of the subprogram on calls.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the
-       Abort_Undefer_Direct function.
-       * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
-       * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
-       * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise.
-       * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to
-       Add_Inlined_Body.
-       * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body.
-        Remove call to Register_Backend_Call and move code resetting
-       Needs_Debug_Info on inlined subprograms to...
-       * inline.ads (Add_Inlined_Body): Add N parameter.
-       (Register_Backend_Call): Delete.
-       * inline.adb (Add_Inlined_Body): ...here and simplify.
-        Register the call with Backend_Calls directly.
-       (Register_Backend_Call): Delete.
-       * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline.
-
-2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * s-stalib.ads: Fix typo.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch3.adb (Default_Initialize_Object): If the object has a
-       delayed freeze, the actions associated with default initialization
-       must be part of the freeze actions, rather that being inserted
-       directly after the object declaration.
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * lib-load.adb: Minor comment update.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * prj-proc.adb (Process_Case_Construction): When there are
-       incomplete withed projects and the case variable is unknown,
-       skip the case construction.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks
-       when an actual is a view conversion, either because the call is
-       to an inherited operation, or because the actual is an explicit
-       type conversion to an ancestor type.  Fixes ACATS 4.0D: C732001
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.ads: Minor comment updates Fix missing pragma Inline
-       for Set_Partial_View_Has_Unknown_Discr.
-       * einfo.adb (Write_Entity_Flags): Add missing entry for
-       Partial_View_Has_Unknown_Discr.
-       * sem_ch3.adb: Minor reformatting.
-
-2015-02-20  Vincent Celier  <celier@adacore.com>
-
-       * opt.ads: Minor cleanup: remove mention of gprmake.
-       * s-stalib.ads (Abort_Undefer_Direct): Do not inline.
-       * s-tataat.adb: Do not call System.Tasking.Self but directly
-       System.Task_Primitives.Operations.Self.
-
-2015-02-20  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from
-       sphinx in the doc directory.
-       * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn
-
-2015-02-20  Robert Dewar  <dewar@adacore.com>
-
-       * sem_res.adb: Minor reformatting.
-       * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when
-       building spec.
-       * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean
-       aspects from circuitry setting delay required to false if the
-       argument is an integer literal.
-
-2015-02-20  Ed Schonberg  <schonberg@adacore.com>
-
-       * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr):  New flag
-       on type entities, to enforce AI12-0133: default initialization
-       of types whose partial view has unknown discriminants does not
-       get an invariant check, because clients of the unit can never
-       declare objects of such types.
-       * sem_ch3.adb (Find_Type_Name); Set new flag
-       Partial_View_Has_Unknown_Discr when needed.
-       * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress
-       generation of invariant call on default-initialized object.
-
-2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding
-       if the parameter either is passed by reference or if the alignment
-       would be lowered.
-
-2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to
-       detect primitive operations of tagged and untagged types.
-
-2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
-       sets in presence of derivation for subprogram types.
-
-2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
-       present in the same context as the declaration.
-
-2015-02-07  Jakub Jelinek  <jakub@redhat.com>
-
-       PR middle-end/64340
-       * gcc-interface/trans.c (gigi): Recreate optimization_default_node
-       and optimization_current_node after tweaking global_options.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
-       prj-nmsc.adb: Minor reformatting.
-
-2015-02-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
-       of a protected type may not be available, so to check conformance
-       with an interface type, examine the interface list in the type
-       declaration directly.
-       (Write_Overloads): Improve information for indirect calls,
-       for debugger use.
-
-2015-02-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch3.adb (Make_Tag_Assignment): Do not perform this
-       expansion activity in ASIS mode.
-
-2015-02-05  Javier Miranda  <miranda@adacore.com>
-
-       * errout.adb (Error_Msg_PT): Add missing error.
-       * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
-       RM rule.  Code cleanup.
-       * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
-       anonymous access types.  Found working on the tests. Code cleanup.
-
-2015-02-05  Vincent Celier  <celier@adacore.com>
-
-       * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
-       when there are incomplete withs.
-       * prj-nmsc.adb (Process_Naming): Do not try to get the value
-       of an element when it is nil.
-       (Check_Naming): Do not check a nil suffix for illegality
-       * prj-proc.adb (Expression): Do not process an empty term.
-       * prj-strt.adb (Attribute_Reference): If attribute cannot be
-       found, parse a possible index to avoid cascading errors.
-
-2015-02-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aux.adb (Is_Derived_Type): A subprogram_type generated
-       for an access_to_subprogram declaration is not a derived type.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * errout.adb (Error_Msg_Internal): For non-serious error set
-       Fatal_Error to Ignored.
-       * lib-load.adb (Load_Unit): Minor comment updates.
-       * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
-       setting from with'ed unit to with'ing unit.
-       * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
-       of ambiguity.
-
-2015-02-05  Yannick Moy  <moy@adacore.com>
-
-       * sem_prag.adb, par-prag.adb: Minor code clean up.
-
-2015-02-05  Yannick Moy  <moy@adacore.com>
-
-       * par-prag.adb (Pragma_Warnings): Update for extended form
-       of pragma Warnings. The "one" argument case may now have 2 or
-       3 arguments.
-       * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
-       extended form of pragma Warnings. Pragma with tool name is either
-       rewritten as null or as an equivalent form without tool name,
-       before reanalysis.
-       * snames.ads-tmpl (Name_Gnatprove): New name.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch13.adb (Add_Invariants): Don't assume invariant is
-       standard Boolean.
-       * sem_prag.adb (Analyze_Pragma, case Check): Don't assume
-       condition is standard Boolean, it can be non-standard derived
-       Boolean.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * checks.adb (Enable_Range_Check): Disconnect attempted
-       optimization for the case of range check for subscript of
-       unconstrained array.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * par-ch13.adb (With_Present): New function
-       (Aspect_Specifications_Present): Handle WHEN in place of WITH
-       (Get_Aspect_Specifications): Comment update.
-       * par.adb: Comment updates.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
-       * frontend.adb (Frontend): New setting of Fatal_Error.
-       * lib-load.adb (Create_Dummy_Package_Unit): New setting of
-       Fatal_Error.
-       (Load_Main_Source): New setting of Fatal_Error
-       (Load_Unit): New setting of Fatal_Error.
-       * lib-writ.adb (Add_Preprocessing_Dependency): New setting of
-       Fatal_Error.
-       (Ensure_System_Dependency): New setting of Fatal_Error.
-       * lib.adb (Fatal_Error): New setting of Fatal_Error
-       (Set_Fatal_Error): New setting of Fatal_Error.
-       * lib.ads: New definition of Fatal_Error and associated routines.
-       * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
-       * par-load.adb (Load): New setting of Fatal_Error.
-       * rtsfind.adb (Load_RTU): New setting of Fatal_Error.
-       * sem_ch10.adb (Analyze_Compilation_Unit): New setting of
-       Fatal_Error.
-       (Optional_Subunit): New setting of Fatal_Error.
-       (Analyze_Proper_Body): New setting of Fatal_Error.
-       (Load_Needed_Body): New setting of Fatal_Error.
-
-2015-02-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_res.adb (Resolve_Call): If the function being called has
-       out parameters do not check for language version if the function
-       comes from a predefined unit, as those are always compiled in
-       Ada 2012 mode.
-
-2015-02-05  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Process_Full_View): Verify that the full view
-       of a type extension must carry an explicit limited keyword if
-       the partial view does (RM 7.3 (10.1)).
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
-       sem_warn.ads: Minor reformatting.
-       * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
-       deleted by -gnatI.
-       * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
-       error for abstract type.
-
-2015-02-05  Yannick Moy  <moy@adacore.com>
-
-       * opt.ads (Warn_On_Suspicious_Contract): Update comment
-       describing use.
-       * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
-       suspicious uses of 'Update.
-       * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
-       function issues warning on suspicious uses of 'Update.
-       * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
-       package spec and body as SPARK_Mode Off.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
-       (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
-       (Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
-       * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
-       for exported entity.
-
-2015-02-05  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_prag.adb (Check_Pragma_Conformance): Add
-       local variable Arg. Ensure that all errors are associated with
-       the pragma if it appears without an argument. Add comments on
-       various cases.
-
-2015-02-05  Robert Dewar  <dewar@adacore.com>
-
-       * lib-xref.adb: Minor reformatting.
-
-2015-02-05  Tristan Gingold  <gingold@adacore.com>
-
-       PR ada/64349
-       * env.c: Fix thinko: handle Darwin case before default one.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * a-assert.adb: Minor reformatting.
-       * sem_ch13.adb: Minor comment clarification.
-       * types.ads: Minor comment update.
-       * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
-       when we have a predicate that is nothing but an inherited dynamic
-       predicate.
-
-2015-01-30  Jerome Guitton  <guitton@adacore.com>
-
-       * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
-       include cert link spec.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * einfo.ads: Minor comment fix.
-       * freeze.adb (Freeze_Profile): Add test for suspicious import
-       in pure unit.
-       * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
-       use in Pure unit is now moved to Freeze (to properly catch
-       Pure_Function exemption).
-
-2015-01-30  Bob Duff  <duff@adacore.com>
-
-       * sem_res.ads: Minor comment fix.
-       * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
-       check both operands of an operator.
-
-2015-01-30  Yannick Moy  <moy@adacore.com>
-
-       * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
-       policy for Pre to Ignore.
-       (Assert): Add precondition.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
-       Pure unit.
-       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
-       documentation for some special cases of invalid attempts at
-       based integers.
-
-2015-01-30  Gary Dismukes  <dismukes@adacore.com>
-
-       * errout.ads: Minor reformatting.
-
-2015-01-30  Yannick Moy  <moy@adacore.com>
-
-       * inline.adb (Process_Formals): Use the sloc of
-       the inlined node instead of the sloc of the actual parameter,
-       when replacing formal parameters by the actual one.
-
-2015-01-30  Arnaud Charlet  <charlet@adacore.com>
-
-       * g-expect.adb (Get_Command_Output): Use infinite timeout when
-       calling Expect.
-
-2015-01-30  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Analyze_Associations): If an in-parameter is
-       defaulted in an instantiation, add an entry in the list of actuals
-       to indicate the default value of the formal (as is already done
-       for defaulted subprograms).
-
-2015-01-30  Javier Miranda  <miranda@adacore.com>
-
-       * errout.adb (Error_Msg_PT): Minor error phrasing update.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * sem_warn.adb (Warn_On_Known_Condition): Improve error message
-       for object case.
-
-2015-01-30  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * exp_dbug.adb (Get_Encoded_Name): When
-       -fgnat-encodings=minimal, do not generate names for biased types.
-
-2015-01-30  Tristan Gingold  <gingold@adacore.com>
-
-       PR ada/64349
-       * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
-
-2015-01-30  Gary Dismukes  <dismukes@adacore.com>
-
-       * freeze.adb: Minor reformatting.
-
-2015-01-30  Javier Miranda  <miranda@adacore.com>
-
-       * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
-       improve its documentation.
-       * errout.adb (Error_Msg_PT): Improve the error message.
-       * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
-       (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
-       * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
-       message for False case.
-
-2015-01-30  Doug Rupp  <rupp@adacore.com>
-
-       * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
-       * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
-       kernel.
-
-2015-01-30  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_attr.adb (Declared_Within_Generic_Unit):
-       New function to test whether an entity is declared within the
-       declarative region of a given generic unit.
-       (Resolve_Attribute): For checking legality of subprogram'Access within
-       a generic unit, call new Boolean function Declared_Within_Generic_Unit
-       instead of simply comparing the results of Enclosing_Generic_Unit on
-       the prefix and access type.  Correct minor comment typos.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * freeze.adb, exp_util.ads: Update comment.
-       * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
-       * sem_util.adb: Minor: fix typo.
-
-2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_attr.adb (Analyze_Attribute): Ensure that
-       the check concerning Refined_Post takes precedence over the
-       other cases.
-
-2015-01-30  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_prag.adb: Minor typo fixes and reformatting.
-
-2015-01-30  Yannick Moy  <moy@adacore.com>
-
-       * sem_attr.adb: Code clean up.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
-       * ali.ads (Unit_Record): Add new field Serious_Errors.
-       * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
-       attribute in U line.
-       * lib-writ.ads: New attribute SE (serious erors) in unit line.
-
-2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * einfo.adb Update the usage of attributes Entry_Bodies_Array,
-       Lit_Indexes, Scale_Value, Storage_Size_Variable,
-       String_Literal_Low_Bound along associated routines and
-       Write_FieldX_Name.
-       (Pending_Access_Types): New routine.
-       (Set_Pending_Access_Types): New routine.
-       (Write_Field15_Name): Add an entry for Pending_Access_Types.
-       * einfo.ads Add new attribute Pending_Access_Types along
-       with usage in nodes.  Update the usage of attributes
-       Entry_Bodies_Array, Lit_Indexes, Scale_Value,
-       Storage_Size_Variable, String_Literal_Low_Bound.
-       (Pending_Access_Types): New routine along with pragma Inline.
-       (Set_Pending_Access_Types): New routine along with pragma Inline.
-       * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
-       Ins_Node. Determine the insertion node for anonynous access type
-       that acts as a component type of an array. Update the call to
-       Build_Finalization_Master.
-       (Expand_Freeze_Record_Type): Update
-       the calls to Build_Finalization_Master.
-       (Freeze_Type): Remove
-       local variable RACW_Seen. Factor out the code that deals with
-       remote access-to-class-wide types. Create a finalization master
-       when the designated type contains a private component. Fully
-       initialize all pending access types.
-       (Process_RACW_Types): New routine.
-       (Process_Pending_Access_Types): New routine.
-       * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
-       needs to set primitive Finalize_Address.
-       (Expand_N_Allocator): Allocation no longer sets primitive
-       Finalize_Address.
-       * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
-       Update the call to Build_Finalization_Master.
-       (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
-       needs to set primitive Finalize_Address.
-       * exp_ch7.adb (Add_Pending_Access_Type): New routine.
-       (Build_Finalization_Master): New parameter profile. Associate
-       primitive Finalize_Address with the finalization master if the
-       designated type has been frozen, otherwise treat the access
-       type as pending. Simplify the insertion of the master and
-       related initialization code.
-       (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
-       abstract types.
-       (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
-       Simplify the implementation.
-       * exp_ch7.ads (Build_Finalization_Master): New parameter profile
-       along with comment on usage.
-       (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
-       the comment on usage.
-       * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
-       Finalize_Address to retrieve the primitive.
-       (Finalize_Address): New routine.
-       (Find_Finalize_Address): Removed.
-       * exp_util.ads (Finalize_Address): New routine.
-       * freeze.adb (Freeze_All): Remove the generation of finalization
-       masters.
-       * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
-       pending access types from the partial to the full view.
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * sem_disp.adb: Minor reformatting.
-       * sem_disp.ads: Documentation update.
-
-2015-01-30  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
-       or a function call, return True if type is class-wide.
-       * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
-       Apply RM 4.5.7 (17/3): all or none of the dependent expression
-       of a conditional expression must be dynamically tagged.
-
-2015-01-30  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Function_Return): In an extended return
-       statement, apply accessibility check to result object when there
-       is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
-
-2015-01-30  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
-       Boolean for case where ELSE is omitted.
-       * sem_res.adb: Minor reformatting.
-
-2015-01-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-       Fix build under cygwin/64.
-       * adaint.h: Add check for __CYGWIN__.
-       * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
-
-2015-01-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
-
-       PR ada/64640
-       * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
-       * mingw32.h: Don't include <tchar.h> under cygwin.
-       (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
-
-2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
-
-       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
-       (DEF_FUNCTION_TYPE_VAR_12): New macros.
-
-2015-01-09  Michael Collison  <michael.collison@linaro.org>
-
-       * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
-       vec.h, double-int.h, input.h, alias.h, symtab.h,
-       fold-const.h, wide-int.h, and inchash.h due to
-       flattening of tree.h.
-       * gcc-interface/decl.c: Ditto.
-       * gcc-interface/misc.c: Ditto.
-       * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
-       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
-       fold-const.h, wide-int.h, and inchash.h due to
-       flattening of tree.h.
-       * gcc-interface/trans.c: Include hash-set.h, machmode.h,
-       vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
-       fold-const.h, wide-int.h, inchash.h due to
-       flattening of tree.h.
-       * gcc-interface/utils.c: Include hash-set.h, machmode.h,
-       vec.h, double-int.h, input.h, alias.h, symtab.h,
-       fold-const.h, wide-int.h, and inchash.h due to
-       flattening of tree.h.
-       * gcc-interface/utils2.c: Ditto.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * sem_warn.adb (Check_One_Unit): Don't give unused entities
-       warning for a package which is used as a generic parameter.
-
-2015-01-07  Bob Duff  <duff@adacore.com>
-
-       * usage.adb (Usage): Correct documentation of
-       -gnatw.f switches.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * s-fileio.adb: Minor reformatting.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
-       access to subprogram, replace its formals with new entities when
-       building the object declaration, both if actual is present and
-       when it is defaulted.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
-       conversion and type of expression has invariant, apply invariant
-       check on expression.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Create_Constrained_Components): A call to
-       Gather_Components may detect an error if an inherited discriminant
-       that controls a variant is non-static.
-       * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
-       Gather_Components may report an error if an inherited discriminant
-       in a variant in non-static.
-       * sem_util.adb (Gather_Components): If a non-static discriminant
-       is inherited do not report error here, but let caller handle it.
-       (Find_Actual): Small optimization.
-
-2015-01-07  Bob Duff  <duff@adacore.com>
-
-       * usage.adb (Usage): Document -gnatw.f switch.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb: Code clean up and minor reformatting.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
-       Raise_Accessibility_Error call.
-       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
-       on handling of invalid digits in based constants.
-       * s-fatgen.ads: Minor reformatting.
-       * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
-       Avoid noting bogus modification for Valid test.
-       * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
-       * einfo.ads: Minor reformatting.
-       * sem_warn.adb: Minor comment clarification.
-       * sem_ch12.adb: Minor reformatting.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
-       over static predicates when the loop parameter specification
-       carries a Reverse indicator.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb (Instantiate_Object): If formal has a default,
-       actual is missing and formal has an anonymous access type, copy
-       access definition in full so that tree for instance is properly
-       formatted for ASIS use.
-
-2015-01-07  Bob Duff  <duff@adacore.com>
-
-       * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
-       for P'Access, where P is a subprogram in the same package as
-       the P'Access, and the P'Access is evaluated at elaboration
-       time, and occurs before the body of P. For example, "X : T :=
-       P'Access;" would allow a subsequent call to X.all to be an
-       access-before-elaboration error; hence the warning. This warning
-       is enabled by the -gnatw.f switch.
-       * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
-       * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
-       * gnat_ugn.texi: Document the new warning.
-
-2015-01-07  Johannes Kanig  <kanig@adacore.com>
-
-       * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
-       cross ref files.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * s-taprop-linux.adb, clean.adb: Minor reformatting.
-
-2015-01-07  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-tassta.adb: Relax some overzealous assertions.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
-       view of a type is legal when context is a thunk generated for
-       operation inherited from an interface.
-       * exp_ch6.adb (Expand_Simple_Function_Return): If context is
-       a thunk and return type is an incomplete type do not continue
-       expansion; thunk will be fully elaborated when generating code.
-
-2015-01-07  Doug Rupp  <rupp@adacore.com>
-
-       * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
-       (QueryPerformanceFrequency): New imported procedure.
-       * s-taprop-mingw.adb (RT_Resolution): Call above and return
-       resolution vice a hardcoded value.
-       * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
-       resolution vice a hardcoded value.
-       * s-linux-android.ads (clockid_t): New subtype.
-       * s-osinte-aix.ads (clock_getres): New imported subprogram.
-       * s-osinte-android.ads (clock_getres): Likewise.
-       * s-osinte-freebsd.ads (clock_getres): Likewise.
-       * s-osinte-solaris-posix.ads (clock_getres): Likewise.
-       * s-osinte-darwin.ads (clock_getres): New subprogram.
-       * s-osinte-darwin.adb (clock_getres): New subprogram.
-       * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
-       * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
-       calculate resolution vice hard coded value.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
-       limited view, use non-limited view when available to create
-       equivalent record type.
-
-2015-01-07  Vincent Celier  <celier@adacore.com>
-
-       * gnatcmd.adb: Remove command Sync and any data and processing
-       related to this command. Remove project processing for gnatstack.
-       * prj-attr.adb: Remove package Synchonize and its attributes.
-
-2015-01-07  Vincent Celier  <celier@adacore.com>
-
-       * clean.adb: Minor error message change.
-
-2015-01-07  Tristan Gingold  <gingold@adacore.com>
-
-       PR ada/64349
-       * env.c (__gnat_environ): Adjust for darwin9/darwin10.
-
-2015-01-07  Javier Miranda  <miranda@adacore.com>
-
-       * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
-       protect the frontend against never ending recursion caused by
-       circularities in the sources.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
-       exp_ch3.adb: Minor reformatting.
-
-2015-01-07  Doug Rupp  <rupp@adacore.com>
-
-       * s-linux.ads (clockid_t): New subtype.
-       * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
-       (clockid_t): New subtype.
-       (clock_getres): Import system call.
-       * s-taprop-linux.adb (System.OS_Constants): With and rename.
-       (RT_Resolution): Remove
-       hardcoded value and call clock_getres.
-       * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
-       s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * sem_warn.adb (Check_One_Unit): Guard against context item
-       with no Entity field.
-
-2015-01-07  Vincent Celier  <celier@adacore.com>
-
-       * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
-       * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
-
-2015-01-07  Vincent Celier  <celier@adacore.com>
-
-       * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
-       errors/warnings in the first parsing of the project files,
-       to display the warnings when there is no errors.
-
-2015-01-07  Tristan Gingold  <gingold@adacore.com>
-
-       * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
-
-2015-01-07  Doug Rupp  <rupp@adacore.com>
-
-       * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
-       value from Int_Lock as parameter to Int_Unlock.
-       * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
-       * s-vxwext.ads (Int_Unlock): Likewise.
-       * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
-       * s-vxwext-kernel.ads (Int_Unlock): Likewise.
-       * s-vxwext-rtp.adb (Int_Unlock): Likewise.
-       * s-vxwext-rtp.ads (Int_Unlock): Likewise.
-
-2015-01-07  Pierre-Marie de Rodat  <derodat@adacore.com>
-
-       * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
-       keep ___XP suffixes
-
-2015-01-07  Tristan Gingold  <gingold@adacore.com>
-
-       * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
-       handle overlap.
-
-2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
-       automatically set No_Strict_Aliasing on access types.
-       * fe.h (No_Strict_Aliasing_CP): Declare.
-       * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
-       No_Strict_Aliasing_CP is set.
-
-2015-01-07  Johannes Kanig  <kanig@adacore.com>
-
-       * sem_ch8.adb (Analyze_Subprogram_Renaming) do
-       not build function wrapper in gnatprove mode when the package
-       is externally axiomatized.
-
-2015-01-07  Jose Ruiz  <ruiz@adacore.com>
-
-       * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
-       intermediate computations when the parameters have different signs.
-
-2015-01-07  Javier Miranda  <miranda@adacore.com>
-
-       * exp_ch3.adb (Build_Init_Procedure): For derived types,
-       improve the code which takes care of identifying and moving to
-       the beginning of the init-proc the call to the init-proc of the
-       parent type.
-
-2015-01-07  Olivier Hainque  <hainque@adacore.com>
-
-       * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
-       Elaborate the expression as part of the same stmt group as the actions.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb: Minor error message change.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
-       Following AI05-028, the pragam applies legally to any composite type.
-
-2015-01-07  Arnaud Charlet  <charlet@adacore.com>
-
-       * s-osinte-vxworks.adb, s-osinte-vxworks.ads
-       (sigwait, sigwaitinfo): Removed, not needed after all on any
-       VxWorks configurations.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
-
-2015-01-07  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb (Expand_Interface_Conversion): Adding missing
-       generation of accessibility check.
-
-2015-01-07  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Derived_Type_Declaration): In the case of an
-       illegal completion from a class- wide type, set etype of the
-       derived type properly to prevent cascaded errors.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
-       reformatting.
-
-2015-01-07  Robert Dewar  <dewar@adacore.com>
-
-       * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
-       New procedure.
-       (OK_No_Use_Of_Entity_Name): New function.
-       (Set_Restriction_No_Use_Of_Entity): New procedure.
-       * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
-       New procedure.
-       (OK_No_Use_Of_Entity_Name): New function.
-       (Set_Restriction_No_Use_Of_Entity): New procedure.
-       * sem_ch8.adb (Find_Direct_Name): Add check for violation of
-       No_Use_Of_Entity.
-       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
-       Add processing for new restriction No_Use_Of_Entity.
-
-2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
-       component type as to Has_Atomic_Components type.  Remove useless
-       test on Is_Aliased component type.
-
-2015-01-07  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * alloc.ads Alphabetize several declarations. Add constants
-       Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
-       * atree.adb Add with and use clauses for Opt.
-       (Allocate_Initialize_Node): Mark a node as ignored Ghost
-       if it is created in an ignored Ghost region.
-       (Ekind_In): New variant.
-       (Is_Ignored_Ghost_Node): New routine.
-       (Set_Is_Ignored_Ghost_Node): New routine.
-       * atree.adb Aplhabetize several subprograms declarations. Flag
-       Spare0 is now known as Is_Ignored_Ghost_Node.
-       (Ekind_In): New variant.
-       (Is_Ignored_Ghost_Node): New routine.
-       (Set_Is_Ignored_Ghost_Node): New routine.
-       * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
-       (Contains_Ignored_Ghost_Code): New routine.
-       (Set_Contains_Ignored_Ghost_Code): New routine.
-       (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
-       It is now possible to set this property on an unanalyzed entity.
-       (Write_Entity_Flags): Output the status of flag
-       Contains_Ignored_Ghost_Code.
-       * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
-       usage in nodes.
-       (Contains_Ignored_Ghost_Code): New routine
-       along with pragma Inline.
-       (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
-       * exp_ch3.adb Add with and use clauses for Ghost.
-       (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
-       Set the Ghost_Mode in effect.
-       (Restore_Globals): New routine.
-       * exp_ch7.adb (Process_Declarations): Do not process a context
-       that invoves an ignored Ghost entity.
-       * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
-       construct that has been rewritten as a null statement.
-       * exp_disp.adb Add with and use clauses for Ghost.
-       (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
-       the Ghost_Mode in effect.
-       (Restore_Globals): New routine.
-       * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
-       does not require any clean up. Add two missing cases that deal
-       with block statements.
-       * freeze.adb Add with and use clauses for Ghost.
-       (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
-       Set the Ghost_Mode in effect.
-       (Restore_Globals): New routine.
-       * frontend.adb Add with and use clauses for Ghost. Remove any
-       ignored Ghost code from all units that qualify.
-       * ghost.adb New unit.
-       * ghost.ads New unit.
-       * gnat1drv.adb Add with clause for Ghost. Initialize and lock
-       the table in package Ghost.
-       * lib.ads: Alphabetize several subprogram declarations.
-       * lib-xref.adb (Output_References): Do not generate reference
-       information for ignored Ghost entities.
-       * opt.ads Add new type Ghost_Mode_Type and new global variable
-       Ghost_Mode.
-       * rtsfind.adb (Load_RTU): Provide a clean environment when
-       loading a runtime unit.
-       * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
-       entry/exit as the node may set a different mode.
-       (Do_Analyze):
-       Capture/restore the value of Ghost_Mode on entry/exit as the
-       unit may be withed from a unit with a different Ghost mode.
-       * sem_ch3.adb Add with and use clauses for Ghost.
-       (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
-       Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
-       Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
-       the entity as Ghost when there is a Ghost_Mode in effect.
-       (Array_Type_Declaration): The implicit base type inherits the
-       "ghostness" from the array type.
-       (Derive_Subprogram): The
-       alias inherits the "ghostness" from the parent subprogram.
-       (Make_Implicit_Base): The implicit base type inherits the
-       "ghostness" from the parent type.
-       * sem_ch5.adb Add with and use clauses for Ghost.
-       (Analyze_Assignment): Set the Ghost_Mode in effect.
-       * sem_ch6.adb Add with and use clauses for Ghost.
-       (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
-       Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
-       Set the Ghost_Mode in effect. Mark the entity as Ghost when
-       there is a Ghost_Mode in effect.
-       * sem_ch7.adb Add with and use clauses for Ghost.
-       (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
-       Analyze_Private_Type_Declaration): Set the Ghost_Mode in
-       effect. Mark the entity as Ghost when there is a Ghost_Mode
-       in effect.
-       * sem_ch8.adb Add with and use clauses for Ghost.
-       (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
-       Analyze_Object_Renaming, Analyze_Package_Renaming,
-       Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
-       the entity as Ghost when there is a Ghost_Mode in effect.
-       (Find_Type): Check the Ghost context of a type.
-       * sem_ch11.adb Add with and use clauses for Ghost.
-       (Analyze_Exception_Declaration): Set the Ghost_Mode in
-       effect. Mark the entity as Ghost when there is a Ghost_Mode
-       in effect.
-       * sem_ch12.adb Add with and use clauses for Ghost.
-       (Analyze_Generic_Package_Declaration,
-       Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
-       Mark the entity as Ghost when there is a Ghost_Mode in effect.
-       * sem_prag.adb Add with and use clauses for Ghost.
-       (Analyze_Pragma): Ghost-related checks are triggered when there
-       is a Ghost mode in effect.
-       (Create_Abstract_State): Mark the
-       entity as Ghost when there is a Ghost_Mode in effect.
-       * sem_res.adb Add with and use clauses for Ghost.
-       (Check_Ghost_Context): Removed.
-       * sem_util.adb (Check_Ghost_Completion): Removed.
-       (Check_Ghost_Derivation): Removed.
-       (Incomplete_Or_Partial_View):
-       Add a guard in case the entity has not been analyzed yet
-       and does carry a scope.
-       (Is_Declaration): New routine.
-       (Is_Ghost_Entity): Removed.
-       (Is_Ghost_Statement_Or_Pragma):
-       Removed.
-       (Is_Subject_To_Ghost): Removed.
-       (Set_Is_Ghost_Entity):
-       Removed.
-       (Within_Ghost_Scope): Removed.
-       * sem_util.adb (Check_Ghost_Completion): Removed.
-       (Check_Ghost_Derivation): Removed.
-       (Is_Declaration): New routine.
-       (Is_Ghost_Entity): Removed.
-       (Is_Ghost_Statement_Or_Pragma): Removed.
-       (Is_Subject_To_Ghost): Removed.
-       (Set_Is_Ghost_Entity): Removed.
-       (Within_Ghost_Scope): Removed.
-       * sinfo.ads Add a section on Ghost mode.
-       * treepr.adb (Print_Header_Flag): New routine.
-       (Print_Node_Header): Factor out code. Output flag
-       Is_Ignored_Ghost_Node.
-       * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
-
-2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
-       true test and unreachable 'else' arm.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * prj-conf.adb (Check_Target): Improve error message when
-       there are mismatched targets between the on in the configuration
-       project file and the specified one, either in the main project
-       file or in the --target= switch.
-
-2015-01-06  Pascal Obry  <obry@adacore.com>
-
-       * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
-       Install_Name attribute definitions.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
-       generated Import pragma for the internal imported procedure does
-       not come from an aspect, so that Is_Imported can be properly
-       set for it.
-
-2015-01-06  Gary Dismukes  <dismukes@adacore.com>
-
-       * sem_ch12.adb (Might_Inline_Subp): Record whether
-       any subprograms in the generic package are marked with
-       pragma Inline_Always (setting flag Has_Inline_Always).
-       (Analyze_Package_Instantiation): Add test of Has_Inline_Always
-       alongside existing test of Front_End_Inlining as alternative
-       conditions for setting Inline_Now. Also add test of
-       Has_Inline_Always along with Front_End_Inlining test as an
-       alternative condition for setting Needs_Body to False.
-
-2015-01-06  Tristan Gingold  <gingold@adacore.com>
-
-       * i-cpoint.adb (Copy_Array): Handle overlap.
-
-2015-01-06  Pascal Obry  <obry@adacore.com>
-
-       * bindgen.adb: Minor style fix.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_util.ads, sem_util.adb: Minor reformatting.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
-       with flags before parsing the projects.
-       * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
-       * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
-       to True in the flags, when Ignore_Missing_With is True and an
-       imported project cannot be found.
-       * prj-proc.adb (Expression): When there are incomplete withs and
-       a variable or attribute is not found, set the variable/attribute
-       to unknown.
-       * prj.ads (Processing_Flags): New flag Incomplete_Withs,
-       defaulted to False.
-
-2015-01-06  Vasiliy Fofanov  <fofanov@adacore.com>
-
-       * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
-       prj-err.adb: Add new switch --no-command-line.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb: Sloc of wrapper is that of instantiation.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch11.adb: Minor reformatting.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
-       Build_Array_Aggr_Code, used to initialized components covered
-       by a box association. If the component type is scalar and has
-       a default aspect, use it to initialize such components.
-
-2015-01-06  Pascal Obry  <obry@adacore.com>
-
-       * rtinit.c (__gnat_runtime_initialize): Add a parameter to
-       control the setup of the exception handler.
-       * initialize.c: Remove unused declaration.
-       * bindgen.adb: Always call __gnat_runtime_initialize and pass
-       whether the exeception handler must be set or not.
-
-2015-01-06  Thomas Quinot  <quinot@adacore.com>
-
-       * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
-       order to native from default, make sure to also adjust bit order.
-       * exp_aggr.adb: Minor reformatting.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
-       s-valrea.adb, s-valrea.ads: Add some additional guards for
-       Str'Last = Positive'Last.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
-       subprograms.
-
-2015-01-06  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
-
-2015-01-06  Thomas Quinot  <quinot@adacore.com>
-
-       * sem_util.ads: Minor reformatting.
-       * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
-       (In_RCI_Declaration) Return to old name, as proper checking of
-       entity being in the visible part depends on entity kind and must
-       be done by the caller.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
-       for operators in SPARK.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
-       expression in an others association before making copies for
-       separate resolution and accessibility checks. This ensures that
-       the type of the expression is available to ASIS in all cases,
-       in particular if the expression is itself an aggregate.
-
-2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Has_Independent_Components): Document extended
-       usage.
-       * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
-       (Set_Has_Independent_Components): Adjust assertion.
-       * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
-       for pragma Atomic_Components.  Set Has_Independent_Components
-       on the object instead of the type for an object declaration with
-       pragma Independent_Components.
-
-2015-01-06  Olivier Hainque  <hainque@adacore.com>
-
-       * set_targ.adb (Read_Target_Dependent_Values): Set
-       Long_Double_Index when "long double" is read.
-       (elaboration code): Register_Back_End_Types only when not reading from
-       config files. Doing otherwise is pointless and error prone.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
-       Str'Last = Positive'Last.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Matches_Limited_View): Handle properly the case
-       where the non-limited type is a generic actual and appears as
-       a subtype of the non-limited view of the other.
-       * freeze.adb (Build_Renamed_Body): If the return type of the
-       declaration that is being completed is a limited view and the
-       non-limited view is available, use it in the specification of
-       the generated body.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
-       incomplete view, the type of the classwide type common to both
-       views is the type being declared.
-
-2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Is_Independent): Further document extended usage.
-
-2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-       * einfo.ads (Is_Independent): Document extended usage.
-       * einfo.adb (Is_Independent): Remove obsolete assertion.
-       (Set_Is_Independent): Likewise.
-       * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
-       (Process_Atomic_Independent_Shared_Volatile): ...this.
-       Deal with pragma Independent here.
-       (Analyze_Pragma): Adjust
-       to above renaming and also invoke it for pragma Independent.
-       Adjust comment for Independent_Components.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * snames.ads-tmpl: Remove entries for attribute Enum_Image.
-       * exp_attr.adb: Remove reference to Attribute_Enum_Image.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
-       = Positive'Last.
-       * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
-       Str'Last = Positive'Last.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Process_Inline): Remove redundant construct
-       warning (-gnatw.r) for an ineffective pragma Inline.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-valint.adb: Fix typo in last checkin.
-       * s-valuns.adb (Value_Unsigned): More efficient fix for
-       Positive'Last case.
-       * sem_attr.adb (Analyze_Attribute): Minor reformatting
-       (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
-       Str'Last = Positive'Last
-
-2015-01-06  Thomas Quinot  <quinot@adacore.com>
-
-       * xoscons.adb: Display exception information and return non-zero
-       exit status in top level exception handler.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch8.adb: Code clean up.
-
-2015-01-06  Tristan Gingold  <gingold@adacore.com>
-
-       * targparm.ads: Remove obsolete comment.
-
-2015-01-06  Olivier Hainque  <hainque@adacore.com>
-
-        * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
-        constructing a ref to variable, update inner_const_flag from the
-        variable TREE_READONLY attribute.
-        * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
-        definition.
-        (get_target_float_size): Remove.
-        (get_target_double_size): Remove.
-        (get_target_long_double_size): Remove.
-
-2015-01-06  Pascal Obry  <obry@adacore.com>
-
-       * adaint.c (ProcListEvt): Set to NULL.
-       * rtinit.c: New file.
-       (__gnat_rt_init_count): New reference counter set to 0.
-       (__gnat_runtime_initialize): Move code here from __gnat_initialize when
-       this code is actually needed for the runtime initialization. This
-       routine returns immediately if the initialization has already been done.
-       * final.c: Revert previous change.
-       * rtfinal.c: New file.
-       (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
-       section and event. The default version of this routine is empty (except
-       for the reference counting code). This routine returns immediately if
-       some others libraries are referencing the runtime.
-       * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
-       remove circuitry to initialize the signal handler as this is
-       now done by the runtime initialization routine.
-       (Gen_Adafinal): Generate call to Runtime_Finalize.
-       * gnat_ugn.texi: Update documentation about concurrency and
-       initialization/finalization of the run-time.
-       * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
-       references to rtfinal.o and rtinit.o
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
-       for Enum_Image.
-       * sem_attr.adb: Implement Enum_Image attribute.
-       * snames.ads-tmpl: Add entries for Enum_Image attribute.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
-       * restrict.ads (No_Use_Of_Entity): New table.
-       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
-       Ignore No_Use_Of_Entity (will be processed in parser).
-       * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
-       to check for an extended project, if a project does not have
-       yet a project declaration.
-
-2015-01-06  Pierre-Marie Derodat  <derodat@adacore.com>
-
-       * scos.ads: Update documentation about the SCO table build
-       process and about table records format.
-       * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
-       (SCO_Record_Filtered): New procedure.
-       (Set_SCO_Logical_Operator): New procedure.
-       (dsco): Update documentation.
-       * par_sco.adb: Update library-level comments.
-       (SCO_Generation_State_Type): New type.
-       (SCO_Generation_State): New variable.
-       (SCO_Raw_Table): New package instanciation.
-       (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
-       ("<"): New.
-       (Tristate): New type.
-       (Is_Logical_Operator): Return Tristate and update documentation.
-       (Has_Decision): Update call to Is_Logical_Operator and complete
-       documentation.
-       (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
-       comment, add an assertion for state checking and change
-       references to SCO_Table into SCO_Raw_Table.
-       (dsco): Refactor to dump the raw and the filtered tables.
-       (Process_Decisions.Output_Decision_Operand): Handle putative
-       short-circuit operators.
-       (Process_Decisions.Output_Element): Update references
-       to Set_Table_Entry and to Condition_Pragma_Hash_Table.
-       (Process_Decisions.Process_Decision_Operand): Update call
-       to Is_Logical_Operator.
-       (Process_Decisions.Process_Node): Handle putative short-circuit
-       operators and change references to
-       SCO_Table into SCO_Raw_Table.
-       (SCO_Output): Add an assertion
-       for state checking and remove code that used to stamp out SCO entries.
-       (SCO_Pragma_Disabled): Change reference to SCO_Table
-       into SCO_Raw_Table.
-       (SCO_Record): Rename to SCO_Record_Raw,
-       add an assertion for state checking and change references
-       to SCO_Table into SCO_Raw_Table.
-       (Set_SCO_Condition): Add an assertion for state checking, update
-       references to Condition_Pragma_Hash_Table and change references to
-       SCO_Table into SCO_Raw_Table.
-       (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
-       change references to SCO_Table into SCO_Raw_Table.
-       (Set_SCO_Logical_Operator): New procedure.
-       (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
-       references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
-       (SCO_Record_Fildered): New procedure.
-       * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
-       * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
-       output SCOs.
-       * par-load.adb (Load): Update reference to SCO_Record.
-       * par.adb (Par): Update reference to SCO_Record.
-       * put_scos.adb (Put_SCOs): Add an assertion to check that no
-       putative SCO condition reaches this end.
-       * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
-       * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
-       when corresponding to an "and"/"or" operator affected by the
-       Short_Circuit_And_Or pragma.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_ch8.adb (Analyze_Use_Package): Give more specific error
-       msg for attempted USE of generic subprogram or subprogram.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
-       s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
-       a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
-       that specify stream subprograms, if the prefix is a class-wide
-       type then the generated attribute definition clause must apply
-       to the same class-wide type.
-       (Default_Iterator): An iterator defined by an aspect of some
-       container type T must have a first parameter of type T, T'class,
-       or an access to such (from code reading RM 5.5.1 (2/3)).
-
-2015-01-06  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb: Minor: complete previous change.
-
-2015-01-06  Olivier Hainque  <hainque@adacore.com>
-
-       * set_targ.ads (C_Type_For): New function. Return the name of
-       a C type supported by the back-end and suitable as a basis to
-       construct the standard Ada floating point type identified by
-       the T parameter. This is used as a common ground to feed both
-       ttypes values and the GNAT tree nodes for the standard floating
-       point types.
-       * set_targ.adb (Long_Double_Index): The index at which "long
-       double" gets registered in the FPT_Mode_Table. This is useful to
-       know whether we have a "long double" available at all and get at
-       it's characteristics without having to search the FPT_Mode_Table
-       when we need to decide which C type should be used as the
-       basis for Long_Long_Float in Ada.
-       (Register_Float_Type): Fill Long_Double_Index.
-       (FPT_Mode_Index_For): New function. Return the index in
-       FPT_Mode_Table that designates the entry corresponding to the
-       provided C type name.
-       (FPT_Mode_Index_For): New function. Return the index in
-       FPT_Mode_Table that designates the entry for a back-end type
-       suitable as a basis to construct the standard Ada floating point
-       type identified by the input T parameter.
-       (elaboration code): Register_Back_End_Types unconditionally,
-       so C_Type_For can operate regardless of -gnateT. Do it
-       early so we can query it for the floating point sizes, via
-       FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
-       Long_Double_Size from the FPT_Mode_Table, as cstand will do.
-       * cstand.adb (Create_Float_Types): Use C_Type_For to determine
-       which C type should be used as the basis for the construction
-       of the Standard Ada floating point types.
-       * get_targ.ads (Get_Float_Size, Get_Double_Size,
-       Get_Long_Double_Size): Remove.
-       * get_targ.adb: Likewise.
-
-2015-01-06  Thomas Quinot  <quinot@adacore.com>
-
-       * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
-       parameter and rename to...
-       (In_RCI_Visible_Declarations): Fix handling of private part of nested
-       package.
-       (Validate_RCI_Subprogram_Declaration): Reject illegal function
-       returning anonymous access in RCI unit.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
-       function wrapper may be a homonym of another local declaration.
-       * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
-       build function and operator wrappers after the actual subprogram
-       has been resolved, and replace the standard renaming declaration
-       with the declaration of wrapper.
-       * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
-       make public for use elsewhere.
-       * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
-       rewrite, now that actual is fully resolved when wrapper is
-       constructed.
-
-2015-01-06  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb: Revert previous change.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * exp_util.adb: Change name Name_Table_Boolean to
-       Name_Table_Boolean1.
-       * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
-       Introduce Name_Table_Boolean2/3.
-       * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
-       Introduce Name_Table_Boolean2/3.
-       * par-ch13.adb: Change name Name_Table_Boolean to
-       Name_Table_Boolean1.
-
-2015-01-06  Bob Duff  <duff@adacore.com>
-
-       * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
-       others choice that covers multiple components, analyze each
-       copy with the type of the component even in compile-only mode,
-       to detect potential accessibility errors.
-
-2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
-       (Resolve_Actuals): An effectively volatile out
-       parameter cannot act as an in or in out actual in a call.
-       (Resolve_Entity_Name): An effectively volatile out parameter
-       cannot be read.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
-       the expansion of an expression function it may be pre-analyzed
-       if a 'access attribute is applied to the function, in which case
-       last_entity may have been assigned already.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
-       type and actual has the corresponding full view, there is no
-       error, but a case of use of incomplete type in a predicate or
-       invariant expression.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * makeutl.adb (Insert_No_Roots): Make sure that the same source
-       in two different project tree is checked in both trees, if they
-       are sources of two different projects, extended or not.
-
-2015-01-06  Arnaud Charlet  <charlet@adacore.com>
-
-       * gnat1drv.adb: Minor code clean up.
-       (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
-
-2015-01-06  Bob Duff  <duff@adacore.com>
-
-       * osint.adb (Read_Source_File): Don't print out
-       file name unless T = Source.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
-       recognize improper uses of constant_reference types as actuals
-       for in-out parameters.
-       (Check_Function_Call): Do not collect identifiers if function
-       name is missing because of previous error.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
-       ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
-       Minor change of name Name_Table_Info => Name_Table_Int.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
-       in previous checkin.
-       * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
-       of bounds.
-       * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * a-strsup.adb (Times (Natural;String;Positive)): Raise
-       Length_Error, not Index_Error, when the result is too long.
-
-2015-01-06  Thomas Quinot  <quinot@adacore.com>
-
-       * a-direct.adb (Create_Path): Minor error handling and
-       performance improvement.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * checks.ads, sem_ch12.adb: Minor reformatting.
-       * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
-       zero check for fixed-point case if Backend_Divide_Checks_On_Target
-       is False.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
-       Do not set restriction No_Elaboration_Code unless the pragma
-       appears in the main unit).
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
-       that with clause has already been analyzed before checking kind
-       of with_clause.
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * exp_strm.adb (Build_Elementary_Input_Call): Return base type
-       (as required by RM).
-
-2015-01-06  Arnaud Charlet  <charlet@adacore.com>
-
-       * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
-
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
-       for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
-
-2015-01-06  Javier Miranda  <miranda@adacore.com>
-
-       * exp_disp.adb (Expand_Interface_Conversion): No displacement
-       of the pointer to the object needed when the type of the operand
-       is not an interface type and the interface is one of its parent
-       types (since they share the primary dispatch table).
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * prj-env.adb: Minor comment update.
-
-2015-01-06  Javier Miranda  <miranda@adacore.com>
-
-       * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
-       access types whose target type is an interface type to operands
-       that are access types; required to report an error when the
-       operand is not an access type.
-
-2015-01-06  Bob Duff  <duff@adacore.com>
-
-       * a-cfinve.adb (Copy): Set the discriminant to the Length when
-       Capacity = 0.
-       * a-cofove.ads (Capacity): Add a postcondition.
-       * a-cfinve.ads (Capacity): Add a postcondition.
-       (Reserve_Capacity): Correct the postcondition in the case where
-       Capacity = 0; that means "Capacity => Length (Container)".
-       * a-cofove.adb (Elems[c]): Add a comment
-       explaining the dangers and how to avoid them.
-
-2015-01-06  Ed Schonberg  <schonberg@adacore.com>
-
-       * sem_ch12.adb: Code clean up.
-
-2015-01-06  Arnaud Charlet  <charlet@adacore.com>
+2016-01-02  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gnatvsn.ads: Bump copyright year.
 
-2015-01-06  Robert Dewar  <dewar@adacore.com>
-
-       * s-taskin.ads, s-traces.ads: Minor reformatting.
-       * exp_util.adb: Minor typo fix.
-
-2015-01-06  Vincent Celier  <celier@adacore.com>
-
-       * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
-       with the runtime name.
-       * prj-env.adb (Initialize_Default_Project_Path): When both
-       Target_Name and Runtime_Name are not empty string, add to the
-       project path the two directories .../lib/gnat and .../share/gpr
-       related to the runtime.
-       * prj-env.ads (Initialize_Default_Project_Path): New String
-       parameter Runtime_Name, defaulted to the empty string.
-
-2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * frontend.adb: Guard against the case where a configuration
-       pragma may be split into multiple pragmas and the original
-       rewritten as a null statement.
-       * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
-       pragma using Insert_Before rather than Insert_Action. This
-       takes care of the configuration pragma case where Insert_Action
-       would fail.
-
-2015-01-06  Bob Duff  <duff@adacore.com>
-
-       * a-coboho.ads (Element_Access): Add "pragma
-       No_Strict_Aliasing (Element_Access);". This is needed because
-       we are unchecked-converting from Address to Element_Access.
-       * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
-       result to be 1.
-
-2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
-
-       * sem_res.adb (Resolve_Actuals): Remove the
-       restriction which prohibits volatile actual parameters with
-       enabled external propery Async_Writers to act appear in procedure
-       calls where the corresponding formal is of mode OUT.
-
-2015-01-05  Jakub Jelinek  <jakub@redhat.com>
-
-       * gnat_ugn.texi: Bump @copying's copyright year.
-
-2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
-
-       PR ada/64492
-       * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
-
-2015-01-04  Uros Bizjak  <ubizjak@gmail.com>
-
-       * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
-       of unchecked asprintf.
-
 \f
-Copyright (C) 2015 Free Software Foundation, Inc.
+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
diff --git a/gcc/ada/ChangeLog-2015 b/gcc/ada/ChangeLog-2015
new file mode 100644 (file)
index 0000000..7226214
--- /dev/null
@@ -0,0 +1,10511 @@
+2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_rewrite_reference) <REALPART_EXPR>: New
+       case identical to FLOAT_EXPR.
+       <IMAGPART_EXPR>: Likewise.
+
+2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: During
+       layout in type_annotate_only mode, skip discriminants of derived
+       tagged types renaming those of the parent type.
+       In type_annotate_only mode, if the type is tagged, do not override a
+       size clause but take into account the alignment of the tag.
+       (annotate_rep): In type_annotate_only mode, deal with  discriminants
+       of derived tagged types renaming those of the parent type.
+
+2015-12-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (maybe_pad_type): In type_annotate_only mode,
+       retrieve the component type if this is an array and do not issue the
+       warning for concurrent types.
+
+2015-12-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (TYPE_DEBUG_TYPE): Remove duplicate.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/ada-tree.h
+       (TYPE_IMPLEMENTS_PACKED_ARRAY_P, TYPE_CAN_HAVE_DEBUG_TYPE_P,
+       TYPE_ORIGINAL_PACKED_ARRAY, SET_TYPE_ORIGINAL_PACKED_ARRAY): New
+       macros.
+       * gcc-interface/decl.c (add_parallel_type_for_packed_array):
+       Rename to associate_original_type_to_packed_array.  When
+       -fgnat-encodings=minimal, set original packed array type as so
+       instead of as a parallel type to the implementation type.  In
+       this case, also rename the implementation type to the name of
+       the original array type.
+       (gnat_to_gnu_entity): Update invocations to
+       add_parallel_type_for_packed_array.  Tag ARRAY_TYPE nodes for
+       packed arrays with the TYPE_PACKED flag.
+       When -fgnat-encodings=minimal:
+         - strip ___XP suffixes in packed arrays' names;
+         - set the debug type for padding records around packed arrays
+           to the packed array;
+         - do not attach ___XUP types as parallel types of constrained
+           array types.
+       * gcc-interface/misc.c (gnat_print_type): Update to handle
+       orignal packed arrays.
+       (gnat_get_debug_type): Update to reject packed arrays
+       implementation types.
+       (get_array_bit_stride): New.
+       (gnat_get_array_descr_info): Add packed arrays handling.
+       * gcc-interface/utils.c (maybe_pad_type): When
+       -fgnat-encodings=minimal, set the name of the padding type to
+       the one of the original packed type, if any.  Fix TYPE_DECL
+       peeling around the name of the input type.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/misc.c (gnat_get_type_bias): New.
+       (LANG_HOOKS_GET_TYPE_BIAS): Redefine macro to implement the
+       get_type_bias language hook.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/misc.c (gnat_get_array_descr_info): When the
+       array has more dimensions than the language hook can handle,
+       fall back to a nested arrays description.  Handle context-less
+       array types.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): When
+       -fgnat-encodings-minimal, do not add ___XUP/XUT suffixes to type
+       names and do not generate ___XA parallel types.
+       * gcc-interface/misc.c (gnat_get_array_descr_info): Match fat
+       and thin pointers and generate the corresponding array type
+       descriptions.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/ada-tree.def (POWER_EXPR): New binary operation.
+       * gcc-interface/ada-tree.h (TYPE_FIXED_POINT_P): New macro.
+       (TYPE_IS_FIXED_POINT_P): New macro.
+       (TYPE_SCALE_FACTOR): New macro.
+       (SET_TYPE_SCALE_FACTOR): New macro.
+       * gcc-interface/decl.c: Include urealp.h
+       (gnat_to_gnu_entity): Attach trees to encode scale factors to
+       fixed-point types.
+       * gcc-interface/misc.c (gnat_print_type): Print scale factors
+       for fixed-point types.
+       (gnat_get_fixed_point_type_info): New.
+       (gnat_init_ts): Initialize data for the POWER_EXPR binary
+       operation.
+       (LANG_HOOKS_GET_FIXED_POINT_INFO): Redefine macro to implement
+       the get_fixed_point_type_info language hook.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/ada-tree.h (struct lang_type): Rename the t
+       field as t1 and add a t2 one.
+       (get_lang_specific): New.
+       (GET_TYPE_LANG_SPECIFIC): Refactor to use get_lang_specific.
+       (SET_TYPE_LANG_SPECIFIC): Likewise.
+       (GET_TYPE_LANG_SPECIFIC2): New macro.
+       (SET_TYPE_LANG_SPECIFIC2): New macro.
+       (TYPE_DEBUG_TYPE): New macro.
+       (SET_TYPE_DEBUG_TYPE): New macro.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): When
+       -fgnat-encodings=minimal, set padding types' debug type to the
+       padded one (i.e. strip ___PAD GNAT encodings) and set
+       constrained record subtypes's debug type to the base type.
+       * gcc-interface/misc.c (gnat_print_type): Print debug types.
+       (gnat_get_debug_type): New.
+       (gnat_get_array_descr_info): When -fgnat-encodings=minimal, set
+       a byte stride for arrays that contain a type whose debug type
+       has variable length.
+       (LANG_HOOKS_GET_DEBUG_TYPE): Redefine macro to implement the
+       debug type language hook.
+       * gcc-interface/utils.c (maybe_pad_type): When
+       -fgnat-encodings=minimal, set padding types' debug type to the
+       padded one.  Restore XVZ variables creation when
+       -fgnat-encodings-minimal and use them to hold padding types'
+       byte size.  For library-level padding types, share this variable
+       across translation units.  Tag XVZ variables as artificial.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Disable ___XVS GNAT
+       encodings when -fgnat-encodings=minimal.
+       (components_to_record): Disable ___XVE, ___XVN, ___XVU and
+       ___XVZ GNAT encodings when -fgnat-encodings=minimal.
+       * gcc-interface/utils.c (maybe_pad_type): Disable __XVS GNAT
+       encodings when -fgnat-encodings=minimal.
+
+2015-12-17  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/misc.c (gnat_encodings): Undefine macro and
+       declare a global variable.
+       (gnat_post_options): Initialize this global from options.
+
+2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/48013
+       * gcc-interface/trans.c (empty_stmt_list_p): New predicate.
+       (gigi): Invoke it to compute the No_Elaboration_Code property.
+       (insert_code_for): Do not insert the code if it's empty.
+
+2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Call_to_gnu): Remove guard for NULL_EXPR.
+       * gcc-interface/utils2.c (gnat_rewrite_reference) <ERROR_MARK>: Return
+       the reference unmodified.
+       <NULL_EXPR>: New case.  Likewise.
+
+2015-12-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (create_var_decl): Adjust comment.
+       (create_subprog_decl): Likewise.
+       * gcc-interface/utils.c (create_var_decl): Likewise.
+       (create_subprog_decl): Likewise.
+
+2015-12-10  Tom de Vries  <tom@codesourcery.com>
+
+       PR ada/65102
+       * gnat-style.texi: Set nodefaultgnufreedocumentationlicensenode and
+       define @node GNU Free Documentation License locally.
+
+2015-12-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/66526
+       * g-expect.adb (Set_Up_Child_Communications): Add matching condition
+       for uses of Input, Ouput and Error variables after the Execvp call.
+
+2015-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/48088
+       PR c/68657
+       * gcc-interface/trans.c (Pragma_to_gnu): Adjust control_warning_option
+       caller.
+
+2015-12-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
+
+       PR ada/60164
+       * doc/gnat_ugn/gnat_and_program_execution.rst (gnatmem): Fix typo.
+
+2015-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/50048
+       * gcc-interface/Makefile.in (INCLUDES): Use -iquote.
+
+2015-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/56274
+       * s-osinte-kfreebsd-gnu.ads (pthread_rwlock_t): New subtype.
+       (pthread_rwlockattr_t): Likewise.
+
+2015-12-06  Ludovic Brenta  <ludovic@ludovic-brenta.org>
+
+       PR ada/49944
+       * s-osinte-freebsd.ads: Minor reformatting.
+       (Stack_Base_Available): Correct comments.
+       * s-osinte-kfreebsd-gnu.ads (Time_Slice_Supported, nanosleep,
+       clock_id_t, clock_gettime, Stack_Base_Available, Get_Page_Size,
+       mprotect, pthread_mutexattr_setprotocol,pthread_mutexattr_getprotocol
+       pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling,
+       pthread_attr_setscope, pthread_attr_getscope,
+       pthread_attr_setinheritsched, pthread_attr_getinheritsched,
+       Time_Slice_Supported): Copy from s-osinte-freebsd.ads.
+       * gcc-interface/Makefile.in (x86/kfreebsd): Use the POSIX version of
+       the System.Task_Primitives.Operations package.
+
+2015-12-06  Ludovic Brenta  <ludovic@ludovic-brenta.org>
+
+       PR ada/49940
+       * s-osinte-kfreebsd-gnu.ads (lwp_self): New imported function.
+
+2015-12-01  Jan Sommer  <soja-lists@aries.uberspace.de>
+
+       PR ada/68169
+       * s-oscons-tmplt.c: Generate pthread constants for RTEMS
+       * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada
+
+2015-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Reorder.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gigi): Fix initialization order.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * osint.adb: Add use type clause for CRTL.size_t.
+       (C_String_Length): Return CRTL.size_t instead of Integer.
+       (To_Path_String_Access): Take CRTL.size_t instead of Integer.
+       (Get_Libraries_From_Registry): Use CRTL throughout.
+       (To_Canonical_Dir_Spec): Use CRTL.size_t instead of Integer.
+       (To_Canonical_File_List): Likewise.
+       (To_Canonical_File_Spec): Likewise.
+       (To_Canonical_Path_Spec): Likewise.
+       (To_Host_Dir_Spec): Likewise.
+       (To_Host_File_Spec): Likewise.
+       (Update_Path): Use CRTL throughout.
+       * s-shasto.adb: Add with clause for System.CRTL.
+       (Initialize): Rename CRTL.strncpy instead of importing it manually.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (create_var_decl): Adjust prototype.
+       (create_subprog_decl): Likewise.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Rename
+       static_p into static_flag and add volatile_flag local variable.
+       Do not locally change the type of a volatile object, except for the
+       pointed-to type if the object is handled by reference.  Adjust calls
+       to create_var_decl.
+       <E_Subprogram_Type>: Likewise for const and noreturn subprograms.
+       (get_minimal_subprog_decl): Adjust call to create_subprog_decl.
+       (elaborate_expression_1): Adjust call to create_var_decl.
+       (gnat_to_gnu_field): Minor tweak.
+       * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
+       create_subprog_decl.
+       (build_raise_check): Likewise.
+       (Subprogram_Body_to_gnu): Likewise.
+       (create_temporary): Likewise.
+       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+       (Exception_Handler_to_gnu_gcc): Likewise.
+       (Compilation_Unit_to_gnu): Likewise.
+       (gnat_to_gnu): Likewise.
+       * gcc-interface/utils.c (maybe_pad_type): Likewise.
+       (create_var_decl): Add VOLATILE_FLAG parameter and handle it.
+       (create_subprog_decl): Add CONST_FLAG and VOLATILE_FLAG parameters and
+       handle them.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (is_simple_additive_expression): Declare.
+       * gcc-interface/trans.c (struct range_check_info_d): Add DISP and
+       NEG_P fields.
+       (find_loop_for): Add DISP and NEG_P parameters with default value.
+       Call is_simple_additive_expression to handle additive expressions.
+       (Loop_Statement_to_gnu): Deal with displacement in range checks.
+       (Raise_Error_to_gnu): Likewise.
+       (gnat_to_gnu): Add call to find_loop_for.
+       (is_simple_additive_expression): New function extracted from...
+       (gnat_invariant_expr): ...here.  Call it on the expression.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_invariant_expr): Add type conversions.
+
+2015-11-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): New macro.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set PACKED to -2.
+       Remove obsolete code setting the alignment on some atomic types.
+       When the type has no alignment but needs strict alignment and has a
+       size clause, compute a maximum alignment and set it on the type.
+       (adjust_packed): Remove handling of -2 argument.  Deal with TYPE_ALIGN
+       and TYPE_MAX_ALIGN directly.
+       (gnat_to_gnu_field): Do not document -2 as argument.
+       (components_to_record): Likewise.
+       * gcc-interface/utils.c (finish_record_type): Do not bump alignment of
+       the record type beyond TYPE_MAX_ALIGN.  Reset the latter on exit.
+
+       * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): Move around.
+       (GNATLIBCFLAGS_FOR_C): Reformat.
+       (GCC_CFLAGS): Delete.
+
+2015-11-29  Matthias Klose  <doko@ubuntu.com>
+
+       PR ada/68564
+       * gcc-interface/Makefile.in: Fix powerpc/powerpc64* and
+       mipsel/mips64el bitness detection.
+       Merge the mipsel/mips64el definitions into one.
+
+2015-11-28  Matthias Klose  <doko@ubuntu.com>
+
+       PR ada/68564
+       * gcc-interface/Makefile.in: Fix sparc/sparc64 bitness detection.
+
+2015-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * lib-xref-spark_specific.adb
+       (Add_SPARK_Scope): Take entry families into account.
+       * a-exetim.ads, a-exetim-default.ads, a-exetim-mingw.ads (Clock,
+       Clock_For_Interrupts): preconditions added.
+       * a-extiin.ads (Clock): preconditions added.
+       * par-ch3.adb (P_Declarative_Items): In case of misplaced
+       aspect specifications, ensure that flag Done is properly set to
+       continue parsing.
+
+2015-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Minimize extra temporaries
+       and use of 'Reference when needed.
+
+2015-11-25  Doug Rupp  <rupp@adacore.com>
+
+       * sigtramp-vxworks-target.inc (__x86_64__): Restore context for the
+       sake of uniformity.
+       * init.c (__gnat_inum_to_ivec): Add some casting to avoid
+       warnings when sizeof(long) != sizeof(int)
+
+2015-11-25  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb (SPARK_Entities): Add entries for
+       consideration.
+       (Add_SPARK_Scope): Take tasks into account.
+       (Detect_And_Add_SPARK_Scope): Take tasks into account.
+       (Enclosing_Subprogram_Or_Library_Package): Take tasks into account.
+
+2015-11-25  Bob Duff  <duff@adacore.com>
+
+       * sem_elab.adb (Check_Internal_Call_Continue): Code clean ups.
+
+2015-11-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_util.ads (Has_Compatible_Alignment): Add Layout_Done
+       parameter.
+       * sem_util.adb (Has_Compatible_Alignment): Likewise.
+       (Has_Compatible_Alignment_Internal): Likewise.  Do not set the
+       result to Unknown for packed types if Layout_Done is true.
+       * checks.adb (Apply_Address_Clause_Check): Adjust call and
+       pass False to Has_Compatible_Alignment.
+       * sem_ch13.adb (Validate_Address_Clauses): Likewise but pass True.
+
+2015-11-25  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: When <target>-gnat is called with switch -P
+       and a GPR tool is invoked, invoke the GPR tool with switch
+       --target=<target>.
+
+2015-11-25  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * opt.adb, bcheck.adb: Minor reformatting.
+
+2015-11-25  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c: Enable the signal trampoline on x86_64-vx7
+       * sigtramp-vxworks-target.inc: Implement the signal trampoline
+       for x86_64
+       * tracebak.c: Remove the hook to use the generic
+       unwinder on x86_64-vx7.
+
+2015-11-25  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: When "gnat name -P" is called, invoke gprname
+       directly if available.
+
+2015-11-25  Tristan Gingold  <gingold@adacore.com>
+
+       * init.c (__gnat_is_stack_guard): Do not use mach calls for
+       IOS simulator.
+
+2015-11-24  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/utils.c (gnat_write_global_declarations): Output
+       debugging information for top-level imported declarations.
+
+2015-11-24  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb, sem_type.adb, sem_ch7.adb, sem_ch9.adb, checks.adb,
+       sem_prag.adb, contracts.adb, g-strhas.ads, sem_ch6.adb: Minor
+       reformatting, rewording, and typo corrections.
+
+2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
+       ASIS mode, do a minimal translation for root types with discriminants.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Subunit>: Move around.
+       <N_Entry_Body, N_Protected_Body, N_Task_Body>: Likewise.  In ASIS mode,
+       process the declarations attached to the body.
+
+2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu): In type_annotate_only mode, do
+       not build a NULL_EXPR for an N_Expanded_Name.
+
+2015-11-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (is_cplusplus_method): Check that the type of
+       the first parameter (indirectly) has C++ convention too.
+
+2015-11-23  Olivier Hainque  <hainque@adacore.com>
+
+       * system-aix.ads: Add Frontend_Exceptions flag.
+       * system-aix64.ads: Likewise.
+       * system-darwin-ppc.ads: Likewise.
+       * system-darwin-ppc64.ads: Likewise.
+       * system-darwin-x86.ads: Likewise.
+       * system-darwin-x86_64.ads: Likewise.
+       * system-dragonfly-x86_64.ads: Likewise.
+       * system-freebsd-x86.ads: Likewise.
+       * system-freebsd-x86_64.ads: Likewise.
+       * system-hpux-ia64.ads: Likewise.
+       * system-hpux.ads: Likewise.
+       * system-linux-alpha.ads: Likewise.
+       * system-linux-armeb.ads: Likewise.
+       * system-linux-armel.ads: Likewise.
+       * system-linux-hppa.ads: Likewise.
+       * system-linux-ia64.ads: Likewise.
+       * system-linux-mips.ads: Likewise.
+       * system-linux-mips64el.ads: Likewise.
+       * system-linux-mipsel.ads: Likewise.
+       * system-linux-ppc.ads: Likewise.
+       * system-linux-ppc64.ads: Likewise.
+       * system-linux-s390.ads: Likewise.
+       * system-linux-s390x.ads: Likewise.
+       * system-linux-sh4.ads: Likewise.
+       * system-linux-sparc.ads: Likewise.
+       * system-linux-sparcv9.ads: Likewise.
+       * system-linux-x86.ads: Likewise.
+       * system-linux-x86_64.ads: Likewise.
+       * system-mingw-x86_64.ads: Likewise.
+       * system-mingw.ads: Likewise.
+       * system-rtems.ads: Likewise.
+       * system-solaris-sparc.ads: Likewise.
+       * system-solaris-sparcv9.ads: Likewise.
+       * system-solaris-x86.ads: Likewise.
+       * system-solaris-x86_64.ads: Likewise.
+       * system-vxworks-arm.ads: Likewise.
+       * system-vxworks-m68k.ads: Likewise.
+       * system-vxworks-mips.ads: Likewise.
+       * system-vxworks-ppc.ads: Likewise.
+       * system-vxworks-sparcv9.ads: Likewise.
+       * system-vxworks-x86.ads: Likewise.
+       * system.ads: Likewise.
+
+2015-11-23  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <botcazou@adacore.com>
+
+       * opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
+       Back_End_SJLJ and Back_End_ZCX.
+       (Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
+       SJLJ_Exceptions): New functions, reflecting properties of the current
+       Exception_Mechanism.
+       * opt.adb: Implement the new functions.
+       * fe.h: Bind the new Exception_Mechanism and helper functions for gigi.
+
+       * exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
+       use of property helper and update comments.
+       (Expand_Exception_Handlers): Replace tests on mechanism by use of
+       helper. Restrict Abort_Defer to ZCX specifically.
+       * exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
+       mechanism by calls to helper functions. Abort_Undefer for ZCX only,
+       paired with Expand_Exception_Handlers.
+       * exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
+       by calls to helper functions. Abort_Undefer for ZCX only, paired with
+       Expand_Exception_Handlers.
+
+       * lib-writ.ads (P line documentation): Add entry for "FX",
+       representative of unit compiled with Frontend_Exceptions True.
+       * lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
+       compiled with Frontend_Exceptions True.
+
+       * ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
+       whether the ALI file contained an "FX" indication on the P line.
+       (Frontend_Exceptions_Specified): New boolean, to keep track of whether
+       at least an FX ALI file is in the closure.
+       * ali.adb (Scan_ALI): Handle "FX" on the P line.
+       (Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.
+
+       * targparm.ads: Update desription of exception schemes.
+       (Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
+       set to True in system.ads, or not set at all.
+       * targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
+       Rename ZCD to ZCX for consistency.
+       (FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.
+
+       * gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
+       setting, now from combination of Frontend_Exceptions and ZCX_By_Default.
+
+       * bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
+       as ...
+       (Check_Consistent_Exception_Handling): Check consistency of both
+       ZCX_By_Default and Frontend_Exceptions.
+       (Check_Configuration_Consistency): Check_Consistent_Exception_Handling
+       if either flag was set at least once.
+
+       * make.adb (Check): Remove processing of a possible -fsjlj coming from
+       lang-specs.h.
+       * gnatlink.adb (Gnatlin): Likewise.
+
+       * gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
+       both ZCX_By_Default and Frontend_Exceptions.
+       * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
+       Use eh property helper to test for back-end exceptions. Adjust
+       mechanism name when testing for front-end sjlj.
+       (case E_Procedure): Likewise.
+       * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
+       Likewise, and rename local variables.
+       (Exception_Handler_to_gnu_sjlj): Rename as
+       Exception_Handler_to_gnu_fe_sjlj.
+       (Exception_Handler_to_gnu_zcx): Rename as
+       Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
+       to use property helpers or correct mechanism name.
+
+2015-11-19  Bob Duff  <duff@adacore.com>
+
+       * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous
+       change: correctly handle generic formals/actuals that look like
+       renamings.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (elaborate_all_entities_for_package): New
+       function extracted from...  Recurse on packages.
+       (elaborate_all_entities): ...here.  Call it on packages.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro.
+       * gcc-interface/gigi.h (enum standard_datatypes): Remove
+       ADT_longjmp_decl and add ADT_not_handled_by_others_decl.
+       (longjmp_decl): Delete.
+       (not_handled_by_others_decl): New macro.
+       (build_simple_component_ref): Delete.
+       (build_component_ref): Adjust prototype.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to
+       build_component_ref.
+       (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants
+       without default value.
+       * gcc-interface/trans.c (gigi): Reorder initialization sequence
+       and add not_handled_by_others_decl.
+       (Attribute_to_gnu): Adjust calls to build_component_ref.
+       (Subprogram_Body_to_gnu): Likewise.
+       (Call_to_gnu): Likewise.
+       (Exception_Handler_to_gnu_sjlj): Likewise.
+       (gnat_to_gnu): Likewise.
+       (range_check_info_d): Add inserted_cond field.
+       (Loop_Statement_to_gnu): Make two passes on the recorded range checks.
+       (build_noreturn_cond): New static function.
+       (Raise_Error_to_gnu): Record range checks in loops at -O1 and above.
+       (make_invariant): New static function.
+       (Loop_Statement_to_gnu): Use it to compute invariant expressions for
+       the loop bounds if possible, but do not require it if loop unswitching
+       is enabled.
+       * gcc-interface/utils.c (convert_to_fat_pointer): Likewise.
+       (convert): Likewise.
+       (maybe_unconstrained_array): Likewise.  Call it instead of
+       build_simple_component_ref and add guard for CONSTRUCTORs.
+       (unchecked_convert): Likewise.
+       * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+       (build_simple_component_ref): Remove COMPONENT parameter, unify
+       code dealing with VIEW_CONVERT_EXPR and make it more general,
+       remove special treatment for CONSTRUCTORs of template types.
+       (build_component_ref): Remove COMPONENT parameter and adjust call
+       to build_simple_component_ref.
+       (maybe_wrap_malloc): Likewise.
+       (build_allocator): Likewise.
+       (gnat_invariant_expr): Look through overflow checks, deal with
+       addition and subtraction of constants and take into account
+       DECL_INVARIANT_P for the COMPONENT_REF case.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c: Move global variables to the top of the file.
+       (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers.
+       (gnat_init_options): Minor tweak.
+       (gnat_post_options): Set -fstrict-overflow if not done by the user.
+       (internal_error_function): Minor reformatting.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1
+       for the renaming of an address.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If
+       the index is not itself constant then bail out.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): When constructing the
+       parameter list for the potentially overloaded calls to indexing
+       functions, do not propagate overloadings if the actual is a named
+       association: overloadings appear directly on the expression in
+       the association.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_type.adb (Interface_Present_In_Ancestor): If the type is
+       incomplete, the list of ancestors is found either on the full
+       view or the non-limited view of the type.
+
+2015-11-18  Nicolas Roche  <roche@adacore.com>
+
+       * sysdep.c (__gnat_localtime_tzoff): On Windows platform
+       GetTimeZoneInformation function is thread-safe. Thus there
+       is no need to lock the runtime in the implementation of
+       __gnat_localtime_tzoff on that platform.
+
+2015-11-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Analyze_Contracts): New routine.
+       (Analyze_Enclosing_Package_Body_Contract): Removed.
+       (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter
+       Freeze_Id.  Propagate the entity of the freezing body to vaious
+       analysis routines.
+       (Analyze_Initial_Declaration_Contract): Removed.
+       (Analyze_Object_Contract): Add formal parameter
+       Freeze_Id. Propagate the entity of the freezing body to vaious
+       analysis routines.
+       (Analyze_Previous_Contracts): New routine.
+       * contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed.
+       (Analyze_Contracts): New routine.
+       (Analyze_Entry_Or_Subprogram_Contract): Add formal
+       parameter Freeze_Id and update the comment on usage.
+       (Analyze_Initial_Declaration_Contract): Removed.
+       (Analyze_Object_Contract): Add formal parameter Freeze_Id and
+       update the comment on usage.
+       (Analyze_Previous_Contracts): New routine.
+       * sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to
+       analyze all contracts of eligible constructs.
+       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+       A body no longer freezes the contract of its initial
+       declaration. This effect is achieved through different means.
+       (Analyze_Subprogram_Body_Helper): A body now freezes the contracts
+       of all eligible constructs that precede it. A body no longer
+       freezes the contract of its initial declaration. This effect is
+       achieved through different means.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes
+       the contracts of all eligible constructs that precede it. A body
+       no longer freezes the contract of its initial declaration. This
+       effect is achieved through different means.
+       * sem_ch9.adb (Analyze_Entry_Body): A body now freezes
+       the contracts of all eligible constructs that precede
+       it. A body no longer freezes the contract of its initial
+       declaration. This effect is achieved through different means.
+       (Analyze_Protected_Body): A body now freezes the contracts
+       of all eligible constructs that precede it. A body no longer
+       freezes the contract of its initial declaration. This effect
+       is achieved through different means.
+       (Analyze_Task_Body): A
+       body now freezes the contracts of all eligible constructs that
+       precede it. A body no longer freezes the contract of its initial
+       declaration. This effect is achieved through different means.
+       * sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task
+       objects now output their respective current instance of xxx
+       type messages.  (Analyze_Contract_Cases_In_Decl_Part): Add
+       formal parameter Freeze_Id. Emit a clarification message
+       when an undefined entity may the byproduct of contract
+       freezing.
+       (Analyze_Part_Of_In_Decl_Part): Add formal
+       parameter Freeze_Id. Emit a clarification message when an
+       undefined entity may the byproduct of contract freezing.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal
+       parameter Freeze_Id. Emit a clarification message when an
+       undefined entity may the byproduct of contract freezing.
+       (Analyze_Refined_State_In_Decl_Part): Do not report unused body
+       states as constituents of single protected/task types may not
+       bave been identified yet.
+       (Collect_Subprogram_Inputs_Outputs):
+       Reimplemented.  (Contract_Freeze_Error): New routine.
+       (Process_Overloadable): Use predicate Is_Single_Task_Object.
+       * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part):
+       Add formal parameter Freeze_Id and update the comment
+       on usage.
+       (Analyze_Part_Of_In_Decl_Part): Add formal
+       parameter Freeze_Id and update the comment on usage.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter
+       Freeze_Id and update the comment on usage.
+       * sem_util.adb (Check_Unused_Body_States): Remove global
+       variable Legal_Constits. The routine now reports unused
+       body states regardless of whether constituents are
+       legal or not.
+       (Collect_Body_States): A constituent of a
+       single protected/task type is not a visible state of a
+       package body.
+       (Collect_Visible_States): A constituent
+       of a single protected/task type is not a visible
+       state of a package body.
+       (Has_Undefined_Reference): New routine.
+       (Is_Single_Concurrent_Object): Reimplemented.
+       (Is_Single_Protected_Object): New routine.
+       (Is_Single_Task_Object): New routine.
+       (Is_Visible_Object): New routine.
+       (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
+       * sem_util.ads (Check_Unused_Body_States): Update the comment on usage.
+       (Has_Undefined_Reference): New routine.
+       (Is_Single_Protected_Object): New routine.
+       (Is_Single_Task_Object): New routine.
+       (Report_Unused_Body_States): Moved to Check_Unused_Body_States.
+
+2015-11-18  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * Makefile.rtl, impunit.adb: Add g-strhas.ads.
+       * g-strhas.ads: New file.
+       * s-strhas.ads: Add a comment to redirect users to g-strhas.ads.
+
+2015-11-18  Bob Duff  <duff@adacore.com>
+
+       * sem_elab.adb (Check_Internal_Call_Continue): Fix the case
+       where the call in question is to a renaming of a subprogram that
+       can be safely called without ABE.
+       * checks.adb: Minor edits.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * atree.adb (Elist11): New routine.
+       (Set_Elist11): New routine.
+       * atree.ads (Elist11): New routine.
+       (Set_Elist11): New routine.
+       * atree.h: Define Elist11.
+       * contracts.adb (Analyze_Object_Contract): Verify the legality
+       of all references to a variable given that the variable is a
+       constituent of a single protected/task type.
+       * einfo.adb: Part_Of_References now utilizes Elist11.
+       (Part_Of_References): New routine.
+       (Set_Part_Of_References): New routine.
+       (Write_Field11_Name): Add output for Part_Of_References.
+       * einfo.ads New attribute Part_Of_References along with usage
+       in entities.
+       (Part_Of_References): New routine along with
+       pragma Inline.
+       (Set_Part_Of_References): New routine along with pragma Inline.
+       * sem_prag.adb (Analyze_Constituent): Record a possible
+       reference to a concurrent constituent.
+       (Analyze_Global_Item): Record a possible reference to a concurrent
+       constituent.
+       (Analyze_Input_Output): Record a possible reference to a
+       concurrent constituent.
+       * sem_res.adb (Resolve_Entity_Name): Record a possible reference
+       to a concurrent constituent.
+       * sem_util.adb (Check_Part_Of_Reference): New routine.
+       (Record_Possible_Part_Of_Reference): New routine.
+       * sem_util.ads (Check_Part_Of_Reference): New routine.
+       (Record_Possible_Part_Of_Reference): New routine.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
+       An if_expression is the proper place to apply the overflow
+       minimization procedure if its context is not an enclosing
+       arithmetic expression.
+
+2015-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn/gnat_project_manager.rst,
+       gnat_ugn/building_executable_programs_with_gnat.rst,
+       gnat_ugn/gnat_and_program_execution.rst,
+       gnat_ugn/the_gnat_compilation_model.rst,
+       gnat_rm/implementation_defined_pragmas.rst,
+       gnat_rm/standard_and_implementation_defined_restrictions.rst,
+       gnat_ugn.texi, gnat_rm.texi: Update doc.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Add_Contract_Item): Chain pragmas Attach_Handler
+       and Interrupt_Handler on the classifications list of a [generic]
+       procedure N_Contract node.
+       * contracts.ads (Add_Contract_Item): Update the comment on usage.
+       * einfo.adb (Get_Pragma): Pragmas Attach_Handler and
+       Interrupt_Handler are found on the classifications list of
+       N_Contract nodes.
+       * einfo.ads (Get_Pragma): Update the comment on usage.
+       * sem_prag.adb (Process_Interrupt_Or_Attach_Handler): Code
+       reformatting. Store the pragma as a contract item.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Available_Subtype): Use only in GNATprove
+       mode. When generating code it may be necessary to create itypes
+       at the point of use of a selected component, for example in the
+       expansion of a record equality operation.
+
+2015-11-18  Vincent Celier  <celier@adacore.com>
+
+       * s-os_lib.adb (Normalize_Pathname.Get_Directory): When
+       invoking Normalize_Pathname, use the same values for parameters
+       Resolve_Links and Case_Sensitive as the parent Normalize_Pathname.
+
+2015-11-18  Vincent Celier  <celier@adacore.com>
+
+       * a-direct.adb (Containing_Directory): Return "." when the result
+       is the current directory, not specified as an absolute path name.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_aggr.adb (Is_Completely_Hidden_Discriminant): New routine.
+       (Init_Hidden_Discriminants): Code reformatting. Do not initialize
+       a completely hidden discriminant.
+       * a-interr.ads (Get_CPU): Added SPARK_Mode, Volatile_Function
+       and Global aspects on the function.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_intr.adb (Expand_Unc_Deallocation): If the designated
+       type is a concurrent type, the deallocation applies to the
+       corresponding record type, or to its class-wide type if the type
+       is tagged.
+
+2015-11-18  Doug Rupp  <rupp@adacore.com>
+
+       * s-parame-vxworks.adb: Reduce default stack size for stack
+       limit check to a reasonable value
+       * s-tpopsp-vxworks.adb: Make Stack_Limit a task variable for vx5 and
+       vxmils.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Diagnose assignment where
+       left-hand side has a limited view of a class-wide type.
+       * sem_ch6.adb (Detected_And_Exchange): Do not install a non-limited
+       view if the scope of the type of the formal is visible through
+       a limited_with_clause, even if the non-limited view is available.
+
+2015-11-18  Emmanuel Briot  <briot@adacore.com>
+
+       * s-pooglo.ads: Make Global_Pool_Object aliased.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute, case 'Access): If the prefix
+       is an expression function, do not analyze the generated body if
+       the current scope is not the scope of the expression function,
+       as may happen if the attribute is an actual in an instantiation.
+       * sem_ch10.adb, sem_ch12.adb, a-stzmap.adb, s-soflin.adb,
+       a-stwima.adb: Fix typos.
+
+2015-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch11.adb (Expand_N_Exception_Declaration): No-op when
+       generating C code.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       PR ada/66242
+       * exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
+       defer / undefer pairs are now encapsulated in a block with
+       an AT END handler. Partial finalization now takes restriction
+       No_Exception_Propagation into account when generating blocks.
+       * exp_ch7.adb Various reformattings.
+       (Create_Finalizer): Change
+       the generation of abort defer / undefer pairs and explain the
+       lack of an AT END handler.
+       (Process_Transient_Objects): Add generation of abort defer/undefer
+       pairs.
+       * exp_ch9.adb Various reformattings.
+       (Build_Protected_Subprogram_Body): Use
+       Build_Runtime_Call to construct a call to Abort_Defer.
+       (Build_Protected_Subprogram_Call_Cleanup): Use
+       Build_Runtime_Call to construct a call to Abort_Undefer.
+       (Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
+       construct a call to Abort_Defer.
+       * exp_intr.adb (Expand_Unc_Deallocation): Abort defer
+       / undefer pairs are now encapsulated in a block with
+       an AT END handler. Finalization now takes restriction
+       No_Exception_Propagation into account when generating blocks.
+       * exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.
+
+2015-11-18  Vincent Celier  <celier@adacore.com>
+
+       * g-comlin.adb (Find_Longest_Matching_Switch): Do not take into
+       account a switch ending with '=' when the actual command line
+       switch is not followed with a space or '='.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Explicit_Dereference): Do not add an access
+       check if the type of the prefix is known to exclude null.
+       * a-coinve.adb (Get_Element_Access): The function returns an
+       access type that excludes null, so add an explicit check for
+       a null element pointer, which is created when Insert_Spaces is
+       called on an indefinite vector container.
+
+2015-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): Add a check requiring
+       -gnatc with -gnateg.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Uninstall_Declarations): Before swapping private
+       and full views, ensure that the potential use visbility of the
+       two views is consistent.
+
+2015-11-18  Doug Rupp  <rupp@adacore.com>
+
+       * s-parame-vxworks.adb: Increase default stack size for targets
+       using stack limit checking.
+
+2015-11-18  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-interr.adb, a-interr.ads (Ada.Interrupts.Get_CPU): Add this
+       function that was added to Ada 2005 returning the processor where
+       interrupt handlers execute.
+
+2015-11-18  Tristan Gingold  <gingold@adacore.com>
+
+       * exp_ch9.adb (Is_Pure_Barrier): Handle expanded component
+       declaration of a protected definition.
+
+2015-11-18  Ed Falis  <falis@adacore.com>
+
+       * s-soflin.adb, s-stchop-vxworks.adb: Code clean ups.
+
+2015-11-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * bcheck.adb: Minor editorial changes.
+
+2015-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * interfac.ads (Unsigned_24): New type.
+       * sem_ch13.adb (Validate_Unchecked_Conversion): Disable error on
+       unconstrained arrays in Relaxed_RM_Semantics mode.
+
+2015-11-18  Vincent Celier  <celier@adacore.com>
+
+       * bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking): No
+       warning is withed unit is the interface of a Stand-Alone Library.
+
+2015-11-18  Thomas Quinot  <quinot@adacore.com>
+
+       * s-os_lib.ads, s-os_lib.adb(Normalize_Pathname): Support the case of
+       an unresolved Directory argument, by recursively resolving it
+       against the current dir.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Process_Formals): A function declaration that
+       returns a class-wide type must have freeing deferred, so that it
+       is not frozen before the class-wide type and its root type are
+       frozen. This is significant when there may be a limited view of
+       the class_wide type in another package.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Has_Non_Null_Refinement): Rename to
+       Has_Non_Null_Visible_Refinement.
+       (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement.
+       * einfo.ads Update the documentation of
+       attribute Has_Non_Null_Refinement and attribute Has_Null_Refinement.
+       (Has_Non_Null_Refinement): Rename to Has_Non_Null_Visible_Refinement
+       and update occurrences in entities.
+       (Has_Null_Refinement): Rename to Has_Null_Visible_Refinement and update
+       occurrences in entities.
+       * sem_prag.adb (Check_In_Out_States): Update the calls to
+       Has_[Non_]Null_Refinement.
+       (Check_Input_States): Update the
+       calls to Has_[Non_]Null_Refinement.
+       (Check_Output_States): Update the calls to Has_[Non_]Null_Refinement.
+       (Check_Proof_In_States): Update the calls to Has_[Non_]Null_Refinement.
+       (Collect_Global_Item): Update the calls to Has_[Non_]Null_Refinement.
+       (Is_Null_Refined_State): Update the calls to Has_[Non_]Null_Refinement.
+       (Match_Item): Update the calls to Has_[Non_]Null_Refinement.
+       * sem_util.adb (Has_Non_Null_Refinement): New routine.
+       (Has_Null_Refinement): New routine.
+       * sem_util.ads (Has_Non_Null_Refinement): New routine.
+       (Has_Null_Refinement): New routine.
+
+2015-11-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_util.adb: Minor reformatting and typo fixes.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch4.adb: Minor reformatting.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Expand_Subtype_From_Expr): Add new formal
+       parameter Related_Id and propagate it to Make_Subtype_From_Expr.
+       (Make_Subtype_From_Expr): Add new formal parameter
+       Related_Id. Create external entities when requested by the caller.
+       * exp_util.ads (Expand_Subtype_From_Expr): Add new formal
+       parameter Related_Id. Update the comment on usage.
+       (Make_Subtype_From_Expr): Add new formal parameter
+       Related_Id. Update the comment on usage.
+       * sem_ch3.adb (Analyze_Object_Declaration): Add local variable
+       Related_Id. Generate an external constrained subtype when the
+       object is a public symbol.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Update the grammars of pragmas
+       Abstract_State, Depends, Global, Initializes, Refined_Depends,
+       Refined_Global and Refined_State.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Has_Full_Default_Initialization):
+       Perform the test for the presence of pragma
+       Default_Initial_Condition prior to the specialized type
+       checks. Add a missing case where the lack of a pragma argument
+       yields full default initialization.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Entity_Name): Do not check
+       for elaboration issues when a variable appears as the name of
+       an object renaming declaration as this constitutes an aliasing,
+       not a read.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Overlap_Check): An actual that is an aggregate
+       cannot overlap with another actual, and no check should be
+       generated for it.
+       * targparm.ads: Fix typos.
+
+2015-11-18  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c: Routine __gnat_killprocesstree only implemented on
+       Linux and Windows.
+
+2015-11-18  Pascal Obry  <obry@adacore.com>
+
+       * g-ctrl_c.adb: Minor style fixes.
+
+2015-11-18  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c, s-os_lib.adb, s-os_lib.ads (Kill_Process_Tree): New.
+
+2015-11-18  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Check_Nonvolatile_Function_Profile): Place the error
+       message concerning the return type on the result definition.
+       (Is_Volatile_Function): A function with a parameter of a protected
+       type is a protected function if it is defined within a protected
+       definition.
+
+2015-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): When building the
+       parameter list for the function call on indexing functions,
+       preserve overloading of the parameters, which may themselves be
+       generalized indexing operations.
+
+2015-11-13  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/68345
+       * s-osinte-dragonfly.ads (Get_Page_Size): C function returns an int.
+
+2015-11-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc-interface/trans.c (Sloc_to_locus): Add line_table param when
+       calling linemap_position_for_line_and_column.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_attr.adb: Minor reformatting.
+
+2015-11-13  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c: Ensure that it is possible to get killed process
+       status on Windows.
+
+2015-11-13  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/platform_specific_information.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/compatibility_and_porting_guide.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:
+       Update documentation.
+
+2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sigtramp-ios.c, init.c: Minor cosmetic tweaks.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * s-gloloc.adb, g-debpoo.adb: Minor reformatting.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): Improve error
+       message for the case the iterable name (array or container)
+       is a component that depends on a discriminant.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Indicate_Name_And_Type): If the analysis of
+       one interpretation succeeds, set type of name in call, for
+       completeness.
+       (Try_Container_Indexing): If there are multiple indexing
+       functions, collect possible interpretations that are compatible
+       with given parameters, and add implicit dereference types when
+       present.
+       * sem_util.adb (Build_Explicit_Dereference): If the expression
+       is an overloaded function call use the given discriminant to
+       resolve the call, and set properly the type of the call and of
+       the resulting dereference.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Pragma Constant_After_Elaboration can
+       now apply to a variable without an initialization expression.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Add_Matching_Formals): Parameter Actuals is now of mode
+       IN OUT. Create a new list when list Actuals is not present.
+       (Build_Contract_Wrapper): Create the wrapper
+       only when the entry has at least on checked contract case or
+       pre/postcondition. Ensure that the call to the original entry
+       lacks an actual parameter list when the entry appears without
+       formal parameters.
+       (Expand_Entry_Declaration): Code cleanup.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Continue the analysis
+       after encountering an illegal aspect Part_Of.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference, case
+       Overlaps_Storage): Add copies for nodes that represent the integer
+       addresses of the two actuals, to prevent identical nodes in the
+       tree, which the backend cannot handle properly.
+
+2015-11-13  Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.adb (Check_Private_Overriding): Change
+       name of Parent_Is_Private to be Overrides_Private_Part_Op,
+       and use Unit_Declaration_Node.
+
+2015-11-13  Bob Duff  <duff@adacore.com>
+
+       * sinfo.ads: Minor comment fix.
+       * sem_ch6.adb: Minor reformatting.
+
+2015-11-13  Jerome Lambourg  <lambourg@adacore.com>
+
+       * tracebak.c: Do not use the GCC Unwinder to retrieve traceback
+       for x86_64-vx7.
+
+2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * init.c [Darwin/arm64]: Fix typo.
+       * sigtramp-armios.c: Remove.
+       * sigtramp-ios.c: New file.
+
+2015-11-13  Doug Rupp  <rupp@adacore.com>
+
+       * s-stchop-vxworks.adb (Set_Stack_Limit_For_Current_Task): Set stack
+       limit to 12000 decimal vice 12000 hexadecimal.
+
+2015-11-13  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb, exp_fixd.adb, exp_util.adb, g-debpoo.adb,
+       impunit.adb, scos.ads, sem_ch4.adb, sem_prag.adb,
+       s-stchop-vxworks.adb: Minor reformatting.
+
+2015-11-13  Tristan Gingold  <gingold@adacore.com>
+
+       * s-rident.ads (Profile_Info): Enable Pure_Barriers for
+       GNAT_Extended_Ravenscar.
+
+2015-11-13  Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.adb (Check_Private_Overriding): Detect the special
+       case where the overriding subprogram is overriding a subprogram
+       that was declared in the same private part.
+
+2015-11-13  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.adb: Minor reformatting and typo fixes.
+
+2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * init.c [Darwin/arm64]: Move __gnat_sigtramp implementation to...
+       (__gnat_map_signal): New function.
+       (__gnat_error_handler):
+       Adjust the context and call above function.
+       * sigtramp-armios.c: ...here.  New file.
+
+2015-11-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * bcheck.adb (Check_Consistent_Restrictions): Do not check
+       consistency of No_Dependence for runtime units.
+
+2015-11-13  Tristan Gingold  <gingold@adacore.com>
+
+       * s-rident.ads (Restriction_Id): Add Pure_Barriers.
+       * restrict.ads (Implementation_Restriction): Add Pure_Barriers.
+       * exp_ch9.adb (Expand_Entry_Barrier): Create
+       Is_Simple_Barrier_Name function, add Is_Pure_Barrier and
+       Check_Pure_Barriers.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Get_Cursor_Type): To determine whether a function
+       First is the proper Iterable primitive, use the base type of the
+       first formal rather than the type. This is needed in the unusual
+       case where the Iterable aspect is specified for an integer type.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Constant_Indexing_OK): If the indexing is the
+       prefix of a procedure call assume that constant indexing is
+       not chosen.
+
+2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sigtramp.h: Fix formatting throughout, do not include other
+       headers, add missing preprocessor condition and 'extern' keywords.
+       * sigtramp-armdroid.c: Include <sys/ucontext.h>.
+       * init.c [Android]: Likewise.
+
+2015-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * init.c [Darwin/arm64] (__gnat_sigtramp): Do not increment PC,
+       fix CFI and add return sequence.
+
+2015-11-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_fixd.adb (Expand_Convert_Float_To_Fixed): If the conversion
+       comes from an attribute reference 'Round, the operation must
+       round and not truncate.
+       * sem_res.adb, sem_ch6.adb: Minor editing.
+
+2015-11-12  Philippe Gil  <gil@adacore.com>
+
+       * g-debpoo.adb (Print_Address): print address in hexadecimal as
+       in previous GNAT version (without secondary stack use)
+       (Deallocate): Deallocate calling once Unlock_Task.all when it
+       raise exception.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Remove redundant
+       copying of dimensions from parent type to subtype. This is
+       properly done in Analyze_Dimension.
+       * sem_dim.adb (Analyze_Dimension_Subtype_Declaration): Add entity
+       to error message, so that reference to entity can be formatted
+       properly.
+       * opt.ads: Fix typo.
+
+2015-11-12  Bob Duff  <duff@adacore.com>
+
+       * impunit.adb, lib-xref.ads, restrict.ads, scos.ads, sem_attr.ads,
+       types.ads: Get rid of some global variables.
+       * output.adb, output.ads: Move some global variables to the body.
+
+2015-11-12  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb
+       (Is_Constant_Object_Without_Variable_Input): Add special case
+       for imported constants.
+
+2015-11-12  Philippe Gil  <gil@adacore.com>
+
+       * g-debpoo.adb (Allocate): Avoid having allocations not handled.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.adb (Apply_Scalar_Range_Check): If the expression is
+       a real literal and the context type has static bounds, remove
+       range check when possible.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Collect_Primitive_Operations): If the type is
+       derived from a type declared elsewhere that has an incomplete
+       type declaration, the primitives are found in the scope of the
+       type nat that of its ancestor.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * switch-c.adb, debug.adb, osint-c.adb, gnat1drv.adb: Remove -gnatd.V
+       debug switch.
+       * exp_aggr.adb, exp_util.adb: Fix typos.
+
+2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c: Properly adjust PC values in case of signals.
+
+2015-11-12  Bob Duff  <duff@adacore.com>
+
+       * sem_prag.adb (Check_Arg_Is_Library_Level_Local_Name): A
+       pragma that comes from an aspect does not "come from source",
+       so we need to test whether it comes from an aspect.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * switch-c.adb, gnat1drv.adb, opt.ads: Reserve -gnateg for generation
+       of C headers.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * back_end.adb, opt.ads (Debugger_Level): Update comment.
+       (Scan_Back_End_Switches): Set Debugger_Level.
+
+2015-11-12  Bob Duff  <duff@adacore.com>
+
+       * fmap.adb, debug.ads, checks.adb, exp_ch11.adb: Minor edits.
+
+2015-11-12  Doug Rupp  <rupp@adacore.com>
+
+       * s-stchop-vxworks.adb (Stack_Limit): Export vice Import.
+
+2015-11-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_dim.adb: Minor reformatting.
+
+2015-11-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * gnat1drv.adb, opt.ads: Minor reformatting.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Number_Declaration): Call Analyze_Dimension,
+       to propagate dimension information from expression to named
+       number.
+       * sem_dim.ads: Documentation:  number declaration and explicit
+       dereference can carry dimension information.
+       * sem_dim.adb (Analyze_Dimension_Number_Declaration): New
+       procedure, to propagate dimension information from expression
+       of declaration to named number, whose type becomes one of the
+       dimensioned base types rather than universal real.
+       (Analyze_Dimension_Binary_Op):
+       a) If one operand is a literal that is the value of a declared
+       constant after constant-foloding, use the dimensions of the
+       declared constant.
+       b) If an operand is a literal that is a contant-folded expression,
+       and expander is active, do not report a dimension mismatch if
+       literal does not carry them, because dimension matching will
+       have been checked previously.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Selected_Component): In a synchronized
+       body, a reference to an operation of an object of the same
+       synchronized type was always interpreted as a reference to the
+       current instance. This is not always the case, as the prefix of
+       the reference may designate an object of the same type declared
+       in the enclosing context prior to the body.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * impunit.ads, impunit.adb (Get_Kind_Of_File): New. Cleaned up
+       implementation from previous Get_Kind_Of_Unit.
+       (Get_Kind_Of_Unit): Reimplemented using Get_Kind_Of_File.
+       * debug.adb: Remove d.4 switch, no longer used.
+       * opt.ads: Update doc on Debugger_Level.
+       * gnat1drv.adb: Code clean ups.
+       * sinput.ads: minor fix in comment
+
+2015-11-12  Bob Duff  <duff@adacore.com>
+
+       * sinfo.adb, sinfo.ads, sem_ch6.adb, atree.ads: Add
+       Was_Expression_Function flag, which is set in sem_ch6.adb when
+       converting an Expression_Function into a Subprogram_Body.
+
+2015-11-12  Pascal Obry  <obry@adacore.com>
+
+       * usage.adb: Update overflow checking documentation.
+
+2015-11-12  Tristan Gingold  <gingold@adacore.com>
+
+       * snames.ads-tmpl: Name_Gnat_Extended_Ravenscar: New identifier.
+       * s-rident.ads (Profile_Name): Add GNAT_Extended_Ravenscar.
+       (Profile_Info): Add new entry for GNAT_Extended_Ravenscar.
+       * sem_prag.adb (Set_Ravenscar_Profile): Add Profile parameter
+       to handle various ravenscar profiles. Adjust error messages.
+       (Analyze_Pragma): Handle GNAT_Extended_Ravenscar profile.
+       * targparm.adb (Get_Target_Parameters): Handle
+       GNAT_Extended_Ravenscar profile.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Warn_On_Unreferenced_Entity): If the entity is an
+       Out_Parameter the front-end does not emit any warning on it, so
+       do not suppress warnings on the entity because the backend might
+       be able to determine an uninitialized path and warn accordingly.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Diagnose an attempt
+       to reference an internal entity from a synchronized type from
+       within the body of that type, when the prefix of the selected
+       component is not the current instance.
+
+2015-11-12  Ed Falis  <falis@adacore.com>
+
+       * s-stchop-vxworks.adb: Clean up in stack checking code.
+
+2015-11-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb (Is_Build_In_Place_Function_Call):
+       Test Expression (N) in N_Type_Conversion cases as well,
+       since conversions can occur in actual parameter contexts.
+       (Make_Build_In_Place_Call_In_Anonymous_Context): Retrieve
+       function call from Expression (Func_Call) when Nkind (Func_Call)
+       is N_Type_Conversion, since conversions are allowed in "anonymous"
+       contexts (specifically, as actual parameters).
+
+2015-11-12  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch4.adb (analyze_If_Expression): Reject IF-expression where
+       THEN-expression is overloaded and none of its interpretation is
+       compatible with the ELSE-expression.
+
+2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c: Do not try to mess with the MSR values in RTP mode:
+       not needed and forbidden.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
+       full view of a type that has pragma Stream_Convert, because
+       this indicates special processing for the stream operations of
+       the type.
+
+2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c: Do not try to mess with the MSR values in RTP mode:
+       not needed and forbidden.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_attr.adb (Compile_Stream_Body_In_Scope): Do not install
+       full view of a type that has pragma Stream_Convert, because
+       this indicates special processing for the stream operations of
+       the type.
+
+2015-11-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch5.adb, sem_ch3.adb, exp_util.ads, inline.adb, freeze.adb,
+       sem_util.adb, sem_util.ads, par-ch6.adb, sem_elab.adb: Minor
+       reformatting and a typo fix.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Preanalyze_Actuals): Add guard on use of
+       Incomplete_Actuals, which are only stored for a package
+       instantiation, in order to place the instance in the body of
+       the enclosing unit.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_intr.adb: Add legality checks on calls to a
+       Generic_Dispatching_Constructor: the given tag must be defined,
+       it cannot be the tag of an abstract type, and its accessibility
+       level must not be greater than that of the constructor.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing, Constant_Indexing_OK):   If
+       the context is an overloaded call, assume that Constant_Indexing
+       is not OK if an interpretation has an assignable parameter
+       corresponding to the indexing expression.
+
+2015-11-12  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c (__gnat_error_handler): Force the SPE bit of the MSR
+       when executing on e500v2 CPU.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Constituent): Stop the
+       analysis after detecting a misplaced constituent as this is a
+       critical error.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch10.adb, atree.adb: Minor reformatting.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_elab.adb (Check_A_Call): Add new variable
+       Is_DIC_Proc. Report elaboration issue in SPARK concerning calls
+       to source subprograms or nontrivial Default_Initial_Condition
+       procedures. Add specialized error message to avoid outputting
+       the internal name of the Default_Initial_Condition procedure.
+       * sem_util.ads, sem_util.adb
+       (Is_Non_Trivial_Default_Init_Cond_Procedure): New routine.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
+       Remove the guard concerning entry bodies as it is spurious.
+       (Analyze_Entry_Or_Subprogram_Contract): Skip the analysis of
+       Contract_Cases when not annotating the tree.
+       * einfo.adb: Node25 is now used as Contract_Wrapper.
+       (Contract_Wrapper): New routine.
+       (PPC_Wrapper): Removed.
+       (Set_Contract_Wrapper): New routine.
+       (Set_PPC_Wrapper): Removed.
+       (Write_Field25_Name): Add output for Contract_Wrapper. Remove
+       output for PPC_Wrapper.
+       * einfo.ads: New attribute Contract_Wrapper along with usage
+       in entities. Remove attribute PPC_Wrapper along with usage in nodes.
+       (Contract_Wrapper): New routine along with pragma Inline.
+       (PPC_Wrapper): Removed along with pragma Inline.
+       (Set_Contract_Wrapper): New routine along with pragma Inline.
+       (Set_PPC_Wrapper): Removed along with pragma Inline.
+       * exp_ch9.adb (Build_Contract_Wrapper): New routine.
+       (Build_PPC_Wrapper): Removed.
+       (Build_Protected_Entry): Code cleanup.
+       (Expand_Entry_Declaration): Create a contract wrapper
+       which now verifies Contract_Cases along with pre/postconditions.
+       (Expand_N_Task_Type_Declaration): There is no need to check
+       whether an entry has pre/postconditions as this is now done
+       in Build_Contract_Wrapper.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Pragma
+       Refined_Post is now properly inserted in entry bodies.
+       (Insert_Pragma): Add circuitry to insert in an entry body. Redo
+       the instance "header" circuitry. Remove the now obsolete special
+       case of inserting pre- conditions.
+       * sem_prag.adb (Analyze_Pragma): Pragma Contract_Cases now
+       applies to entries.
+       * sem_res.adb (Resolve_Entry_Call): Update the calls to
+       PPC_Wrapper.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_attr.adb, freeze.adb, sem_util.adb, sem_ch13.adb: Minor
+       reformatting.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_attr.adb (Compile_Stream_Body_In_Scope): When compiling
+       a stream operation for an array type, install the scope of the
+       component type if it is private and not in scope, to prevent
+       spurious errors if the full view of the component type has
+       defaulted discriminants.
+
+2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For a
+       variable, if this is not an overlay, set on Treat_As_Volatile on it.
+       * gcc-interface/decl.c (E_Variable): Do not force the type to volatile
+       for address clauses. Tweak and adjust various RM references.
+
+2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.ads: Minor comment fix.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi,
+       doc/gnat_ugn/platform_specific_information.rst,
+       doc/gnat_ugn/gnat_and_program_execution.rst,
+       doc/gnat_ugn/the_gnat_compilation_model.rst,
+       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+       doc/gnat_rm/implementation_defined_pragmas.rst: Update documentation.
+
+2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Overlays_Constant): Document usage for E_Constant.
+       * freeze.adb (Warn_Overlay): Small reformatting.
+       (Check_Address_Clause): Deal specifically with deferred
+       constants.  For a variable or a non-imported constant
+       overlaying a constant object and with initialization value,
+       either remove the initialization or issue a warning.  Fix a
+       couple of typos.
+       * sem_util.adb (Note_Possible_Modification): Overhaul the condition for
+       the warning on modified constants and use Find_Overlaid_Entity instead
+       of doing it manually.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Compute and
+       set Overlays_Constant once on entry.  Do not treat the overlaid
+       entity as volatile.  Do not issue the warning on modified
+       constants here.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove
+       over-restrictive condition for the special treatment of deferred
+       constants.
+       <E_Variable>: Remove obsolete associated code.
+
+2015-11-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Renaming_Decl>: Do
+       not materialize renamed subprograms if only annotating types.
+
+2015-11-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Create
+       IMPORTED_DECL nodes to describe the subprogram renamings which
+       are relevant at debug time.
+       * gcc-interface/gigi.h (get_debug_scope): Add declaration.
+       * gcc-interface/trans.c (Identifier_to_gnu): Consider
+       N_Defining_Operator_Symbol as valid entities.
+       (gnat_to_gnu): Handle N_Defining_Operator_Symbol the same way as
+       other entities.  Introduce a specific handling for
+       N_Subprogram_Renaming_Declaration: call gnat_to_gnu_entity on
+       the entity defined for relevant ones.
+       (process_decls): Process subprogram renaming declarations during
+       the second pass only.
+       * gcc-interface/utils.c (get_debug_scope): Make it external.
+       Consider N_Defining_Operator_Symbol as valid entities.
+       (gnat_write_global_declarations): Output debugging information
+       for top-level imported declarations.
+
+2015-11-12  Emmanuel Briot  <briot@adacore.com>
+
+       * s-os_lib.ads: Documentation update.
+
+2015-11-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprop-vxworks.adb, s-osinte-vxworks.ads: Use a single import of
+       taskDelay to avoid confusion.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): If the return
+       type is class-wide and the expression is a view conversion,
+       remove the conversion to prevent overriding of the tag, which
+       must be that of the object being returned.
+
+2015-11-12  Tristan Gingold  <gingold@adacore.com>
+
+       * bindgen.adb (Gen_Adainit): Code cleanup.
+
+2015-11-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * s-stalib.ads: Code cleanup.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Incomplete_Type_Decl): small optimization.
+       (Analyze_Subtype_Declaration): For floating point types,
+       inherit dimensions.
+       (OK_For_Limited_Init_In_05): Handle properly a conditional
+       expression whose condition is static, and is rewritten as the
+       branch that will be executed.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute, case 'Access): If the context
+       type is an access constant type, do not mark the attribute
+       reference as a possible modification of the prefix.
+
+2015-11-12  Steve Baird  <baird@adacore.com>
+
+       * sem_ch6.adb (Analyze_Procedure_Call) If CodePeer_Mode is True,
+       do not analyze the expression of a machine code insertion.
+       * sem_ch13.adb (Analyze_Code_Statement) If CodePeer_Mode is True,
+       mark the N_Code_Statement node as analyzed and do nothing else.
+
+2015-11-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Limited_Return): Make global to package
+       for use elsewhere.
+       (Analyze_Expression_Function): Remove duplicated code, pre-analyze
+       expression to capture names and call Check_Limited_Return so
+       that semantic checks are identical to those for regular functions
+       returning limited types.
+
+2015-11-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * bindgen.adb: Fix typo.
+       * sem_ch6.adb: Minor reformatting.
+
+2015-11-12  Emmanuel Briot  <briot@adacore.com>
+
+       * s-os_lib.adb (Argument_String_To_List): fix handling of
+       windows separators
+
+2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/decl.c: Remove unused header files.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+
+2015-11-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (set_reverse_storage_order_on_pad_type):
+       Declare.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Set the
+       storage order on the enclosing record for a packed array type.
+       <E_Array_Type>: Set the storage order.
+       <E_Array_Subtype>: Likewise.
+       <E_Record_Type>: Likewise.
+       <E_Record_Subtype>: Likewise.
+       (gnat_to_gnu_component_type): Set the reverse storage order on a
+       padded type built for a non-bit-packed array.
+       (gnat_to_gnu_field): Likewise.
+       (components_to_record): Deal with TYPE_REVERSE_STORAGE_ORDER.
+       * gcc-interface/utils.c (make_packable_type): Likewise.
+       (pad_type_hasher::equal): Likewise.
+       (gnat_types_compatible_p): Likewise.
+       (unchecked_convert): Likewise.
+       (set_reverse_storage_order_on_pad_type): New public function.
+       * gcc-interface/trans.c (Attribute_to_gnu): Adjust call to
+       get_inner_reference.
+       * gcc-interface/utils2.c (build_unary_op): Likewise.
+       (gnat_build_constructor): Deal with TYPE_REVERSE_STORAGE_ORDER.
+       (gnat_rewrite_reference): Propagate REF_REVERSE_STORAGE_ORDER.
+
+2015-11-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc-interface/utils.c: Don't undef DEF_BUILTIN.
+
+2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/decl.c: Reorder #include's and remove duplicates.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       
+2015-10-27  Tristan Gingold  <gingold@adacore.com>
+
+       * bindgen.adb (System_BB_CPU_Primitives_Multiprocessors_Used):
+       New variable.
+       (Gen_Adainit): Call Start_All_CPUs if the above
+       variable is set to true.
+
+2015-10-27  Emmanuel Briot  <briot@adacore.com>
+
+       * adaint.c, s-os_lib.adb, s-os_lib.ads (Copy_File_Attributes): New
+       subprogram.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * namet.adb, namet.ads: Minor reformatting.
+
+2015-10-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Allocator): Do not perform legality check
+       on allocators for limited objects in a qualified expression,
+       because expression has not been resolved.
+       * sem_res.adb (Resolve_Allocator): Perform check on legality of
+       limited objects after resolution.  Add sem_ch3.adb to context.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Refined_Global_In_Decl_Part): Add variable
+       States.
+       (Check_Refined_Global_Item): An object or state acts as a
+       constituent only when the corresponding encapsulating state
+       appears in pragma Global.
+       (Collect_Global_Item): Add a state with non-null visible refinement to
+       list States.
+
+2015-10-27  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_util.ads, par.adb, sem_ch6.adb: Minor reformatting and a few
+       typo corrections.
+
+2015-10-27  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * namet.ads, namet.adb (Name_Equals): New function.
+       * namet.h (Name_Equals): New macro.
+
+2015-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Build_Procedure_Form): Use 'RESULT' for the extra
+       parameter, to avoid ambiguity when generating tmps using _xxx which
+       might end up reusing _result.
+
+2015-10-27  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Defining_Identifier): Adding a formal to
+       indicate the needed behavior in case of nodes with errors.
+
+2015-10-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): If the prefix of attribute
+       Enum_Rep is an object that is a generated loop variable for an
+       element iterator, no folding is possible.
+       * sem_res.adb (Resolve_Entity_Name): Do not check for a missing
+       initialization in the case of a constant that is an object
+       renaming.
+       * exp_attr.adb (Expand_N_Attribute_Reference, case Enum_Rep):
+       If the prefix is a constant that renames an expression there is
+       nothing to evaluate statically.
+
+2015-10-27  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb: Always delete the response file, even when the
+       invocation of gcc to link failed.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+       Do not inherit the SPARK_Mode from the context if it has been
+       set already.
+       (Build_Subprogram_Declaration): Relocate relevant
+       pragmas from the subprogram body to the generated corresponding
+       spec. Do not copy aspect SPARK_Mode as this leads to circularity
+       in Copy_Separate_Tree. Inherit the attributes that describe
+       pragmas Ghost and SPARK_Mode.
+       (Move_Pragmas): New routine.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * inline.adb (Is_Expression_Function): Removed.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): An internally
+       generated subprogram body that completes an expression function
+       inherits the SPARK_Mode from the spec.
+       * sem_res.adb (Resolve_Call): Update all calls to
+       Is_Expression_Function.
+       * sem_util.ads, sem_util.adb (Is_Expression_Function): Reimplemented.
+       (Is_Expression_Function_Or_Completion): New routine.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * lib-xref-spark_specific.adb, a-dirval-mingw.adb, exp_ch6.adb,
+       sem_ch8.adb, s-os_lib.adb: Minor reformatting.
+
+2015-10-27  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb
+       (Enclosing_Subprogram_Or_Library_Package): detect library-level
+       subprograms and handle entries as subprograms, i.e. now both
+       library-level subprograms and entry bodies act as enclosing
+       scopes.
+       (Traverse_Declarations_Or_Statements): process entry bodies just
+       like subprogram bodies.
+       * lib-xref.ads (Enclosing_Subprogram_Or_Library_Package): comment
+       simplified while keeping its the meaning and minor typo fixed
+       ("of" -> "or").
+       * spark_xrefs.ads (Xref Section): fix in description of the ALI
+       line for subprogram calls; such lines start with captial "F"
+       followed by a space.
+
+2015-10-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Direct_Name): A parameter association is
+       a legal context for applying an implicit dereference.
+       (Analyze_Expanded_Name): Minor code cleanup.
+
+2015-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * sinput.ads, spark_xrefs.ads, lib-xref.adb: Fix typos.
+
+2015-10-27  Pascal Obry  <obry@adacore.com>
+
+       * a-dirval-mingw.adb: Remove some characters from Invalid_Character set.
+
+2015-10-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Rewrite_Function_Call_For_C): Use a named
+       associaion for the added actual in the call because previous
+       actuals may also have been given by explicit associations.
+       * lib-xref.adb: Minor style fixes.
+
+2015-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb: Remove hard coded restrictions.
+
+2015-10-27  Pascal Obry  <obry@adacore.com>
+
+       * a-dirval-mingw.adb: Minor reformatting.
+
+2015-10-27  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve previous patch.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code cleanup. Set
+       and restore the value of global flag Ignore_Pragma_SPARK_Mode. A
+       formal package declaration acts as a package instantation with
+       respect to SPARK_Mode legality.
+
+2015-10-27  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Check_Constituent_Usage): Use
+       logical operators rather than short circuit operators. Emit an
+       error when a state with visible refinement is not refined.
+       * snames.ads-tmpl: Add names for detecting
+       predefined potentially blocking subprograms.
+
+2015-10-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Revert previous
+       change.
+       (Expand_Array_Aggregate): Rewrite previous change here
+       as done for other non GCC back-ends.
+       (Build_Record_Aggr_Code): Add special case.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Add_Item_To_Name_Buffer): Update the comment on usage.
+       Add an output string for loop parameters.
+       (Analyze_Global_Items): Loop parameters are now a
+       valid global item. The share the legality checks of constants.
+       (Analyze_Input_Output): Loop parameters are now a valid dependency item.
+       (Find_Role): Loop parameters share the role of constants.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode,
+       preserve the Generalized_ indexing link if the context is not
+       a spec expression that will be analyzed anew.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.ads, exp_ch6.adb (Build_Procedure_Body_Form): Promote it to
+       library level (to invoke this routine from the semantic analyzer).
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): When generating
+       C code, invoke Build_Procedure_Body_Form to transform a function
+       that returns a constrained array type into a procedure with an
+       out parameter that carries the return value.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-reatim.ads: Add "Clock_Time with Synchronous" contract in package
+       Ada.Real_Time.
+       * a-taside.ads: Add "Tasking_State with Synchronous" contract in
+       package Ada.Task_Identification.
+       * sem_ch12.adb: minor typo in comment
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Analyze_Object_Contract): Set and restore
+       the SPARK_Mode for both constants and objects. Factor out the
+       semantic checks concerning Ghost objects.
+       * freeze.adb (Freeze_Array_Type): A Ghost array type cannot have a
+       concurrent component type.
+       (Freeze_Entity): A Ghost type cannot also be concurrent.
+       (Freeze_Record_Type): A Ghost record type cannot have a concurrent
+       component.
+       * sem_prag.adb (Analyze_Abstract_State): A Ghost abstract
+       state cannot also be synchronized.
+       (Check_Ghost_Synchronous): New routine.
+       * sem_util.adb (Yields_Synchronized_Object): Correct the case
+       of record components to account for the case where the type has
+       no component list.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * expander.adb (Expand): Expand a single protected declaration.
+       * exp_ch9.ads, exp_ch9.adb (Expand_N_Single_Protected_Declaration): New
+       routine.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Is_OK_Volatile_Context): A volatile object may appear
+       in an object declaration as long as it denotes the name.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch9.adb (Analyze_Single_Protected_Declaration): The anonymous
+       object no longer comes from source.
+       (Analyze_Single_Task_Declaration): The anonymous object no longer
+       comes from source.
+       * sem_prag.adb (Analyze_Pragma): The analysis of pragma SPARK_Mode
+       now recognizes the internal anonymous object created for a single
+       concurren type as a valid context.
+       (Find_Related_Context): The internal anonymous object created for a
+       single concurrent type is now a valid context.
+       (Find_Related_Declaration_Or_Body): The internal anonymous object
+       created for a single concurrent type is now a valid context.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Inherit_Rep_Item_Chain): Another another guard
+       to prevent circularities in the rep_item_chain of the full view
+       of a type extension in a child unit that extends a private type
+       from the parent.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * atree.ads, atree.adb (Ekind_In): New 10 and 11 parameter versions.
+       * contracts.ads, contracts.adb (Analyze_Initial_Declaration_Contract):
+       New routine.
+       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+       Analyze the contract of the initial declaration.
+       (Analyze_Subprogram_Body_Helper): Analyze the contract of the
+       initial declaration.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Analyze the contract
+       of the initial declaration.
+       * sem_ch9.adb (Analyze_Entry_Body): Analyze the contract of
+       the initial declaration.
+       (Analyze_Protected_Body): Analyze
+       the contract of the initial declaration.
+       (Analyze_Task_Body): Analyze the contract of the initial declaration.
+       * sem_prag.adb (Add_Entity_To_Name_Buffer): Use "type" rather
+       than "unit" as it makes the error messages sound better.
+       (Add_Item_To_Name_Buffer): Update comment on usage. The routine
+       now supports discriminants and current instances of concurrent
+       types.
+       (Analyze_Depends_In_Decl_Part): Install the discriminants
+       of a task type.
+       (Analyze_Global_In_Decl_Part): Install the discriminants of a task type.
+       (Analyze_Global_Item): Add processing for current instances of
+       concurrent types and include discriminants as valid global items.
+       (Analyze_Input_Output): Discriminants and current instances of
+       concurrent types are now valid items. Update various error messages.
+       (Check_Usage): Current instances of protected and task types behaves
+       as formal parameters.
+       (Collect_Subprogram_Inputs_Outputs): There is
+       no longer need to manually analyze [Refined_]Global thanks to
+       freezing of initial declaration contracts.  Add processing for
+       the current instance of a concurrent type.
+       (Find_Role): Add categorizations for discriminants, protected and task
+       types.
+       (Is_CCT_Instance): New routine.
+       (Match_Items): Update the comment on usage. Update internal comments.
+       * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update the
+       comment on usage.
+       * sem_util.adb (Entity_Of): Ensure that the entity is an object
+       when traversing a potential renaming chain.
+       (Fix_Msg): Use "type" rather than "unit" as it makes the error messages
+       sound better.
+       * sem_util.ads (Fix_Msg): Update the comment on usage.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * par.adb (Par): Do not generate an error when generating
+       SCIL for predefined units or new children of system and co.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.adb: Access_Disp_Table applies to a private
+       extension.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Generalized_Indexing): In ASIS mode, when
+       restoring original node, remove Generalized_Indexing operation
+       so that it is recreated during re- analysis.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_unst.adb: (Unnest_Subprogram):
+       Replace absolute references to 1 and 0 by their counterpart
+       relative references through Subps_First.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch3.adb (P_Declarative_Items): In case of misplaced
+       aspect specifications, ensure that flag Done is properly set to
+       continue parse.
+       * sem_prag.adb, sem_prag.ads: Remove Build_Generic_Class_Condition,
+       unused.
+
+2015-10-26  Emmanuel Briot  <briot@adacore.com>
+
+       * s-os_lib.adb (Argument_String_To_List): Remove backslashes in
+       argument value.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): Removed.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb, sem_aux.adb, exp_attr.adb, sem_eval.adb: Minor
+       reformatting.
+       * sem_util.adb, sem_ch5.adb: Minor reformatting.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_unst.adb (Unnest_Subprogram): Add guard to prevent compiler
+       abort when handling a reference to a formal in an aspect of a
+       nested subprogram declaration as an uplevel reference.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * snames.ads-tmpl, aspects.adb, aspects.ads: Add the aspect and
+       pragma names and enter into relevant tables.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze aspect
+       Predicate_Failure.
+       * sem_prag.adb (Predicate_Failure): Analyze pragma Predicate_Failure.
+       * exp_util.adb (Make_Predicate_Check): When building the Check
+       pragma, if Predicate_Failure has been specified, add the relevant
+       String argument to the pragma.
+       * par-prag.adb (Prag): Add Predicate_Failure to list of pragmas
+       handled during semantic analysis.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): If the left-hand side
+       is an indexed component with generalized indexing, discard
+       interpretation that yields a reference type, which is not
+       assignable. This prevent spurious ambiguities when the right-hand
+       side is an aggregate which does not provide a target type.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * exp_ch7.adb, exp_ch6.adb: Minor comment fix.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * aspects.adb (Move_Or_Merge_Aspects): Move all aspects related
+       to a single concurrent type declaration to the declaration
+       of the anonymous object if they qualify.
+       (Relocate_Aspect): Update comment on usage.
+       * aspects.ads Add new sectioon on aspect specifications on single
+       concurrent types. Add new table Aspect_On_Anonymous_Object_OK.
+       (Move_Or_Merge_Aspects): Udate the comment on usage.
+       * atree.adb (Elist36): New routine.
+       (Set_Elist36): New routine.
+       * atree.ads (Elist36): New routine along with pragma Inline.
+       (Set_Elist36): New routine along with pragma Inline.
+       * atree.h: Elist36 is now an alias for Field36.
+       * contracts.adb (Add_Contract_Item): Add processing
+       for protected units and extra processing for variables.
+       (Analyze_Object_Contract): Code cleanup. The processing of
+       Part_Of now depends on wherer the object is a constant or
+       a variable. Add processing for pragmas Depends and Global
+       when they apply to a single concurrent object. Verify that a
+       variable which is part of a single concurrent type has full
+       default initialization. Set/restore the SPARK_Mode of a single
+       concurrent object.
+       (Analyze_Protected_Contract): New routine.
+       * contracts.ads (Add_Contract_Item): Update the comment on usage.
+       (Analyze_Object_Contract): Update the comment on usage.
+       (Analyze_Protected_Contract): New routine.
+       (Analyze_Task_Contract): Update the comment on usage.
+       * einfo.adb Part_Of_Constituents now uses Elist10.
+       (Anonymous_Object): New routine.
+       (Contract): Code cleanup.
+       (Has_Option): Remove the assumption that the only simple
+       option is External.
+       (Is_Synchronized_State): New routine.
+       (Part_Of_Constituents): This attribute applies to
+       variables and uses Elist10.
+       (Set_Anonymous_Object): New routine.
+       (Set_Contract): Code cleanup.
+       (Set_Part_Of_Constituents): This attribute applies to variables and
+       uses Elist10.
+       (Set_SPARK_Aux_Pragma): Code cleanup.
+       (Set_SPARK_Aux_Pragma_Inherited): Code cleanup.
+       (Set_SPARK_Pragma): Code cleanup. This attribute applies to
+       variables.
+       (Set_SPARK_Pragma_Inherited): Code cleanup. This
+       attribute applies to variables.
+       (SPARK_Aux_Pragma): Code cleanup.
+       (SPARK_Aux_Pragma_Inherited): Code cleanup.
+       (SPARK_Pragma): Code cleanup. This attribute applies to variables.
+       (SPARK_Pragma_Inherited): Code cleanup. This attribute applies
+       to variables.
+       (Write_Field9_Name): Remove the output for Part_Of_Constituents.
+       (Write_Field10_Name): Add output for Part_Of_Constituents.
+       (Write_Field30_Name): Add output for Anonymous_Object.
+       (Write_Field34_Name): Output SPARK_Pragma
+       for protected types and variables.
+       * einfo.ads: New attributes Anonymous_Object and
+       Is_Synchronized_State along with usage in entities. Update
+       the documentation of attributes Contract Encapsulating_State
+       Part_Of_Constituents SPARK_Aux_Pragma SPARK_Aux_Pragma_Inherited
+       SPARK_Pragma SPARK_Pragma_Inherited (Anonymous_Object): New
+       routine along with pragma Inline.
+       (Is_Synchronized_State): New routine.
+       (Set_Anonymous_Object): New routine along with pragma Inline.
+       * freeze.adb (Freeze_Record_Type): Ensure that a non-synchronized
+       record does not have synchronized components.
+       * sem_ch3.adb (Analyze_Declarations): Code cleanup. Analyze the
+       contract of protected units.
+       * sem_ch9.adb Add with and use clauses for Sem_Prag. Code cleanup.
+       (Analyze_Single_Protected_Declaration): Reimplemented.
+       (Analyze_Single_Task_Declaration): Reimplemented.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Part_Of
+       can now apply to a single concurrent type declaration. Rely on
+       Insert_Pragma to place the pragma.  Update the error message on
+       usage to reflect the new context.
+       (Insert_Pragma): When inserting
+       pragmas for a protected or task type, create a definition if
+       the type lacks one.
+       * sem_elab.adb (Check_A_Call): Code cleanup. Issue error message
+       related to elaboration issues for SPARK when SPARK_Mode is "on"
+       and the offending entity comes from source.
+       * sem_prag.adb (Analyze_Abstract_State): Add new flag
+       Synchronous_Seen. Update the analysis of simple options Externa,
+       Ghost and Synchronous. Update various error messages to reflect
+       the use of single concurrent types.
+       (Analyze_Depends_Global): Pragmas Depends and Global can now apply to
+       a single task type or a single concurrent object created for a task
+       type.
+       (Analyze_Depends_In_Decl_Part): Do not push a scope when the
+       context is a single concurrent object.  (Analyze_Part_Of):
+       Moved out of Analyze_Pragma. The routine has a new profile
+       and comment on usage.
+       (Analyze_Part_Of_In_Decl_Part): New routine.
+       (Analyze_Part_Of_Option): Update the call to Analyze_Part_Of.
+       (Analyze_Pragma): Pragma Abstract_State can
+       now carry simple option Synchronous. Pragma Part_Of can now
+       apply to a single concurrent type declaration. The analysis
+       of pragma Part_Of is delayed when the context is a single
+       concurrent object.
+       (Analyze_Refined_Depends_In_Decl_Part): Use the anonymous object when
+       the context is a single concurren type.
+       (Analyze_Refined_Global_In_Decl_Part): Use the
+       anonymous object when the context is a single concurren type.
+       (Check_Ghost_Constituent): Removed.
+       (Check_Matching_Constituent): Renamed to Match_Constituent.
+       (Check_Matching_State): Renamed to Match_State.
+       (Collect_Constituent): Update the comment
+       on usage. Verify various legality rules related to ghost and
+       synchronized entities.
+       (Find_Related_Declaration_Or_Body): A single task declaration is no
+       longer a valid context for a pragma.
+       (Fix_Msg): Moved to Sem_Util.
+       (Process_Overloadable): Add processing for single task objects.
+       (Process_Visible_Part): Add processing for single concurrent
+       types.
+       (Relocate_Pragmas_To_Anonymous_Object): New routine.
+       * sem_prag.ads Add new table Pragma_On_Anonymous_Object_OK.
+       (Analyze_Part_Of_In_Decl_Part): New routine.
+       (Relocate_Pragmas_To_Anonymous_Object): New routine.
+       * sem_util.adb (Defining_Entity): Code cleanup.
+       (Fix_Msg): Moved from Sem_Prag and augmented to handle
+       mode replacements.
+       (Has_Full_Default_Initialization): New routine.
+       (Is_Descendant_Of_Suspension_Object): Moved out of
+       Is_Effectively_Volatile.
+       (Is_Single_Concurrent_Object): New routine.
+       (Is_Single_Concurrent_Type): New routine.
+       (Is_Single_Concurrent_Type_Declaration): New routine.
+       (Is_Synchronized_Object): New routine.
+       (Yields_Synchronized_Object): New routine.
+       * sem_util.ads (Fix_Msg): Moved form Sem_Prag. Update the
+       comment on usage.
+       (Has_Full_Default_Initialization): New routine.
+       (Is_Single_Concurrent_Object): New routine.
+       (Is_Single_Concurrent_Type): New routine.
+       (Is_Single_Concurrent_Type_Declaration): New routine.
+       (Is_Synchronized_Object): New routine.
+       (Yields_Synchronized_Object): New routine.
+       * snames.ads-tmpl: Add name Synchronous.
+
+2015-10-26  Jerome Lambourg  <lambourg@adacore.com>
+
+       * sysdep.c (__gnat_get_task_options): Refine the workaround for
+       the VX_USR_TASK_OPTION bug in VxWorks 7, as we cannot check the
+       value of VX_DEALLOC_TCB in RTP mode, the macro value not being
+       defined in the headers.
+       * g-arrspl.ads: Fix typo.
+
+2015-10-26  Jerome Lambourg  <lambourg@adacore.com>
+
+       * sysdep.c (__gnat_get_task_options): Workaround a VxWorks
+       bug where VX_DEALLOC_TCB task option is forbidden when calling
+       taskCreate but allowed in VX_USR_TASK_OPTIONS.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_unst.ads, exp_unst.adb (Is_Uplevel_Referenced): New subprogram.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Constant_Indexing_OK): New predicate, subsidiary
+       of Try_Container_Indexing, that implements the name resolution
+       rules given in RM 4.1.6 (13-15).
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch3.adb, sem_util.adb: Minor reformatting.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Return False when
+       generating C code.
+       * sem_ch3.adb: Fix typos.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): Change the
+       structure of the predicate functions to reflect the requirements
+       of AI12-0071.
+       (Add_Condition): New procedure to do the "and-then-ing" in Add_Call
+       and Add_Predicates.
+       * einfo.ads (Static_Real_Or_String_Predicate): Change the
+       documentation to reflect the new structure.
+       * sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
+       Change the walking of the predicate expression to reflect the
+       new structure.
+       * exp_util.adb: Minor comment fix.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * s-rident.ads (No_Dynamic_Sized_Objects): New restriction name.
+       * sem_util.ads, sem_util.adb (All_Composite_Constraints_Static):
+       New function to check that all relevant constraints are static.
+       * sem_aggr.adb (Resolve_Array_Aggregate): Call
+       All_Composite_Constraints_Static on the bounds of named array
+       aggregates.
+       * sem_ch3.adb (Analyze_Subtype_Declaration): Call
+       All_Composite_Constraints_Static if the type is composite and
+       the subtype is constrained.
+
+2015-10-26  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): Skip the frontend
+       transformation of functions that return a constrained array into
+       a procedure when they are unchecked_conversion instances.
+
+2015-10-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-os_lib.ads: Minor reformatting/rewording.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * debug.adb: Introduce debug flag -gnatd.5.
+
+2015-10-26  Pascal Obry  <obry@adacore.com>
+
+       * s-os_lib.ads, s-os_lib.adb (Kill): New routine. This routine
+       makes visible support for killing processes in expect.c.
+       * expect.c (__gnat_kill): Removed from here.
+       * adaint.c (__gnat_kill): Added here to be usable in the compiler
+       (System.OS_Lib).
+       * make.adb (Sigint_Intercepted): Use the Kill routine from
+       System.OS_Lib.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, einfo.adb, exp_unst.adb (Needs_Typedef,
+       Set_Needs_Typedef): Removed, no longer used.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (First_Component): Update the assertion to allow
+       for concurrent types.
+       (First_Component_Or_Discriminant): Update the assertion to allow for
+       concurrent types.
+       * einfo.ads: Update the documentation of attributes First_Component
+       and First_Component_Or_Discriminant along with uses in entities.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): An effectively
+       volatile object may act as an actual when the corresponding
+       formal is of a non-scalar effectively volatile type, not just
+       a non-scalar volatile type.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * sinfo.ads, sem_util.ads: Update comments.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Refined_Depends_Global_Post): When dealing with
+       protected entries or protected subprograms, use the enclosing protected
+       type to ensure that the protected type declaration is declared
+       in a package spec. Remove an obsolete attempt to ensure the
+       aggregate for of pragma Refined_State as this routine is never
+       called in that case.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Iterator_Loop_Over_Container): For
+       an element iterator loop, the element is a constant if the
+       container object is a constant, even if the container type has
+       a Variable_Indexing aspect.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * s-fileio.adb (Fopen_Mode): Use "r+" for Out_File/Stream_IO,
+       so the file won't be truncated on 'fopen', as required by
+       AI95-00283-1.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * gnat1drv.adb, prj.adb, sem_ch6.adb, s-regpat.adb,
+       sem_prag.adb: Fix typos.
+       * einfo.ads, restrict.ads: Minor comment fixes.
+       * err_vars.ads, sem_util.adb, errout.ads: Code clean up.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Do not check that the
+       Left-hand side is legal in an inlined body, check is done on
+       the original template.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Find_Primitive_Operations): New
+       subprogram to retrieve by name the possibly overloaded set of
+       primitive operations of a type.
+       * sem_ch4.adb (Try_Container_Indexing): Use
+       Find_Primitive_Operations to handle overloaded indexing operations
+       of a derived type.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * osint-c.ads: Minor comment update.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
+       s-osinte-darwin.ads, s-osinte-android.ads, s-osinte-freebsd.ads,
+       s-taprop-posix.adb (Get_Page_Size): C function returns an int. Adjust
+       callers accordingly.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Is_OK_Object_Reference): New routine.
+       (Substitute_Valid_Check): Perform the 'Valid subsitution but do
+       not suggest the use of the attribute if the left hand operand
+       does not denote an object as it leads to illegal code.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_unst.adb: Minor reformatting.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb: Improve error msg.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Check_Controlling_Type): Handle properly the
+       case of an incomplete type whose full view is tagged, when a
+       primitive operation of the type is declared between the two views.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * adaint.c (__gnat_locate_exec_on_path): If the PATH environment
+       variable is not set, do not return NULL, because we can still find
+       the executable if it includes a directory name.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_elab.adb (Elab_Warning): Under dynamic elaboration, when
+       elaboration warnings are enabled, emit proper warning header
+       when triggered by an access attribute.
+
+2015-10-26  Steve Baird  <baird@adacore.com>
+
+       * exp_ch11.adb: If CodePeer_Mode is true, generate simplified
+       SCIL for exception declarations.
+       * exp_ch11.adb (Expand_N_Exception_Declaration) If CodePeer_Mode
+       is True, initialize the Full_Name component of the exception
+       record to null instead of to the result of an unchecked
+       conversion.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_unst.adb (Note_Uplevel_Ref) : Handle properly a reference
+       that denotes a function returning a constrained array, that has
+       been rewritten as a procedure.
+       * makeutl.ads: Minor edit.
+
+2015-10-26  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb (Traverse_Protected_Declaration): New
+       procedure for traversal.
+       (Add_SPARK_Xrefs): Remove debugging code.
+       (Traverse_Declaration_Or_Statement): Call the new traversal
+       procedure.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Pragma
+       Extensions_Visible can now appear on an abstract subprogram
+       declaration.
+
+2015-10-26  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb (Add_SPARK_Xrefs): Use character 'r' to
+       denote a reference to a constant which may have variable input, and
+       thus may be treated as a variable in GNATprove, instead of the
+       character 'c' used for constants.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Object_Access_Level): Only aliased formals of
+       functions have the accessibility level of the point of call;
+       aliased formals of procedures have the same level as unaliased
+       formals.
+       (New_Copy_Tree): Add guard on copying itypes. From code reading.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * inline.adb: Minor reformatting.
+
+2015-10-26  Yannick Moy  <moy@adacore.com>
+
+       * get_spark_xrefs.adb (get_SPARK_Xrefs): Remove obsolete
+       assertion.
+       * lib-xref-spark_specific.adb (Traverse_Declaration_Or_Statement):
+       New procedure to factor duplicated code and add
+       treatment of protected entries.
+       (Add_SPARK_Scope, Traverse_Declarations_Or_Statements): Call the new
+       procedure Traverse_Declaration_Or_Statement. Use same character used in
+       normal xrefs for SPARK xrefs, for a given entity used as scope.
+       * spark_xrefs.ads Document character used for entries.
+       * sem_prag.adb (Check_Loop_Pragma_Placement): Account for possible
+       introduction of declarations and statements by the expansion, between
+       two otherwise consecutive loop pragmas.
+       * sem_util.ads, sem_util.adb (Is_Suspension_Object): Lifted from nested
+       function.
+       (Is_Descendant_Of_Suspension_Object): nested function lifted.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Attribute 'Enum_Rep can be folded
+       when its prefix denotes a constant, an enumeration literal or
+       an enumeration type. Use the expression of the attribute in the
+       enumeration type form, otherwise use the prefix to fold.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * aspects.adb Add an entry for entry bodies in table
+       Has_Aspect_Specifications_Flag.
+       (Aspects_On_Body_Or_Stub_OK): Entry bodies now allow for certain
+       aspects.
+       * contracts.adb (Add_Contract_Items): Code cleanup. Add
+       processing for entry bodies, entry declarations and task units.
+       (Analyze_Subprogram_Body_Contract): Renamed
+       to Analyze_Entry_Or_Subprogram_Body_Contract. Do not
+       analyze the contract of an entry body unless annotating the
+       original tree.
+       (Analyze_Subprogram_Contract): Renamed to
+       Analyze_Entry_Or_Subprogram_Contract.  Do not analyze the contract
+       of an entry declaration unless annotating the original tree.
+       (Analyze_Task_Contract): New routine.
+       * contracts.ads (Add_Contract_Item): Update the comment on usage.
+       (Analyze_Package_Body_Contract): Update comment on usage.
+       (Analyze_Package_Contract): Update the comment on usage.
+       (Analyze_Subprogram_Body_Contract): Renamed to
+       Analyze_Entry_Or_Subprogram_Body_Contract.
+       (Analyze_Subprogram_Body_Stub_Contract): Update the comment on usage.
+       (Analyze_Subprogram_Contract): Renamed to
+       Analyze_Entry_Or_Subprogram_Contract.
+       (Analyze_Task_Contract): New routine.
+       * einfo.adb (Contract): Restructure the assertion to include
+       entries and task units.
+       (SPARK_Pragma): This attribute now applies to operators.
+       (SPARK_Pragma_Inherited): This flag now applies to operators.
+       (Set_Contract): Restructure the assertion to include entries and task
+       units.
+       (Set_SPARK_Pragma): This attribute now applies to operators.
+       (Set_SPARK_Pragma_Inherited): This flag now applies to operators.
+       (Write_Field34_Name): Write out all Ekinds that have a contract.
+       (Write_Field40_Name): SPARK_Pragma now applies to operators.
+       * einfo.ads: Update the documentation of attribute Contract along
+       with usage in nodes.  Update the documentation of attributes
+       SPARK_Pragma and SPARK_Pragma_Inherited.
+       * exp_ch6.adb (Freeze_Subprogram): Update the call to
+       Analyze_Subprogram_Contract.
+       * par-ch9.adb (P_Entry_Barrier): Do not parse keyword "is" as it
+       is not part of the entry barrier production.
+       (P_Entry_Body): Parse the optional aspect specifications. Diagnose
+       misplaced aspects.
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Update the call
+       to Find_Related_Subprogram_Or_Body.
+       * sem_aux.adb (Unit_Declaration_Node) Add an entry for entry
+       declarations and bodies.
+       * sem_ch3.adb (Analyze_Declarations): Analyze the contracts of
+       entry declarations, entry bodies and task units.
+       * sem_ch6.adb (Analyze_Generic_Subprogram_Body):
+       Update the call to Analyze_Subprogram_Body_Contract.
+       (Analyze_Subprogram_Body_Helper): Update the call to
+       Analyze_Subprogram_Body_Contract.
+       * sem_ch9.adb (Analyze_Entry_Body): Analyze the aspect
+       specifications and the contract.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Update the call to
+       Analyze_Subprogram_Contract.
+       * sem_ch12.adb (Save_References_In_Pragma): Update the call to
+       Find_Related_Subprogram_Or_Body.
+       * sem_ch13.adb (Analyze_Aspects_On_Body_Or_Stub): Use
+       Unique_Defining_Entity rather than rummaging around in nodes.
+       (Diagnose_Misplaced_Aspects): Update comment on usage. Update the
+       error messages to accomondate the increasing number of contexts.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+       Update the call to Find_Related_Subprogram_Or_Body.
+       (Analyze_Depends_Global): Update the call to
+       Find_Related_Subprogram_Or_Body. Add processing for entry
+       declarations.
+       (Analyze_Depends_In_Decl_Part): Update the call
+       to Find_Related_Subprogram_Or_Body. Task units have no formal
+       parameters to install.  (Analyze_Global_In_Decl_Part): Update
+       the call to Find_Related_Subprogram_Or_Body. Task units have no
+       formal parameters to install.
+       (Analyze_Global_Item): Use Fix_Msg to handle the increasing number of
+       contexts.
+       (Analyze_Pragma): Update the call to Find_Related_Subprogram_Or_Body.
+       Perform full analysis when various pragmas appear in an entry body.
+       (Analyze_Pre_Post_Condition): Update the call to
+       Find_Related_Subprogram_Or_Body. Perform full analysis when the pragma
+       appears in an entry body.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Update the call to
+       Find_Related_Subprogram_Or_Body.
+       (Analyze_Refined_Depends_Global_Post): Update
+       the call to Find_Related_Subprogram_Or_Body. Use
+       Fix_Msg to handle the increasing number of contexts.
+       (Analyze_Refined_Depends_In_Decl_Part): Update
+       the call to Find_Related_Subprogram_Or_Body. Use
+       Unique_Defining_Entity to obtain the entity of the
+       spec. Use Fix_Msg to handle the increasing number of contexts.
+       (Analyze_Refined_Global_In_Decl_Part): Update the call to
+       Find_Related_Subprogram_Or_Body. Use Unique_Defining_Entity to obtain
+       the entity of the spec. Use Fix_Msg to handle the increasing number of
+       contexts.
+       (Analyze_Test_Case_In_Decl_Part): Update the call to
+       Find_Related_Subprogram_Or_Body.
+       (Check_Dependency_Clause): Use Fix_Msg to handle the increasing number
+       of contexts.
+       (Check_Mode_Restriction_In_Enclosing_Context): Use
+       Fix_Msg to handle the increasing number of contexts.
+       (Collect_Subprogram_Inputs_Outputs): Use the refined
+       versions of the pragmas when the context is an entry body or
+       a task body.
+       (Find_Related_Subprogram_Or_Body): Renamed to
+       Find_Related_Declaration_Or_Body.  Add processing for entries
+       and task units.
+       (Fix_Msg): New routine.
+       (Role_Error): Use Fix_Msg to handle the increasing number of contexts.
+       * sem_prag.ads (Find_Related_Subprogram_Or_Body): Renamed to
+       Find_Related_Declaration_Or_Body.  Update the comment on usage.
+       * sem_util.adb (Is_Entry_Body): New routine.
+       (Is_Entry_Declaration): New routine.
+       * sem_util.ads (Is_Entry_Body): New routine.
+       (Is_Entry_Declaration): New routine.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * inline.adb (Has_Excluded_Declaration): A subtype declaration
+       with a predicate aspect generates a subprogram, and therefore
+       prevents the inlining of the enclosing subprogram.
+       * osint.ads: Fix typo.
+
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_case.adb (Check_Choice_Set): Choose initial choice range
+       below low bound of type, to prevent spurious errors on case
+       statements whose expressions have an integer subtype with a
+       static predicate.
+       * sem_util.ads: Fix typo.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Case_Expression): In the scope of a
+       predicate function, delay the expansion of the expression only
+       if the target type has a specified Static_ Predicate aspect,
+       because the expression is processed later. A dynamic predicate
+       must be expanded in standard fashion.
+
+2015-10-26  Claire Dross  <dross@adacore.com>
+
+       * a-nudira.ads: Remove SPARK_Mode as it currently causes an error.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb, sem_type.adb, sem_ch12.adb, sem_res.adb, sem_ch4.adb,
+       sem_ch8.adb, exp_aggr.adb, sem_eval.adb, s-fatgen.adb, a-tienio.adb:
+       Fix typos.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): The processing
+       for aspects Abstract_State, Ghost, Initial_Condition, Initializes
+       and Refined_State no longer have to take SPARK_Mode into account.
+       (Insert_After_SPARK_Mode): Removed.
+       (Insert_Pragma): Update profile and comment on usage. The routine can
+       now insert a pragma after the "header" of an instance.
+       * sem_prag.adb (Analyze_If_Available): New routine.
+       (Analyze_Pragma): Do not reset the Analyzed flag of various
+       SPARK pragmas as they use the Is_Analyzed_Pragma attribute to
+       avoid reanalysis. Various pragmas now trigger the analysis
+       of related pragmas that depend on or are dependent on the
+       current pragma. Remove the declaration order checks related
+       to pragmas Abstract_State, Initial_Condition and Initializes.
+       (Analyze_Pre_Post_Condition): Analyze pragmas SPARK_Mode and
+       Volatile_Function prior to analyzing the pre/postcondition.
+       (Check_Declaration_Order): Removed.
+       (Check_Distinct_Name): Ensure that a potentially duplicated pragma
+       Test_Case is not the pragma being analyzed.
+       (Is_Followed_By_Pragma): Removed.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb: Handle subprogram bodies without previous specs.
+
+2015-10-26  Claire Dross  <dross@adacore.com>
+
+       * a-nudira.ads: Specify appropriate SPARK_Mode so that the unit
+       can be used in SPARK code.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Analyze_Subprogram_Body_Contract): Do not analyze
+       pragmas Refined_Global and Refined_Depends because these pragmas
+       are now fully analyzed when encountered.
+       (Inherit_Pragma): Update the call to attribute Is_Inherited.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Add a guard
+       to prevent reanalysis. Mark the pragma as analyzed at the end of
+       the processing.
+       (Analyze_Depends_Global): New parameter profile
+       and comment on usage. Do not fully analyze the pragma, this is
+       now done at the outer level.
+       (Analyze_Depends_In_Decl_Part): Add a guard to prevent reanalysis.
+       Mark the pragma as analyzed at the end of the processing.
+       (Analyze_External_Property_In_Decl_Part): Add a guard to prevent
+       reanalysis.  Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Global_In_Decl_Part): Add a guard to prevent reanalysis. Mark
+       the pragma as analyzed at the end of the processing.
+       (Analyze_Initial_Condition_In_Decl_Part): Add a guard to prevent
+       reanalysis.  Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Initializes_In_Decl_Part): Add a guard to prevent reanalysis.
+       Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Pragma): Reset the Analyzed flag on various pragmas that
+       require delayed full analysis. Contract_Cases is now analyzed
+       immediately when it applies to a subprogram body stub. Pragmas Depends,
+       Global, Refined_Depends and Refined_Global are now analyzed
+       in pairs when they appear in a subprogram body [stub].
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Add a guard to
+       prevent reanalysis.  Mark the pragma as analyzed at the end of
+       the processing.
+       (Analyze_Refined_Depends_Global_Post): Update the comment on usage.
+       (Analyze_Refined_Depends_In_Decl_Part): Add a guard to prevent
+       reanalysis. Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Refined_Global_In_Decl_Part): Add a guard to prevent
+       reanalysis. Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Refined_State_In_Decl_Part): Add a guard to prevent
+       reanalysis. Mark the pragma as analyzed at the end of the processing.
+       (Analyze_Test_Case_In_Decl_Part): Add a guard to prevent reanalysis.
+       Mark the pragma as analyzed at the end of the processing.
+       (Is_Followed_By_Pragma): New routine.
+       * sinfo.adb (Is_Analyzed_Pragma): New routine.
+       (Is_Inherited): Renamed to Is_Inherited_Pragma.
+       (Set_Is_Analyzed_Pragma): New routine.
+       (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma.
+       * sinfo.ads Rename attribute Is_Inherited to Is_Inherited_Pragma
+       and update occurrences in nodes.
+       (Is_Analyzed_Pragma): New routine along with pragma Inline.
+       (Is_Inherited): Renamed to Is_Inherited_Pragma along with pragma Inline.
+       (Set_Is_Analyzed_Pragma): New routine along with pragma Inline.
+       (Set_Is_Inherited): Renamed to Set_Is_Inherited_Pragma along
+       with pragma Inline.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch3.adb (P_Component_Items): When style checks are enabled,
+       apply them to component declarations in a record type declaration
+       or extension.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Is_Suspension_Object): Ensure that the scope of "Ada"
+       is Standard_Standard.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Is_OK_Volatile_Context): A subprogram call is an OK
+       context for a reference to an effectively volatile object.
+       (Resolve_Actuals): Add references to SPARK RM.
+       (Within_Procedure_Call): Removed.
+       (Within_Subprogram_Call): New routine.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Aggregate_Accessibility): A reference to a
+       formal parameter in an aggregate does not need an accesibility
+       check only if the formal is aliased.
+
+2015-10-26  Claire Dross  <dross@adacore.com>
+
+       * sem_aux.ads (Number_Components): Can return 0 when called on
+       an empty record.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.adb (Analyze_Subprogram_Body_Contract): Use
+       Unique_Defining_Entity instead of Corresponding_Spec_Of.
+       * einfo.adb SPARK_Pragma and SPARK_Aux_Pragma are now Node40 and
+       Node41 respectively.
+       (SPARK_Aux_Pragma): Update the assertion and node querry.
+       (SPARK_Aux_Pragma_Inherited): Update the assertion and node query.
+       (SPARK_Pragma): Update the assertion and node query.
+       (SPARK_Pragma_Inherited): Update the assertion and node query.
+       (Set_SPARK_Aux_Pragma): Update the assertion and node setting.
+       (Set_SPARK_Aux_Pragma_Inherited): Update the assertion and node setting.
+       (Set_SPARK_Pragma): Update the assertion and node setting.
+       (Set_SPARK_Pragma_Inherited): Update the assertion and node setting.
+       (Write_Field32_Name): Remove the output for SPARK_Pragma.
+       (Write_Field33_Name): Remove the output for SPARK_Aux_Pragma.
+       (Write_Field40_Name): Add output for SPARK_Pragma.
+       (Write_Field41_Name): Add output for SPARK_Aux_Pragma.
+       * einfo.ads Rewrite the documentation on attributes
+       SPARK_Pragma, SPARK_Aux_Pragma, SPARK_Pragma_Inherited and
+       SPARK_Aux_Pragma_Inherited. Update their uses in nodes.
+       * exp_ch4.adb (Create_Anonymous_Master): Use
+       Unique_Defining_Entity instead of Corresponding_Spec_Of.
+       * exp_ch9.adb (Expand_Entry_Declaration): Mark the barrier
+       function as such.
+       (Expand_N_Task_Body): Mark the task body as such.
+       (Expand_N_Task_Type_Declaration): Mark the task body as such.
+       * exp_unst.adb (Visit_Node): Use Unique_Defining_Entity instead
+       of Corresponding_Spec_Of.
+       * sem_attr.adb (Analyze_Attribute_Old_Result): Use
+       Unique_Defining_Entity instead of Corresponding_Spec_Of.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Entry barrier
+       functions do not inherit the SPARK_Mode from the context.
+       (Build_Subprogram_Declaration): The matching spec is now marked
+       as a source construct to mimic the original stand alone body.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Code cleanup.
+       * sem_ch9.adb Add with and use clauses for Contracts.
+       (Analyze_Entry_Body): An entry body freezes the contract of
+       the nearest enclosing package body. The entry body now inherits
+       the SPARK_Mode from the context.
+       (Analyze_Entry_Declaration): A protected entry declaration now inherits
+       the SPARK_Mode from the context.
+       (Analyze_Protected_Body): A protected body freezes
+       the contract of the nearest enclosing package body. Set the
+       Etype of a protected body as this is neede for proper aspect
+       analysis. Protected bodies can now carry meaningful aspects and
+       those are now analyzed.
+       (Analyze_Protected_Type_Declaration): A protected type now inherits the
+       SPARK_Mode from the context.
+       (Analyze_Task_Body): A task body freezes the contract of the
+       nearest enclosing package body. Set the Etype of a task body
+       as this is needed for proper aspect analysis. A task body
+       now inherits the SPARK_Mode from the context.  Task bodies
+       can now carry meaningful aspects and those are now analyzed.
+       (Analyze_Task_Type_Declaration): A task type declaration now
+       inherits the SPARK_Mode of from the context.
+       * sem_ch10.adb (Analyze_Protected_Body_Stub): Protected body
+       stubs can now carry meaningful aspects.
+       (Analyze_Task_Body_Stub): Task body stubs can now carry meaningful
+       aspects.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspects SPARK_Mode
+       Warnings now use routine Insert_Pragma as means of insertion into
+       the tree.
+       (Insert_After_SPARK_Mode): Clean up documentation.
+       (Insert_Pragma): Clean up documentation. The routine is now
+       capable of operating on synchronized units.
+       * sem_prag.adb (Add_Entity_To_Name_Buffer): New routine.
+       (Analyze_Contract_Cases_In_Decl_Part): Use
+       Unique_Defining_Entity instead of Corresponding_Spec_Of.
+       (Analyze_Depends_Global): Use Unique_Defining_Entity instead
+       of Corresponding_Spec_Of.
+       (Analyze_Depends_In_Decl_Part): Use Unique_Defining_Entity instead of
+       Corresponding_Spec_Of.
+       (Analyze_Global_In_Decl_Part): Use Unique_Defining_Entity instead of
+       Corresponding_Spec_Of.
+       (Analyze_Pragma): Use Unique_Defining_Entity instead of
+       Corresponding_Spec_Of.
+       Update the detection of an illegal pragma Ghost when it applies
+       to a task or protected unit. Reimplement the handling of
+       pragma SPARK_Mode.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Use Unique_Defining_Entity
+       instead of Corresponding_Spec_Of.
+       (Analyze_Test_Case_In_Decl_Part): Use Unique_Defining_Entity instead of
+       Corresponding_Spec_Of.
+       (Check_Library_Level_Entity): Update the comment on usage.
+       Reimplemented to offer a more specialized errror context.
+       (Check_Pragma_Conformance): Update profile and comment on usage.
+       Handle error message output on single protected or task units.
+       (Collect_Subprogram_Inputs_Outputs): Use Unique_Defining_Entity
+       instead of Corresponding_Spec_Of.
+       (Process_Body): New routine.
+       (Process_Overloadable): New routine.
+       (Process_Private_Part): New routine.
+       (Process_Statement_Part): New routine.
+       (Process_Visible_Part): New routine.
+       (Set_SPARK_Context): New routine.
+       (Set_SPARK_Flags): Removed.
+       * sem_util.adb (Corresponding_Spec_Of): Removed.
+       (Unique_Entity): Reimplemented to handle many more cases.
+       * sem_util.ads (Corresponding_Spec_Of): Removed.
+       (Unique_Defining_Entity): Update the comment on usage.
+       * sinfo.ads (Is_Entry_Barrier_Function): Update the assertion.
+       (Is_Task_Body_Procedure): New routine.
+       (Set_Is_Entry_Barrier_Function): Update the assertion.
+       (Set_Is_Task_Body_Procedure): New routine.
+       * sinfo.adb Update the documentation of attribute
+       Is_Entry_Barrier_Function along with use in nodes. Add new
+       attribute Is_Task_Body_Procedure along with use in nodes.
+       (Is_Task_Body_Procedure): New routine along with pragma Inline.
+       (Set_Is_Task_Body_Procedure): New routine along with pragma Inline.
+
+2015-10-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch13.adb: Minor reformatting.
+
+2015-10-26  Steve Baird  <baird@adacore.com>
+
+       * exp_disp.adb: Omit most dispatch table initialization code
+       if Generate_SCIL is true.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sinfo.ads, exp_ch3.adb: Revert previous change.
+       (Build_Record_Init_Proc): Do not build an aggregate if
+       Modify_Tree_For_C.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Find_Corresponding_Spec): Reject a subprogram
+       body whose signature is type conformant with a previous expression
+       function.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * treepr.adb: Code clean up.
+
+2015-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Check_Component_Storage_Order): Skip a record
+       component if it has Complex_Representation.
+       (Freeze_Record_Type): If the type has Complex_Representation, skip the
+       regular treatment of Scalar_Storage_Order attribute and instead issue
+       a warning if it is present.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Check_Iterator_Functions): For a Default_Iterator
+       aspect, make sure an implicitly declared interpretation is
+       overridden by an explicit one.
+       * sem_util.ads: Update comment.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch7.adb, sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only source
+       bodies should "freeze" the contract of the nearest enclosing
+       package body.
+
+2015-10-26  Joel Brobecker  <brobecker@adacore.com brobecker>
+
+       * adaint.c (__gnat_lwp_self): Replace current implementation re-using
+       the Linux one, which uses an __NR_gettid syscall rather than
+       pthread_self.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * sinfo.ads, exp_ch3.adb (Build_Array_Init_Proc,
+       Build_Record_Init_Proc): Do not inline init procs when
+       Modify_Tree_For_C is True.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * errout.ads: Minor comment fix.
+       * einfo.ads: Minor style fix.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * sem_ch3.adb (Derive_Interface_Subprogram): Fix
+       Is_Abstract_Subprogram, which might have been calculated
+       incorrectly, because we're passing Ultimate_Alias (Subp) (and
+       its dispatching type) to Derive_Subprogram, instead of the true
+       parent subprogram and type.
+
+2015-10-26  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Check_Iterator_Functions): When
+       printing the "default iterator must be unique" error message,
+       also print references to the places where the duplicates are
+       declared. This makes the message clearer.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Do not set
+       Box_Present when the formal part is (others => <>) even though
+       it is equivalent to a formal part (<>), because ASIS tools depend
+       on the syntactic setting of this flag.
+
+2015-10-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch13.adb: Minor reformatting.
+       * einfo.ads: Minor typo.
+
+2015-10-26  Joel Brobecker  <brobecker@adacore.com brobecker>
+
+       * adaint.c (__gnat_open_new_temp): Use mkstemp on Android.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Code clean up.
+       * sem_ch13.adb (Check_Inherited_Indexing): New inner procedure
+       of Check_Indexing_Functions, to verify that a derived type with an
+       Indexing aspect is not inheriting such an aspect from an ancestor.
+       (Check_Indexing_Functions): Call Check_Inherited_Indexing within
+       an instance.
+
+2015-10-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * a-reatim.adb, contracts.adb, contracts.ads: Minor reformatting and
+       typo corrections.
+
+2015-10-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not
+       recheck the consistency betwen the freeze point and the end of
+       declarations for the expression in an aspect specification,
+       because it was done already in the analysis of the generic.
+       Furthermore, the delayed analysis of an aspect of the instance
+       may produce spurious errors when the generic is a child unit
+       that references entities in the parent (which might not be in
+       scope at the freeze point of the instance).
+
+2015-10-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Resolve_Call): Issue info message
+       instead of warning when call cannot be inlined in GNATprove mode.
+
+2015-10-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Build_Procedure_Form): Use _result as the
+       name of the extra parameter, cleaner than a random temp name.
+       * gnat1drv.adb (Gnat1drv): Code clean up.
+
+2015-10-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (build_binary_op): Tweak formatting.
+       (build_unary_op): Likewise.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+       * doc/share/ada_pygments.py, 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_rm/implementation_defined_attributes.rst,
+       doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
+       doc/gnat_rm/representation_clauses_and_pragmas.rst,
+       doc/gnat_rm/implementation_defined_pragmas.rst,
+       doc/gnat_rm/about_this_guide.rst,
+       doc/gnat_rm/implementation_of_ada_2012_features.rst,
+       doc/gnat_rm/implementation_of_specific_ada_features.rst,
+       doc/gnat_rm/implementation_defined_aspects.rst,
+       doc/gnat_rm/implementation_advice.rst: Update documentation.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * contracts.ads, contracts.adb: New unit.
+       * exp_ch6.adb Add with and use clauses for Contracts.
+       (Expand_Subprogram_Contract): Moved to Contracts.
+       * exp_ch6.ads (Expand_Subprogram_Contract): Moved to Contracts.
+       * sem_ch3.adb Add with and use clauses for Contracts.
+       (Analyze_Object_Contract): Moved to Contracts.
+       (Analyze_Declarations): Remove local variable Pack_Decl. Do not
+       capture global references in contracts. Check the hidden states
+       of a package body.
+       * sem_ch6.adb Add with and use clauses in Contracts.
+       (Analyze_Generic_Subprogram_Body): Do not capture global
+       references in contracts.
+       (Analyze_Subprogram_Body_Contract):
+       Moved to Contracts.
+       (Analyze_Subprogram_Body_Helper): Freeze the
+       contract of the nearest enclosing package body. Always analyze
+       the subprogram body contract. Do not expand the subprogram
+       body contract.
+       (Analyze_Subprogram_Contract): Moved to Contracts.
+       * sem_ch6.ads (Analyze_Subprogram_Body_Contract): Moved to Contracts.
+       (Analyze_Subprogram_Contract): Moved to Contracts.
+       * sem_ch7.adb Add with and use clauses for Contracts.
+       (Analyze_Package_Body_Contract): Moved to Contracts.
+       (Analyze_Package_Body_Helper): Freeze the contract of the
+       nearest enclosing package body.
+       (Analyze_Package_Contract): Moved to Contracts.
+       * sem_ch7.ads (Analyze_Package_Body_Contract): Moved to Contracts.
+       (Analyze_Package_Contract): Moved to Contracts.
+       * sem_ch10.adb Add with and use clauses for Contracts.
+       (Analyze_Compilation_Unit): Do not capture global references
+       in contracts.
+       (Analyze_Subprogram_Body_Stub_Contract): Moved to Contracts.
+       * sem_ch10.ads (Analyze_Subprogram_Body_Stub_Contract): Moved
+       to Contracts.
+       * sem_ch12.adb Add with and use clauses for Contracts.
+       (Analyze_Subprogram_Instantiation): Update the call to
+       Instantiate_Subprogram_Contract.
+       (Instantiate_Package_Body):
+       Do not copy the entity of the spec when creating an entity
+       for the body. Construct a brand new defining identifier for
+       the body and inherit the Comes_From_Source flag from the spec.
+       (Instantiate_Subprogram_Body): Remove Anon_Id to Act_Decl_Id
+       and update all occurrences. Construct a brand new defining
+       identifier for the body and inherit the Comes_From_Source
+       flag from the spec.
+       (Instantiate_Subprogram_Contract): Moved
+       to Contracts.
+       (Save_Global_References_In_Aspects): Moved to
+       the spec of Sem_Ch12.
+       (Save_Global_References_In_Contract):
+       Moved to Contracts.
+       * sem_ch12.ads (Save_Global_References_In_Aspects): Moved from
+       the body of Sem_Ch12.
+       (Save_Global_References_In_Contract):
+       Moved to Contracts.
+       * sem_prag.adb Add with and use clauses for Contracts.
+       (Add_Item): Removed. All references to this routine have been
+       replaced with calls to Append_New_Elmt.
+       (Analyze_Constituent):
+       Add special diagnostics for errors caused by freezing of
+       contracts.
+       (Analyze_Refined_State_In_Decl_Part): Add formal
+       parameter Freeze_Id. Add new global variable Freeze_Posted.
+       (Collect_Body_States): Removed.
+       (Report_Unused_States): Removed.
+       * sem_prag.ads (Analyze_Defined_State_In_Decl_Part): Add formal
+       parameter Freeze_Id and update comment on usage.
+       * sem_util.adb Remove with and use clauses for
+       Sem_Ch12.
+       (Add_Contract_Item): Moved to Contracts.
+       (Check_Unused_Body_States): New routine.
+       (Collect_Body_States):
+       New routine.
+       (Create_Generic_Contract): Moved to Contracts.
+       (Inherit_Subprogram_Contract): Moved to Contracts.
+       (Report_Unused_Body_States): New routine.
+       * sem_util.ads (Add_Contract_Item): Moved to Contracts.
+       (Check_Unused_Body_States): New routine.
+       (Collect_Body_States): New routine.
+       (Create_Generic_Contract): Moved to Contracts.
+       (Inherit_Subprogram_Contract): Moved to Contracts.
+       (Report_Unused_Body_States): New routine.
+       * sinfo.adb (Is_Expanded_Contract): New routine.
+       (Set_Is_Expanded_Contract): New routine.
+       * sinfo.ads New attribute Is_Expanded_Contract along with
+       placement in nodes.
+       (Is_Expanded_Contract): New routine along
+       with pragma Inline.
+       (Set_Is_Expanded_Contract): New routine
+       along with pragma Inline.
+       * gcc-interface/Make-lang.in: Add entry for contracts.o
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * bindgen.adb, init.c, opt.ads, switch-b.adb: Implement new -Ea and
+       -Es switches.
+       * switch-b.ads: Minor comment fix.
+       * bindusg.adb: Document new -Ea and -Es switches.
+       * s-exctra.ads: Use -Es instead of -E.
+
+2015-10-23  Tristan Gingold  <gingold@adacore.com>
+
+       * gcc-interface/utils2.c (build_call_alloc_dealloc): Check no implicit
+       task and protected object restrictions.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb, exp_ch6.adb: Minor reformatting.
+
+2015-10-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb: Minor reformatting.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Check_Formal_Packages): A formal package whose
+       actual part is (others => <>) os identical to a formal package
+       with an actual part written as (<>).
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-reatim.adb ("/"): For Time_Span division convert the operands
+       to integers and then use integer division, which conforms to
+       the rounding required by Ada RM.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Missing_Return): Do not report a missing
+       return statement on a function body constructed to complete a
+       package body for a premature instantiation.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Build_Procedure_Body_Form): Replace body of
+       original function with that of generated procedure, to simplify
+       processing and avoid scoping problems with local declarations.
+       (Rewrite_Function_Call_For_C): Handle properly the case of a
+       parameterless function.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-exextr.adb, sem_ch6.adb, sem_ch13.adb: Minor reformatting.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taskin.ads: Minor code clean up.
+       (Ada_Task_Control_Block): Move fixed size field before variable sized
+       ones.
+       * einfo.ads: Minor editing.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Aggregate_Accessibility): Apply rule in RM
+       6.5 (8.3) to verify that access discriminants in an aggregate
+       in a return statement have the proper accessibility, i.e. do
+       not lead to dangling references.
+
+2015-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Add missing
+       test on Address_Clause_Overlay_Warnings to the "constant overlays
+       variable" warning. For the reverse case, also issue a warning if
+       the modification is potentially made through the initialization
+       of the variable.
+
+2015-10-23  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-exetim-posix.adb (Clock): Use the pthread_getcpuclockid
+       function to have access to CPU clocks for tasks other than the
+       calling task.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * debug.adb: Switch -gnatd.5 is no longer in use, remove the
+       associated documentation.
+       * exp_dbug.adb (Get_External_Name): Do not add a special prefix
+       for ignored Ghost entities or when switch -gnatd.5 is enabled.
+       * exp_dbug.ads Remove the documentation concerning the encoding
+       of ignored Ghost entities.
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * a-exextr.adb (Notify_Exception): For Unhandled_Raise_In_Main,
+       mimic the output from Ada.Exceptions.Last_Chance_Handler; don't
+       print "Exception raised".
+       * s-stalib.ads, s-exctra.ads, s-exctra.adb: Add
+       Unhandled_Raise_In_Main to types Exception_Trace_Kind/Trace_Kind.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_attr.adb, freeze.adb, sem_attr.adb, exp_aggr.adb,
+       gnatname.adb: Minor reformatting.
+
+2015-10-23  Steve Baird  <baird@adacore.com>
+
+       * a-cbdlli.ads, a-cbhama.ads, a-cbhase.ads, a-cbmutr.ads,
+       a-cborma.ads, a-cborse.ads, a-cbprqu.ads, a-cbsyqu.ads,
+       a-cdlili.ads, a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads,
+       a-cfinve.ads, a-cforma.ads, a-cforse.ads, a-cidlli.ads,
+       a-cihama.ads, a-cihase.ads, a-cimutr.ads, a-ciorma.ads,
+       a-ciormu.ads, a-ciorse.ads, a-coboho.ads, a-cobove.ads,
+       a-cofove.ads, a-cohama.ads, a-cohase.ads, a-coinho.ads,
+       a-coinho-shared.ads, a-coinve.ads, a-comutr.ads, a-conhel.ads,
+       a-convec.ads, a-coorma.ads, a-coormu.ads, a-coorse.ads,
+       a-cuprqu.ads, a-cusyqu.ads, a-rbtgbo.ads: Add spec Annotate
+       pragmas.
+       * a-cbdlli.adb, a-cbhama.adb, a-cbhase.adb, a-cbmutr.adb,
+       a-cborma.adb, a-cborse.adb, a-cbprqu.adb, a-cbsyqu.adb,
+       a-cdlili.adb, a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb,
+       a-cfinve.adb, a-cforma.adb, a-cforse.adb, a-cidlli.adb,
+       a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb,
+       a-ciormu.adb, a-ciorse.adb, a-coboho.adb, a-cobove.adb,
+       a-cofove.adb, a-cohama.adb, a-cohase.adb, a-coinho.adb,
+       a-coinho-shared.adb, a-coinve.adb, a-comutr.adb, a-conhel.adb,
+       a-convec.adb, a-coorma.adb, a-coormu.adb, a-coorse.adb,
+       a-cuprqu.adb, a-cusyqu.adb, a-rbtgbo.adb: Remove body Annotate
+       pragmas.
+
+2015-10-23  Vincent Celier  <celier@adacore.com>
+
+       * gnatname.adb: When gnatname is invoked with a project file,
+       specified with switch -P, if gprname is available, gnatname will
+       invoke gprname, with the target if it is a cross gnatname.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch4.adb: Fix typo.
+       * exp_ch6.adb: Update comment.
+       * exp_attr.adb (Expand_Min_Max_Attribute): Simplify expansion.
+       * exp_aggr.adb (Convert_To_Positional): Only convert to
+       positional when generating C in case of an object declaration.
+       (In_Object_Declaration): New.
+       (Late_Expansion): Adapt to trees generated by Modify_Tree_For_C.
+       * sinfo.ads: Update documentation.
+
+2015-10-23  Joel Brobecker  <brobecker@adacore.com brobecker>
+
+       * sigtramp.h (struct sigcontext, struct ucontext): Remove declarations,
+       and replace them by include of corresponding header file.
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * a-convec.adb (Copy): Make sure C is initialized
+       on all paths, including when Checks is False.
+
+2015-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove
+       error as unreachable.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Adjust.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_dbug.ads, exp_dbug.adb (Get_External_Name): The special prefix for
+       ignored Ghost entities is now ___ghost_.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * ghost.adb (Is_Subject_To_Ghost): Check the
+       original node when searching for pragma Ghost to catch cases
+       where a source construct has been rewritten into something else.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads, einfo.adb (Rewritten_For_C): New flag on functions
+       that return a constrained array type.  When generating C these
+       functions are rewritten as procedures with an out parameter,
+       and calls to such functions are rewritten accordingly.
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): When
+       Modify_Tree_For_C is set and the function returns a constrained
+       array type, generate a procedure declaration with an additional
+       out parameter. Mark original function as Rewritten_For_C.
+       The new declaration is inserted in tree immediately after
+       current declaration.
+       (Expand_Subprogram_Body): If entity is marked Rewritten_For_C,
+       generate body of corresponding procedure using declarations
+       and statements for function body. Replace return statements
+       with assignments to the out parameter, followed by a simple
+       return statement.
+       (Rewrite_Function_Call_For_C): New procedure to replace a function
+       call that returns an array by a procedure call.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Denotes_Iterator): New routine.
+       (Is_Iterator): Code cleanup. Factor out the detection of a
+       predefined iterator.  As a result this fixes a missing case
+       where a tagged type implements interface Reversible_Iterator.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Eval_Attribute): Constant-fold 'Enabled if
+       not within a generic unit, even if expander is not active, so
+       that instances of container packages remain preelaborable in
+       -gnatc mode.
+
+2015-10-23  Tristan Gingold  <gingold@adacore.com>
+
+       * init.c (__gnat_sigtramp): New assembly function for arm64-darwin.
+       (__gnat_error_handler): Use trampoline for arm64.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): if the type of the
+       object is a class-wide limited interface type, the expression
+       is not restricted to the forms specified for limited types.
+
+2015-10-23  Vincent Celier  <celier@adacore.com>
+
+       * gnatname.adb: Code clean up.
+       * s-taasde.ads: Fix comment.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Is_Iterator, Is_Reversible_iterator): Use
+       root type to determine whether the type is a descendant of the
+       corresponding interface type, so take into account multiple
+       levels of subtypes and derivations.
+
+2015-10-23  Olivier Hainque  <hainque@adacore.com>
+
+       * tracebak.c: Refine selection of GCC/GENERIC_UNWINDER for
+       tracebacks on x86 & x86_64.
+       (x86 & x86_64): If !SJLJ, always pick the
+       GCC_UNWINDER for x86_64 (not only on linux).
+       * sem_util.ads: Minor fix in comment.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Pragma Volatile_Function should
+       not apply to a function instantiation.
+       * sem_util.adb (Has_Effectively_Volatile_Profile): New routine.
+       (Is_Volatile_Function): An instance of Ada.Unchecked_Conversion
+       is a volatile function when its profile contains an effectively
+       volatile type.
+       * sem_util.ads (Has_Effectively_Volatile_Profile): New routine.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_unst.adb (Unnest_Subprogram): Complete previous
+       change and update comments.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Check_Function_With_Address_Parameter):
+       A subprogram that has an Address parameter and is declared in a Pure
+       package is not considered Pure, because the parameter may be used as a
+       pointer and the referenced data may change even if the address value
+       itself does not.
+       * freeze.adb (Freeze_Subprogram): use it.
+       * exp_ch6.adb (Expand_N_Subprogram_Body): Use it.
+
+2015-10-23  Olivier Hainque  <hainque@adacore.com>
+
+       * tracebak.c: Fallback to generic unwinder for gcc-sjlj on x86 &
+       x86_64 linux
+       * tracebak.c: Rework x86 & x86_64 sections to resort to the
+       generic unwinder if __USING_SJLJ_EXCEPTIONS__.
+
+2015-10-23  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Check_Function_Writable_Actuals): For function
+       calls restrict the check to elementary types, as requested by
+       RM 6.4.1(6.15/3)
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_unst.adb (Unnest_Subprogram): Suppress initialization on
+       Decl_ARECnT since we are taking care of all initializations in
+       the generated code.
+
+2015-10-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
+       Handle properly a box-initialized aggregate component.
+
+2015-10-23  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed
+       on a function.
+
+2015-10-23  Yannick Moy  <moy@adacore.com>
+
+       * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads,
+       a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null"
+       contract on subprograms.
+       * lib-xref-spark_specific.adb: collect scopes for stubs of
+       protected objects
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Enable
+       Back_Annotate_Rep_Info to get size information from gigi.
+       (Gnat1drv): Code clean ups.
+       * frontend.adb (Frontend): Ditto.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Adjust settings.
+       * sem.adb (Semantics): Remove special case.
+
+2015-10-23  Gary Dismukes  <dismukes@adacore.com>
+
+       * bindgen.adb, restrict.adb: Minor spelling/grammar fixes.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Entity_Name): Code cleanup. Check for possible
+       elaboration issues in SPARK when the name denotes a source variable.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch7.adb (Process_Transient_Objects): Reimplement to properly
+       handle restriction No_Exception_Propagation.
+       * exp_ch11.adb (Expand_At_End_Handler): Update the parameter
+       profile and all references to Block.
+       * exp_ch11.ads (Expand_At_End_Handler): Update the parameter
+       profile and comment on usage.
+       * exp_intr.adb (Expand_Unc_Deallocation): Reimplement to properly
+       handle restriction No_Exception_Propagation.
+       * gnat1drv.adb, restrict.adb: Update comment.
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Do not call
+       SS_Release for a block statement enclosing the return statement in the
+       case where a build-in-place function return is returning
+       the result on the secondary stack. This is accomplished by
+       setting the Sec_Stack_Needed_For_Return flag on such blocks.
+       It was already being set for the function itself, and it was
+       already set correctly for blocks in the non-build-in-place case
+       (in Expand_Simple_Function_Return).
+       (Set_Enclosing_Sec_Stack_Return): New procedure to perform
+       the Set_Sec_Stack_Needed_For_Return calls. Called in the
+       build-in-place and non-build-in-place cases.
+       (Expand_Simple_Function_Return): Call
+       Set_Enclosing_Sec_Stack_Return instead of performing the loop
+       in line.
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * scng.adb (Char_Literal_Case): If an apostrophe
+       follows a reserved word, treat it as a lone apostrophe, rather
+       than the start of a character literal. This was already done for
+       "all", but it needs to be done also for (e.g.) "Delta".
+
+2015-10-23  Bob Duff  <duff@adacore.com>
+
+       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Use
+       Underlying_Type for B_Typ, in case the Typ is a subtype of a type with
+       unknown discriminants.
+       * g-awk.ads: Minor style fix in comment
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * debug.adb: Document the use of debug switch -gnatd.5.
+       * einfo.adb: Code reformatting. (Is_Ghost_Entity): Moved from ghost.adb.
+       * einfo.ads New synthesized attribute Is_Ghost_Enity along
+       with usage in nodes and pragma Inline.
+       (Is_Ghost_Entity: Moved from ghost.ads.
+       * exp_ch3.adb Code reformatting.
+       (Expand_Freeze_Array_Type): Capture, set and restore the Ghost mode.
+       (Expand_Freeze_Class_Wide_Type): Capture, set and restore the
+       Ghost mode.
+       (Expand_Freeze_Enumeration_Type): Capture, set and
+       restore the Ghost mode.
+       (Expand_Freeze_Record_Type): Capture, set and restore the Ghost mode.
+       * exp_ch6.adb (Expand_Subprogram_Contract): Do not expand the
+       contract of an ignored Ghost subprogram.
+       * exp_ch13.adb Add with and use clauses for Ghost.
+       (Expand_N_Freeze_Entity): Capture, set and restore the Ghost mode.
+       * exp_dbug.adb (Get_External_Name): Code reformatting. Add a
+       special prefix for ignored Ghost entities or when requested by
+       -gnatd.5 for any Ghost entity.
+       * exp_dbug.ads Document the use of prefix "_ghost_" for ignored
+       Ghost entities.
+       * exp_prag.adb (Expand_Pragma_Check): Capture, set and restore the
+       Ghost mode.
+       (Expand_Pragma_Loop_Variant): Use In_Assertion_Expr
+       to signal the original context.
+       * ghost.adb (Check_Ghost_Overriding): Code cleanup.
+       (Is_Ghost_Entity): Moved to einfo.adb.  (Is_OK_Declaration):
+       Move the assertion expression check to the outer level.
+       (Is_OK_Ghost_Context): An assertion expression is a valid Ghost
+       context.
+       * ghost.ads (Is_Ghost_Entity): Moved to einfo.ads.
+       * sem_ch3.adb (Analyze_Object_Contract): A source Ghost object
+       cannot be imported or exported. Mark internally generated objects
+       as Ghost when applicable.
+       (Make_Class_Wide_Type): Inherit the ghostness of the root tagged type.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Mark
+       a stand alone subprogram body as Ghost when applicable.
+       (Analyze_Subprogram_Declaration): Mark internally generated
+       subprograms as Ghost when applicable.
+       * sem_ch7.adb: Code cleanup.
+       * sem_ch13.adb (Add_Invariants): Add various formal
+       parameters to break dependency on global variables.
+       (Build_Invariant_Procedure): Code cleanup. Capture, set and
+       restore the Ghost mode.
+       * sem_res.adb (Resolve_Actuals): The actual parameter of a source
+       Ghost subprogram whose formal is of mode IN OUT or OUT must be
+       a Ghost variable.
+
+2015-10-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch8.adb Code cleanup.
+       (Find_Expanded_Name): Replace
+       the call to In_Pragmas_Depends_Or_Global with a call to
+       In_Abstract_View_Pragma.
+       (In_Abstract_View_Pragma): New routine.
+       (In_Pragmas_Depends_Or_Global): Removed.
+       * sem_prag.adb (Analyze_Part_Of): Catch a case where indicator
+       Part_Of denotes the abstract view of a variable.
+
+2015-10-23  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_util.ads (Unique_Defining_Entity): Document the result
+       for tasks and entries.
+       * sem_util.adb (Unique_Entity): Return declaration entity for task and
+       entry bodies
+
+2015-10-22  Mikhail Maltsev  <maltsevm@gmail.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Use gcc_checking_assert.
+       * gcc-interface/trans.c (assoc_to_constructor): Use flag_checking.
+       * gcc-interface/utils.c (relate_alias_sets): Likewise.
+       * gcc-interface/utils2.c (build_binary_op, build_unary_op): Use
+       gcc_checking_assert
+
+2015-10-21  Martin Sebor  <msebor@redhat.com>
+
+       PR driver/68043
+       * gcc-interface/lang.opt: End each sentence that describes
+       an option with a period.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * fmap.adb, a-cihama.adb, sem_ch5.adb, make.adb, inline.adb,
+       a-cfhase.adb, scng.adb, sem_ch12.adb, freeze.adb, tempdir.adb,
+       sem_util.adb, sem_res.adb, s-regexp.adb, a-clrefi.adb: Fix coding
+       style for marking start of processing of subprograms.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * lib-xref-spark_specific.adb (Add_SPARK_File): Start traversal
+       by requesting info from stubs.  (Traverse_All_Compilation_Units):
+       Remove unused procedure.
+       (Traverse_Declarations_Or_Statements): Handle protected and task units.
+       * lib-xref.ads (Traverse_All_Compilation_Units): Remove unused
+       procedure.
+       * restrict.adb (Check_Restriction): Do not ignore
+       restrictions in GNATprove_Mode.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-valllu.adb, sem_ch3.adb, layout.adb, a-crbtgo.adb, exp_ch9.adb,
+       make.adb, g-diopit.adb, s-valuns.adb, sem_ch9.adb, sem_ch10.adb,
+       sem_ch12.adb, a-tifiio.adb, g-dynhta.adb, uintp.adb,
+       sem_util.adb, sem_res.adb, s-htable.adb, exp_tss.adb, s-soflin.ads,
+       exp_ch6.adb, sem_ch6.adb, a-rbtgbo.adb, par-ch12.adb, sem_ch8.adb,
+       sem_eval.adb, mdll.adb, par-ch5.adb, s-poosiz.adb, sem_ch4.adb,
+       a-ngelfu.adb, s-taspri-solaris.ads, a-cforse.adb: Fix typos.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_aggr.adb, mlib-prj.adb, prep.adb, eval_fat.adb, rtsfind.adb,
+       freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnatlink.adb,
+       par-ch6.adb, exp_tss.adb, exp_ch4.adb, s-shasto.adb, exp_fixd.adb,
+       sem_ch6.adb, clean.adb, sem_ch8.adb, sem_eval.adb, sem_ch9.adb: Fix
+       typos.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch11.adb (Analyze_Handled_Statements): If the scope is a
+       postcondition subprogram, do not check for useless assignments
+       because there are no source references in such a body, and the
+       call will lose deferred references from the enclosing subprogram.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb: nalyze_Attribute_Definition_Clause, case
+       'Address):  If either object is controlled the overlay is
+       erroneous, but analysis must be completed so that back-end sees
+       address clause and completes code generation.  Improve text
+       of warning.
+
+2015-10-20  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch4.adb: Minor reformatting.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * s-mudido-affinity.adb (Create): Correct subranges of slices of CPU
+       arrays.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * sinfo.ads, g-pehage.adb, par-ch12.adb,
+       layout.adb, exp_util.adb, sem_aux.adb, make.adb, checks.adb,
+       sem_ch12.adb, sem_res.adb, sem_attr.adb, a-ngelfu.adb, sem_ch4.adb,
+       switch-b.adb, sem_ch6.adb, prj-dect.adb, gnatxref.adb, sem_ch13.adb,
+       lib-xref.adb: Fix typos.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * exp_ch4.adb (Expand_Array_Comparison): Use
+       generic code if runtime routine is not available.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * a-sytaco.ads (Ada.Synchronous_Task_Control): Package
+       now withs System.Task_Identification. The visible part
+       of the spec has SPARK_Mode. The private part has pragma
+       SPARK_Mode (Off).
+       (Set_True): Added Global and Depends aspects
+       (Set_False): Added Global and Depends aspects (Current_State):
+       Added Volatile_Function aspect and added external state
+       Ada.Task_Identification.Tasking_State as a Global input.
+       (Suspend_Until_True): Added Global and Depends aspects
+       * a-sytaco.adb (Ada.Synchronous_Task_Control):
+       Package body has SPARK_Mode => Off
+       * a-extiin.ads (Ada.Execution_Time.Interrupts):
+       Package now withs Ada.Real_Time and has SPARK_Mode.
+       (Clock): Added Volatile_Function aspect and added external state
+       Ada.Real_Time.Clock_Time as a Global input.
+       * a-reatim.ads (Ada.Real_Time): The visible part of the spec has
+       SPARK_Mode. The private part has pragma SPARK_Mode (Off). The package
+       declares external state Clock_Time with properties Async_Readers and
+       Async_Writers.
+       (Clock): Added Volatile_Function aspect and
+       added external state Clock_Time as a Global input.
+       * a-reatim.adb (Ada.Real_Time): Package body has SPARK_Mode => Off
+       * a-exetim-default.ads, a-exetim-mingw.ads (Ada.Execution_Time):
+       The visible part of the spec has SPARK_Mode. The private part
+       has pragma SPARK_Mode (Off).
+       (Clock): Added Volatile_Function
+       aspect and added external state Clock_Time as a Global input.
+       (Clock_For_Interrupts): Added Volatile_Function aspect and added
+       external state Ada.Real_Time.Clock_Time as a Global input.
+       * a-exetim-mingw.adb (Ada.Execution_Time): Package body has
+       SPARK_Mode => Off
+       * a-interr.ads (Ada.Interrupts): Package now
+       withs Ada.Task_Identification (Is_Reserved): Added
+       SPARK_Mode, Volatile_Function and external state
+       Ada.Task_Identification.Tasking_State as a Global input.
+       (Is_Attached): Added SPARK_Mode, Volatile_Function and external
+       state Ada.Task_Identification.Tasking_State as a Global input.
+       (Attach_Handler): Added SPARK_Mode => Off (Exchange_Handler):
+       Added SPARK_Mode => Off (Detach_Handler): Added SPARK_Mode
+       and external state Ada.Task_Identification.Tasking_State as a
+       Global In_Out.  (Reference): Added SPARK_Mode => Off
+       * a-disedf.ads (Get_Deadline): Added SPARK_Mode, Volatile_Function
+       and external state Ada.Task_Identification.Tasking_State as a
+       Global input.
+       * a-taside.ads (Ada.Task_Identification): The visible part of
+       the spec has SPARK_Mode.  The private part has pragma SPARK_Mode
+       (Off). The package declares external state Tasking_State with
+       properties Async_Readers and Async_Writers.
+       (Current_Task): Added
+       Volatile_Function aspect and added external state Tasking_State
+       as a Global input.
+       (Environment_Task): Added SPARK_Mode => Off
+       (Is_Terminated): Added Volatile_Function aspect and added external
+       state Tasking_State as a Global input.  (Is_Callable): Added
+       Volatile_Function aspect and added external state Tasking_State as
+       a Global input.
+       (Activation_Is_Complete): Added Volatile_Function
+       aspect and added external state Tasking_State as a Global input.
+       * a-taside.adb (Ada.Task_Identification): Package body has
+       SPARK_Mode => Off.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * atree.ads, atree.adb: Enable List38 and List39 on entities.
+       * einfo.ads, einfo.adb (Class_Wide_Preconds) new attribute defined
+       on subprograms. Holds the list of class-wide precondition
+       functions inherited from ancestors. Each such function is an
+       instantiation of the generic function generated from an explicit
+       aspect specification for a class-wide precondition. A type is
+       an ancestor of itself, and therefore a root type has such an
+       instance on its own list.
+       (Class_Wide_Postconds): ditto for postconditions.
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * prj-attr.adb: Add packages Prove and GnatTest.
+
+2015-10-20  Steve Baird  <baird@adacore.com>
+
+       * a-conhel.adb: Add an Annotate pragma to help suppress CodePeer's
+       analysis of internals of container generic instances. This pragma
+       has no other effect.
+       * a-conhel.adb (Generic_Implementation) Add "pragma Annotate
+       (CodePeer, Skip_Analysis);".
+
+2015-10-20  Steve Baird  <baird@adacore.com>
+
+       * pprint.adb: Code clean up.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-cfinve.ads, a-coboho.ads: Improve comments.
+       * a-coboho.adb (Size_In_Storage_Elements): Improve error message
+       in case of "Size is too big" exception.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-contai.ads: Remove check names (moved to snames.ads-tmpl).
+       * snames.ads-tmpl: Add check names that were previously in
+       a-contai.ads, so they are now visible in configuration files.
+       * types.ads: Add checks corresponding to snames.ads-tmpl.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Loop_Statement): Attach generated loop
+       identifier to the tree, because it may be the root of a tree
+       traversal in Pop_Scope when freeze actions are pending.
+
+2015-10-20  Steve Baird  <baird@adacore.com>
+
+       * pprint.ads (Expression_Image) Add new generic formal flag
+       Hide_Parameter_Blocks.
+       * pprint.adb (Expression_Image) If new flag is set, then display
+       dereferences of parameter block components accordingly.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb: Code clean up.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Extended_Return_Statement): Code cleanup.
+       (Make_Build_In_Place_Call_In_Object_Declaration): Update the
+       parameter profile.  Code cleanup. Request debug info for the
+       object renaming declaration.
+       (Move_Activation_Chain): Add new formal parameter and update the
+       comment on usage.
+       * exp_ch6.ads (Make_Build_In_Place_Call_In_Object_Declaration):
+       Update the parameter profile and comment on usage.
+       * sem_util.ads, sem_util.adb (Remove_Overloaded_Entity): New routine,
+       currently unused.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect, case
+       Aspect_Disable_Controlled): If expander is not active, pre-analyze
+       expression anyway for ASIS and other tools use.
+       * sem_prag.adb (Build_Generic_Class_Condition): Handle properly
+       anonymous access types in parameter specifications. Make the
+       formal type a formal derived type of the controlling type of
+       the subprogram.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * s-rident.ads: No_Task_At_Interrupt_Priority: New restriction.
+       * sem_prag.adb (Analyze_Pragma): Check the restriction.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause):
+       Check the restriction (for aspects).
+
+2015-10-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_prag.adb: Minor reformatting.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * sem_util.adb (Is_Protected_Self_Reference): Remove reference to
+       UET_Address in comment.
+       * sem_attr.adb (Check_Unit_Name): Adjust comment.
+       (Analyze_Attribute): Remove handling of UET_Address.
+       * sem_attr.ads (Attribute_Impl_Def): Remove Attribute_UET_Address.
+       * snames.ads-tmpl Remove Name_UET_Address, Attribute_UET_Address.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Remove
+       Attribute_UET_Address.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-cbdlli.adb, a-cdlili.adb, a-chtgop.adb, a-cidlli.adb,
+       * a-cobove.adb, a-coinve.adb, a-convec.adb, a-crbtgo.adb ("="): Avoid
+       modifying the tampering counts unnecessarily.
+       (Adjust): Zero tampering counts unconditionally.
+
+2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c: Fix build issue on arm-vx6 when building the RTP
+       run-time.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): If the expression
+       is an aggregate and compilation is in -gnatI mode (ignore rep
+       clauses) do not delay resolution of aggregate, to prevent freeze
+       actions out of order in the backend.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.ads, sem_prag.adb (Build_Generic_Class_Condition):
+       New procedure to construct a generic function for a class-wide
+       precondition, to implement AI12-0113  concerning the new semantics
+       of class-wide preconditions for overriding uperations.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_util.adb (Find_Actual): The routine is
+       now capable of operating on entry calls.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb: Remove redundant check.
+
+2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c (__gnat_vxsim_error_handler): Completely disable on
+       VxWorks-7 as the VSBs used to build gcc do not support vxsim
+       architecture.
+
+2015-10-20  Claire Dross  <dross@adacore.com>
+
+       * a-cfdlli.ads, a-cfinve.ads, a-cofove.ads (Generic_Sorting): Explicit
+       SPARK_Mode.
+       * a-cfhase.ads, a-cforse.ads (Generic_Keys): Explicit SPARK_Mode.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * exp_ch9.adb (Expand_N_Protected_Type_Declaration):
+       Check for No_Implicit_Protected_Object_Allocations.
+       * fe.h (Check_No_Implicit_Task_Alloc,
+       Check_No_Implicit_Protected_Alloc): Define and declare.
+       * restrict.ads, restrict.adb (Check_No_Implicit_Task_Alloc,
+       Check_No_Implicit_Protected_Alloc): New procedures to check the
+       restrictions.
+       * s-rident.ads (No_Implicit_Task_Allocations)
+       (No_Implicit_Protected_Object_Allocations): Declare new
+       restrictions.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_res.adb (Resolve_Selected_Component): Only set flag
+       when component is defined in a variant part.
+       * sem_util.adb,
+       * sem_util.ads (Is_Declared_Within_Variant): Promote local query
+       as publicy visible one for use in Resolve_Selected_Component.
+
+2015-10-20  Philippe Gil  <gil@adacore.com>
+
+       * g-debpoo.adb: allow instrumented System.Memory to use Debug_Pool
+       from foreign threads.
+       * g-debpoo.adb (Print_Traceback): NEW print traceback if available
+       added to support Stack_Trace_Depth = 0.
+       (Print_Address): NEW print System.Address without no secondary
+       stack use (Address_Image uses secondary stack)
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch9.adb (Expand_Entry_Barrier): Default initialize local variable
+       Func.
+
+2015-10-20  Jerome Lambourg  <lambourg@adacore.com>
+
+       * init.c (__gnat_error_handler for vxworks): Force
+       SPE bit in the MSR when handling signals
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, sem_ch12.adb, sem_ch6.adb, table.ads, s-stposu.ads,
+       g-table.ads, g-dyntab.ads, makeutl.ads, a-crdlli.ads: Fix typos.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Loop_Statement): Element iterators
+       over multidimensional arrays create additional loops during
+       expansion. For such loops we create a label as a scope
+       name. Attach this label  properly to tree, for use in GNATProve
+       over such element iterators.
+       * sem_attr.adb (Analyze_Attribute, case Loop_Entry): The loop to
+       which the attribute applies comes from source, not from expansion
+       of an element iterator or a quantified expression.
+       * exp_attr.adb (Expand_N_Attribute_Reference): Ditto.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Call): Check for a call to a function
+       declared in a Dimension I/O package, to handle the new Image
+       function.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * inline.ads: Minor comment fixes.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-comutr.ads (Tree_Node_Access): Add No_Strict_Aliasing, because
+       we're doing unchecked conversions with this pointer.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch9.adb (Next_Protected_Operation): An expression function
+       used as a completion can be the next protected operation in a
+       protected body.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Is_OK_Volatile_Context): Add a guard when checking a
+       possible call to an instance of Ada.Unchecked_Conversion to avoid
+       testing protected function calls. Allow references to protected objects
+       in prefixed protected calls.
+       (Is_Protected_Operation_Call): New routine.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * exp_ch5.adb, exp_ch5.ads (Expand_Iterator_Loop_Over_Array): Make
+       query public. Remove code handling with iterator loop over array
+       of the 'in' form, which is not allowed in Ada.  * exp_spark.adb
+       (Expand_SPARK): Expand loop statements that take the form of an
+       iterator over an array.
+       * sem_ch5.adb (Analyze_Loop_Statement): Do not analyze loop statements
+       that take the form of an iterator over an array, so that the rewritten
+       form gets analyzed instead.
+       * sem_util.adb, sem_util.ads (Is_Iterator_Over_Array): New query
+       to recognize iterators over arrays.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-excdeb.ads, s-excdeb.adb (Debug_Raise_Exception): Add
+       parameter Message.
+       * a-except.adb (Raise_Current_Excep): Update call to
+       Debug_Raise_Exception.
+       * a-except-2005.adb (Complete_Occurrence): Ditto.
+       * sem_ch12.adb: Whitespace fix.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_warn.adb (Is_OK_Fully_Initialized): Consider types with DIC as
+       fully default initialized.
+       * sem_ch6.adb: minor style fix in comment
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * s-diflio.ads, s-diflio.adb (Image): New function for dimensioned
+       quantities, to produce a string that includes the dimension
+       synbol for the quantity, or the vector of dimensions in standard
+       notation.
+       * sem_dim.adb (Expand_Put_Call_With_Symbol): Process new function
+       Image, to include dimension information in the generated string,
+       identical to the string produced by the Put procedure on a string
+       for a dimensioned quantity.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch7.adb (Process_Declarations): A loop
+       parameter does not require finalization actions.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): Do not create an
+       actual subtype for a mutable record return type if the expression
+       is itself a function call.
+
+2015-10-20  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-atocou.adb, s-atocou-builtin.adb: Fix implementation description
+       related to new type support.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Explicit_Dererence): Call Analyze_Dimension
+       to propagate dimension information from prefix.
+       * sem_dim.adb (Analyze_Dimension): Handle Explicit_Dereference.
+       * inline.ads: minor whitespace fix in comment
+       * sem_ch6.adb: minor gramar fix in comment
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Contract):
+       A protected type or a protected object is allowed to have a
+       discriminated part.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Requires_Transient_Scope):
+       Return true for mutable records if the maximum size is very large.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-except-2005.adb (To_Stderr): Import Put_Char_Stderr with
+       the same signature as in System.IO.Put.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-cobove.adb (Set_Length): Restore previous logic, but with "Checks
+       and then" on the check.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch3.adb (P_Known_Discriminant_Part_Opt): Handle properly
+       a misplaced "constant" keyword in a discriminant specification.
+
+2015-10-20  Steve Baird  <baird@adacore.com>
+
+       * einfo.ads (Is_Param_Block_Component_Type): New function decl
+       for querying the flag.
+       (Set_Is_Param_Block_Component_Type): New procedure decl for setting
+       the flag.
+       * einfo.adb (Is_Param_Block_Component_Type): New function body.
+       (Set_Is_Param_Block_Component_Type): New procedure body.
+       (Write_Entity_Flags): Display the new flag.
+       * exp_ch9.adb (Build_Parameter_Block): Set flag on parameter
+       block component types.
+       (Expand_N_Entry_Declaration): Set flag on parameter block component
+       types.
+
+2015-10-20  Steve Baird  <baird@adacore.com>
+
+       * sem_elab.adb: Do not pass an N_Attribute_Reference node to
+       Sinfo.Set_No_Elaboration_Check.
+       * sem_elab.adb (Check_Elab_Call) Do not pass a non-call
+       node (specifically, an N_Attribute_Reference node) to
+       Sinfo.Set_No_Elaboration_Check.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * adaint.c: File names are case sensitive on aarch64-ios.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-cbdlli.ads, a-cbhase.ads, a-cbmutr.ads, a-cborse.ads,
+       * a-cdlili.ads, a-cidlli.ads, a-cihase.ads, a-cimutr.ads,
+       * a-ciorse.ads, a-cobove.ads, a-cohase.ads, a-coinve.ads,
+       * a-comutr.ads, a-convec.ads, a-coorse.ads: Use non-private with clause.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Requires_Cleanup_Actions): A loop parameter does not
+       require finalization actions.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * par-ch3.adb (P_Declarative_Items): In case of misplaced
+       aspect specifications, ensure that flag Done is properly set to
+       continue parse.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * rtsfind.ads Remove the entries for Ada.Synchronous_Task_Control
+       and Suspension_Object from tables RE_Id, RE_Unit_Table and RTU_Id.
+       * sem_util.adb (Is_Descendant_Of_Suspension_Object): Update
+       the comment on usage. Use routine Is_Suspension_Object to detect
+       whether a type matches Suspension_Object.
+       (Is_Suspension_Object): New routine.
+       * snames.ads-tmpl: Add predefined names for Suspension_Object
+       and Synchronous_Task_Control.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_smem.adb (Check_Shared_Var): Clean up code that handles
+       type declarations with discriminants, remove obsolete check.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * par_sco.adb: Minor style fixes.
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * debug.adb: Update documentation of -gnatdu.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * aspects.adb Add aspect Volatile_Function to table
+       Canonical_Aspect.
+       * aspect.ads Add aspect Volatile_Function to tables
+       Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
+       and Implementation_Defined_Aspect.  Aspects Async_Readers,
+       Async_Writers, Effective_Reads and Effective_Writes are no
+       longer Boolean.
+       * einfo.adb (Get_Pragma): Add an entry for pragma
+       Volatile_Function.
+       * par-prag.adb (Prag): Pragma Volatile_Function does not need
+       special processing by the parser.
+       * rtsfind.ads Add an entry for Ada.Synchronous_Task_Control in
+       table RTU_Id. Add an entry for Suspension_Object in table RE_Id.
+       * sem_ch3.adb Fix SPARK RM references.
+       (Analyze_Object_Contract): Update the error guard.
+       * sem_ch5.adb Fix SPARK RM references.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Ensure
+       that a non-volatile function does not contain an effectively
+       volatile parameter.
+       (Analyze_Subprogram_Contract): Ensure
+       that a non-volatile function does not contain an effectively
+       volatile parameter.
+       * sem_ch12.adb (Instantiate_Object): Remove the reference to
+       the SPARK RM from the error message.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Add
+       processing for aspects Async_Readers, Async_Writers,
+       Effective_Reads, Effective_Writes and Volatile_Function.
+       (Check_Aspect_At_Freeze_Point): Aspects Async_Readers,
+       Async_Writers, Effective_Reads, Effective_Writes and
+       Volatile_Function do not need special processing at the freeze
+       point.
+       * sem_prag.adb Add an entry for pragma Volatile_Function in
+       table Sig_Flags.
+       (Analyze_External_Property_In_Decl_Part):
+       Reimplemented as Async_Readers, Async_Writers, Effective_Reads
+       and Effective_Writes are no longer Boolean pragmas.
+       (Analyze_Global_Item): An external state or effectively
+       volatile object cannot appear as an item in pragma
+       [Refined_]Global.
+       (Analyze_Pragma): Change the implementation
+       of Async_Readers, Async_Writers, Effective_Reads and
+       Effective_Writes as these are no longer Boolean pragmas.
+       Use routine Check_Static_Boolean_Expression to verify the
+       optional Boolean expression of Async_Readers, Async_Writers,
+       Constant_After_Elaboration, Effective_Reads, Effective_Writes,
+       Extensions_Visible and Volatile_Function.  Add processing for
+       pragma Volatile_Function.
+       (Check_Static_Boolean_Expression): New routine.
+       (Find_Related_Context): Update the comment on usage.
+       (Is_Enabled_Pragma): New routine.
+       * sem_prag.ads (Is_Enabled_Pragma): New routine.
+       * sem_res.adb Fix SPARK RM references.
+       (Is_OK_Volatile_Context): Add detection for return statements.
+       (Resolve_Actuals): Remove the check concerning an effectively volatile
+       OUT actual parameter as this is now done by the SPARK flow analyzer.
+       (Resolve_Entity_Name): Remove the check concerning an effectively
+       volatile OUT formal parameter as this is now done by the SPARK
+       flow analyzer.  (Within_Volatile_Function): New routine.
+       * sem_util.adb (Add_Contract_Item): Add processing for pragma
+       Volatile_Function.
+       (Check_Nonvolatile_Function_Profile): New routine.
+       (Is_Descendant_Of_Suspension_Object): New routine.
+       (Is_Effectively_Volatile): Protected types and descendants of
+       Suspension_Object are now treated as effectively volatile.
+       (Is_Enabled): The optional Boolean expression of pragmas
+       Async_Readers, Async_Writers, Effective_Reads and Effective_Writes
+       now appears as the first argument.
+       (Is_Volatile_Function): New routine.
+       * sem_util.ads Add SPARK RM references.
+       (Add_Contract_Item): Update the comment on usage.
+       (Check_Nonvolatile_Function_Profile): New routine.
+       (Is_Effectively_Volatile): Update the comment on usage.
+       (Is_Volatile_Function): New routine.
+       * snames.ads-tmpl Add a predefined name and pragma id for
+       Volatile_Function.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn.texi, gnat_rm.texi: Regenerate.
+       * doc/gnat_ugn/gnat_project_manager.rst,
+       doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_ugn/the_gnat_compilation_model.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_characteristics.rst: Update doc.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Makefile.in: Update targets.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Avoid
+       analyzing the expression in a 'Disable_Controlled attribute when
+       Expander_Active is False, because otherwise, we get errors about
+       nonstatic expressions in pragma-Preelaborate generic packages.
+       * restrict.ads: minor whitespace cleanup in comment
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-conhel.adb: Remove "use SAC;", because otherwise the compiler
+       complains about use clauses in run-time units. Use "use type"
+       instead.
+       * a-btgbso.adb, a-btgbso.ads, a-cbdlli.adb, a-cbdlli.ads,
+       * a-cbhama.adb, a-cbhama.ads, a-cbhase.adb, a-cbhase.ads,
+       * a-cbmutr.adb, a-cbmutr.ads, a-cborma.adb, a-cborma.ads,
+       * a-cborse.adb, a-cborse.ads, a-cdlili.adb, a-cdlili.ads,
+       * a-chtgbk.adb, a-chtgbk.ads, a-chtgbo.adb, a-chtgbo.ads,
+       * a-chtgke.adb, a-chtgke.ads, a-chtgop.adb, a-chtgop.ads,
+       * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
+       * a-cihase.adb, a-cihase.ads, a-cimutr.adb, a-cimutr.ads,
+       * a-ciorma.adb, a-ciorma.ads, a-ciormu.adb, a-ciormu.ads,
+       * a-ciorse.adb, a-ciorse.ads, a-cobove.adb, a-cobove.ads,
+       * a-cohama.adb, a-cohama.ads, a-cohase.adb, a-cohase.ads,
+       * a-cohata.ads, a-coinve.adb, a-comutr.adb, a-comutr.ads,
+       * a-convec.adb, a-coorma.adb, a-coorma.ads, a-coormu.adb,
+       * a-coormu.ads, a-coorse.adb, a-coorse.ads, a-crbltr.ads,
+       * a-crbtgk.adb, a-crbtgk.ads, a-crbtgo.adb, a-crbtgo.ads,
+       * a-rbtgbk.adb, a-rbtgbk.ads, a-rbtgbo.adb, a-rbtgbo.ads,
+       * a-rbtgso.adb, a-rbtgso.ads: Change all the predefined containers
+       to share the tampering machinery in Ada.Containers.Helpers. This
+       reduces the amount of duplicated code, and takes advantage of
+       efficiency improvements in Helpers.
+       Protect all run-time checks and supporting machinery with "if
+       Checks" or "if T_Check", so this code can be suppressed with
+       pragma Suppress or -gnatp.
+       Add Pseudo_Reference and Get_Element_Access to remaining
+       containers, so that the compiler can optimize "for ... of" loops.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-contai.adb, a-coinve.ads, a-contai.ads, a-conhel.adb, a-conhel.ads,
+       Makefile.rtl, a-convec.ads: Move helper code from Ada.Containers to a
+       new package Ada.Containers.Helpers, because otherwise it's not
+       visible everywhere it needs to be (e.g. in the package
+       Ada.Containers.Red_Black_Trees, Generic_Tree_Types wants to have
+       a component of type Tamper_Counts).
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_type.adb (Intersect_Types): Specialize error message when
+       one operand is a limited view which is a priori incompatible
+       with all other named types.
+       * sem_prag.adb: minor fix in comment
+       * sem_ch13.adb: Code clean up.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch12.adb (Need_Subprogram_Instance_Body): Also return true
+       for a subprogram nested in an inlined subprogram.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-coinve.adb, a-contai.adb: Update comments.
+       * pprint.ads: Minor reformatting.
+
+2015-10-20  Tristan Gingold  <gingold@adacore.com>
+
+       * env.c, init.c: Handle arm64-darwin like arm-darwin.
+       * tracebak.c: Handle arm64-darwin.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * s-trasym.adb (Symbolic_Traceback): When giving the traceback
+       as hexadecimal code addresses, separate by blanks instead of LF.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate freeze
+       node for subprogram in Compile_Only mode.
+
+2015-10-20  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * s-atocou.adb, s-atocou.ads, a-contai.adb, a-contai.ads,
+       s-atocou-x86.adb, s-atocou-builtin.adb: Task safe over container
+       iterations.
+
+2015-10-20  Philippe Gil  <gil@adacore.com>
+
+       * g-debpoo.ads (Dump): NEW print Debug_Pool statistics & main
+       contributors.
+       (Dump_Stdout): NEW print to stdout Debug_Pool statistics &
+       main contributors.
+       (Reset): NEW reset counters to 0.
+       (Get_Size): NEW return size allocated at parameter.
+       (High_Water_Mark): NEW.
+       (Current_Water_Mark): NEW.
+       (System_Memory_Debug_Pool): NEW tell Debug_Pools that
+       System.Memory uses it.
+       * g-debpoo.adb (Traceback_Htable_Elem): add Frees, Total_Frees
+       components.
+       (Find_Or_Create_Traceback): don't manage in System.Memory
+       Debug_Pool Deallocate Traceback's.
+       (Validity): add optional Handled table when System.Memory asked
+       for Allow_Unhandled_Memory.
+       (Allocate): handle Allocate reentrancy occuring when System.Memory
+       uses Debug_Pools.
+       (Deallocate): handle when Allow_Unhandled_Memory
+       is set deallocation of unhandled memory. Dont't check
+       Size_In_Storage_Elements if equal to Storage_Count'Last. update
+       Frees, Total_Frees new components.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fe.h: Minor tweak.
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * sem_cat.adb (Check_Categorization_Dependencies): Do nothing
+       when -gnatdu is specified.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (analyze_Subprogram_Renaming): The actual for a
+       formal abstract subprogram must have a controlling type.
+       * stand.ads: Minor whitespace cleanup.
+
+2015-10-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch13.adb: Minor reference change (RM => AARM).
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * make.adb (Check): Skip multilib switches reinstated by the
+       compiler only when counting the number of switches, since it is
+       what really matters in the regular operating mode.
+
+2015-10-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.adb: Add extra assertion for small clause.
+       * cstand.adb: Minor style fix in comment.
+       * debug.adb: Minor reformatting.
+       * exp_util.adb: Fix minor typo.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Same_Instantiated_Function): New predicate in
+       Check_Formal_Package_Instance, used to verify that the formal
+       and the actual of an actual package match when both are functions
+       given as attribute references.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-coinve.ads, a-coinve.adb: Do the same efficiency
+       improvements that were already done in the definite case
+       (Ada.Containers.Vectors, i.e. a-convec). This includes the
+       ability to suppress checks, the fast path for Append, inlining
+       as appropriate, and special-casing of "for ... of" loops. Reuse
+       the tampering machinery that is now in Ada.Containers. Simplify
+       many operations.
+       * a-convec.ads, a-convec.adb: Change the code to be more similar
+       to a-coinve.
+       * a-finali.ads, a-finali.adb: Expose the "null"-ness of the
+       operations. This may enable optimizations in the future, and
+       seems cleaner anyway.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Is_Operational_Item): Attributes related to
+       Ada 2012 iterators are operational items, and can be specified
+       on partial views.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Check_Usage): Update the calls to Usage_Error.
+       (Usage_Error): Remove formal parameter Item. Emit a clearer message
+       concerning a missing dependency item and place it on the related pragma.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * debug.adb, expander.adb: Implement -gnatd.B switch, which
+       triggers a bug box when an abort_statement is seen. This is
+       useful for testing Comperr.Compiler_Abort.
+       * gnat1drv.adb: Trigger bug box on all exceptions other than
+       Unrecoverable_Error.
+
+2015-10-20  Thomas Quinot  <quinot@adacore.com>
+
+       * Makefile.rtl: add the following...
+       * g-binenv.ads, g-binenv.adb: New unit providing runtime access
+       to bind time captured values ("bind environment")
+       * init.c: declare new global variable __gl_bind_env_addr.
+       * bindgen.ads, bindgen.adb (Set_Bind_Env): record a bind
+       environment key=value pair.
+       (Gen_Bind_Env_String): helper to produce the bind environment data
+       called  in the binder generated file.
+       (Gen_Output_File_Ada): Call the above (Gen_Adainit): Set
+       __gl_bind_env_addr accordingly.
+       * switch-b.adb: Support for command line switch -V (user interface
+       to set a build environment key=value pair)
+       * bindusg.adb: Document the above
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * sem_prag.adb (Analyse_Pragma: Pragma Pure): Do not set the
+       entity as Pure if Debug_Flag_U is set.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * output.adb (Write_Int): Work with negative numbers in order to avoid
+       negating Int'First and thereby causing overflow.
+       * sem_util.adb: Minor comment fix.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * make.adb (Check): Skip multilib switches reinstated by the
+       compiler when doing the comparison with switches passed to
+       gnatmake.
+
+2015-10-20  Yannick Moy  <moy@adacore.com>
+
+       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Return
+       False for procedures marked No_Return.
+       * sem_util.ads (Enclosing_Declaration): Improve comment.
+       * einfo.adb (Is_Completely_Hidden): Remove spurious assertion.
+
+2015-10-20  Thomas Quinot  <quinot@adacore.com>
+
+       * types.ads: Minor reformatting.
+
+2015-10-20  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Get_Pragma): Minor reformatting. Rename local constant
+       Is_CDG to Is_CLS. Add pragma Constant_After_Elaboration to the list of
+       classification pragmas.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Declarations); At the of the visible part,
+       perform name resolution on the expressions in aspects of visible
+       entities.
+       * sem_ch13.ads, sem_ch13.adb (Resolve_Aspect_Expressions): Resolve
+       expressions in aspects independently of whether corresponding
+       entity is frozen. Used to complete name resolution of aspect
+       expressions for entities declared in the visible part of a
+       package or generic package declaration.
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * prj-attr.adb: Add package Codepeer and its attributes.
+
+2015-10-20  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch3.adb, sem_ch13.adb: Minor reformatting.
+
+2015-10-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatlink.adb (Gnatlink): Do not translate --RTS switch
+       for the linker and instead pass the switches that were
+       reinstated by the compiler.
+
+2015-10-20  Bob Duff  <duff@adacore.com>
+
+       * a-contai.ads, a-convec.ads: Move Count_Type_Last from
+       a-convec.ads to a-contai.ads, so other containers can refer to it.
+
+2015-10-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Check_Nonoverridable_Aspects): New procedure within
+       Analyze_Full_Type_ Declaration, used to apply legality rules in
+       13,1,1 (18.3.3) concerning aspects that cannot be overridden in
+       a type extension.
+       (Check_Duplicate_Aspects): It is not legal to specify the
+       Implicit_Dereference aspect on a full view if partial view has
+       known discriminants.
+       * sem_ch13.adb (Analyze_Aspect_Implicit_Dereference): Verify that
+       the specification of the aspect on a derived type confirms the
+       value of the inherited one.
+       * sem_util.adb (Reference_Discriminant): Return empty if none
+       specified.
+
+2015-10-20  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch5.adb, sem_ch3.adb: Minor reformatting.
+
+2015-10-20  Vincent Celier  <celier@adacore.com>
+
+       * a-strsup.adb (Super_Trim): Remove statements that put NUL
+       characters in unused portion of the Data string.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * aspects.adb Add an entry for Constant_After_Elaboration in
+       table Canonical_Aspect.
+       * aspects.ads Add entries for Constant_After_Elaboration in
+       tables Aspect_Argument, Aspect_Delay, Aspect_Id, Aspect_Names
+       and Implementation_Defined_Aspect.
+       * par-prag.adb Pragma Constant_After_Elaboration does not require
+       special processing by the parser.
+       * sem_ch13.adb Add an entry for Constant_After_Elaboration
+       in table Sig_Flags.
+       (Analyze_Aspect_Specifications):
+       Add processing for aspect Constant_After_Elaboration.
+       (Check_Aspect_At_Freeze_Point): Aspect Constant_After_Elaboration
+       does not require special processing at freeze time.
+       * sem_prag.adb (Analyze_Pragma): Add processing for pragma
+       Constant_After_Elaboration. Use routine Find_Related_Context to
+       retrieve the context of pragma Part_Of.
+       (Duplication_Error): Update comment on usage.
+       (Find_Related_Context): New routine.
+       * sem_prag.ads Add an entry for Constant_After_Elaboration
+       in table Aspect_Specifying_Pragma.
+       (Analyze_Contract_Cases_In_Decl_Part): Update the comment on usage.
+       * sem_util.adb (Add_Contract_Item): Add processing for pragma
+       Constant_After_Elaboration.
+       * sem_util.ads (Add_Contract_Item): Update the comment on usage.
+       * snames.ads-tmpl Add new predefined name and aspect id for
+       Constant_After_Elaboration.
+
+2015-10-16  Vincent Celier  <celier@adacore.com>
+
+       * prj-pp.adb (Pretty_Print.Print): Correctly display extending
+       packages, instead of making them renamed packages.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Analyze_Package_Instantiation):
+       Treat a missing SPARK_Mode annotation as having mode "Off".
+       (Analyze_Subprogram_Instantiation): Treat a missing SPARK_Mode
+       annotation as having mode "Off".
+       (Instantiate_Package_Body): Code
+       reformatting. Treat a missing SPARK_Mode annotation as having mode
+       "Off".
+       (Instantiate_Subprogram_Body): Code reformatting. Treat
+       a missing SPARK_Mode annotation as having mode "Off".
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb: Code clean up.
+       * sem_ch13.adb: Minor fix in comment.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * a-exexda.adb: Change format of Exception_Information to be
+       more like what we print for unhandled exceptions.
+       * a-exstat.adb: Parse new format.
+       * a-except-2005.adb, a-except.adb: Document new format.
+
+2015-10-16  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): Associate a
+       transient scope with the renaming object declararation.
+       * exp_util.adb (Insert_Actions): if the enclosing interator
+       loop is marked as requiring the secondary stack then attach the
+       actions to the transient scope.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * exp_ch7.adb: Minor spelling fixes.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+       If anonymous type is component type of array type declaration,
+       analyze its declaration in the current scope, not the enclosing
+       one.
+
+2015-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * prj.adb, sem_util.adb, exp_ch6.adb: Minor reformatting.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Formal_Container_Element_Loop): Modify
+       expansion to allow element iteration over formal containers
+       whose elements are indefinite types.
+
+2015-10-16  Doug Rupp  <rupp@adacore.com>
+
+       * s-taprop-linux.adb (Monotonic_Clock): Call clock_gettime
+       instead of gettimeofday.
+       * s-osinte-android.ads, s-osinte-android.adb, s-osinte-linux.ads
+       (clock_gettime): New imported subprogram.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+       Indefinite or limited library level objects are now returned on
+       the heap.
+       * exp_ch7.adb (Build_Finalization_Master): Add formal
+       parameter For_Lib_Level. Add context specific insertion for a
+       finalization master created for an access result type related
+       to a build-in-place function call used to initialize a library
+       level object.
+       * exp_ch7.ads (Build_Finalization_Master): Add formal parameter
+       For_Lib_Level. Update the comment on usage.
+       * sem_util.adb (Mark_Coextensions): Code cleanup.
+
+2015-10-16  Emmanuel Briot  <briot@adacore.com>
+
+       * prj.adb (For_Every_Project_Imported_Context): Fix handling
+       of aggregated projects with duplicate names.
+       * a-ngelfu.ads: Minor whitespace fix.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): The expression for
+       the predicate is side-effect free if it does not contain any
+       variable references.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * a-convec.adb ("="): Previous version depended
+       on "=" composing, but that doesn't quite work -- we want the "="
+       operator passed in to the generic. So we need a loop after all.
+
+2015-10-16  Yannick Moy  <moy@adacore.com>
+
+       * sem_util.adb (Is_Object_Reference): Attribute 'Loop_Entry produces
+       an object.
+       * sem_ch6.adb: Minor fix in comment.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * a-contai.ads: Add two check names: Container_Checks and
+       Tampering_Check.  Move the tampering check machinery from
+       Ada.Containers.Vectors to Ada.Containers. Later we can share it
+       with other containers.
+       Disable the tampering machinery in the presence of
+       Suppress(Tampering_Check).
+       Simplify the implementation of tampering checks. E.g. use RAII
+       to make incrementing/decrementing of the counts more concise.
+       * a-contai.adb: New package body, implementing the above.
+       * a-convec.ads, a-convec.adb: Use tampering check machinery
+       in Ada.Containers.
+       Disable all checking code when checks are suppressed.
+       Simplify many of the operations. Implement "&" in terms of Append,
+       rather than "by hand".
+       Remove: function "=" (L, R : Elements_Array) return Boolean is
+       abstract; so we can call the predefined "=" on Elements_Array.
+       For "=" on Vectors: Previously, we returned True immediately if
+       Left'Address = Right'Address.  That seems like a non-optimization
+       ("if X = X" is unusual), so removed that.  Simplify by using
+       slice comparison ("=" on Element_Array will automatically call
+       "=" on the components, even if user defined).
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Chek_Record_Representation_Clause): When
+       iterating over components, skip anonymous subtypes created for
+       constrained array components.
+
+2015-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-tags.ads (Parent_Size): Remove obsolete pragma Export.
+       * s-finmas.ads (Header_Offset): Delete.
+       * s-finmas.adb (Header_Offset): Likewise.
+       (Finalize): Call Header_Size instead of Header_Offset.
+       * s-stposu.adb (Allocate_Any_Controlled): Likewise.
+       (Deallocate_Any_Controlled): Likewise.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-exetim.ads, a-exetim-mingw.ads, a-exetim-default.ads: Whitespace
+       cleanup.
+       * s-osprim-mingw.adb, einfo.ads, sem_util.adb, sem_util.ads,
+       sem_ch4.adb, sem_ch13.adb, s-trasym.adb, s-trasym.ads,
+       s-taprop-posix.adb: Minor reformatting.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * adadecode.h, adadecode.c (ada_demangle): Remove
+       ada_demangle, no longer used.
+       * a-except-2005.adb: Bring System.Traceback.Symbolic into the
+       closure.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb, sem_util.ads (Get_Reference_Discriminant): Utility to
+       locate the access discriminant that supports implicit dereference on a
+       record type.
+       (Is_OK_Variable_For_Out_Parameter): Reject other illegal uses
+       of Implicit_Dereference on an access_to_constant when actual
+       parameter is a rewritten variable or function call.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * a-tags.adb, s-trasym.adb, s-trasym.ads: Make sure we don't get
+       elaboration circularities when polling is turned on.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+       When creating a full declaration for a formal parameter, the
+       entity is labelled as an Itype, so set Associated_Node_For_Itype
+       accordingly.
+       * einfo.ads: Clarify use of Associated_Node_For_Itype.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * bindgen: Move pragmas Warnings earlier, otherwise
+       we can get warnings on with_clauses.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osprim-mingw.adb, s-osprim-x32.adb, s-taprop-mingw.adb,
+       s-taprop-posix.adb (Monotonic_Clock): Removed, not used.
+       Remove remaining references to OS_Primitives.Monotonic_Clock.
+       Keep it only on windows which is a special case.
+
+2015-10-16  Javier Miranda  <miranda@adacore.com>
+
+       * a-textio.adb (Get_Line): Fix documentation.
+       * einfo.ads (Interface_Name): Fix documentation.
+       * exp_aggr.adb (Backend_Processing_Possible): Fix documentation.
+       * exp_ch4.adb (Expand_N_In): Fix documentation.
+
+2015-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * inline.adb (Subp_Info): Remove Listed component.
+       (Add_Inlined_Subprogram): Take an entity instead of an index.
+       Do not set Listed component to True.
+       (New_Entry): Do not initialize Listed component to False.
+       (Analyze_Inlined_Bodies): Do not test Listed component
+       (Must_Inline): Add calls not in the main unit only
+       if they are in a subprogram that can be inlined outside its unit.
+       (Add_Inlined_Body): Move test around and add comment.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sinfo.ads, einfo.ads: monir clean ups.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * usage.adb, debug.adb, a-except.adb, a-except.ads, a-except-2005.adb,
+       a-except-2005.ads, s-imgrea.adb: Minor code clean ups related to
+       jgnat/dotnet removal.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osprim-vxworks.adb, s-osprim-darwin.adb, s-tadeca.adb,
+       s-osprim-unix.adb, s-osprim-solaris.adb, s-osprim-posix.adb,
+       s-osprim.ads (Monotonic_Clock): Removed, unused.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Object_Operation, Try_One_Interpretation):
+       Do not reset the Obj_Type of the prefix if an interpretation
+       involves an untagged type, to prevent a crash when analyzing an
+       illegal program in All_Errors mode.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Expression_With_Actions):
+       Force the evaluation of the expression when its type is Boolean.
+       (Force_Boolean_Evaluation): New routine.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Has_Discrim_Dep_Array): Remove
+       this function, and the call. No longer needed now that the back
+       end can handle such things. Should result in further speedups
+       in some cases.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Build_Predicate_Functions): If expression for
+       predicate is side-effect free, indicate that the predicate
+       function is pure, to allow for optimization of redundant
+       predicate checks.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * checks.adb: Fix typo.
+       * s-osinte-linux.ads: Add header.
+       * projects.texi: Removed, no longer used.
+       * gcc-interface/Make-lang.in: Update dependencies
+       * s-multip.adb: Minor: fix header.
+       * sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads,
+       a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb,
+       a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to
+       .NET.
+       * gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment
+       updates.
+
+2015-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch9.adb (Build_Simple_Entry_Call): Set_Is_Internal on
+       the temporary object used for a by-copy entry parameter, to
+       ensure that the object doesn't get its No_Initialization flag
+       reset later in Default_Initialize_Object. Also, generate the
+       assignment of the actual to the temporary in the additional case
+       of a scalar out parameter whose type has a Default_Value aspect.
+       * exp_ch3.adb: Fix minor typo in comment.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb, sem_util.ads, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb:
+       Minor reformatting.
+       * sem_ch12.adb (Analyze_Formal_Package_Declaration): Set the
+       SPARK_Mode from the context.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Requires_Transient_Scope):
+       If Typ is a generic formal incomplete type, look at the actual
+       type. Otherwise, we don't notice that the actual type is tagged,
+       has a variant part, etc, causing a mismatch of calling conventions
+       between caller and callee.
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.ads: Move the declaration of enumeration
+       literal E_Abstract_State above E_Entry.  Update the upper bound
+       of subtype Overloadable_Kind.
+
+2015-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb: Minor editorial changes.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch5.adb, sem_ch3.adb, frontend.adb, exp_ch7.adb, exp_ch7.ads,
+       sem_ch5.adb, sem_type.adb, exp_util.adb, exp_util.ads, comperr.adb,
+       exp_attr.adb, sinfo.ads, exp_ch9.adb, make.adb, usage.adb,
+       lib-writ.adb, sem_ch9.adb, bindgen.adb, debug.adb, einfo.adb,
+       einfo.ads, types.ads, checks.adb, sem_prag.adb, s-tasini.adb,
+       rtsfind.ads, freeze.adb, sem_util.adb, sem_util.ads, exp_dbug.adb,
+       gnatlink.adb, gnat1drv.adb, targparm.adb, targparm.ads, exp_ch4.adb,
+       exp_ch11.adb, repinfo.adb, s-soflin.adb, s-soflin.ads, exp_ch6.adb,
+       exp_ch13.adb, sem_mech.adb, sem_ch6.adb, par-prag.adb, exp_disp.adb,
+       sem_ch8.adb, exp_disp.ads, snames.adb-tmpl, exp_aggr.adb, sem_eval.adb,
+       exp_intr.adb, sem_ch13.adb, snames.ads-tmpl, sem_disp.adb, exp_ch3.adb:
+       Code clean up: remove special handling for .NET and JVM.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch12.adb: Minor punctuation fix in comment
+       * s-rident.ads: Minor consistency fix in comment
+       * exp_attr.adb, g-spipat.ads: punctuation fixes in comments.
+       * restrict.ads: Style fix in comments.
+       * sem_prag.adb: Minor grammar fix in comment
+
+2015-10-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb: Minor reformatting/rewording.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads: Minor fix of duplicate words
+       * rident.ads: Minor style fix in comment
+
+2015-10-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Full_Type_Declaration): Do not capture,
+       set and restore the Ghost mode.
+       (Expand_N_Object_Declaration): Do not capture, set and restore the
+       Ghost mode.
+       (Freeze_Type): Redo the capture and restore of the Ghost mode.
+       (Restore_Globals): Removed.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Redo the capture
+       and restore of the Ghost mode.
+       (Restore_Globals): Removed.
+       * exp_ch6.adb (Expand_N_Procedure_Call_Statement):
+       Redo the capture and restore of the Ghost mode.
+       (Expand_N_Subprogram_Body): Redo the capture, set and restore
+       of the Ghost mode.
+       (Expand_N_Subprogram_Declaration): Do not
+       capture, set and restore the Ghost mode.
+       (Restore_Globals): Removed.
+       * exp_ch7.adb (Expand_N_Package_Body): Redo the capture, set
+       and restore of the Ghost mode.
+       (Expand_N_Package_Declaration): Do not capture, set and restore the
+       Ghost mode.
+       * exp_ch8.adb (Expand_N_Exception_Renaming_Declaration):
+       Redo the capture and restore of the Ghost mode.
+       (Expand_N_Object_Renaming_Declaration): Redo
+       the capture and restore of the Ghost mode.
+       (Expand_N_Package_Renaming_Declaration):
+       Redo the capture and restore of the Ghost mode.
+       (Expand_N_Subprogram_Renaming_Declaration): Redo the capture
+       and restore of the Ghost mode.
+       * exp_ch11.adb Remove with and use clauses for Ghost.
+       (Expand_N_Exception_Declaration): Do not capture, set and restore
+       the Ghost mode.
+       * exp_disp.adb (Make_DT): Redo the capture and restore of the
+       Ghost mode.
+       (Restore_Globals): Removed.
+       * exp_prag.adb (Expand_Pragma_Check): Do not capture, set
+       and restore the Ghost mode.
+       (Expand_Pragma_Contract_Cases):
+       Redo the capture and restore of the Ghost mode.  Preserve the
+       original context of contract cases by setting / resetting the
+       In_Assertion_Expr counter.
+       (Expand_Pragma_Initial_Condition):
+       Redo the capture and restore of the Ghost mode.
+       (Expand_Pragma_Loop_Variant): Redo the capture and restore of
+       the Ghost mode.
+       (Restore_Globals): Removed.
+       * exp_util.adb (Make_Predicate_Call): Redo the capture and
+       restore of the Ghost mode.
+       (Restore_Globals): Removed.
+       * freeze.adb (Freeze_Entity): Redo the capture and restore of
+       the Ghost mode.
+       (Restore_Globals): Removed.
+       * ghost.adb (Check_Ghost_Context): Remove the RM reference from
+       the error message.
+       (Is_OK_Statement): Account for statements
+       that appear in assertion expressions.
+       (Is_Subject_To_Ghost):
+       Moved from spec.
+       * ghost.ads (Is_Subject_To_Ghost): Moved to body.
+       * rtsfind.ads (Load_RTU): Redo the capture and restore of the
+       Ghost mode.
+       * sem.adb Add with and use clauses for Ghost.
+       (Analyze): Redo
+       the capture and restore of the Ghost mode. Set the Ghost mode
+       when analyzing a declaration.
+       (Do_Analyze): Redo the capture
+       and restore of the Ghost mode.
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not capture, set
+       and restore the Ghost mode.
+       (Analyze_Incomplete_Type_Decl):
+       Do not capture, set and restore the Ghost mode.
+       (Analyze_Number_Declaration): Do not capture, set and restore the
+       Ghost mode.
+       (Analyze_Object_Declaration): Do not capture, set and
+       restore the Ghost mode.
+       (Analyze_Private_Extension_Declaration):
+       Do not capture, set and restore the Ghost mode.
+       (Analyze_Subtype_Declaration): Do not capture, set and restore
+       the Ghost mode.
+       (Restore_Globals): Removed.
+       * sem_ch5.adb (Analyze_Assignment): Redo the capture and restore
+       of the Ghost mode.
+       (Restore_Globals): Removed.
+       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
+       Do not capture, set and restore the Ghost mode.
+       (Analyze_Procedure_Call): Redo the capture and restore of the
+       Ghost mode.
+       (Analyze_Subprogram_Body_Helper): Redo the capture
+       and restore of the Ghost mode.  (Analyze_Subprogram_Declaration):
+       Do not capture, set and restore the Ghost mode.
+       (Restore_Globals): Removed.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Redo the capture and
+       restore of the Ghost mode.
+       (Analyze_Package_Declaration):
+       Do not capture, set and restore the Ghost mode.
+       (Analyze_Private_Type_Declaration): Do not capture, set and
+       restore the Ghost mode.
+       (Restore_Globals): Removed.
+       * sem_ch8.adb (Analyze_Exception_Renaming): Do not capture,
+       set and restore the Ghost mode.
+       (Analyze_Generic_Renaming): Do not capture, set and restore the Ghost
+       mode.
+       (Analyze_Object_Renaming): Do not capture, set and restore the
+       Ghost mode.
+       (Analyze_Package_Renaming): Do not capture, set and restore the Ghost
+       mode.
+       (Analyze_Subprogram_Renaming): Do not capture, set and restore the
+       Ghost mode.
+       (Restore_Globals): Removed.
+       * sem_ch11.adb (Analyze_Exception_Declaration): Do not capture,
+       set and restore the Ghost mode.
+       * sem_ch12.adb (Analyze_Generic_Package_Declaration):
+       Do not capture, set and restore the Ghost mode.
+       (Analyze_Generic_Subprogram_Declaration): Do not capture, set
+       and restore the Ghost mode.
+       * sem_ch13.adb (Build_Invariant_Procedure_Declaration): Redo
+       the capture and restore of the Ghost mode.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+       Redo the capture and restore of the Ghost mode.
+       (Analyze_External_Property_In_Decl_Part):
+       Redo the capture and restore of the Ghost mode.
+       (Analyze_Initial_Condition_In_Decl_Part): Redo the
+       capture and restore of the Ghost mode.  (Analyze_Pragma):
+       Do not capture, set and restore the Ghost mode for Assert.
+       Redo the capture and restore of the Ghost mode for Check. Do
+       not capture and restore the Ghost mode for Invariant.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Redo the capture and
+       restore of the Ghost mode.
+       * sem_res.adb (Resolve): Capture, set and restore the Ghost mode
+       when resolving a declaration.
+       * sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
+       Redo the capture and restore of the Ghost mode.
+       (Build_Default_Init_Cond_Procedure_Declaration): Redo the capture
+       and restore of the Ghost mode.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * debug.adb: Document -gnatdQ switch.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Formal_Subprogram): Implement rule that
+       a formal abstract subprogram cannot have a null default: RM 12.6
+       (4 1.2).
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * sem_util.ads, sinput.ads, bcheck.adb: Minor comment fixes.
+
+2015-10-16  Javier Miranda  <miranda@adacore.com>
+
+       * inline.adb (Add_Inlined_Body): Ensure that
+       Analyze_Inlined_Bodies will be invoked after completing the
+       analysis of the current unit.
+
+2015-10-16  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Fix error
+       message for bad last bit position.
+       * sem_ch3.adb, sem_util.adb, sem_util.ads: Minor reformatting.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Case_Statement): If expression is
+       compile-time known but does not obey a static predicate on
+       its type, replace the case statement with a raise statement,
+       as with other statically detected constraint violations.
+
+2015-10-16  Bob Duff  <duff@adacore.com>
+
+       * s-traceb.adb, s-traceb.ads, s-traceb-hpux.adb, s-traceb-mastop.adb:
+       Reinstate code.
+       * opt.ads: Minor typo.
+
+2015-10-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Gather_Components): When gathering components
+       of a nested variant, the record type used in legality checks is
+       the enclosing record type.
+
+2015-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_9, DEF_FUNCTION_TYPE_10,
+       DEF_FUNCTION_TYPE_11): Define.
+
+2015-10-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just
+       GNAT1_ADA_OBJS are compiled only after generated files are created.
+
+2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc-interface/trans.c (convert_with_check): Use real_arithmetic
+       instead of REAL_ARITHMETIC.
+
+2015-10-05  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc-interface/trans.c (convert_with_check): Use real_less instead
+       of REAL_VALUES_LESS.
+
+2015-10-02  Doug Rupp  <rupp@adacore.com>
+            Olivier Hainque  <hainque@adacore.com>
+
+       * gcc-interface/lang.opt (fbuiltin-printf): Accept.
+       * gcc-interface/misc.c (gnat_handle_option): Ignore it.
+       * gcc-interface/lang-specs.h (@ada, @adawhy, @adascil): Propagate -f*
+       flags as -g* and -m* flags past -gnatez.
+
+2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Pragma_to_gnu) <Pragma_Warnings>: Replace
+       linear search with call to find_opt and issue warnings if the -W
+       switch is not appropriate.
+
+2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_RESTRICTED_ALIASING_P): New flag.
+       * gcc-interface/decl.c (gnat_to_gnu_param): For parameters passed by
+       reference but whose type isn't by-ref and whose mechanism hasn't been
+       forced to by-ref, set the DECL_RESTRICTED_ALIASING_P flag directly on
+       them instead of changing their type.
+       * gcc-interface/trans.c (scan_rhs_r): New helper function.
+       (independent_iterations_p): New predicate.
+       (Loop_Statement_to_gnu): For a loop with an iteration scheme, set an
+       ivdep pragma if the iterations are independent.
+
+2015-10-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (find_loop_for): Use FOR_EACH_VEC_ELT_REVERSE.
+       (Loop_Statement_to_gnu): Use FOR_EACH_VEC_ELT.
+       (finalize_nrv): Use FOR_EACH_VEC_SAFE_ELT and initialize field.
+       (build_stmt_group): Add blank lines.
+
+2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
+
+2015-09-28  Tom de Vries  <tom@codesourcery.com>
+
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_6): Define.
+
+2015-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (emit_check): Do not touch TREE_SIDE_EFFECTS.
+
+2015-09-14  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/misc.c (gnat_post_options): Issue a warning if
+       generating STABS debugging information when not the default.
+
+2015-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (ref_filename): Delete.
+       (Sloc_to_locus): Add clean_column parameter defaulting to false.
+       (build_call_raise): Adjust comment.
+       (build_call_raise_range): Move around.
+       * gcc-interface/trans.c (ref_filename): Delete.
+       (gigi): Fix formatting.
+       (block_end_locus_sink): Delete.
+       (Sloc_to_locus1): Tidy up and reformat.  Rename into...
+       (Sloc_to_locus): ...this.  Add default for clean_colmun parameter.
+       (set_expr_location_from_node1): Rename into...
+       (set_expr_location_from_node): ...this.
+       (set_end_locus_from_node): Move around.  Adjust for renaming.
+       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+       (add_cleanup): Likewise.
+       * gcc-interface/utils2.c (expand_sloc): New static function.
+       (build_call_raise): Call it.
+       (build_call_raise_column): Likewise.
+       (build_call_raise_range): Likewise.  Move around.
+
+2015-09-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
+       another acceptable pattern for the RHS.
+
+2015-07-24  Micahel Darling  <darlingm@gmail.com>
+
+       PR other/66259
+       * prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
+       * gcc-interface/Makefile.in: Likewise
+
+2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc-interface/utils.c: Fix double word typos.
+       * gnat_ugn.texi: Same.
+       * init.c: Same.
+       * par.adb: Same.
+       * projects.texi: Same.
+       * sem_ch4.adb: Same.
+       * sem_ch6.adb: Same.
+       * sem_dim.adb: Same.
+       * sem_eval.adb: Same.
+       * sem_prag.adb: Same.
+       * sem_warn.adb: Same.
+
+2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/cuintp.c: Adjust includes.
+       * gcc-interface/decl.c: Likewise.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       * gcc-interface/utils2.c: Likewise.
+
+2015-07-06  John Marino  <gnugcc@marino.st>
+
+       * s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
+
+2015-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/63310
+       * gcc-interface/utils.c (gnat_write_global_declarations): Always
+       build the dummy global variable if code was generated.
+
+2015-06-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR fortran/66605
+       * gcc-interface/misc.c (gnat_post_options): No need to disable
+       warn_unused_parameter anymore.
+
+2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): When
+       not optimizing the CFG, clear the DECL_DECLARED_INLINE_P flag on the
+       at-end procedures.
+
+2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (note_types_used_by_globals): Delete.
+       (gnat_write_global_declarations): New prototype.
+       * gcc-interface/utils.c (type_decls): Rename back to...
+       (global_decls): ...this.
+       (gnat_pushdecls): Revert previous change.
+       (create_var_decl): Do not output global variables.
+       (note_types_used_by_globals): Rename back to...
+       (gnat_write_global_declarations): ...this.  Output variables on the
+       global_decls vector.
+       * gcc-interface/misc.c (gnat_parse_file): Adjust to above renaming.
+
+2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (create_var_decl_1): Rename into...
+       (create_var_decl): ...this.  Add default value for last parameter.
+       (create_type_stub_decl): Adjust.
+       (create_type_decl): Likewise.
+       (create_field_decl): Likewise.
+       (create_param_decl): Likewise.
+       (create_label_decl): Likewise.
+       (create_subprog_decl): Likewise.
+       * gcc-interface/utils.c (create_var_decl_1): Rename into...
+       (create_var_decl): ...this.  Rename var_name into name and var_init
+       into init, move const_decl_allowed_p last and adjust accordingly.
+       (create_type_stub_decl): Rename type_name into name and adjust.
+       (create_type_decl): Likewise.
+       (create_field_decl): Likewise for field_name and field_type.
+       (create_param_decl): Likewise for param_name and param_type.
+       (create_label_decl): Likewise for label_name.
+       (create_subprog_decl): Likewise for subprog_name and subprog_type.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust couple of calls
+       to create_var_decl_1.
+
+2015-06-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (loop_info_d): Add low_bound, high_bound,
+       artificial, has_checks and warned_aggressive_loop_optimizations.
+       (gigi): Set warn_aggressive_loop_optimizations to 0.
+       (inside_loop_p): New inline predicate.
+       (push_range_check_info): Rename into...
+       (find_loop_for): ...this and do not push range_check_info_d object.
+       (Loop_Statement_to_gnu): Set artificial, low_bound and high_bound
+       fields of gnu_loop_info.  Adjust detection of checks enabled by
+       -funswitch-loops and adds one for -faggressive-loop-optimizations.
+       (gnat_to_gnu) <N_Indexed_Component>: If aggressive loop optimizations
+       are enabled, warn for loops overrunning an array of size 1 not at the
+       end of a record.
+
+2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/trans.c: Remove ipa-ref.h and plugin-api.h from include
+       list.
+       * gcc-interface/utils.c: Likewise.
+
+2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc-interface/decl.c (value_annotation_hasher): Inherit from
+       ggc_cache_ptr_hash rather than ggc_cache_hasher.
+       * gcc-interface/utils.c (pad_type_hasher): Likewise.
+
+2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * gcc-interface/decl.c (value_annotation_hasher::handle_cache_entry):
+       Delete.
+       (value_annotation_hasher::keep_cache_entry): New function.
+       * gcc-interface/utils.c (pad_type_hasher::handle_cache_entry):
+       Delete.
+       (pad_type_hasher::keep_cache_entry): New function.
+
+2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/misc.c: Include calls.h not function.h.
+
+2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (record_builtin_type): Adjust comment.
+       (tree create_type_decl): Likewise.
+       (create_var_decl_1): Add artificial_p and debug_info_p parameters.
+       (create_var_decl): Likewise.
+       (create_true_var_decl): Delete.
+       (create_subprog_decl): Add debug_info_p parameter.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
+       variable and use it throughout.  Remove DECL_ARTIFICIAL settings.
+       <E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
+       Remove DECL_IGNORED_P settings.
+       <E_Enumeration_Type>: Likewise.
+       <E_Record_Type>: Likewise.
+       <E_Subprogram_Type>: Likewise.  Remove artificial_flag local variable.
+       Adjust call to create_subprog_decl.
+       (get_minimal_subprog_decl): Likewise.
+       (elaborate_expression_1): Adjust call to create_var_decl.
+       * gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
+       create_subprog_decl.  Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
+       * gcc-interface/utils.c (maybe_pad_type): Likewise.
+       (record_builtin_type): Adjust comment.
+       (create_type_stub_decl): Remove obsolete comment.
+       (create_var_decl_1): Add artificial_p and debug_info_p parameters.
+       Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
+       (create_subprog_decl): Add debug_info_p parameter.  Set DECL_IGNORED_P
+       accordingly.
+
+2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
+
+2015-06-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure
+       the size of a padding type built around the return type is positive.
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
+       Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.
+
+2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/cuintp.c: Do not include input.h, line-map.h or is-a.h.
+       * gcc-interface/decl.c: Likewise.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       * gcc-interface/utils2.c: Likewise.
+
+2015-06-11  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/utils.c (get_global_context): Register the main
+       translation unit through the new debug hook.
+
+2015-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/misc.c: Remove duplicate include directives.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+
+2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/cuintp.c : Adjust include files.
+       * gcc-interface/decl.c : Likewise.
+       * gcc-interface/misc.c : Likewise.
+       * gcc-interface/targtyps.c : Likewise.
+       * gcc-interface/trans.c : Likewise.
+       * gcc-interface/utils.c : Likewise.
+       * gcc-interface/utils2.c : Likewise.
+
+2015-06-08  John Marino  <gnugcc@marino.st>
+
+       * a-intnam-dragonfly.ads: New.
+       * s-osinte-dragonfly.adb: Likewise.
+       * s-osinte-dragonfly.ads: Likewise.
+       * system-dragonfly-x86_64.ads: Likewise.
+       * adaint.c: Add BSD macros.
+       * cstreams.c: Likewise.
+       * gsocket.h: Likewise.
+       * link.c: Likewise.
+       * socket.c: Likewise.
+       * env.c: Add __DragonFly__, remove __FreeBSD__ macro.
+       * init.c: Add __DragonFly__, change __gnat_install_handler
+       prototype from empty to void.
+       * initialize.c: Add __DragonFly__.
+       * sysdep.c: Likewise.
+       * s-osinte-freebsd.adb: Use __get_errno instead of __error.
+       * tracebak.c: Set unwinder for i386 BSD.
+       * gcc-interface/Makefile.in: Add x86_64 DragonFly, tweak
+       x86_64 FreeBSD and x86 FreeBSD.
+
+2015-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (note_types_used_by_globals): Tweak comment.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+
+2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * gcc-interface/gigi.h (note_types_used_by_globals): Rename from
+       gnat_write_global_declarations.
+       * gcc-interface/misc.c (gnat_parse_file): Call
+       note_types_used_by_globals.
+       Remove LANG_HOOKS_WRITE_GLOBALS.
+       * gcc-interface/utils.c: Rename global_decls to type_decls.
+       (gnat_write_global_declarations): Rename
+       to note_types_used_by_globals.
+       Remove call to finalize_compilation_unit.
+       Remove call to debug_hooks->global_decl for globals.
+       (gnat_pushdecls): Only insert into type_decls if TYPE_DECL.
+
+2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       * gcc-interface/cuintp.c: Adjust includes for restructured coretypes.h.
+       * gcc-interface/decl.c: Likewise.
+       * gcc-interface/misc.c: Likewise.
+       * gcc-interface/targtyps.c: Likewise.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+       * gcc-interface/utils2.c: Likewise.
+
+2015-06-04  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: If
+       processing a definition, create definitions for padding types
+       around return types.
+
+2015-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (copy_type): Also set TYPE_CANONICAL.
+
+2015-06-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>: Fix
+       typo in latest change.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
+
+2015-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/utils.c (scale_by_factor_of): When handling a function
+       call expression, process the corresponding function body.  Also handle
+       potential addends.
+
+2015-06-01  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
+       references ones for functions that return references.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
+       definition of a type coming from a limited_with, get to the full view
+       if it is not in the main code unit.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (create_var_decl_1): If an assembler name is
+       specified, let the target mangle it before settting.
+       (create_subprog_decl): Likewise and move this treatment last.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/lang-specs.h (TARGET_VXWORKS_RTP): Move substitution to
+       before first -gnatez switch.  Simplify and add trailing space.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: If the
+       record has a parent field and a representation clause, make sure that
+       it is properly aligned.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (lvalue_required_p) <N_Indexed_Component>: Deal
+       with character and enumeration literals as index values.
+
+2015-06-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (build_simple_component_ref): Declare.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Deal with
+       address clause on aliased object with unconstrained nominal subtype.
+       Mark the aligning variable as artificial, do not convert the address
+       expression immediately but mark it as constant instead.
+       * gcc-interface/utils.c (convert): If the target type contains a
+       template, be prepared for an empty array.
+       (maybe_unconstrained_array): Likewise.
+       * gcc-interface/utils2.c (known_alignment) <POINTER_PLUS_EXPR>: Deal
+       with the pattern built for aligning types.
+       <INTEGER_CST>: Do not cap the value at BIGGEST_ALIGNMENT.
+       (build_simple_component_ref): Make public.
+       If the base object is a constructor that contains a template, fold the
+       result field by field.
+
+2015-05-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-oscons-tmplt.c: Add explicit tests for Android alongside Linux.
+
+2015-05-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * adaint.c: Test for __linux__ instead of linux and __sun__ instead
+       of sun.  Add missing leading underscore to AIX.  Remove #elif 0.
+       * adaint.h: Likewise.
+       * cio.c: Likewise.
+       * cstreams.c: Likewise.
+       * env.c: Likewise.
+       * gsocket.h: Likewise.
+       * init.c: Likewise.  Test for __i386__ instead of i386.
+       * link.c: Likewise.
+       * s-oscons-tmplt.c: Likewise.
+       * sysdep.c: Likewise.
+       * terminals.c: Likewise.  Use BSD symbol instead of FREEBSD.
+       * tracebak.c: Likewise.  Test for __sparc__ instead of sparc.
+
+2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (max_size) <tcc_binary>: Add special code to
+       deal with the subtraction of a "negative" value in an unsigned type.
+
+2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Do
+       not error out on a return type which has a size that overflows if the
+       return is done by invisible reference.
+
+2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (gnat_pushdecl): Reunify the handling of array
+       and pointer types wrt DECL_ORIGINAL_TYPE and adjust left and right.
+
+2015-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust.
+       (rewrite_fn): Remove third parameter.
+       (type_is_padding_self_referential): New inline predicate.
+       (return_type_with_variable_size_p): Likewise.
+       * gcc-interface/decl.c (allocatable_size_p): More around.
+       (cannot_be_superflat_p): Rename into...
+       (cannot_be_superflat ): ...this.
+       (initial_value_needs_conversion): New predicate.
+       (gnat_to_gnu_entity): Invoke type_is_padding_self_referential,
+       initial_value_needs_conversion and adjust to above renaming.
+       For a renaming, force the materialization if the inner expression
+       is compound.  Adjust calls to elaborate_reference and build a
+       compound expression if needed.
+       (struct er_dat): Add N field.
+       (elaborate_reference_1): Remove N parameter and adjust.
+       (elaborate_reference): Add INIT parameter and pass it in the call to
+       gnat_rewrite_reference.  Adjust initial expression.
+       * gcc-interface/trans.c (Call_to_gnu): Treat renamings the same way as
+       regular object declarations when it comes to creating a temporary.
+       Adjust call to gnat_stabilize_reference and build a compound expression
+       if needed.  Invoke return_type_with_variable_size_p.
+       (gnat_to_gnu): Invoke type_is_padding_self_referential.  In case #4,
+       return a call to a function unmodified if it returns with variable size
+       and is also the initial expression in an object declaration.
+       * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: Use the RHS'
+       type if it is a call to a function that returns with variable size.
+       (build_unary_op): Invoke type_is_padding_self_referential.
+       (gnat_stabilize_reference_1): Remove N parameter and adjust.
+       (gnat_stabilize_reference): Add INIT parameter and pass it in the call
+       to gnat_rewrite_reference.
+       (gnat_rewrite_reference):  Remove N, add INIT parameter and adjust.
+       <COMPOUND_EXPR>: New case.
+
+2015-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Is_Visible_Component): Component is visible
+       in a derived type if inherited through an ancestor that has a
+       partial view of the original type holding the component, if the
+       full view of that original type is in scope.
+       * sem_util.ads (Get_Body_From_Stub): Works for all kinds of stubs.
+
+2015-05-28  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Requires_Transient_Scope): For definite untagged
+       subtypes, we should never have to use the secondary stack. This moves
+       toward that goal. But there are still cases that don't work.
+       Here, we move the check for Is_Definite first, but add a
+       special-purpose check for Has_Discrim_Dep_Array.
+
+2015-05-28  Bob Duff  <duff@adacore.com>
+
+       * sem_util.adb (Requires_Transient_Scope): Avoid returning
+       function results on the secondary stack in so many cases.
+
+2015-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Wrong_Type): In any instance, do not emit error
+       if type of expression is the partial view of the expected type.
+
+2015-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): a)  The replacement of formal
+       names in named associations only needs to be done within an
+       instance, on a call to a primitive of a formal derived type,
+       where the actual subprogram may have different formal names than
+       those of the primitive operation of the formal type.
+       b) Defaulted parameters must be taken into account when obtaining
+       the names of the formals of the actual subprogram being called.
+
+2015-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb, sem_disp.ads: Minor reformatting.
+
+2015-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Set_Debug_Info_Needed): For a private type
+       whose full view is itself a derived private type, set flag on
+       underlying full view as well, for proper gdb display.
+
+2015-05-28  Bob Duff  <duff@adacore.com>
+
+       * exp_tss.ads: Minor comment fix.
+       * exp_ch3.adb (Build_Array_Init_Proc, Build_Record_Init_Proc):
+       Inline init_procs when the type has controlled parts. Remove
+       obsolete comments about those init_procs -- init_procs for
+       such types are no longer complex. A typical init_proc just
+       initializes the 'Tag field, and calls the parent init_proc
+       (e.g. for Limited_Controlled), which calls the grandparent
+       (for Root_Controlled), which does nothing. This all boils down
+       to one instruction when inlined.
+       * exp_ch7.adb (Create_Finalizer): Inline the finalizer.
+
+2015-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): If the type to use
+       is a derived type and is a generic actual, the selected component
+       appears within an instance body, and the check over the type
+       has failed, examine ancestor types for the desired component.
+       (Find_Component_In_Instance): If record type is a derived type,
+       examine all ancestors in order to locate desired component.
+
+2015-05-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gcc-interface/Makefile.in (TOOLS_LIBS): Add @NO_PIE_FLAG@.
+
+2015-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (elaborate_all_entities): Do not elaborate an
+       incomplete type coming from a limited_with and whose non-limited view
+       comes from the main unit.
+
+2015-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Move down
+       code applying atomic checks to the object.
+
+2015-05-27  Robert Dewar  <dewar@adacore.com>
+
+       * sem_aux.adb: Minor rewording.
+
+2015-05-27  Bob Duff  <duff@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Abort_Defer): Make
+       pragma Abort_Defer do nothing if Abort_Allowed is False.
+
+2015-05-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch9.adb, sem_util.adb, sem_util.ads, s-stposu.adb, s-spsufi.ads,
+       sem_elab.ads, g-comlin.ads, errout.ads, exp_ch6.adb, sem_ch4.adb,
+       opt.ads, s-bignum.adb, output.ads, sem_ch13.adb, erroutc.ads,
+       sem_disp.ads, exp_ch3.adb: Minor fixes of duplicate words in comments.
+
+2015-05-27  Doug Rupp  <rupp@adacore.com>
+
+       * adaint.c (__gnat_tmp_name) [vxworks]: Robustify and use for rtp as
+       well as kernel.
+
+2015-05-27  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * par_sco.adb (Process_Decision): Store sloc to
+       condition/pragmas SCOs associations into a temporary table before
+       moving them to the SCO_Raw_Hash_Table so that we can back them
+       out just like we do for SCO entries that are simple decisions
+       in an expression context.
+
+2015-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Process_Formals): A non-private formal type that
+       is a limited view does not have a list of private dependents.
+
+2015-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Case_Statement): If the expression in
+       the case statement is a compile-time known value, we look for a
+       corresponding alternative to optimize the case statement into a
+       single case. If the type has a static predicate and the expression
+       does not satisfy the predicate, there is no legal alternative and
+       this optimization is not applicable.  Excecution is erroneous,
+       or else if assertions are enabled, an exception will be raised
+       earlier, at the point the expression is elaborated.
+
+2015-05-27  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elab.adb (Check_Internal_Call_Continue): Suppress
+       warning on Finalize, Adjust, or Initialize if type involved has
+       Warnings_Off set.
+
+2015-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aux.adb, sem_aux.ads (First_Discriminant): Return empty when
+       applied to a type with no known discriminants.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads, sem_ch4.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * sem_elab.adb (Check_A_Call): In the case where we're
+       calling something in an instance of a generic package that is
+       within this same unit (as the call), make sure we treat it
+       as a call to an entity within the same unit. That is, call
+       Check_Internal_Call, rather than putting "Elaborate_All(X)"
+       on X, which would necessarily result in an elaboration cycle in
+       static-elaboration mode.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile.
+       * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity
+       parameter into Node parameter and remove Type parameter.
+       Look at Is_Atomic_Or_VFA both on the type and on the object.
+       (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate.
+       * exp_aggr.adb (Expand_Record_Aggregate): Likewise.
+       (Process_Atomic_Independent_Shared_Volatile): Remove code
+       propagating Atomic or VFA from object to locally-defined type.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * exp_ch7.adb: Minor comment fix.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Min/Attr_Max>: Do not
+       bother about NaN's if Machine_Overflows is true.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu) <N_Object_Declaration>: Really
+       force evaluation of the expression, if any, when the object has its
+       elaboration delayed.  Do not create a variable at global level.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Machine>: Do not apply
+       extra-precision trick to literals.  Build SAVE_EXPR manually.
+
+       * gcc-interface/misc.c (enumerate_modes): Add bypass for x86/x86-64.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_GLOBAL_NONCONSTANT_RENAMING_P): Delete
+       (DECL_RENAMED_OBJECT): Adjust comment.
+       * gcc-interface/gigi.h (record_global_nonconstant_renaming): Delete.
+       (invalidate_global_nonconstant_renamings): Likewise.
+       (gnat_constant_reference_p): Likewise.
+       (rewrite_fn): New function type.
+       (gnat_rewrite_reference): Declare.
+       (call_is_atomic_load): New inline predicate.
+       * gcc-interface/decl.c (elaborate_reference_1): New function.
+       (elaborate_reference): Likewise.
+       (gnat_to_gnu_entity): Call elaborate_reference to elaborate renamings
+       and simplify associated code.  Set const_flag to true consistently in
+       conjunction with used_by_ref.
+       * gcc-interface/trans.c (Identifier_to_gnu): Always replace renaming
+       pointers by renamed objects.
+       (outer_atomic_access_required_p): Deal with renamings.
+       (Compilation_Unit_to_gnu): Do not call
+       invalidate_global_nonconstant_renamings.
+       (gnat_to_gnu) <N_Object_Renaming_Declaration>: Adjust comment.
+       (gnat_gimplify_expr): Deal with atomic loads.
+       * gcc-interface/utils.c (global_nonconstant_renamings): Delete.
+       (destroy_gnat_utils): Do not call
+       invalidate_global_nonconstant_renamings.
+       (record_global_nonconstant_renaming): Delete.
+       (invalidate_global_nonconstant_renamings): Likewise.
+       * gcc-interface/utils2.c (call_is_atomic_load): Move to gigi.h.
+       (build_load_modify_store): Build a copy of the destination.
+       (gnat_stabilize_reference_1): Adjust.
+       (gnat_stabilize_reference): Call gnat_stabilize_reference_1 through
+       gnat_rewrite_reference and move bulk of code to...
+       (gnat_rewrite_reference): ...here.  New global function.
+       (gnat_constant_reference_p): Delete.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (gnat_stabilize_reference): Adjust prototype.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not rely on const_flag
+       to detect constant renamings.  Be prepared for specific pattern of
+       renamed object based on function calls.  Create a constant object
+       for the renaming of a NULL_EXPR or of a CONSTRUCTOR.  Adjust calls
+       to gnat_stabilize_reference and tidy up.  Remove redundant tests.
+       (elaborate_expression_1): Remove obsolete test and tidy up.
+       * gcc-interface/trans.c (Call_to_gnu): Do not stabilize In/Out or Out
+       parameters passed by reference.
+       (gnat_to_gnu) <N_Selected_Component>: Remove redundant protection again
+       side-effects.
+       Use gnat_protect_expr instead of gnat_stabilize_reference for general
+       protection against side-effects.
+       * gcc-interface/utils2.c (gnat_stable_expr_p): New predicate.
+       (gnat_save_expr): Invoke it.
+       (gnat_protect_expr): Likewise.
+       (gnat_stabilize_reference_1): Likewise.  Remove useless propagation
+       of TREE_THIS_NOTRAP.
+       (gnat_stabilize_reference): Remove parameter and adjust throughout.
+       Delete ADDR_EXDR, COMPOUND_EXPR and CONSTRUCTOR cases.
+       Restrict CALL_EXPR case to atomic loads and tweak ERROR_MARK case.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sinfo.ads: Minor reformatting.
+       * sem_aux.ads: Clarify use of First_Discriminant.
+       * sem_ch4.adb (Analyze_Explicit_Dereference): The use of a limited
+       view is replaced with the non-limited view in an instance body,
+       where the enclosing unit must have a regular with_clause on the
+       relevant unit.
+       * sem_ch12.adb (Install_Body): Freeze instantation after its
+       body. Remove useless freeze nodes for incomplete actuals to
+       prevent multiple generation of internal operations.
+       (Instantiate_Package_Body): Set sloc of body appropriately when
+       there are incomplete actuals and the instance body is placed in
+       the body of the enclosing unit.
+       * errout.ads: Consistent punctuation, better alignment and trivial
+       typos in comments.
+       * err_vars.ads: Fix typo.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Lift restriction on
+       components of Volatile_Full_Access objects.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Is_Non_Overriding_Operation,
+       Get_Generic_Parent_Type): Handle properly the case of a derived
+       scalar type by using the first subtype rather than its generated
+       anonymous base type.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.adb (Write_Field17_Name): Move E_Incomplete_Subtype
+       case to...
+       (Write_Field19_Name): ...here.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb: sem_ch13.adb (Add_Predicates): Undo analysis
+       of original expression in ASIS mode: does not solve the ASIS
+       problem of a usable type information, and crashes the back-end
+       when performing type annotations.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_disp.adb (Inherited_Subprograms): Add One_Only parameter.
+       (Is_Overriding_Subprogram): Use One_Only_Parameter.
+       * sem_disp.ads (Inherited_Subprograms): Add One_Only parameter.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_prag.adb, sem_ch3.adb, sem_ch5.adb, exp_ch11.adb, ghost.adb,
+       exp_ch6.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, sem_ch13.adb,
+       exp_ch3.adb: Minor reformatting.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * treepr.adb: Minor improvement to debugging routines (pp, pn)
+       robustness.  Rearrange the code so passing a nonexistent Node_Id
+       prints "No such node" rather than crashing, and causing gdb to
+       generate confusing messages.
+
+2015-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_util.adb: Minor typo fix.
+
+2015-05-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_aux.adb (Subprogram_Body_Entity): Deal with subprogram stubs.
+
+2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Full_Type_Declaration): Capture, set and
+       restore the Ghost mode.
+       (Expand_N_Object_Declaration): Capture, set and restore the Ghost mode.
+       (Freeze_Type): Update the call to Set_Ghost_Mode.
+       (Restore_Globals): New routine.
+       * exp_ch5.adb Add with and use clauses for Ghost.
+       (Expand_N_Assignment_Statement): Capture, set and restore the
+       Ghost mode.
+       (Restore_Globals): New routine.
+       * exp_ch6.adb Add with and use clauses for Ghost.
+       (Expand_N_Procedure_Call_Statement): Capture, set and
+       restore the Ghost mode.
+       (Expand_N_Subprogram_Body):
+       Code cleanup. Capture, set and restore the Ghost mode.
+       (Expand_N_Subprogram_Declaration): Capture, set and restore the
+       Ghost mode.
+       (Restore_Globals): New routine.
+       * exp_ch7.adb Add with and use clauses for Ghost.
+       (Expand_N_Package_Body): Capture, set and restore the Ghost mode.
+       (Expand_N_Package_Declaration): Capture, set and restore the
+       Ghost mode.
+       (Wrap_HSS_In_Block): Create a proper identifier for the block.
+       * exp_ch8.adb Add with and use clauses for Ghost.
+       (Expand_N_Exception_Renaming_Declaration): Code
+       cleanup. Capture, set and restore the Ghost mode.
+       (Expand_N_Object_Renaming_Declaration): Capture, set and restore
+       the Ghost mode.
+       (Expand_N_Package_Renaming_Declaration): Capture, set and restore the
+       Ghost mode.
+       (Expand_N_Subprogram_Renaming_Declaration): Capture, set and
+       restore the Ghost mode.
+       * exp_ch11.adb (Expand_N_Exception_Declaration): Code
+       cleanup. Capture, set and restore the Ghost mode.
+       * exp_disp.adb (Make_DT): Update the call to Set_Ghost_Mode. Do
+       not initialize the dispatch table slot of a Ghost subprogram.
+       * exp_prag.adb Add with and use clauses for Ghost.
+       (Expand_Pragma_Check): Capture, set and restore the Ghost mode.
+       (Expand_Pragma_Contract_Cases): Capture, set and restore the
+       Ghost mode.
+       (Expand_Pragma_Initial_Condition): Capture, set and
+       restore the Ghost mode.
+       (Expand_Pragma_Loop_Variant): Capture,
+       set and restore the Ghost mode.
+       (Restore_Globals): New routine.
+       * exp_util.adb Add with and use clauses for Ghost.
+       (Make_Predicate_Call): Code cleanup. Capture, set and restore
+       the Ghost mode.
+       (Restore_Globals): New routine.
+       * freeze.adb (Freeze_Entity): Code cleanup. Update the call
+       to Set_Ghost_Mode.
+       * ghost.adb Add with and use clause for Sem_Prag.
+       (Check_Ghost_Completion): Code cleanup.
+       (Check_Ghost_Overriding): New routine.
+       (Check_Ghost_Policy): Code cleanup.
+       (Ghost_Entity): New routine.
+       (Is_Ghost_Declaration): Removed.
+       (Is_Ghost_Statement_Or_Pragma): Removed.
+       (Is_OK_Context): Reimplemented.
+       (Is_OK_Declaration): New routine.
+       (Is_OK_Pragma): New routine.
+       (Is_OK_Statement): New routine.
+       (Mark_Full_View_As_Ghost): New routine.
+       (Mark_Pragma_As_Ghost): New routine.
+       (Mark_Renaming_As_Ghost): New routine.
+       (Propagate_Ignored_Ghost_Code): Update the comment on usage.
+       (Set_From_Entity): New routine.
+       (Set_From_Policy): New routine.
+       (Set_Ghost_Mode): This routine now handles pragmas and freeze nodes.
+       (Set_Ghost_Mode_For_Freeze): Removed.
+       (Set_Ghost_Mode_From_Entity): New routine.
+       (Set_Ghost_Mode_From_Policy): Removed.
+       * ghost.ads (Check_Ghost_Overriding): New routine.
+       (Mark_Full_View_As_Ghost): New routine.
+       (Mark_Pragma_As_Ghost): New routine.
+       (Mark_Renaming_As_Ghost): New routine.
+       (Set_Ghost_Mode): Update the parameter profile. Update the
+       comment on usage.
+       (Set_Ghost_Mode_For_Freeze): Removed.
+       (Set_Ghost_Mode_From_Entity): New routine.
+       * sem_ch3.adb (Analyze_Full_Type_Declaration):
+       Capture and restore the Ghost mode. Mark a type
+       as Ghost regardless of whether it comes from source.
+       (Analyze_Incomplete_Type_Decl): Capture, set and restore the
+       Ghost mode.
+       (Analyze_Number_Declaration): Capture and restore the Ghost mode.
+       (Analyze_Object_Declaration): Capture and restore the Ghost mode.
+       (Analyze_Private_Extension_Declaration): Capture and
+       restore the Ghost mode.
+       (Analyze_Subtype_Declaration): Capture and restore the Ghost mode.
+       (Process_Full_View): The full view inherits all Ghost-related
+       attributes from the private view.
+       (Restore_Globals): New routine.
+       * sem_ch5.adb (Analyze_Assignment): Capture and restore the
+       Ghost mode.
+       (Restore_Globals): New routine.
+       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration):
+       Code cleanup. Capture and restore the Ghost mode. Mark a
+       subprogram as Ghost regarless of whether it comes from source.
+       (Analyze_Procedure_Call): Capture and restore the Ghost mode.
+       (Analyze_Subprogram_Body_Helper): Capture and restore the Ghost mode.
+       (Analyze_Subprogram_Declaration): Capture and restore the Ghost mode.
+       (New_Overloaded_Entity): Ensure that a
+       parent subprogram and an overriding subprogram have compatible
+       Ghost policies.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Capture and restore
+       the Ghost mode.
+       (Analyze_Package_Declaration): Capture and
+       restore the Ghost mode. Mark a package as Ghost when it is
+       declared in a Ghost region.
+       (Analyze_Private_Type_Declaration): Capture and restore the Ghost mode.
+       (Restore_Globals): New routine.
+       * sem_ch8.adb (Analyze_Exception_Renaming): Code
+       reformatting. Capture and restore the Ghost mode. A renaming
+       becomes Ghost when its name references a Ghost entity.
+       (Analyze_Generic_Renaming): Capture and restore the Ghost mode. A
+       renaming becomes Ghost when its name references a Ghost entity.
+       (Analyze_Object_Renaming): Capture and restore the Ghost mode. A
+       renaming becomes Ghost when its name references a Ghost entity.
+       (Analyze_Package_Renaming): Capture and restore the Ghost mode. A
+       renaming becomes Ghost when its name references a Ghost entity.
+       (Analyze_Subprogram_Renaming): Capture and restore the Ghost
+       mode. A renaming becomes Ghost when its name references a
+       Ghost entity.
+       * sem_ch11.adb (Analyze_Exception_Declaration): Capture, set
+       and restore the Ghost mode.
+       * sem_ch12.adb (Analyze_Generic_Package_Declaration): Capture and
+       restore the Ghost mode.
+       (Analyze_Generic_Subprogram_Declaration):
+       Capture and restore the Ghost mode.
+       * sem_ch13.adb Add with and use clauses for Ghost.
+       (Add_Invariant): New routine.
+       (Add_Invariants): Factor out code.
+       (Add_Predicate): New routine.
+       (Add_Predicates): Factor out code.
+       (Build_Invariant_Procedure_Declaration): Code cleanup. Capture,
+       set and restore the Ghost mode.
+       (Build_Invariant_Procedure): Code cleanup.
+       (Build_Predicate_Functions): Capture, set and
+       restore the Ghost mode. Mark the generated functions as Ghost.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
+       Capture, set and restore the Ghost mode.
+       (Analyze_External_Property_In_Decl_Part): Capture, set and restore
+       the Ghost mode.
+       (Analyze_Initial_Condition_In_Decl_Part):
+       Capture, set and restore the Ghost mode.
+       (Analyze_Pragma):
+       Code cleanup. Capture, set and restore the Ghost mode. Flag
+       pragmas Linker_Section, No_Return, Unmodified, Unreferenced and
+       Unreferenced_Objects as illegal when it applies to both Ghost
+       and living arguments. Pragma Ghost cannot apply to synchronized
+       objects.
+       (Check_Kind): Moved to the spec of Sem_Prag.
+       (Process_Inline): Flag the pragma as illegal when it applies to
+       both Ghost and living arguments.
+       (Restore_Globals): New routine.
+       * sem_prag.ads Add pragma Default_Initial_Condition
+       to table Assertion_Expression_Pragma. Add new table
+       Is_Aspect_Specifying_Pragma.
+       (Check_Kind): Moved from body of Sem_Prag.
+       * sem_util.adb Add with and use clauses for Ghost.
+       (Build_Default_Init_Cond_Procedure_Body): Capture, set and restore
+       the Ghost mode.
+       (Build_Default_Init_Cond_Procedure_Declaration):
+       Capture, set and restore the Ghost mode. Mark the default
+       initial condition procedure as Ghost when it is declared
+       in a Ghost region.
+       (Is_Renaming_Declaration): New routine.
+       (Policy_In_List): Account for the single argument version of
+       Check_Pragma.
+       * sem_util.ads (Is_Renaming_Declaration): New routine.
+       * sinfo.adb (Is_Ghost_Pragma): New routine.
+       (Set_Is_Ghost_Pragma): New routine.
+       * sinfo.ads New attribute Is_Ghost_Pragma.
+       (Is_Ghost_Pragma): New routine along with pragma Inline.
+       (Set_Is_Ghost_Pragma): New routine along with pragma Inline.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_aux.adb, sem_aux.ads, exp_ch6.adb, sprint.adb:
+       Minor reformatting.
+
+2015-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * gnat1drv.adb, targparm.adb, targparm.ads, restrict.adb: Minor
+       reformatting and typo fixes in comments.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Swap_Private_Dependets): Set visibility of
+       the two views of a private dependent in two separate steps,
+       to ensure proper visibility in parent units analyzed for inlining.
+
+2015-05-26  Yannick Moy  <moy@adacore.com>
+
+       * sem_aux.adb, sem_aux.ads (Get_Low_Bound): Use Type_Low_Bound.
+       (Package_Body, Package_Spec): New queries moved
+       here from GNATprove.
+       (Package_Specification): Simplify query to remove use of loop.
+       * sem_util.adb, sem_util.ads (Enclosing_Declaration,
+       Enclosing_Package_Or_Subprogram, Is_Attribute_Update): New
+       queries moved here from GNATprove.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * einfo.adb, einfo.ads, sprint.adb, lib-xref.ads: Minor cleanup: Remove
+       obsolete Entity_Kinds E_String_Type and E_String_Subtype. Update
+       redundant assertions.
+
+2015-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_util.adb, sem_util.ads, sem_ch13.adb: Minor typo fixes.
+
+2015-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * init.c [vxworks]: Refine previous checkin.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Wrap_MA): New function.
+       (Expand_N_Op_Expon): Use Wrap_MA.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+       Do not use secondary stack to return limited records with
+       defaulted discriminants. This is an efficiency improvement.
+       * exp_ch6.adb, exp_dist.adb, sem_attr.adb, sem_aux.adb, sem_aux.ads,
+       sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb,
+       sem_util.adb: Change the sense of Is_Indefinite_Subtype to be
+       Is_Definite_Subtype. This is an improvement to readability (the double
+       negative in "not Is_Indefinite_Subtype" was slightly confusing). Also
+       disallow passing non-[sub]type entities, an unnecessary and slightly
+       bug-prone flexibility.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): Defend against
+       bad bounds.
+       * debug.adb: Document -gnatd.k.
+       * erroutc.adb (Set_Msg_Insertion_Line_Number): Implement -gnatd.k.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * gnat1drv.adb (Gnat1drv): Provide new arguments for
+       Get_Target_Parameters.
+       * restrict.adb (Set_Restriction_No_Specification_Of_Aspect):
+       new procedure.
+       (Set_Restriction_No_Use_Of_Attribute): new procedure.
+       * restrict.ads (Set_Restriction_No_Specification_Of_Aspect):
+       new procedure.
+       (Set_Restriction_No_Use_Of_Attribute): new procedure.
+       * s-rident.ads (Integer_Parameter_Restrictions): New subtype.
+       * targparm.adb (Get_Target_Parameters): Allow new restriction
+       pragmas No_Specification_Of_Aspect No_Use_Of_Attribute
+       No_Use_Of_Pragma.
+       * targparm.ads: New parameters for Get_Target_Parameters.
+       * tbuild.adb (Set_NOD): New name for Set_RND.
+       (Set_NSA): New procedure.
+       (Set_NUA): New procedure.
+       (Set_NUP): New procedure.
+       * tbuild.ads (Make_SC): Minor reformatting.
+       (Set_NOD): New name for Set_RND.
+       (Set_NSA, Set_NUA, Set_NUP): New procedure.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * a-stwise.adb (Find_Token): If source'first is not positive,
+       an exception must be raised, as specified by RM 2005 A.4.3
+       (68/1). This must be checked explicitly, given that run-time
+       files are normally compiled without constraint checks.
+       * a-stzsea.adb (Find_Token): Ditto.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.ads sem_util.adb (Is_Current_Instance):  New predicate
+       to fully implement RM 8.6 (17/3). which earlier only applied
+       to synchronized types. Used to preanalyze aspects that include
+       current instances of types, such as Predicate and Invariant.
+       * sem_res.adb (Resolve_Entity_Name): Use Is_Current_Instance.
+       * sem_ch13.adb (Add_Predicates): In ASIS mode, preserve original
+       expression of aspect and analyze it to provide proper type
+       information.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * rtsfind.ads: Add entries for RE_Exn[_Long]_Float.
+       * s-exnllf.adb (Exn_Float): New function.
+       (Exn_Long_Float): New function.
+       (Exn_Long_Long_Float): Rewritten interface.
+       (Exp): New name for what used to be Exn_Long_Long_Float.
+       * s-exnllf.ads (Exn_Float): New function.
+       (Exn_Long_Float): New function.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Selected_Component): Do not emit an error
+       on a selected component when the prefix is a type name that is
+       a Current_Instance.
+       * einfo.ads: Minor grammar fix.
+
+2015-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * init.c [vxworks] (sysLib.h): Only for x86.
+
+2015-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * init-vxsim.c (CPU): define as __VXSIM_CPU__
+       * sigtramp-vxworks-vxsim.c (CPU): Likewise.
+       sigtramp-vxworks-target.inc: Add check for SIMLINUX.
+       * sigtramp.h: Likewise.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_aux.adb, sem_disp.adb, sem_util.ads: Add comment.
+       * sem_util.adb: Minor reformatting
+
+2015-05-26  Yannick Moy  <moy@adacore.com>
+
+       * inline.adb (Has_Initialized_Type): Adapt to new names.
+       * sem_aux.adb, sem_aux.ads (Get_Low_Bound, Number_Components,
+       Subprogram_Body, Subprogram_Body_Entity, Subprogram_Spec,
+       Subprogram_Specification): New query functions used in GNATprove.
+       * sem_disp.adb, sem_disp.ads (Is_Overriding_Subprogram): New
+       query functions used in GNATprove.
+       * sem_util.adb, sem_util.adso (Enclosing_Lib_Unit_Node,
+       Get_Cursor_Type, Get_Return_Object, Get_User_Defined_Eq,
+       Is_Double_Precision_Floating_Point_Type,
+       Is_Single_Precision_Floating_Point_Type): New query functions
+       used in GNATprove.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * s-rpc.ads (Partition_ID): Increase maximum Partition_ID to
+       some huge number.
+       * a-except-2005.adb, a-except-2005.ads, a-except.adb,
+       a-except.ads, a-exexda.adb, a-exstat.adb: Minor comment fixes.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.adb: Minor comment addition.
+       * einfo.adb: Minor whitespace and punctuation fix.
+       * sem_util.adb: Minor editing of comments.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Install_Private_Declarations,
+       Swap_Private_Dependents): Ensure that both views of the dependent
+       subtype are immediately visible if we are within their scope. This
+       may be needed when a procedure body is both the parent of an
+       instantiated child unit, and is itself used to inline a local
+       function.
+
+2015-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_prag.adb, gnat1drv.adb: Minor reformatting.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Indexed_Component): In the circuit
+       detecting exceptions to the rewriting, deal with implicit
+       dereferences in the selected component case.
+
+2015-05-26  Bob Duff  <duff@adacore.com>
+
+       * sem_ch13.adb (Analyze_One_Aspect): Do not
+       require the expression of the Disable_Controlled aspect to be
+       static in a generic template, because 'Enabled is not known
+       until the instance.
+
+2015-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * init-vxsim.c: New file for vxsim ZCX
+       * sigtramp-vxworks-vxsim.c: Likewise.
+       * sigtramp-vxworks.c: Factor out target dependent bits into ...
+       * sigtramp-vxworks-target.inc: ... here.
+       * sigtramp.h: Add vxsim zcx protos.
+       * init.c [vxworks...] (sysLib.h): Include.
+       (__gnat_map_signal): Make global.
+        [...i386] (__gnat_error_handler): Call __gnat_vxsim_error_handler if
+       on vxsim.
+       [...i386] (__gnat_install_handler): Test if on vxsim.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): For an element
+       iterator over an array, if the component is aliased, the loop
+       variable is aliased as well.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): For a function call with in-out
+       parameters that is rewritten as an expression_with_actions,
+       we preserve the original function call node for further use by
+       the caller (typically Expand_Call). In the presence of validity
+       checks, that function call, though it is labelled Analyzed to
+       prevent an infinite recursion, may be rewritten as a temporary
+       by Remove_Side_Effects.  Ensure that the caller has access to
+       the original function call to continue expansion.
+       * atree.ads: Minor typo in comment.
+
+2015-05-26  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb (Check_Function_Writable_Actuals):
+       Add missing support to check the violation of writable actuals
+       in array aggregates that have a nonstatic range.
+
+2015-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch6.adb (Process_Contract_Cases_For): Update the call to
+       Expand_Pragma_Contract_Cases.
+       * exp_prag.ads, exp_prag.adb (Expand_Contract_Cases): Rename to
+       Expand_Pragma_Contract_Cases.
+       * sem_ch13.adb (Add_Invariants): Use the original aspect name
+       when creating the arguments of pragma Check. This ensures that
+       'Class is properly recognized and handled.
+
+2015-05-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb: Minor adjustments.
+       (Adjust_Global_Switches): Disable some related flags in CodePeer mode.
+       * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
+       Stop_Subtree_Climbind): Code cleanup.
+       * einfo.ads: Minor comment change.
+
+2015-05-26  Javier Miranda  <miranda@adacore.com>
+
+       * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
+       Code cleanup.
+       * sem_ch3.adb (Build_Derived_Record_Type,
+       Record_Type_Declaration): Code cleanup.
+       * sem_ch4.adb (Has_Arbitrary_Evaluation_Order,
+       Stop_Subtree_Climbind): Tables which speed up the identification
+       of dangerous calls to Ada 2012 functions with writable actuals
+       (AI05-0144).
+       (Analyze_Arithmetic_Op, Analyze_Call, Analyze_Comparison_Op,
+       Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
+       Analyze_Range): Code cleanup.
+       (Is_Arbitrary_Evaluation_Order_Construct): Removed.
+       (Check_Writable_Actuals): Code cleanup using the added tables.
+       * sem_util.adb (Check_Function_Writable_Actuals): Return
+       immediately if the node does not have the flag Check_Actuals
+       set to True.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Add_Call_By_Copy_Code): Remove restrictive
+       condition in the detection of the effects of Remove_Side_Effects.
+       * exp_util.ads (Remove_Side_Effects): Add general and historical note.
+       * exp_util.adb (Is_Name_Reference): New predicate.
+       (Remove_Side_Effects): Use it in lieu of Is_Object_Reference
+       in order to decide whether to use the renaming to capture the
+       side effects of the subexpression.
+       (Side_Effect_Free): Remove obsolete test.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add aspect Disable_Controlled.
+       * einfo.ads, einfo.adb (Disable_Controlled): New flag.
+       (Is_Controlled_Active): New function.
+       * exp_ch3.adb (Expand_Freeze_Record_Type): Use
+       Is_Controlled_Active.
+       * exp_util.adb (Needs_Finalization): Finalization not needed
+       if Disable_Controlled set.
+       * freeze.adb (Freeze_Array_Type): Do not set
+       Has_Controlled_Component if the component has Disable_Controlled.
+       (Freeze_Record_Type): ditto.
+       * sem_ch13.adb (Decorate): Minor reformatting.
+       (Analyze_Aspect_Specifications): Implement Disable_Controlled.
+       * sem_ch3.adb (Analyze_Object_Declaration): Handle
+       Disable_Controlled.
+       (Array_Type_Declaration): ditto.
+       (Build_Derived_Private_Type): ditto.
+       (Build_Derived_Type): ditto.
+       (Record_Type_Definition): ditto.
+       * snames.ads-tmpl: Add Name_Disable_Controlled.
+
+2015-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): Use a constant declaration instead
+       of a renaming to capture the return value of a function call.
+       (Expand_Simple_Function_Return): Call Remove_Side_Effects
+       instead of removing side effects manually before the call to
+       _Postconditions.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Expon): Deal with problem of wrong
+       order in calling Duplicate_Subexpr.
+       * einfo.ads: Fix documentation of Object/Value size for scalar types.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code, Gen_Assign):
+       If a component is default-initialized and its type has an
+       invariant procedure, insert an invariant test after code for
+       default-initialization of the component.
+
+2015-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads, sem_util.adb, sem_ch4.adb: Minor reformatting.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb, exp_unst.ads: Change to using Subps table index for
+       making AREC entity names unique.
+
+2015-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_cat.adb (Has_Stream_Attribute_Definition): If the type
+       has aspect specifications, examine the corresponding list of
+       representation items to determine whether there is a visible
+       stream operation. The attribute definition clause generated from
+       the aspect will be inserted at the freeze point of the type,
+       which may be in the private part and not directly visible,
+       but the aspect makes the operation available to a client.
+
+2015-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.adb: Minor code reorganization.
+       * sem_ch6.adb: Minor reformatting.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (maybe_pad_type): Do not apply adjustment to
+       original size for elementary types before issuing the size warning.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * get_targ.adb (C_Get_Float_Words_BE): Adjust import name.
+       (C_Get_Words_BE): Likewise.
+       (C_Get_Bytes_BE): Likewise.
+       (C_Get_Bits_BE): Likewise.
+       (Width_From_Size): Remove superfluous space.
+       * gcc-interface/targtyps.c (get_float_words_be): Rename into...
+       (get_target_float_words_be): ...this.
+       (get_words_be): Rename into...
+       (get_target_words_be): ...this.
+       (get_bytes_be): Rename into...
+       (get_target_bytes_be): ...this.
+       (get_bits_be): Rename into...
+       (get_target_bits_be): ...this.
+       * gcc-interface/gigi.h (standard_datatypes): Remove ADT_ptr_void_type.
+       (ptr_void_type_node): Delete.
+       (get_target_float_size): Likewise.
+       (get_target_double_size): Likewise.
+       (get_target_long_double_size): Likewise.
+       (get_float_words_be): Likewise.
+       (get_words_be): Likewise.
+       (get_bytes_be): Likewise.
+       (get_bits_be): Likewise.
+       (get_target_float_words_be): Declare.
+       (get_target_words_be): Likewise.
+       (get_target_bytes_be): Likewise.
+       (get_target_bits_be): Likewise.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace ptr_void_type_node
+       with ptr_type_node.
+       (intrin_return_compatible_p): Likewise.
+       * gcc-interface/trans.c (gigi): Likewise.
+       * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
+       (maybe_wrap_free): Likewise.
+       * gcc-interface/utils.c (maybe_pad_type): Remove superfluous space.
+       * gcc-interface/misc.c (gnat_init): Do not set ptr_void_type_node.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (elaborate_expression): Take a const string
+       suffix instead of a tree.
+       (elaborate_expression_1): Likewise.
+       (elaborate_expression_2): Likewise.
+       (gnat_to_gnu_entity): Adjust to above changes.
+       (build_subst_list): Likewise.
+       (get_entity_char): New static function.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Move around.
+       <E_Exception>: Merge with E_Variable case.
+       <E_Variable>: Remove 'object' label.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Minor tweak.
+       * gcc-interface/trans.c (finalize_nrv_unc_r): Use CONSTRUCTOR_ELT.
+       * gcc-interface/utils.c (convert): Likewise and simplify.
+       (remove_conversions): Likewise.
+       * gcc-interface/utils2.c (compare_fat_pointers): Likewise.
+       (build_unary_op): Likewise and simplify.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/gigi.h (build_atomic_load): Adjust prototype.
+       (build_atomic_store): Likewise.
+       (build_load_modify_store): Declare.
+       (VECTOR_TYPE_P): Delete.
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Replace Is_Atomic with
+       Is_Atomic_Or_VFA throughout.
+       <E_Array_Type>: Build a variant of the XUA type instead of forcing
+       TYPE_VOLATILE on it.
+       <E_Array_Subtype>: Use the main variant of the base type.
+       Do not force TYPE_VOLATILE on the type being built.
+       <E_Record_Type>: Likewise.
+       <E_Array_Subtype>: Likewise.
+       <E_Subprogram_Type>: Rename local variable.
+       Add Atomic qualifier in conjunction with Volatile on types if needed.
+       Force BLKmode for by-ref types only at the end of the processing.
+       Change qualifiers only after changing the mode of the type.  Set
+       TYPE_UNIVERSAL_ALIASING_P on the type directly.
+       (check_ok_for_atomic_type): Issue specific error message for VFA.
+       (gnat_to_gnu_component_type): Replace Is_Atomic with
+       Is_Atomic_Or_VFA throughout.
+       * gcc-interface/misc.c (gnat_get_alias_set): Test
+       TYPE_UNIVERSAL_ALIASING_P on the type directly.
+       * gcc-interface/trans.c (lvalue_required_p): Replace Is_Atomic with
+       Is_Atomic_Or_VFA throughout.  Add missing guard.
+       (node_is_atomic): New predicate.
+       (node_has_volatile_full_access): Likewise.
+       (gnat_strip_type_conversion): New function.
+       (outer_atomic_access_required_p): New predicate.
+       (atomic_sync_required_p): Rename into...
+       (atomic_access_required_p): ...this.  Add SYNC parameter, scan the
+       parent node first and then look for the atomic setting.  Add support
+       for Volatile_Full_Access.
+       (Call_to_gnu): Add atomic_access and outer_atomic_access parameters
+       and adjusts calls to above functions.  Use load-modify-store sequence
+       for updates of In/Out and Out parameters if required, as well as for
+       moving the result to the target if required.  Add couple of missing
+       guards.
+       (gnat_to_gnu): Adjust calls to above functions.
+       <N_Object_Renaming_Declaration>: If the renamed object has side-effects
+       evaluate only its address.
+       <N_Assignment_Statement>: Adjust call to Call_to_gnu.  Use load-modify
+       store sequence if required.
+       <N_Function_Call>: Adjust call to Call_to_gnu.
+       (extract_values): Adjust comment.
+       * gcc-interface/utils2.c (build_atomic_load): Add SYNC parameter and
+       use relaxed memory model if it is not set.
+       (build_atomic_store): Likewise.
+       (call_is_atomic_load): New predicate.
+       (build_load_modify_store): New function.
+       (build_binary_op) <MODIFY_EXPR>: Accept SAVE_EXPR on the LHS.
+       (gnat_stabilize_reference) <CALL_EXPR>: Deal with atomic loads.
+
+2015-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h (DECL_RENAMING_GLOBAL_P): Rename into...
+       (DECL_GLOBAL_NONCONSTANT_RENAMING_P): ...this.
+       * gcc-interface/gigi.h (record_global_renaming_pointer): Delete.
+       (invalidate_global_renaming_pointers): Likewise.
+       (record_global_nonconstant_renaming): New.
+       (invalidate_global_nonconstant_renamings): Likewise.
+       (get_inner_constant_reference): Likewise.
+       (gnat_constant_reference_p): Likewise.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Adjust to above
+       and register the renaming pointer only if the object is non-constant.
+       (elaborate_expression_1): Call get_inner_constant_reference instead
+       of get_inner_reference.
+       * gcc-interface/trans.c (fold_constant_decl_in_expr): Minor tweak.
+       (Identifier_to_gnu): Adjust to above and do not recheck the renamed
+       object before substituting it.
+       (Compilation_Unit_to_gnu): Adjust to above renaming.  Minor tweaks.
+       (gnat_to_gnu) <N_Object_Renaming_Declaration>: Do not return the
+       result at the global level.
+       (N_Exception_Renaming_Declaration): Likewise.
+       * gcc-interface/utils.c (global_renaming_pointers): Rename into...
+       (global_nonconstant_renamings): ...this.
+       (destroy_gnat_utils): Adjust to above renaming.
+       (record_global_renaming_pointer): Rename into...
+       (record_global_nonconstant_renaming): ...this.
+       (invalidate_global_renaming_pointers): Rename into...
+       (invalidate_global_nonconstant_renamings): ...this and do not recheck
+       the renamed object before invalidating.
+       * gcc-interface/utils2.c (gnat_stabilize_reference): Minor tweak.
+       (get_inner_constant_reference): New public function.
+       (gnat_constant_reference_p): New predicate.
+
+2015-05-25  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads, einfo.adb (Has_Out_Or_In_Out_Parameter): This attribute
+       is now present in subprograms, generic subprograms, entries and
+       entry families.
+       * sem_ch6.adb (Set_Formal_Mode): Set As_Out_Or_In_Out_Parameter
+       on entries, entry families, subprograms and generic subprograms.
+       * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
+       Minor code reorganization to ensure that the Ekind attribute
+       of the subprogram entity is set before its formals are
+       processed. Required to allow the use of the attribute
+       Has_Out_Or_In_Out_Parameter on the subprogram entity.
+       * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
+       Perform the check on writable actuals only if the value of some
+       component of the aggregate involves calling a function with
+       out-mode parameters.
+       (Resolve_Record_Aggregate): Propagate the Check_Actuals flag to the
+       internally built aggregate.
+       * sem_ch3.adb (Build_Derived_Record_Type, Record_Type_Declaration):
+       Perform the check on writable actuals only if the initialization of
+       some component involves calling a function with out-mode parameters.
+       * sem_ch4.adb (Analyze_Arithmetic_Op, Analyze_Comparison_Op,
+       Analyze_Equality_Op, Analyze_Logical_Op, Analyze_Membership_Op,
+       Analyze_Range): Check writable actuals only if the
+       subtrees have a call to a function with out-mode parameters
+       (Analyze_Call.Check_Writable_Actuals): New subprogram. If the call
+       has out or in-out parameters then mark its outermost enclosing
+       construct as a node on which the writable actuals check must
+       be performed.
+       (Analyze_Call): Check if the flag must be set and if the outermost
+       enclosing construct.
+       * sem_util.adb (Check_Function_Writable_Actuals): Code cleanup
+       and reorganization. We skip processing aggregate discriminants
+       since their precise analysis involves two phases traversal.
+       * sem_res.adb (Resolve_Actuals, Resolve_Arithmetic_Op,
+       Resolve_Logical_Op, Resolve_Membership_Op): Remove call to
+       check_writable_actuals.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Constrain_Concurrent): If the context is a
+       type declaration, generate an Itype_Reference for the anonymous
+       subtype, to force elaboration at this point in gigi.
+
+2015-05-22  Gary Dismukes  <dismukes@adacore.com>
+
+       * layout.adb, einfo.ads, sem_ch12.adb, freeze.adb, sem_util.ads,
+       exp_ch4.adb, sem_ch6.adb: Minor reformatting and typo fixes.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): If the call is to an overridden
+       operation, replace the names of the actuals in named associations
+       with the names of the actuals of the subprogram that is eventually
+       executed. The names of the formals and the defaults can differ
+       between the two operations when they are operations of a formal
+       derived type.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * a-convec.ads, a-convec.adb (Append): Check for fast path. Split
+       out slow path into separate procedure. Inline Append. Fast path
+       now avoids calling Insert.
+       (Finalize): Do the busy checking last, so the container gets emptied.
+       (Insert, Insert_Space): Remove redundancy.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): Insist on -gnatc
+       for -gnatd.V.
+
+2015-05-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatvsn.ads: Minor code reorg to remember more easily to update
+       variables.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Analyze_With_Clause): In ASIS_Mode, a
+       limited_with clause on a predefined unit is not transformed into
+       a regular with_clause, to preserve the original tree structure.
+       * sinfo.ads (N_With_Clause): Add comment on handling of
+       Limited_With.
+       * sem_ch10.adb: Minor reformatting.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Freeze_Profile): A limited view of a type in
+       the profile of a subprogram renaming does not require freezing,
+       because it is declared in a different unit.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Get_Constraint_Association): If type (of ancestor
+       composite type) is private, go to full view. This was previously
+       done only in an instance context, but is happen whenever a chain
+       of private extensions includes one inherited discriminant.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.ads: Minor comment updates.
+       * exp_unst.adb: Move Subps table to spec Don't remove old entries
+       from table Add Last field to record last entry used.
+       * exp_unst.ads: Move Subps table here from body So that Cprint
+       can access saved values.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * a-cdlili.adb, a-cdlili.ads, a-cohama.adb, a-cohama.ads,
+       * a-cohase.adb, a-cohase.ads, a-convec.adb, a-convec.ads,
+       * a-coorma.adb, a-coorma.ads, a-coorse.adb, a-coorse.ads:
+       (Pseudo_Reference, Element_Access, Get_Element_Access): New
+       declarations added for use by performance improvements in exp_ch5.adb.
+       * snames.ads-tmpl: New names referenced by exp_ch5.adb.
+       * exp_ch5.adb: Speed up "for ... of" loops for predefined containers.
+       Instead of doing literally what the RM calls for, we do something
+       equivalent that avoids expensive operations inside the loop. If the
+       container package has appropriate Next, Pseudo_Reference,
+       Element_Access, Get_Element_Access declarations, we invoke the
+       optimization.
+       * snames.ads-tmpl: Note speed improvement.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Is_Atomic_Or_VFA): Move to XEINFO INLINES section.
+       * xeinfo.adb: Replace a-einfo.h with einfo.h throughout.
+       Add pattern to translate "or else" into "||".
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Has_Volatile_Full_Access): Rename into...
+       (Is_Volatile_Full_Access): ...this.
+       (Set_Has_Volatile_Full_Access): Rename into...
+       (Set_Is_Volatile_Full_Access): ...this.
+       * einfo.adb (Has_Volatile_Full_Access): Rename into...
+       (Is_Volatile_Full_Access): ...this.
+       (Set_Has_Volatile_Full_Access): Rename into...
+       (Set_Is_Volatile_Full_Access): ...this.
+       (Is_Atomic_Or_VFA): Adjust to above renaming.
+       * errout.adb (Special_Msg_Delete): Likewise.
+       * exp_pakd.adb (Install_PAT): Likewise.
+       * freeze.adb (Freeze_Array_Type): Likewise.
+       * sem_ch8.adb (Analyze_Object_Renaming): Likewise.
+       * sem_ch13.adb (Inherit_Delayed_Rep_Aspects): Likewise.
+       (Inherit_Aspects_At_Freeze_Point): Likewise.
+       * sem_prag.adb (Set_Atomic_VFA): Likewise.
+       (Process_Atomic_Independent_Shared_Volatile): Likewise.
+       * sem_util.adb (Is_Atomic_Or_VFA_Object): Likewise.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch5.adb, layout.adb, einfo.adb, einfo.ads, sem_prag.adb,
+       freeze.adb, freeze.ads, sem_util.adb, sem_util.ads, exp_ch2.adb,
+       exp_ch4.adb, errout.adb, exp_aggr.adb, sem_ch13.adb: This is a general
+       change that deals with the fact that most of the special coding for
+       Atomic should also apply to the case of Volatile_Full_Access.
+       A new attribute Is_Atomic_Or_VFA is introduced, and many of the
+       references to Is_Atomic now use this new attribute.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Op_Eq): Introduce 'Machine for 'Result
+       comparison.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sprint.adb (Source_Dump): When generating debug files, deal
+       with the case of a stand-alone package instantiation by dumping
+       together the spec and the body in the common debug file.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb (Minimum_Size): Size is zero for null range
+       discrete subtype.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Anonymous_Master): This attribute now applies
+       to package and subprogram bodies.
+       (Set_Anonymous_Master): This attribute now applies to package and
+       subprogram bodies.
+       (Write_Field36_Name): Add output for package and subprogram bodies.
+       * einfo.ads Update the documentation on attribute Anonymous_Master
+       along with occurrences in entities.
+       * exp_ch4.adb (Create_Anonymous_Master): Reimplemented to
+       handle spec and body anonymous masters of the same unit.
+       (Current_Anonymous_Master): Reimplemented. Handle a
+       package instantiation that acts as a compilation unit.
+       (Insert_And_Analyze): Reimplemented.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Analyze_With_Clause): A limited_with_clause on a
+       predefined unit is treated as a regular with_clause.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch12.adb, prj.ads, makeutl.ads, sem_ch6.adb, prj-nmsc.adb,
+       prj-conf.adb, sem_disp.adb: Minor reformatting.
+
+2015-05-22  Vincent Celier  <celier@adacore.com>
+
+       * clean.adb (Parse_Cmd_Line): For native gnatclean, check
+       for switch -P and, if found and gprclean is available, invoke
+       silently gprclean.
+       * make.adb (Initialize): For native gnatmake, check for switch -P
+       and, if found and gprbuild is available, invoke silently gprbuild.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch13.adb (Validate_Unchecked_Conversions): Also issue
+       specific warning for discrete types when the source is larger
+       than the target.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads, einfo.adb (Incomplete_Actuals): New attribute of
+       package instantiations. Holds the list of actuals in the instance
+       that are incomplete types, to determine where the corresponding
+       instance body must be placed.
+       * sem_ch6.adb (Conforming_Types): An incomplete type used as an
+       actual in an instance matches an incomplete formal.
+       * sem_disp.adb (Check_Dispatching_Call): Handle missing case of
+       explicit dereference.
+       (Inherited_Subprograms): In the presence of a limited view there
+       are no subprograms to inherit.
+       * sem_ch12.adb (Preanalyze_Actuals): Build list of incomplete
+       actuals of instance, for later placement of instance body and
+       freeze nodes for actuals.
+       (Install_Body): In the presence of actuals that incomplete types
+       from a limited view, the instance body cannot be placed after
+       the declaration because full views have not been seen yet. Any
+       use of the non-limited views in the instance body requires
+       the presence of a regular with_clause in the enclosing unit,
+       and will fail if this with_clause is missing.  We place the
+       instance body at the beginning of the enclosing body, which is
+       the unit being compiled, and ensure that freeze nodes for the
+       full views of the incomplete types appear before the instance.
+
+2015-05-22  Pascal Obry  <obry@adacore.com>
+
+       * makeutl.ads, prj-conf.adb, prj-nmsc.adb, prj.ads
+       (In_Place_Option): Removed.
+       (Relocate_Build_Tree_Option): New constant.
+       (Root_Dir_Option): New constant.
+       (Obj_Root_Dir): Removed.
+       (Build_Tree_Dir): New variable.
+       (Root_Src_Tree): Removed.
+       (Root_Dir): New variable.
+       * prj-conf.adb (Get_Or_Create_Configuration_File): Add check
+       for improper relocation.
+       * prj-nmsc.adb (Locate_Directory): Add check for improper
+       relocation.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Default_Init_Cond_Procedure): Code cleanup. The
+       attribute now applies to the base type.
+       (Has_Default_Init_Cond): Now applies to the base type.
+       (Has_Inherited_Default_Init_Cond): Now applies to the base type.
+       (Set_Default_Init_Cond_Procedure): Code cleanup. The attribute now
+       applies to the base type.
+       (Set_Has_Default_Init_Cond): Now applies to the base type.
+       (Set_Has_Inherited_Default_Init_Cond): Now applies to the base type.
+       * exp_ch3.adb (Expand_N_Object_Declaration): No need to use the
+       base type when adding a call to the Default_Initial_Condition.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb: Node36 is now used as Anonymous_Master. Flag253
+       is now unused.
+       (Anonymous_Master): New routine.
+       (Has_Anonymous_Master): Removed.
+       (Set_Anonymous_Master): New routine.
+       (Set_Has_Anonymous_Master): Removed.
+       (Write_Entity_Flags): Remove the output for Has_Anonymous_Maser.
+       (Write_Field36_Name): Add output for Anonymous_Master.
+       * einfo.ads Add new attribute Anonymous_Master along with
+       occurrences in nodes. Remove attribute Has_Anonymous_Master along
+       with occurrences in nodes.
+       (Anonymous_Master): New routine along with pragma Inline.
+       (Has_Anonymous_Master): Removed along with pragma Inline.
+       (Set_Anonymous_Master): New routine along with pragma Inline.
+       (Set_Has_Anonymous_Master): Removed along with pragma Inline.
+       * exp_ch4.adb (Create_Anonymous_Master): New routine.
+       (Current_Anonymous_Master): Reimplemented.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * freeze.adb (Freeze_Profile): Suppress warning if imported
+       subprogram is not at library level.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
+       component of an object to which Volatile_Full_Access applies.
+
+2015-05-22  Jerome Guitton  <guitton@adacore.com>
+
+       * exp_dbug.ads: Add note about non bit-packed arrays.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_prag.adb: Fix typo.
+       * einfo.ads: Grammar fixes in comments.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * a-cborma.ads, a-cidlli.ads, a-cimutr.ads, a-ciormu.ads,
+       * a-cihase.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
+       * a-cborse.ads, a-comutr.ads, a-ciorma.ads, a-cobove.ads,
+       * a-coormu.ads, a-convec.ads, a-cohase.ads, a-coinho.ads,
+       * a-cbdlli.ads, a-cbmutr.ads, a-cbhase.ads, a-cdlili.ads,
+       * a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+       * a-coinho-shared.ads (Constant_Reference_Type, Reference_Type):
+       Add an initialization expression "raise Program_Error". See,
+       for example, RM-A.18.2(148.4).
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Update documentation.
+       * einfo.ads, einfo.adb (Needs_Typedef): New flag
+       * exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
+       typedef's in C.
+       * frontend.adb: Update comments.
+       * gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
+       for -gnatd.V
+       * opt.ads (Generate_C_Code): New switch.
+       * osint-c.adb (Write_C_File_Info): Removed, not used
+       (Write_H_File_Info): Removed, not used
+       * osint-c.ads (Write_C_File_Info): Removed, not used
+       (Write_H_File_Info): Removed, not used
+       * osint.ads (Write_Info): Minor comment updates.
+       (Output_FD): Moved from private part to public part of spec.
+       * sem.adb (Semantics): Force expansion on if in Generate_C_Code
+       mode.
+       * atree.ads: minor typo in comment.
+       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+       Do not allow VFA on composite object with aliased component.
+
+2015-05-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * osint-c.adb, osint-c.ads (Set_File_Name): Move back to spec.
+
+2015-05-22  Pascal Obry  <obry@adacore.com>
+
+       * prj-util.adb: Minor comment editing.
+
+2015-05-22  Pascal Obry  <obry@adacore.com>
+
+       * makeutl.ads (In_Place_Option): New constant.
+       * prj.ads (Obj_Root_Dir): New variable (absolute path to relocate
+       objects).
+       (Root_Src_Tree): New variable (absolute path of root source tree).
+       * prj-conf.adb (Do_Autoconf): Take into account the object root
+       directory (if defined) to generate configuration project.
+       * prj-nmsc.adb (Get_Directories): Handle case where Obj_Root_Dir
+       is defined.
+       (Locate_Directory): Likewise.
+
+2015-05-22  Pascal Obry  <obry@adacore.com>
+
+       * prj-util.ads, prj-util.adb (Relative_Path): New routine.
+
+2015-05-22  Bob Duff  <duff@adacore.com>
+
+       * exp_utils.ads, exp_utils.adb (Find_Optional_Prim_Op): New
+       interface to return Empty when not found, so we can avoid handling
+       Program_Error in that case.
+       (Find_Prim_Op): Fix latent bug: raise Program_Error when there are no
+       primitives.
+       * exp_ch7.adb, sem_util.adb: Use Find_Optional_Prim_Op when the
+       code is expecting Empty.
+       * sem_ch8.adb: Use Find_Optional_Prim_Op to avoid handling
+       Program_Error.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_intr.adb, exp_ch4.adb, s-rannum.adb,
+       sem_eval.adb, s-fatgen.adb, s-expmod.ads: Remove incorrect hyphen in
+       non-binary.
+       * exp_util.adb: Add comment.
+       * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move from spec to
+       body.
+       (Set_File_Name): New name for the above.
+       (Create_C_File, Create_H_File, Write_C_File_Info, Write_H_File_Info,
+       Close_C_File, Close_H_File): New procedure.
+       * osint.adb: Minor reformatting.
+       * osint.ads: Minor comment updates.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb: Minor rewording.
+       * exp_util.ads: Clarify that Find_Prim_Op is only for
+       tagged types.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * atree.adb, atree.ads, treepr.adb: Change name Needs_Actuals_Check to
+       Check_Actuals.
+       * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**x in modular
+       and overflow cases.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_pakd.adb (Install_PAT): Propagate representation aspects
+       from the original array type to the PAT.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * treepr.adb (Print_Node_Header): Add output of Needs_Actuals_Check.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * atree.adb, atree.ads (Needs_Actuals_Check): New flag.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Remove the detection
+       of a useless Part_Of indicator when the related item is a constant.
+       (Check_Matching_Constituent): Do not emit an error on a constant.
+       (Check_Missing_Part_Of): Do not check for a missing Part_Of indicator
+       when the related item is a constant.
+       (Collect_Body_States): Code cleanup.
+       (Collect_Visible_States): Code cleanup.
+       (Report_Unused_States): Do not emit an error on a constant.
+       * sem_util.ads, sem_util.adb (Has_Variable_Input): Removed.
+
+2015-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch8.adb (Analyze_Object_Renaming): Copy
+       Has_Volatile_Full_Access from renamed to renaming entities.
+       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+       Tidy up and remove redundant setting of Has_Volatile_Full_Access.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * ghost.adb (Check_Ghost_Completion): Update references to SPARK
+       RM 6.9 rules.
+       (Check_Ghost_Policy): Update references to SPARK RM 6.9 rules.
+       * sem_ch3.adb (Analyze_Object_Declaration): Update references
+       to SPARK RM 6.9 rules.
+       (Check_Completion): Ghost entities do not require a special form of
+       completion.
+       * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Update references
+       to SPARK RM 6.9 rules.
+       (Analyze_Subprogram_Body_Helper): Update references to SPARK RM 6.9
+       rules.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Update references
+       to SPARK RM 6.9 rules.
+       (Requires_Completion_In_Body): Ghost entities do not require a special
+       form of completion.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * a-csquin.ads: Use Ada 2012 notation.
+       * sem_ch8.adb: Minor reformatting.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect Import
+       acts as a completion.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb: Minor reformatting.
+
+2015-05-22  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-reatim.adb: Minor change, fix typo.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads: Minor addition of ??? comment.
+       * sem_prag.adb, sem_util.adb: Minor reformatting.
+       * sem_ch13.adb: minor reformatting.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.ads: Add Compile_Time_Error to ensure Duration
+       is 64-bits.
+       * sem_ch13.adb: Improve error message.
+       * exp_ch4.adb: Minor reformatting.
+
+2015-05-22  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma): Constants without variable
+       input do not require indicator Part_Of.
+       (Check_Missing_Part_Of): Constants without variable input do not
+       requrie indicator Part_Of.
+       (Collect_Visible_States): Constants without variable input are
+       not part of the hidden state of a package.
+       * sem_util.ads, sem_util.adb (Has_Variable_Input): New routine.
+
+2015-05-22  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb (Activate_Atomic_Synchronization): Do not set
+       Atomic_Sync_Required for an object renaming declaration.
+       * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and
+       Is_Independent to renaming object.
+
+2015-05-22  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose
+       various illegalities in iterators over arrays and containers:
+       a) New function Get_Cursor_Type, to verify that the cursor is
+       not a limited type at the point of iteration.
+       b) If the container is a constant, an element_iterator is illegal
+       if the container type does not have a Constant_Indexing aspect.
+       c) If the iterate function has an in-out controlling parameter,
+       the container cannot be a constant object.
+       d) Reject additional cases of iterators over a
+       discriminant-dependent component of a mutable object.
+
+2015-05-21  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb (Contract): This attribute now applies to constants.
+       (Set_Contract): This attribute now applies to constants.
+       (Write_Field34_Name): Add output for constants.
+       * einfo.ads Attribute Contract now applies to constants.
+       * sem_ch3.adb (Analyze_Object_Contract): Constants now have
+       their Part_Of indicator verified.
+       * sem_prag.adb (Analyze_Constituent): A constant is now a valid
+       constituent.
+       (Analyze_Global_Item): A constant cannot act as an output.
+       (Analyze_Initialization_Item): Constants are now a valid
+       initialization item.
+       (Analyze_Initializes_In_Decl_Part): Rename
+       global variable States_And_Vars to States_And_Objs and update
+       all its occurrences.
+       (Analyze_Input_Item): Constants are now a
+       valid initialization item. Remove SPARM RM references from error
+       messages.
+       (Analyze_Pragma): Indicator Part_Of can now apply to a constant.
+       (Collect_Body_States): Collect both source constants
+       and variables.
+       (Collect_States_And_Objects): Collect both source constants and
+       variables.
+       (Collect_States_And_Variables): Rename
+       to Collect_States_And_Objects and update all its occurrences.
+       (Collect_Visible_States): Do not collect constants and variables
+       used to map generic formals to actuals.
+       (Find_Role): The role of a constant is that of an input. Separate the
+       role of a variable from that of a constant.
+       (Report_Unused_Constituents): Add specialized wording for constants.
+       (Report_Unused_States): Add specialized wording for constants.
+       * sem_util.adb (Add_Contract_Item): Add processing for constants.
+       * sem_util.ads (Add_Contract_Item): Update the comment on usage.
+       (Find_Placement_In_State_Space): Update the comment on usage.
+
+2015-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb: minor reformatting.
+
+2015-05-21  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Properly tag -gnatw.z messages.
+
+2015-05-21  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb: Minor reformatting.
+       * cstand.adb (Print_Standard): Fix bad printing of Duration
+       low bound.
+       * a-reatim.adb (Time_Of): Complete rewrite to properly detect
+       out of range args.
+
+2015-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb: add (useless) initial value.
+       * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram):
+       Check whether the procedure has parameters before processing
+       formals in ASIS mode.
+
+2015-05-21  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Check_Iterator_Functions): Emit error on Iterator
+       aspect as well when indexing function is illegal.
+       (Valid_Default_Iterator): Handle properly somme illegal cases
+       to prevent compilation abandoned messages.
+       (Check_Primitive_Function): Verify that type and indexing function
+       are in the same scope.
+       * freeze.adb (Freeze_Record): Extend patch on the presence of
+       indexing aspects to aspect Default_Iterator.
+
+2015-05-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * gcc-interface/trans.c (Sloc_to_locus1): Strenghthen local "map"
+       from line_map * to line_map_ordinary *.
+
+2015-05-12  Jason Merrill  <jason@redhat.com>
+
+       * sigtramp-vxworks.c: Add space between string literal and macro
+       name.
+
+2015-05-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi, doc: Documentation updates and clean ups
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specifications): Additional
+       legality checks for array and container iterators:
+       a) The domain of iteration cannot be a component that depends
+       on discriminants of a mutable object. The check was recently
+       added for element iterators.
+       b) The cursor type cannot be a limited type at the point of the
+       iteration, because the cursor will be assigned to in the body
+       of the loop.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Record_Type): Make sure that if we have
+       aspect Iterator_Element, then we have either Constant_Indexing
+       or Variable_Indexing.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * a-coormu.ads, a-coormu.adb: Add Indexing aspect, Reference_Type,
+       and Reference_Control_Type to support element iterators over
+       ordered multisets.
+       * a-ciormu.ads, a-ciormu.adb: Ditto for
+       indefinite_ordered_multisets.
+
+2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Expression_With_Actions): Force
+       the evaluation of the EWA expression.  Code cleanup.
+       (Process_Transient_Object): Code cleanup.
+       * exp_util.adb (Is_Aliased): Controlled transient objects found
+       within EWA nodes are not aliased.
+       (Is_Finalizable_Transient): Iterators are not finalizable transients.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
+       Don't allow Atomic and Volatile_Full_Access for the same entity.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Iterator_Specification): Implement new
+       semantics and safety checks specified in AI12-0151.
+
+2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * sem_ch10.adb (Sem_Ch10.Analyze_Proper_Body): Generate SCOs
+       for subunit in generic units.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elab.adb (Check_A_Call): Avoid checking internal call
+       from Valid_Scalars
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Process_Formals): An untagged incomplete type
+       is legal in the profile of a null procedure.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
+       the checks on a derived formal whose parent type is a previous
+       formal that is not a derived type.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add entries for aspect Volatile_Full_Access
+       * einfo.adb (Has_Volatile_Full_Access): New flag.
+       (Has_Volatile_Full_Access): New flag.
+       * einfo.ads (Has_Volatile_Full_Access): New flag.
+       * par-prag.adb: Add dummy entry for Volatile_Full_Access.
+       * sem_prag.adb (Analyze_Pragma, case Volatile_Full_Access):
+       Implement new pragma.
+       * snames.ads-tmpl: Add entries for pragma Volatile_Full_Access.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * targparm.ads: Minor reformatting.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.adb (Time_Of): Properly detect overflow when TS = 0.0.
+       * a-reatim.ads: Minor reformatting.
+
+2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.ads: Update the documentation of flags
+       Has_Inherited_Default_Init_Cond and Has_Default_Init_Cond.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * impunit.adb: Add entry for a-dhfina.ads
+       * a-dhfina.ads: New file.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): if the array
+       type has convention Fortran, a multidimensional iterator varies
+       the first dimension fastest.
+
+2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb: Node32 is now used as Encapsulating_State.
+       Node37 is now used as Associated_Entity.
+       (Associated_Entity): New routine.
+       (Encapsulating_State): Update the assertion guard to include constants.
+       (Set_Associated_Entity): New routine.
+       (Set_Encapsulating_State): Update the assertion guard to
+       include constants.
+       (Write_Field10_Name): Remove the output for Encapsulating_State.
+       (Write_Field32_Name): Add output for Encapsulating_State.
+       (Write_Field37_Name): Add output for Associated_Entity.
+       * einfo.ads New attribute Associated_Entity along with placement
+       in entities. Attribute Encapsulating_State now uses Node32.
+       (Associated_Entity): New routine along with pragma Inline.
+       (Set_Associated_Entity): New routine along with pragma Inline.
+       * inline.ads Code reformatting.
+       * sem_attr.adb (Analyze_Attribute): Correct the prefix of
+       attribute 'Result when the context is a generic instantiation.
+       (Analyze_Attribute_Old_Result): Pragmas Depends and
+       Refined_Depends are a valid context for attribute 'Result.
+       (Denote_Same_Function): Allow attribute 'Result to denote
+       generic functions.
+       * sem_ch3.adb Add with and use clauses for Sem_Ch12.
+       (Analyze_Declarations): Capture global references within the
+       contracts of packages, subprograms and their respective bodies.
+       * sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub): Removed.
+       (Analyze_Completion_Contract): Removed.
+       (Analyze_Generic_Subprogram_Body): Enchange the aspects after
+       creating the generic copy. Create a generic contract for the
+       template. Analyze the aspects of the generic body. Analyze the
+       contract of the generic body when it is a compilation unit and
+       capture global references.
+       (Analyze_Subprogram_Body_Contract): Code cleanup.
+       (Analyze_Subprogram_Contract): Do not save global references here.
+       (Save_Global_References_In_List): Removed.
+       * sem_ch7.adb (Analyze_Package_Body_Contract): Code cleanup.
+       (Analyze_Package_Body_Helper): Create a generic contract for
+       the template.
+       (Analyze_Package_Contract): Code cleanup.
+       * sem_ch10.adb Add with and use clauses for Sem_Ch12.
+       (Analyze_Compilation_Unit): Capture global references in a
+       generic subprogram declaration that acts as a compilation unit.
+       * sem_ch12.adb Add with and use clauses for Sem_Prag. Illustrate
+       the implementation of generic contracts. Alphabetize various
+       subprograms.
+       (Analyze_Generic_Package_Declaration):
+       Create a generic contract for the template.
+       (Analyze_Generic_Subprogram_Declaration): Create a generic
+       contract for the template.
+       (Analyze_Subprogram_Instantiation): Instantiate the contract of the
+       subprogram.
+       (Copy_Generic_Node): Link defining entities of the generic template
+       with the corresponding defining entities of the generic copy. Update
+       the processing of pragmas.
+       (Instantiate_Contract): Removed.
+       (Instantiate_Subprogram_Contract): New routine.
+       (Requires_Delayed_Save): New routine.
+       (Save_Global_References): Rename formal parameter N to Templ. Various
+       cleanups.
+       (Save_Global_References_In_Aspects): Moved from the spec.
+       (Save_Global_References_In_Contract): New routine.
+       (Save_References_In_Aggregate): New routine.
+       (Save_References_In_Char_Lit_Or_Op_Symbol): New routine.
+       (Save_References_In_Descendants): New routine.
+       (Save_References_In_Identifier): New routine.
+       (Save_References_In_Operator): New routine.
+       (Save_References_In_Pragma): New routine.
+       * sem_ch12.ads (Save_Global_References): Rename formal
+       parameter N to Templ. Update the comment on usage.
+       (Save_Global_References_In_Aspects): Moved to the body.
+       (Save_Global_References_In_Contract): New routine.
+       * sem_ch13.adb (Analyze_Aspect_Specifications_On_Body_Or_Stub):
+       New routine.
+       * sem_ch13.ads (Analyze_Aspect_Specifications_On_Body_Or_Stub):
+       New routine.
+       * sem_prag.adb (Add_Item_To_Name_Buffer): Add support for
+       generic parameters.
+       (Analyze_Contract_Cases_In_Decl_Part): Code cleanup.
+       (Analyze_Depends_Global): New routine.
+       (Analyze_Depends_In_Decl_Part): Code cleanup.
+       (Analyze_Global_In_Decl_Part): Code cleanup.
+       (Analyze_Global_Item): Constants are now valid global items. Do
+       not perform state-related checks in an instance. Change the way
+       renamings are handled.  (Analyze_Initial_Condition_In_Decl_Part):
+       Code cleanup.
+       (Analyze_Initializes_In_Decl_Part): Code cleanup.
+       (Analyze_Input_Output): The analysis of attribute 'Result in
+       the context of pragmas Depends or Refined_Depends now reuses
+       the existing attribute analysis machinery. Constants and
+       generic parameters are now valid dependency items. Do not
+       perform state-related checks in an instance. Change the way
+       renamings are handled.  (Analyze_Pragma): Add a "characteristics"
+       section for pragmas Abstract_State, Contract_Cases, Depends,
+       Extensions_Visible, Global, Initial_Condition, Initializes,
+       Post, Post_Class, Postcondition, Pre, Pre_Class, Precondition,
+       Refined_Depends, Refined_Global, Refined_Post, Refined_State, Test_Case.
+       (Analyze_Pre_Post_Condition): Do not create a generic
+       template here.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup.
+       (Analyze_Refined_Depends_Global_Post): New routine.
+       (Analyze_Refined_Depends_In_Decl_Part): Code cleanup.
+       (Analyze_Refined_Global_In_Decl_Part): Code cleanup.
+       (Analyze_Refined_Pragma): Removed.
+       (Analyze_Refined_State_In_Decl_Part): Code cleanup.
+       (Analyze_Test_Case_In_Decl_Part): Code cleanup.
+       (Check_Dependency_Clause): Do not perform this check in an instance.
+       (Check_Function_Return): Add support for generic functions.
+       (Check_In_Out_States): Do not perform this check in an instance.
+       (Check_Input_States): Do not perform this check in an instance.
+       (Check_Mode_Restriction_In_Function): Add support for generic functions.
+       (Check_Output_States): Do not perform this check in an instance.
+       (Check_Postcondition_Use_In_Inlined_Subprogram): Rename
+       parameter Subp_Id to Spec_Id and update comment on usage.
+       (Check_Proof_In_States): Do not perform this check in an instance.
+       (Check_Refined_Global_Item): Add support for constants.
+       (Check_Refined_Global_List): Do not perform this check in an instance.
+       (Collect_Global_Items): Reimplemented.
+       (Collect_Subprogram_Inputs_Outputs): Add support for generic parameters.
+       (Create_Generic_Template): Removed.
+       (Find_Related_Package_Or_Body): Moved to spec.
+       (Find_Role): Add support for generic parameters and constants.
+       (Get_Argument): Moved to spec. Rename parameter Spec_Id to Context_Id.
+       (Match_Item): Add support for constants.
+       (Preanalyze_Test_Case_Arg): Reimplemented.
+       (Report_Extra_Clauses): Do not perform this check in an instance.
+       (Report_Extra_Constituents): Do not perform this check in an instance.
+       * sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Update
+       the comment on usage.
+       (Find_Related_Package_Or_Body): Moved from body.
+       (Get_Argument): Moved from body.
+       * sem_util.adb Add with and use clauses for Sem_Ch12.
+       (Corresponding_Spec_Of): Add support for packages and package bodies.
+       (Create_Generic_Contract): New routine.
+       (Is_Contract_Annotation): Reimplemented.
+       (Is_Generic_Declaration_Or_Body): New routine.
+       (Is_Package_Contract_Annotation): New routine.
+       (Is_Subprogram_Contract_Annotation): New routine.
+       * sem_util.ads (Corresponding_Spec_Of): Update the comment on usage.
+       (Create_Generic_Contract): New routine.
+       (Is_Generic_Declaration_Or_Body): New routine.
+       (Is_Package_Contract_Annotation): New routine.
+       (Is_Subprogram_Contract_Annotation): New routine.
+       * sinfo.adb (Is_Generic_Contract_Pragma): New routine.
+       (Set_Is_Generic_Contract_Pragma): New routine.
+       * sinfo.ads Add new attribute Is_Generic_Contract_Pragma along
+       with occurrences in nodes.
+       (Is_Generic_Contract_Pragma): New routine along with pragma Inline.
+       (Set_Is_Generic_Contract_Pragma): New routine along with pragma Inline.
+       * treepr.adb (Print_Entity_Info): Output fields 36 to 41.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * a-taster.ads: Minor comment fix: fix bad header, this is a
+       pure RM unit.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_intr.adb: (Check_Shift): Diagnose bad modulus value.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): Default to suppressing
+       Alignment_Checks on non-strict alignment machine.
+       * sem_ch13.adb (Validate_Address_Clauses): Don't give
+       compile-time alignment warnings if run time Alignment_Check
+       is suppressed.
+
+2015-05-12  Thomas Quinot  <quinot@adacore.com>
+
+       * g-sercom.ads, g-sercom-linux.adb (GNAT.Serial_Communications.
+       Data_Rate): New literals B75, B110, B150, B300, B600.
+
+2015-05-12  Doug Rupp  <rupp@adacore.com>
+
+       * init.c (__gnat_init_float) [vxworks]: For e500v2,
+       do nothing and leave the responsibility to install the handler
+       and enable the exceptions to the BSP.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch9.adb, einfo.ads, exp_intr.adb: Minor reformatting.
+       * sem_disp.adb: Minor code reorganization (remove junk redundant
+       null statement).
+       * exp_unst.adb (Unnest_Subprogram.Uplev_Refs): Ignore uplevel
+       references to bounds of types coming from original type reference.
+       * checks.ads: Minor reformatting.
+       * checks.adb: Minor reformatting.
+       * sem_prag.adb (Analyze_Pragma, case Check): If in ignored
+       assertion, then make sure we do not drag in bignum stuff.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch9.adb (Collect_Interfaces): Initialize
+       Direct_Primitive_Operations for a tagged synchronized type,
+       so it can used in ASIS mode.
+       * sem_disp.adb (Check_Dispatching_Operation): If expansion is
+       disabled, attach subprogram to list of Direct_Primitive_Operations
+       of synchronized type itself, for ASIS use, because in this case
+       Corresponding_Record_Type is not built.
+       * einfo.ads: Indicate use of Direct_Primitive_Operations on
+       synchronized type.
+
+2015-05-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * exp_pakd.adb: Make clearer the comment in exp_pakd.adb about
+       ___XP suffixes.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, sem_util.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb (Visit_Node): Deal with subprogram and package stubs.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): The
+       tag to be retrieved for the generated call is the first entry
+       in the dispatch table for the return type of the instantiated
+       constructor.
+
+2015-05-12  Bob Duff  <duff@adacore.com>
+
+       * exp_ch7.adb, exp_ch7.ads, exp_intr.adb, exp_util.adb,
+       exp_util.ads: Update comments.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Add_Internal_Interface_Entities): Do no generate
+       freeze nodes for these in ASIS mode, because they lead to
+       elaoration order issues in gigi.
+
+2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch6.adb (Analyze_Expression_Function): Code
+       cleanup. Use Copy_Subprogram_Spec to create a proper spec.
+       (Analyze_Subprogram_Body_Helper): Code cleanup. Do not
+       prepare a stand alone body for inlining in GNATprove mode
+       when inside a generic.  (Body_Has_Contract): Reimplemented.
+       (Build_Subprogram_Declaration): New routine.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Capture global
+       references within generic bodies by loading them.
+       * sem_util.adb (Copy_Parameter_List): Code cleanup.
+       (Copy_Subprogram_Spec): New routine.
+       (Is_Contract_Annotation): New routine.
+       * sem_util.ads (Copy_Subprogram_Spec): New routine.
+       (Is_Contract_Annotation): New routine.
+
+2015-05-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute): Do not analyze the generated
+       body of an expression function when the prefix of attribute
+       'Access is the body.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Enumeration_Type): The anonymous base
+       created for a derived enumeration type is not a first subtype,
+       even though it is defined through a full type declaration.
+       * sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Do not process
+       aspects for the anonymous base type constructed for a derived
+       scalar type, because they will be set when the first subtype
+       is frozen.
+       (Inherit_Aspects_At_Freeze_Point): Fix typos on handling of
+       Default_Value and Default_Component_Value, that prevented the
+       proper inheritance of these aspects.
+
+2015-05-12  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch6.adb, exp_unst.adb: Minor typo fixes.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting.
+
+2015-05-12  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: If we want to invoke gnatmake (gnatclean) with
+       -P, then check if gprbuild (gprclean) is available; if it is,
+       use gprbuild (gprclean) instead of gnatmake (gnatclean).
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Add flag -gnatd.3 to output diagnostic info from
+       Exp_Unst.
+       * einfo.ad, einfo.adb: Reorganize (and remove most of) flags used by
+       Exp_Unst.
+       * exp_ch6.adb (Unest_Bodies): Table for delayed calls to
+       Unnest_Subprogram (Expand_N_Subprogram_Body): Add entry to table
+       for later call instead of calling Unnest_Subprogram directly
+       (Initialize): New procedure (Unnest_Subprograms): New procedure
+       * exp_ch6.ads (Add_Extra_Actual_To_Call): Move into proper
+       alpha order.
+       (Initialize): New procedure.
+       (Unnest_Subprograms): New procedure.
+       * exp_unst.adb (Unnest_Subprogram): Major rewrite, moving
+       all processing to this routine which is now called late
+       after instantiating bodies. Fully handles the case of generic
+       instantiations now.
+       * exp_unst.ads: Major rewrite, moving all processing to
+       Unnest_Subprogram.
+       * frontend.adb (Frontend): Add call to Exp_Ch6.Initialize.
+       (Frontend): Add call to Unnest_Subprograms.
+       * sem_ch8.adb (Find_Direct_Name): Back to old calling sequence
+       for Check_Nested_Access.
+       * sem_util.adb (Build_Default_Subtype): Minor reformatting
+       (Check_Nested_Access): Back to original VM-only form (we
+       now do all the processing for Unnest_Subprogram at the time
+       it is called.
+       (Denotes_Same_Object): Minor reformatting
+       (Note_Possible_Modification): Old calling sequence for
+       Check_Nested_Access.
+       * sem_util.ads (Check_Nested_Access): Back to original VM-only
+       form (we now do all the processing for Unnest_Subprogram at the
+       time it is called.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, freeze.adb, sem_ch6.adb: Minor reformatting.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): New function
+       Has_Delayed_Aspect, used to defer resolution of an aggregate
+       expression when the object declaration carries aspects Address
+       and/or Alignment.
+       * freeze.adb (Freeze_Object_Declaration): New subsidiary procedure
+       to Freeze_Entity.  In addition to the previous processing steps
+       at the freeze point of an object, this procedure also handles
+       aggregates in object declarations, when the declaration carries
+       delayed aspects that require that the initialization of the
+       object be attached to its freeze actions.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Declaration): Following
+       AI12-0147, null procedures and expression functions are allowed
+       in protected bodies.
+
+2015-05-12  Tristan Gingold  <gingold@adacore.com>
+
+       * i-cpoint.adb (Copy_Terminated_Array): Copy nothing if Length is 0.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Complete_Private_Subtype): Propagate
+       Has_Delayed_Aspects flag from private to full view, to ensure
+       that predicate functions are constructed.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Process_Formals): If a tagged formal is an
+       incomplete class-wide type, the subprogram must have a delayed
+       freeze even though the opertation is not a primitive of the
+       type. THis ensures that the backend can recover the full view
+       when elaborating the subprogram declaration.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Get_Current_Value_Condition): Nothing to be
+       done if an elsif part has been rewritten so that it is not part
+       of an enclosing if_statement.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_type.adb, sem_ch10.adb, freeze.adb, sem_ch6.adb, exp_disp.adb:
+       Minor reformatting.
+
+2015-05-12  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (Size): Remove unnecessary check for types with
+       unknown discriminants.  That was causing the compiler to build
+       a function call _size(T), where T is a type, not an object.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Extended_Primitive_Ops): Exclude overriding
+       primitive operations of a type extension declared in the package
+       body, to prevent duplicates in extended list.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Analyze_Component_Declaration): If the component is
+       an unconstrained synchronized type with discriminants, create a
+       constrained default subtype for it, so that the enclosing record
+       can be given the proper size.
+       * sem_util.adb (Build_Default_Subtype): If the subtype is created
+       for a record discriminant, do not analyze the declarztion at
+       once because it is added to the freezing actions of the enclosing
+       record type.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * exp_prag.adb (Expand_N_Pragma): Rewrite ignored pragma as
+       Null statements.
+       * namet.ads (Boolean3): Document this flag used for Ignore_Pragma.
+       * par-prag.adb (Prag): Implement Ignore_Pragma.
+       * sem_prag.adb: Implement Ignore_Pragma.
+       * snames.ads-tmpl: Add entries for pragma Ignore_Pragma.
+
+2015-05-12  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch10.adb (Build_Shadow_Entity): Link the class-wide shadow
+       entity with its corresponding real entity.
+       (Decorate_Type): Unconditionally build the class-wide shadow entity of
+       tagged types.
+       * einfo.ads, einfo.adb (Has_Non_Limited_View): New synthesized
+       attribute.
+       (Non_Limited_View): Moved from field 17 to field 19 be available
+       in class-wide entities.
+       * exp_attr.adb (Access_Cases): Code cleanup.
+       * exp_disp.adb (Expand_Interface_Actuals): Ditto.
+       * exp_util.adb (Non_Limited_Designated_Type): Ditto.
+       * freeze.adb (Build_Renamed_Bdody): Ditto.
+       * sem_aux.adb (Available_View): Ditto.
+       * sem_ch4.adb (Analyze_Selected_Component): Ditto.
+       (Try_One_Prefix_Interpretation): Ditto.
+       * sem_ch5.adb (Analyze_Assignment): Ditto.
+       * sem_ch6.adb (Detect_And_Exchange): Ditto.
+       * sem_ch8.adb (Find_Expanded_Name): Ditto.
+       * sem_disp.adb (Check_Controlling_Type): Ditto.
+       * sem_res.adb (Resolve_Type_Conversion): Ditto.
+       (Full_Designated_Type): Ditto.
+       * sem_type.adb (Covers): Ditto.
+       * sem_util.adb: Fix typo in comment.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb (Get_Real_Subp): New subprogram.
+       (Unnest_Subprogram): Use Get_Real_Subp.
+       (Uplev_Refs_For_One_Subp): Skip if no ARECnU entity.
+       (Uplev_Refs_For_One_Subp): Use actual subtype in unconstrained case.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.adb ("/"): Add explicit check for Time_Span_First / -1.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Extended_Primitive_Ops): New subprogram,
+       auxiliary to Try_Primitive_Operation to handle properly prefixed
+       calls where the operation is not a primitive of the type, but
+       is declared in the package body that is in the immediate scope
+       of the type.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.adb (Is_Variable): Allow X'Deref(Y) as a variable.
+
+2015-05-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Expanded_Name): Handle properly a fully
+       qualified name for an instance of a generic grand-child unit in
+       the body its parent.
+
+2015-05-12  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb (Upref_Name): New subprogram.
+       (Unnest_Subprogram): Use Upref_Name.
+       (Unnest_Subprogram): Use new Deref attribute.
+       * exp_unst.ads: Doc updates.
+
+2015-05-12  Thomas Quinot  <quinot@adacore.com>
+
+       * adaint.c: Enable Large File Support in adaint so that __gnat_readdir
+       can access files on filesystems mounted from servers that use large
+       NFS file handles.
+
+2015-05-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (gnat_write_global_declarations): Use type_decl
+       method instead of global_decl for TYPE_DECLs.
+
+2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
+
+       * gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
+       and gnat1.
+
+2015-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatvsn.ads (Library_Version): Bump to 6.
+
+2015-04-09  Iain Sandoe  <iain@codesourcery.com>
+
+       * gcc-interface/Makefile.in (darwin, powerpc): Enable atomics.
+
+2015-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not make
+       a function returning an unconstrained type 'const' for the middle-end.
+
+       * gcc-interface/trans.c (Pragma_to_gnu) <case Pragma_Warning>: Use
+       exact condition to detect Reason => "..." pattern.
+
+2015-03-31  Tom de Vries  <tom@codesourcery.com>
+
+       PR ada/65490
+       * terminals.c (child_setup_tty): Fix warning 'argument to sizeof in
+       bzero call is the same expression as the destination'.
+
+2015-03-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Deref>: New case.
+
+2015-03-24  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb: Minor typo fix (missing paren).
+
+2015-03-24  Robert Dewar  <dewar@adacore.com>
+
+       * sinfo.ads: Update comment.
+
+2015-03-24  Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb: Add entry for typ'Deref.
+       * sem_attr.adb (Deref): New GNAT attribute.
+       * sem_attr.ads: Add entry for new GNAT attribute Deref.
+       * snames.ads-tmpl: Add entries for new attribute Deref.
+
+2015-03-24  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Rep_Item_Too_Early): allow pragma Convention
+       on generic type.
+
+2015-03-24  Gary Dismukes  <dismukes@adacore.com>
+
+       * inline.adb: Minor typo fix.
+
+2015-03-24  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_ugn/building_executable_programs_with_gnat.rst,
+       doc/gnat_ugn/gnat_utility_programs.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/about_this_guide.rst
+       doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
+       * gnat_rm.texi, gnat_ugn.texi: Regenerate.
+
+2015-03-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/65522
+       * adadecode.c (ada_demangle): Guard with IN_RTS instead of IN_GCC.
+
+2015-03-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/65451
+       * gcc-interface/utils.c (gnat_pushdecl): Tidy up and improve comment.
+       Make sure to chain only main variants through TYPE_NEXT_PTR_TO.
+
+       * gcc-interface/trans.c (Attribute_to_gnu): Revert latest change.
+
+2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils2.c (gnat_invariant_expr): Return null if the type
+       of the expression ends up being composite.
+
+2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (is_from_limited_with_of_main): New predicate.
+       (gnat_to_gnu_entity) <E_Subprogram_Type>: Invoke it on return and
+       parameter types to detect circularities in ASIS mode.
+       * gcc-interface/trans.c (Attribute_to_gnu): Mention AI05-0151.
+
+2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Abstract_State>: Do not
+       short-circuit the regular handling.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb (Note_Uplevel_Reference): Eliminate duplicate
+       references.
+       (Actual_Ref): New function.
+       (AREC_String): Minor reformatting.
+       (Unnest_Subprogram): Use Actual_Ref.
+       * frontend.adb (Frontend): Turn off Unnest_Subprogram_Mode
+       before call to Instantiate_Bodies.
+
+2015-03-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Profile): If the return type of a function
+       being frozen is an untagged limited view and the function is
+       abstract, mark the type as frozen because there is no later
+       point at which the profile of the subprogram will be elaborated.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.adb, einfo.ads, atree.adb, atree.ads, atree.h: Add seventh
+       component to entities. Add new fields Field36-41 and Node36-41.
+
+2015-03-13  Claire Dross  <dross@adacore.com>
+
+       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Rewrite after review.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb (Is_Volatile_Reference): Compile time known
+       value is never considered to be a volatile reference.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Contract): Suppress "constant
+       cannot be volatile" for internally generated object (such as
+       FIRST and LAST constants).
+
+2015-03-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Validate_Access_Subprogram_Instance): If a
+       convention is specified for the formal parameter, verify that
+       the actual has the same convention.
+       * sem_prag.adb (Set_Convention_From_Pragma): Allow convention
+       pragma to be set on a generic formal type.
+       * sem_util.adb (Set_Convention): Ignore within an instance,
+       as it has already been verified in the generic unit.
+
+2015-03-13  Claire Dross  <dross@adacore.com>
+
+       * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not inline
+       subprograms with unconstrained record parameters containing
+       Itype declarations.
+       * sinfo.ads Document GNATprove assumption that type should match
+       in the AST.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Contract):
+       Do not check for Refined_Depends and Refined_Globals contracts
+       as they are optional.
+
+2015-03-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Type): For a floating-point type,
+       capture dimension info if any, because the generated subtype
+       declaration does not come from source and will not process dimensions.
+       * sem_dim,adb (Analyze_Dimension_Extension_Or_Record_Aggregate):
+       Do not analyze expressions with an initialization procedure
+       because aggregates will have been checked at the point of record
+       declaration.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * aspects.ads, aspects.adb: Add entries for aspect Unimplemented.
+       * einfo.ads, einfo.adb (Is_Unimplemented): New flag.
+       * sem_ch13.adb: Add dummy entry for aspect Unimplemented.
+       * snames.ads-tmpl: Add entry for Name_Unimplemented.
+
+2015-03-13  Gary Dismukes  <dismukes@adacore.com>
+
+       * style.adb (Missing_Overriding): Apply the
+       Comes_From_Source test to the Original_Node of the subprogram
+       node, to handle the case of a null procedure declaration that
+       has been rewritten as an empty procedure body.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.ads: Minor fix to comment.
+       * sem_ch3.adb (Constrain_Index): Correct pasto from previous
+       change.
+
+2015-03-13  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Force_Evaluation): Add Related_Id and
+       Is_Low/High_Bound params.
+       * sem_ch3.adb (Constrain_Index): Use new Force_Evaluation calling
+       sequence to simplify generation of FIRST/LAST temps for bounds.
+
+2015-03-12  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc-interface/trans.c (Attribute_to_gnu) <Code_Address case>:
+       On targets where a function symbol designates a function descriptor,
+       fetch the function code address from the descriptor.
+       (USE_RUNTIME_DESCRIPTORS): Provide a default definition.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb: Minor reformatting.
+       * init.c: Minor tweaks.
+
+2015-03-04  Dmitriy Anisimko  <anisimko@adacore.com>
+
+       * a-coinho-shared.adb: Fix clear of already empty holder.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * exp_unst.adb (Check_Dynamic_Type): Ignore library level types.
+       (Check_Uplevel_Reference_To_Type): Ignore call inside generic.
+       (Note_Uplevel_Reference): Ignore call inside generic.
+       (Note_Uplevel_Reference): Fix check for no entity field.
+       (Unnest_Subprogram): Ignore call inside generic.
+       (Find_Current_Subprogram): Use Defining_Entity, not Defining_Unit_Name.
+       (Visit_Node): Ignore calls to Imported subprograms.
+       (Visit_Node): Fix problem in finding subprogram body in some cases.
+       (Add_Form_To_Spec): Use Defining_Entity, not Defining_Unit_Name.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.adb (Is_ARECnF_Entity): Removed.
+       (Last_Formal): Remove special handling of Is_ARECnF_Entity.
+       (Next_Formal): Remove special handling of Is_ARECnF_Entity.
+       (Next_Formal_With_Extras): Remove special handling of Is_ARECnF_Entity.
+       (Number_Entries): Minor reformatting.
+       * einfo.ads (Is_ARECnF_Entity): Removed.
+       * exp_unst.adb (Unnest_Subprogram): Remove setting of
+       Is_ARECnF_Entity.
+       (Add_Extra_Formal): Use normal Extra_Formal circuit.
+       * sprint.adb (Write_Param_Specs): Properly handle case where
+       there are no source formals, but we have at least one Extra_Formal
+       present.
+
+2015-03-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate,
+       Add_Discriminant_Values): If the value is a reference to the
+       current instance of an enclosing type, use its base type to check
+       against prefix of attribute reference, because the target type
+       may be otherwise constrained.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * atree.h: Add entries for Flag287-Flag309.
+       * einfo.adb: Add (unused) flags Flag287-Flag309.
+
+2015-03-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Collect_Interfaces, Collect): When gathering
+       interfaces of ancestors, handle properly a subtype of a private
+       extension.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
+       (Next_Formal): Don't return ARECnF formal.
+       (Last_Formal): Don't consider ARECnF formal.
+       (Next_Formal_With_Extras): Do consider ARECnF formal.
+       * einfo.ads (Is_ARECnF_Entity): New flag (ARECnF is an extra formal).
+       * exp_unst.adb (Create_Entities): Set Is_ARECnF_Entity flag.
+
+2015-03-04  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch6.adb (Expand_Simple_Function_Return): When the returned
+       object is a class-wide interface object and we generate the
+       accessibility described in RM 6.5(8/3) then displace the pointer
+       to the object to reference the base of the object (to get access
+       to the TSD of the object).
+
+2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Analyze_Abstract_State): Use routine
+       Malformed_State_Error to issue general errors.
+       (Analyze_Pragma): Diagnose a syntax error related to a state
+       declaration with a simple option.
+       (Malformed_State_Error): New routine.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * a-strsup.adb (Super_Slice): Deal with super flat case.
+       * einfo.ads: Minor reformatting.
+       * s-imgdec.adb (Set_Decimal_Digits): Add comment about possibly
+       redundant code.
+
+2015-03-04  Claire Dross  <dross@adacore.com>
+
+       * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+       a-cforse.ads, a-cofove.ads: Use Default_Initial_Condition on formal
+       containers.
+
+2015-03-04  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_warn.adb (Check_References): When checking for an unused
+       in-out parameter of a class- wide type, use its type to determine
+       whether it is private, in order to avoid a spurious warning when
+       subprogram spec and body are in different units.
+
+2015-03-04  Yannick Moy  <moy@adacore.com>
+
+       * sem_attr.adb: Improve warning messages.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Body): Avoid trying to unnest
+       generic subprograms.
+       * exp_unst.adb (Check_Dynamic_Type): Handle record types properly
+       (Note_Uplevel_Reference): Ignore uplevel references to non-types
+       (Get_Level): Consider only subprograms, not blocks.
+       (Visit_Node): Set proper condition for generating ARECnF entity.
+       Ignore indirect calls. Ignore calls to subprograms
+       outside our nest.
+       (Unnest_Subprogram): Minor changes in dealing with ARECnF entity.
+       (Add_Form_To_Spec): Properly set Last_Entity field.
+       (Unnest_Subprogram): Set current subprogram scope for analyze calls.
+       Handle case of no uplevel refs in outer subprogram
+       Don't mark uplevel entities as aliased.
+       Don't deal with calls with no ARECnF requirement.
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * s-valrea.adb (Scan_Real): Remove redundant tests from scaling loops.
+       * s-imgdec.adb (Set_Decimal_Digits): Remove redundant Max
+       operation in computing LZ.
+       * sem_attr.adb: Minor typo fix
+
+2015-03-04  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch7.adb: Minor reformatting.
+       * exp_unst.adb (Build_Tables): Fix minor glitch for no separate
+       spec case.
+       * erroutc.adb (Delete_Msg): add missing decrement of info msg counter.
+
+2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch6.adb (Build_Pragma_Check_Equivalent): Suppress
+       references to formal parameters subject to pragma Unreferenced.
+       (Suppress_Reference): New routine.
+       * sem_attr.adb (Analyze_Attribute): Reimplement the analysis
+       of attribute 'Old. Attributes 'Old and 'Result now share
+       common processing.
+       (Analyze_Old_Result_Attribute): New routine.
+       (Check_Placement_In_Check): Removed.
+       (Check_Placement_In_Contract_Cases): Removed.
+       (Check_Placement_In_Test_Case): Removed.
+       (Check_Use_In_Contract_Cases): Removed.
+       (Check_Use_In_Test_Case): Removed.
+       (In_Refined_Post): Removed.
+       (Is_Within): Removed.
+       * sem_warn.adb (Check_Low_Bound_Tested): Code cleanup.
+       (Check_Low_Bound_Tested_For): New routine.
+
+2015-03-04  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration):
+       Generate a runtime check to test the expression of pragma
+       Default_Initial_Condition when the object is default initialized.
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * scng.adb (Scan): Ignore illegal character in relaxed
+       semantics mode.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Set_Membership); Retain Overloaded flag
+       on left operand, so it can be properly resolved with type of
+       alternatives of right operand.
+       * sem_res.adb (Resolve_Set_Membership): Handle properly an
+       overloaded left-hand side when the alternatives on the right
+       hand side are literals of some universal type.  Use first
+       non-overloaded alternative to find expected type.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch7.adb (Make_Set_Finalize_Address_Call): Use underlying
+       type to retrieve designated type, because the purported access
+       type may be a partial (private) view, when it is declared in
+       the private part of a nested package, and finalization actions
+       are generated when completing compilation of enclosing unit.
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * back_end.adb (Call_Back_End): Remove previous patch,
+       the back end now gets to see the result of -gnatd.1
+       (Unnest_Subprogram_Mode) processing.
+       * elists.ads, elists.adb (List_Length): New function.
+       * exp_unst.ads, exp_unst.adb: Major changes, first complete version.
+       * sem_util.adb (Check_Nested_Access): Handle formals in
+       Unnest_Subprogram_Mode.
+       (Adjust_Named_Associations): Minor reformatting.
+       * sprint.adb (Sprint_Node_Actual): Fix failure to print aliased
+       for parameters.
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * atree.ads, atree.adb (Uint24): New function
+       (Set_Uint24): New procedure.
+       * atree.h (Uint24): New macro for field access.
+       * back_end.adb (Call_Back_End): For now, don't call back end
+       if unnesting subprogs.
+       * einfo.adb (Activation_Record_Component): New field
+       (Subps_Index): New field.
+       * einfo.ads (Activation_Record_Component): New field
+       (Subps_Index): New field Minor reordering of comments into alpha order.
+       * exp_unst.ads, exp_unst.adb: Continued development.
+
+2015-03-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_disp.ads: Minor reformatting.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Chain_Use_Clause): Do not chain use clause from
+       ancestor to list of use clauses active in descendant unit if we
+       are within the private part of an intervening parent, to prevent
+       circularities in use clause list.
+
+2015-03-02  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Build_Corresponding_Record): Propagate type
+       invariants to the corresponding record type.
+       * exp_disp.ad[sb] (Set_DT_Position_Value): New subprogram
+       which sets the value of the DTC_Entity associated with a given
+       primitive of a tagged type and propagates the value to the
+       wrapped subprogram.
+       (Set_DTC_Entity_Value): Propagate the DTC
+       value to the wrapped entity.
+       * sem_ch13.adb (Build_Invariant_Procedure): Append the code
+       associated with invariants of progenitors.
+       * sem_ch3.adb (Build_Derived_Record_Type): Inherit type invariants
+       of parents and progenitors.
+       (Process_Full_View): Check hidden inheritance of class-wide type
+       invariants.
+       * sem_ch7.adb (Analyze_Package_Specification): Do not generate
+       the invariant procedure for interface types; build the invariant
+       procedure for tagged types inheriting invariants from their
+       progenitors.
+       * sem_prag.adb (Pragma_Invariant) Allow invariants in interface
+       types but do not build their invariant procedure since their
+       invariants will be propagated to the invariant procedure of
+       types covering the interface.
+       * exp_ch6.adb, exp_disp.adb, sem_ch3.adb, sem_ch7.adb,
+       sem_ch8.adb, sem_disp.adb: Replace all calls to Set_DT_Position
+       by calls to Set_DT_Position_Value.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Factor out heavily indented
+       code in Denote_Same_Function.  Do not analyze attribute 'Result
+       when it is inside procedure _Postconditions.  Remove a misplaced
+       warning diagnostic. Code cleanup.
+       (Denote_Same_Function): New routine.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Code
+       cleanup. Warn on pre/postconditions on an inlined subprogram.
+       (Analyze_Pragma, Refined_Post case): Warn on pre/postconditions on
+       an inlined subprogram.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Code cleanup. Warn on
+       pre/post condition on an inlined subprogram.
+       (Analyze_Test_Case_In_Decl_Part): Code cleanup. Warn on
+       pre/postconditions on an inlined subprogram.
+       (Check_Postcondition_Use_In_Inlined_Subprogram): New routine.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Ensure_Aggregate_Form):
+       Ensure that the name denoted by the Chars of a pragma argument
+       association has the proper Sloc when converted into an aggregate.
+
+2015-03-02  Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.adb (Check_Private_Overriding): Capture
+       Incomplete_Or_Partial_View in a constant. This is cleaner and
+       more efficient.
+
+2015-03-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads, exp_unst.ads: Minor reformatting.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * a-strsea.adb (Find_Token): Ensure that the range of iteration
+       does not perform any improper character access. This prevents
+       erroneous access in the unusual case of an empty string target
+       and a From parameter less than Source'First.
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * elists.adb (List_Length): Fix incorrect result.
+
+2015-03-02  Bob Duff  <duff@adacore.com>
+
+       * sem_ch6.adb (Check_Private_Overriding): Refine the legality
+       checks here. It used to check that the function is merely
+       overriding SOMEthing. Now it checks that the function is
+       overriding a corresponding public operation. This is a correction
+       to the implementation of the rule in RM-3.9.3(10).
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Document new debug flag -gnatd.1.
+       * einfo.ads, einfo.adb (Has_Nested_Subprogram): New flag.
+       (Has_Uplevel_Reference): New flag (Is_Static_Type): New flag.
+       (Uplevel_Reference_Noted):New flag (Uplevel_References): New field.
+       * elists.ads elists.adb (List_Length): New function.
+       * exp_ch6.adb (Expand_N_Subprogram_Body): Call Unnest_Subprogram
+       when appropriate (Process_Preconditions): Minor code
+       reorganization and reformatting
+       * exp_unst.ads, exp_unst.adb: New files.
+       * gnat1drv.adb (Adjust_Global_Switches): Set
+       Unnest_Subprogram_Mode if -gnatd.1
+       * namet.ads, namet.adb (Name_Find_Str): New version of Name_Find with
+       string argument.
+       * opt.ads (Unnest_Subprogram_Mode): New flag.
+       * par-ch3.adb (P_Identifier_Declarations): Fixes to -gnatd.2 handling.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set
+       Has_Nested_Subprogram flag.
+       * sem_ch8.adb (Find_Direct_Name): New calling sequence for
+       Check_Nested_Access.
+       (Find_Selected_Component): Minor comment addition.
+       * sem_util.adb (Check_Nested_Access): New version for use with Exp_Unst.
+       (Note_Possible_Modification): New calling sequence for
+       Check_Nested_Access.
+       * sem_util.ads (Check_Nested_Access): New version for use with Exp_Unst.
+       * gcc-interface/Make-lang.in (GNAT1_OBJS): Add exp_unst.o
+
+2015-03-02  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * gcc-interface/utils.c (gnat_pushdecl): For non-artificial pointer
+       types, preserve the original type and create copies just like the C
+       front-end does.  For artificial ones, do not define a name for
+       the original type.
+       (create_type_decl): When gnat_pushdecl made the input type the
+       original type for the new declaration, do not define a stub
+       declaration for it.
+       * gcc-interface/utils2.c (build_binary_op): Accept two different
+       pointer types when they point to the same type.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_util.adb (Possible_Bit_Aligned_Component): Do not process
+       an unanalyzed node.
+       * sem_util.adb (Kill_Current_Values): Do not invalidate and
+       de-null a constant.
+
+2015-03-02  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, exp_attr.adb, checks.adb, exp_aggr.adb: Minor
+       reformatting.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb: extend use of Available_Subtype.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Duplication_Error): Remove the special handling
+       of 'Class or _Class in the context of pre/postconditions.
+       (Process_Class_Wide_Condition): Remove the special handling of
+       'Class or _Class in the context of pre/postconditions.
+       * sem_util.adb (Original_Aspect_Pragma_Name): Names Pre_Class
+       and Post_Class no longer need to be converted to _Pre and _Post.
+       * sem_util.ads (Original_Aspect_Pragma_Name): Update the comment
+       on usage.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch6.adb (Process_Preconditions): Modify the
+       mechanism that find the first source declaration to correct exit
+       the loop once it has been found.
+
+2015-03-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * a-strsea.adb: Minor typo fix.
+
+2015-03-02  Bob Duff  <duff@adacore.com>
+
+       * einfo.ads: Minor comment fixes.
+
+2015-03-02  Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.adb, checks.adb: Minor reformatting and typo fixes.
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Get_Assoc_Expr): If the Default_Component_Value
+       is defined for the array type, use it instead of a Default_Value
+       specified for the component type itself.
+
+2015-03-02  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference, case Input): When
+       expanding a 'Input attribute reference for a class-wide type,
+       do not generate a separate object declaration for the controlling
+       tag dummy object; instead, generate the expression inline in the
+       dispatching call. Otherwise, the declaration (which involves a
+       call to String'Input, returning a dynamically sized value on the
+       secondary stack) will be expanded outside of proper secondary
+       stack mark/release operations, and will thus cause a secondary
+       stack leak.
+
+2015-03-02  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (Add_Validity_Check): Change the names of all
+       formal parameters to better illustrate their purpose. Update
+       the subprogram documentation. Update all occurrences of the
+       formal parameters. Generate a pre/postcondition pragma by
+       calling Build_Pre_Post_Condition.
+       (Build_PPC_Pragma): Removed.
+       (Build_Pre_Post_Condition): New routine.
+       * einfo.adb Node8 is no longer used as Postcondition_Proc. Node14
+       is now used as Postconditions_Proc. Flag240 is now renamed to
+       Has_Expanded_Contract.  (First_Formal): The routine can now
+       operate on generic subprograms.
+       (First_Formal_With_Extras): The routine can now operate on generic
+       subprograms.
+       (Has_Expanded_Contract): New routine.
+       (Has_Postconditions): Removed.
+       (Postcondition_Proc): Removed.
+       (Postconditions_Proc): New routine.
+       (Set_Has_Expanded_Contract): New routine.
+       (Set_Has_Postconditions): Removed.
+       (Set_Postcondition_Proc): Removed.
+       (Set_Postconditions_Proc): New routine.
+       (Write_Entity_Flags): Remove the output of Has_Postconditions. Add
+       the output of Has_Expanded_Contract.
+       (Write_Field8_Name): Remove the output of Postcondition_Proc.
+       (Write_Field14_Name): Add the output of Postconditions_Proc.
+       * einfo.ads New attributes Has_Expanded_Contract and
+       Postconditions_Proc along with occurrences in entities.
+       Remove attributes Has_Postconditions and Postcondition_Proc
+       along with occurrences in entities.
+       (Has_Expanded_Contract): New routine along with pragma Inline.
+       (Has_Postconditions): Removed along with pragma Inline.
+       (Postcondition_Proc): Removed along with pragma Inline.
+       (Postconditions_Proc): New routine along with pragma Inline.
+       (Set_Has_Expanded_Contract): New routine along with pragma Inline.
+       (Set_Has_Postconditions): Removed along with pragma Inline.
+       (Set_Postcondition_Proc): Removed along with pragma Inline.
+       (Set_Postconditions_Proc): New routine along with pragma Inline.
+       * exp_ch6.adb (Add_Return): Code cleanup. Update the
+       generation of the call to the _Postconditions routine of
+       the procedure.  (Expand_Non_Function_Return): Reformat the
+       comment on usage. Code cleanup.  Update the generation of
+       the call to the _Postconditions routine of the procedure or
+       entry [family].
+       (Expand_Simple_Function_Return): Update the
+       generation of the _Postconditions routine of the function.
+       (Expand_Subprogram_Contract): Reimplemented.
+       * exp_ch6.ads (Expand_Subprogram_Contract): Update the parameter
+       profile along the comment on usage.
+       * exp_ch9.adb (Build_PPC_Wrapper): Code cleanup.
+       (Expand_N_Task_Type_Declaration): Generate pre/postconditions
+       wrapper when the entry [family] has a contract with
+       pre/postconditions.
+       * exp_prag.adb (Expand_Attributes_In_Consequence): New routine.
+       (Expand_Contract_Cases): This routine and its subsidiaries now
+       analyze all generated code.
+       (Expand_Old_In_Consequence): Removed.
+       * sem_attr.adb Add with and use clause for Sem_Prag.
+       (Analyze_Attribute): Reimplment the analysis of attribute 'Result.
+       (Check_Use_In_Test_Case): Use routine Test_Case_Arg to obtain
+       "Ensures".
+       * sem_ch3.adb (Analyze_Declarations): Analyze the contract of
+       a generic subprogram.
+       (Analyze_Object_Declaration): Do not create a contract node.
+       (Derive_Subprogram): Do not create a contract node.
+       * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Do
+       not create a contract node.
+       (Analyze_Completion_Contract): New routine.
+       (Analyze_Function_Return): Alphabetize.
+       (Analyze_Generic_Subprogram_Body): Alphabetize. Do not create a
+       contract node.  Do not copy pre/postconditions to the original
+       generic template.
+       (Analyze_Null_Procedure): Do not create a contract node.
+       (Analyze_Subprogram_Body_Contract): Reimplemented.
+       (Analyze_Subprogram_Body_Helper): Do not mark the enclosing scope
+       as having postconditions. Do not create a contract node. Analyze
+       the subprogram body contract of a body that acts as a compilation
+       unit. Expand the subprogram contract after the declarations have
+       been analyzed.
+       (Analyze_Subprogram_Contract): Reimplemented.
+       (Analyze_Subprogram_Specification): Do not create a contract node.
+       (List_Inherited_Pre_Post_Aspects): Code cleanup.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Contract): Update the
+       comment on usage.
+       (Analyze_Subprogram_Contract): Update the
+       parameter profile and the comment on usage.
+       * sem_ch7.adb (Analyze_Package_Body_Helper): Do not create a
+       contract node.
+       (Analyze_Package_Declaration): Do not create a
+       contract node.
+       (Is_Subp_Or_Const_Ref): Ensure that the prefix has an entity.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Do not create a
+       contract node.
+       * sem_ch9.adb (Analyze_Entry_Declaration): Do not create a
+       contract node.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Move local variables to
+       their proper section and alphabetize them. Analyze the contract of
+       a [generic] subprogram after all Pragmas_After have been analyzed.
+       (Analyze_Subprogram_Body_Stub_Contract): Alphabetize.
+       * sem_ch12.adb (Analyze_Generic_Package_Declaration): Do not
+       create a contract node.
+       (Analyze_Generic_Subprogram_Declaration):
+       Alphabetize local variables. Do not create a contract
+       node. Do not generate aspects out of pragmas for ASIS.
+       (Analyze_Subprogram_Instantiation): Instantiate
+       the contract of the subprogram.  Do not create a
+       contract node.  (Instantiate_Contract): New routine.
+       (Instantiate_Subprogram_Body): Alphabetize local variables.
+       (Save_Global_References_In_Aspects): New routine.
+       (Save_References): Do not save the global references found within
+       the aspects of a generic subprogram.
+       * sem_ch12.ads (Save_Global_References_In_Aspects): New routine.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Do not use
+       Original_Node for establishing linkages.
+       (Insert_Pragma): Insertion in a subprogram body takes precedence over
+       the case where the subprogram body is also a compilation unit.
+       * sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part): Use
+       Get_Argument to obtain the proper expression. Install the generic
+       formals when the related context is a generic subprogram.
+       (Analyze_Depends_In_Decl_Part): Use Get_Argument to obtain
+       the proper expression. Use Corresponding_Spec_Of to obtain
+       the spec. Install the generic formal when the related context
+       is a generic subprogram.
+       (Analyze_Global_In_Decl_Part): Use Get_Argument to obtain the proper
+       expression. Use Corresponding_Spec_Of to obtain the spec. Install the
+       generic formal when the related context is a generic subprogram.
+       (Analyze_Initial_Condition_In_Decl_Part): Use Get_Argument
+       to obtain the proper expression. Remove the call to
+       Check_SPARK_Aspect_For_ASIS as the analysis is now done
+       automatically.
+       (Analyze_Pragma): Update all occurrences
+       to Original_Aspect_Name. Pragmas Contract_Cases, Depends,
+       Extensions_Visible, Global, Postcondition, Precondition and
+       Test_Case now carry generic templates when the related context
+       is a generic subprogram. The same pragmas are no longer
+       forcefully fully analyzed when the context is a subprogram
+       that acts as a compilation unit. Pragmas Abstract_State,
+       Initial_Condition, Initializes and Refined_State have been clean
+       up. Pragmas Post, Post_Class, Postcondition, Pre, Pre_Class
+       and Precondition now use the same routine for analysis. Pragma
+       Refined_Post does not need to check the use of 'Result or
+       the lack of a post-state in its expression. Reimplement the
+       analysis of pragma Test_Case.
+       (Analyze_Pre_Post_Condition): New routine.
+       (Analyze_Pre_Post_Condition_In_Decl_Part):
+       Reimplemented.
+       (Analyze_Refined_Depends_In_Decl_Part): Use Get_Argument to obtain the
+       proper expression.
+       (Analyze_Refined_Global_In_Decl_Part): Use Get_Argument to obtain
+       the proper expression.
+       (Analyze_Test_Case_In_Decl_Part): Reimplemented.
+       (Check_Pre_Post): Removed.
+       (Check_Precondition_Postcondition): Removed.
+       (Check_SPARK_Aspect_For_ASIS): Removed.
+       (Check_Test_Case): Removed.
+       (Collect_Subprogram_Inputs_Outputs): Use Get_Argument
+       to obtain the proper expression. Use Corresponding_Spec_Of to
+       find the proper spec.
+       (Create_Generic_Template): New routine.
+       (Duplication_Error): New routine.
+       (Expression_Function_Error): New routine.
+       (Find_Related_Subprogram_Or_Body): Moved to the spec
+       of Sem_Prag. Emit precise error messages. Account for cases of
+       rewritten expression functions, generic instantiations, handled
+       sequence of statements and pragmas from aspects.
+       (Get_Argument): New routine.
+       (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
+       (Preanalyze_CTC_Args): Removed.
+       (Process_Class_Wide_Condition): New routine.
+       * sem_prag.ads (Analyze_Test_Case_In_Decl_Part): Update
+       the parameter profile along with the comment on usage.
+       (Find_Related_Subprogram_Or_Body): Moved from the body of Sem_Prag.
+       (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Removed.
+       (Test_Case_Arg): New routine.
+       * sem_util.adb Add with and use clauses for Sem_Ch6.
+       (Add_Contract_Item): This routine now creates a contract
+       node the first time an item is added. Remove the duplicate
+       aspect/pragma checks.
+       (Check_Result_And_Post_State): Reimplemented.
+       (Corresponding_Spec_Of): New routine.
+       (Get_Ensures_From_CTC_Pragma): Removed.
+       (Get_Requires_From_CTC_Pragma): Removed.
+       (Has_Significant_Contract): New routine.
+       (Inherit_Subprogram_Contract): Inherit only if the source
+       has a contract.
+       (Install_Generic_Formals): New routine.
+       (Original_Aspect_Name): Removed.
+       (Original_Aspect_Pragma_Name): New routine.
+       * sem_util.ads (Check_Result_And_Post_State): Reimplemented.
+       (Corresponding_Spec_Of): New routine.
+       (Get_Ensures_From_CTC_Pragma): Removed.
+       (Get_Requires_From_CTC_Pragma): Removed.
+       (Has_Significant_Contract): New routine.
+       (Install_Generic_Formals): New routine.
+       (Original_Aspect_Name): Removed.
+       (Original_Aspect_Pragma_Name): New routine.
+       * sem_warn.adb Add with and use clauses for Sem_Prag.
+       (Within_Postcondition): Use Test_Case_Arg to extract "Ensures".
+
+2015-03-02  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Available_Subtype): Optimization in
+       Find_Selected_Component: when safe, use existing subtype of
+       array component, possibly discriminant-dependent, rather than
+       creating new subtype declaration for it. In this fashion different
+       occurrences of the component have the same subtype, rather than
+       just equivalent ones. Simplifies value tracing in GNATProve.
+
+2015-03-01  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/65259
+       * doc/gnat_ugn/gnat_project_manager.rst,
+       doc/gnat_ugn/platform_specific_information.rst: Remove reference to
+       image, too troublesome with texi format.
+       * gnat_ugn.texi: Regenerate.
+
+2015-02-24  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libgomp/64625
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Remove.
+       (DEF_FUNCTION_TYPE_VAR_12): Likewise.
+       (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
+
+2015-02-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8): Fix number of
+       arguments parameter.
+       (DEF_FUNCTION_TYPE_VAR_12): Likewise.
+
+2015-02-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/Makefile: postprocess texinfo files to update @dircategory
+       and update texi files under gcc/ada.
+       * gnat_ugn.texi, gnat_rm.texi: Regenerated.
+
+2015-02-22  Arnaud Charlet  <charlet@adacore.com>
+
+       * doc/gnat_ugn/project-manager-figure.png,
+       doc/gnat_ugn/rtlibrary-structure.png: New.
+
+2015-02-22  Tom de Vries  <tom@codesourcery.com>
+
+       PR ada/65100
+       * gnat-style.texi (@subsection Loop Statements): Replace @noindent by
+       @item, and fix warning '@itemize has text but no @item'.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
+       legally applies to an abstract subprogram declaration.
+       * freeze.adb: Minor comment addition.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.
+       * erroutc.adb (Set_Msg_Str): Replace _xxx.
+       (Pre/Post/Type_Invariant) by xxx'Class.
+       * erroutc.ads (Set_Msg_Str): Replace _xxx.
+       (Pre/Post/Type_Invariant) by xxx'Class.
+       * sem_prag.adb (Fix_Error): Remove special casing of
+       Name_uType_Invariant.
+       (Analyze_Pre_Post_Condition_In_Decl_Part): Remove special casing of
+       Name_uPre and Name_uPost in aspect case (done in Errout now).
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * g-alveop.adb: Minor style fixes.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Warn_Overlay): Guard against blow up with address
+       clause.
+
+2015-02-20  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (May_Be_External_Call): Remove this. There is no need
+       for the compiler to guess whether the call is internal or external --
+       it is always external.
+       (Expand_Access_To_Protected_Op): For P'Access, where P
+       is a protected subprogram, always create a pointer to the
+       External_Subprogram.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * a-dispat.adb, a-stcoed.ads: Minor reformatting.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb (Build_Discrete_Static_Predicate): Allow static
+       predicate for non-static subtype.
+       (Build_Predicate_Functions): Do not assume subtype associated with a
+       static predicate must be static.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * errout.adb (Set_Msg_Node): Better handling of internal names
+       (Set_Msg_Node): Kill message when we cannot eliminate internal name.
+       * errout.ads: Document additional case of message deletion.
+       * namet.adb (Is_Internal_Name): Refined to consider wide
+       strings in brackets notation and character literals not to be
+       internal names.
+       * sem_ch8.adb (Find_Selected_Component): Give additional error
+       when selector name is a subprogram whose first parameter has
+       the same type as the prefix, but that type is untagged.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
+
+2015-02-20  Tristan Gingold  <gingold@adacore.com>
+
+       * opt.ads (GNAT_Mode_Config): New variable.
+       * opt.adb (Set_Opt_Config_Switches): Consider GNAT_Mode_Config
+       to set Assertions_Enabled.
+       * switch-c.adb (Scan_Front_End_Switches): Set GNAT_Mode_Config
+       for -gnatg.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add an additional
+       comment regarding the handling of unterminated fixed-point
+       constants.
+       * s-valuns.ads (Scan_Raw_Unsigned): Add comments
+       corresponding to those previously added for
+       System.Val_LLU.Scan_Raw_Long_Long_Unsigned.
+
+2015-02-20  Olivier Hainque  <hainque@adacore.com>
+
+       * g-allein.ads, g-alveop.ads, g-alveop.adb: Code clean ups.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb: Minor comment clarification.
+
+2015-02-20  Olivier Hainque  <hainque@adacore.com>
+
+       * g-allein.ads (vec_ctf, vec_vcsfx, vec_vcfux): Remove.
+       * g-alleve.ads, g-alleva.adb (vcfux): Likewise.
+       * g-alveop.ads (vec_vcfsx, vec_vcfux): Just rename the ll versions.
+       (vec_ctf): Now renamings as well.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * switch-c.adb, bindgen.adb: Minor reformatting.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Type_Invariant):
+       Invariant'class is allowed on an abstract type.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Access_Definition): If the access definition is
+       for a protected component and defines an access to protected
+       subprogram, do not create an itype reference for it because a
+       full type declaration will be built in order to generate the
+       proper equivalent type.
+       (Analyze_Subtype_Declaration): Add information of incomplete
+       subtypes, for Ada 2012 extended uses of incomplete types.
+
+2015-02-20  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_res.adb: Minor reformatting.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): When comparing runtime
+       path name for several switches --RTS, use the normalized path
+       names.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * bindgen.adb: Minor reformatting and code reorganization.
+
+2015-02-20  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-stcoed.ads: Add spec for this package (Unimplemented_Unit).
+       * impunit.adb (Non_Imp_File_Names_12): Mark unit a-stcoed.ads as
+       defined by Ada 2012.
+
+2015-02-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * sysdep.c, expect.c, s-oscons-tmplt.c, gsocket.h, adaint.c: Remove
+       obsolete references to RTX, nucleus, VMS.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Fix_Error): For an illegal Type_Invariant'Class
+       aspect, use name that mentions Class explicitly, rather than
+       compiler-internal name.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Add documentation for -gnatd.2 (allow statements
+       in decl sequences).
+       * par-ch3.adb (P_Identifier_Declarations): Handle
+       statement appearing where declaration expected more cleanly.
+       (Statement_When_Declaration_Expected): Implement debug flag
+       -gnatd.2.
+
+2015-02-20  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-dinopr.ads: Add spec for this package (Unimplemented_Unit).
+       * a-dispat.ads (Yield): Include procedure added in Ada 2012.
+       * a-dispat.adb (Yield): Implement procedure added in Ada 2012.
+       * impunit.adb (Non_Imp_File_Names_05): Mark unit a-dinopr.ads as
+       defined by Ada 2005.
+       * snames.ads-tmpl (Name_Non_Preemptive_FIFO_Within_Priorities):
+       This is the correct name for the dispatching policy (FIFO was
+       missing).
+
+2015-02-20  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Resolve_Type_Conversion): If the type of the
+       operand is the limited-view of a class-wide type then recover
+       the class-wide type of the non-limited view.
+
+2015-02-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Makefile.in: Remove references to nucleus.
+       * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Procedure): Set
+       extern_flag to true for Inline_Always subprograms with
+       Intrinsic convention.
+
+2015-02-20  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.ads: Minor typo in comment.
+
+2015-02-20  Pascal Obry  <obry@adacore.com>
+
+       * s-osprim-mingw.adb: Fix Get_Base_Time parameter mode.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * makeutl.adb (Get_Directories.Add_Dir): Add a directory only
+       if it exists.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.ads: Minor reformatting.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Size_Known): Do not set the packed size for
+       independent type or component.
+       (Freeze_Array_Type): Check for Independent[_Components] with packing
+       or explicit component size clause.
+       * gnat1drv.adb (Post_Compilation_Validation_Checks): Do the validation
+       of independence pragmas only for non-GCC back-ends.
+       * sem_ch13.adb (Initialize): Likewise for the initialization.
+       * sem_prag.adb (Record_Independence_Check): New procedure to record an
+       independence check in the table.
+       (Analyze_Pragma): Use it throughout instead of doing it manually.
+       * gcc-interface/decl.c (gnat_to_gnu_field): Add support for
+       independent type or component.
+
+2015-02-20  Thomas Quinot  <quinot@adacore.com>
+
+       * adaint.c (__gnat_readdir): For Solaris, use 64 bit variants of
+       struct direct and readdir. This is required for NFS filesystems
+       mounted from servers that use 64-bit cookies.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Subprogram_Instantiaion): New subprogram
+       Build_Subprogram_Renaming, to create renaming of subprogram
+       instance in the the declaration of the wrapper package rather
+       than in its body, so that it is available for analysis of aspects
+       propagated from generic to instantiation.
+       (Check_Mismatch): An actual for a formal package that is an
+       incomplete type matches a formal type that is incomplete.
+       (Instantiate_Package_Body): Move code that builds subprogram
+       renaming to Analyze_Subprogram_Instantiation.
+       (Instantiate_Type): The generated subtype is a limited view if
+       the actual is a limited view.
+       (Load_Parent_Of_Generic): Retrieve instance declaration from
+       its new position within wrapper package.
+
+2015-02-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-parame-vxworks.adb, s-os_lib.ads: Update comments.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * s-osinte-vxworks.ads (To_Timespec): Add comment about the
+       issue of negative arguments.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnat1drv.adb: Minor consistency fix.
+
+2015-02-20  Pascal Obry  <obry@adacore.com>
+
+       * s-osprim-mingw.adb (Get_Base_Time): Properly release lock in all
+       paths.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * inline.adb (Expand_Inlined_Call): Skip again calls to subprogram
+       renamings.
+       * exp_ch6.adb (Expand_Call): Use back-end inlining
+       instead of expansion for simple subprogram renamings.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb: Minor reformatting.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * switch-c.adb (Scan_Front_End_Switches): Do not fail when --RTS=
+       is specified several times with different values that indicates
+       the same runtime directory.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Check_Not_Incomplete_Type): Clean up code to
+       handle properly illegal uses of attributes on prefixes on an
+       incomplete type, both when the type of the prefix is locally
+       incomplete, and when it is a limited view of a type whose
+       non-limited view is not available.
+       (Analyze_Attribute): Add calls to Check_Not_Incomplete_Type for
+       'Address and others.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch6.adb: Fix minor typo in comment.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sinfo.ads: Add comment.
+
+2015-02-20  Olivier Hainque  <hainque@adacore.com>
+
+       * opt.ads: Replace Opt.Suppress_All_Inlining by two separate
+       flags controlling the actual FE inlining out of pragma Inline
+       and pragma Inline_Always.
+       * adabkend.adb (Scan_Compiler_Arguments): Set both flags to True
+       on -fno-inline, which disables all inlining in compilers with
+       an Ada back-end and without back-end inlining support.
+       * back_end.adb (Scan_Back_End_Switches): Set the Inline related
+       flag to True on -fno-inline and leave Inline_Always alone for
+       gcc back-ends.
+       * back_end.ads (Scan_Compiler_Arguments): Adjust spec wrt the
+       names of the Opt flags it sets.
+       * gnat1drv.adb (Adjust_Global_Switches): Remove test on
+       Opt.Suppress_All_Inlining in the Back_End_Inlining computation.
+       * sem_prag.adb (Make_Inline): Remove early return conditioned
+       on Opt.Suppress_All_Inlining.
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the flags to
+       disable the calls to Build_Body_To_Inline otherwise triggered
+       by pragma Inline or Inline_Always. This will prevent actual
+       front-end inlining of the subprogram on calls.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_ch3.adb (Default_Initialize_Object): Call Add_Inlined_Body on the
+       Abort_Undefer_Direct function.
+       * exp_ch5.adb (Expand_N_Assignment_Statement): Likewise.
+       * exp_intr.adb (Expand_Unc_Deallocation): Likewise.
+       * exp_prag.adb (Expand_Pragma_Abort_Defer): Likewise.
+       * exp_ch4.adb (Expand_N_Selected_Component): Adjust call to
+       Add_Inlined_Body.
+       * exp_ch6.adb (Expand_Call): Adjust calls to Add_Inlined_Body.
+        Remove call to Register_Backend_Call and move code resetting
+       Needs_Debug_Info on inlined subprograms to...
+       * inline.ads (Add_Inlined_Body): Add N parameter.
+       (Register_Backend_Call): Delete.
+       * inline.adb (Add_Inlined_Body): ...here and simplify.
+        Register the call with Backend_Calls directly.
+       (Register_Backend_Call): Delete.
+       * s-stalib.ads (Abort_Undefer_Direct): Restore pragma Inline.
+
+2015-02-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-stalib.ads: Fix typo.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Default_Initialize_Object): If the object has a
+       delayed freeze, the actions associated with default initialization
+       must be part of the freeze actions, rather that being inserted
+       directly after the object declaration.
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * lib-load.adb: Minor comment update.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * prj-proc.adb (Process_Case_Construction): When there are
+       incomplete withed projects and the case variable is unknown,
+       skip the case construction.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Actuals): Add caller-side invariant checks
+       when an actual is a view conversion, either because the call is
+       to an inherited operation, or because the actual is an explicit
+       type conversion to an ancestor type.  Fixes ACATS 4.0D: C732001
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.ads: Minor comment updates Fix missing pragma Inline
+       for Set_Partial_View_Has_Unknown_Discr.
+       * einfo.adb (Write_Entity_Flags): Add missing entry for
+       Partial_View_Has_Unknown_Discr.
+       * sem_ch3.adb: Minor reformatting.
+
+2015-02-20  Vincent Celier  <celier@adacore.com>
+
+       * opt.ads: Minor cleanup: remove mention of gprmake.
+       * s-stalib.ads (Abort_Undefer_Direct): Do not inline.
+       * s-tataat.adb: Do not call System.Tasking.Self but directly
+       System.Task_Primitives.Operations.Self.
+
+2015-02-20  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_rm.texi, gnat_ugn.texi: Now automatically generated from
+       sphinx in the doc directory.
+       * doc: New directory containing sphinx versions of gnat_rm and gnat_ugn
+
+2015-02-20  Robert Dewar  <dewar@adacore.com>
+
+       * sem_res.adb: Minor reformatting.
+       * exp_ch9.adb (Build_Protected_Spec): Copy Aliased setting when
+       building spec.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Exclude Boolean
+       aspects from circuitry setting delay required to false if the
+       argument is an integer literal.
+
+2015-02-20  Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads. einfo.adb (Partial_View_Has_Unknown_Discr):  New flag
+       on type entities, to enforce AI12-0133: default initialization
+       of types whose partial view has unknown discriminants does not
+       get an invariant check, because clients of the unit can never
+       declare objects of such types.
+       * sem_ch3.adb (Find_Type_Name); Set new flag
+       Partial_View_Has_Unknown_Discr when needed.
+       * exp_ch3.adb (Expand_N_Object_Declaration): Use flag to suppress
+       generation of invariant call on default-initialized object.
+
+2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_param): Do not strip the padding
+       if the parameter either is passed by reference or if the alignment
+       would be lowered.
+
+2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (is_cplusplus_method): Use Is_Primitive flag to
+       detect primitive operations of tagged and untagged types.
+
+2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
+       sets in presence of derivation for subprogram types.
+
+2015-02-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/utils.c (begin_subprog_body): Assert that the body is
+       present in the same context as the declaration.
+
+2015-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/64340
+       * gcc-interface/trans.c (gigi): Recreate optimization_default_node
+       and optimization_current_node after tweaking global_options.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * prj-proc.adb, sem_aux.adb, exp_ch9.adb, errout.adb, prj-dect.adb,
+       prj-nmsc.adb: Minor reformatting.
+
+2015-02-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_type.adb (Covers): In ASIS_Mode the Corresponding_Record
+       of a protected type may not be available, so to check conformance
+       with an interface type, examine the interface list in the type
+       declaration directly.
+       (Write_Overloads): Improve information for indirect calls,
+       for debugger use.
+
+2015-02-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Make_Tag_Assignment): Do not perform this
+       expansion activity in ASIS mode.
+
+2015-02-05  Javier Miranda  <miranda@adacore.com>
+
+       * errout.adb (Error_Msg_PT): Add missing error.
+       * sem_ch6.adb (Check_Synchronized_Overriding): Check the missing
+       RM rule.  Code cleanup.
+       * exp_ch9.adb (Build_Wrapper_Spec): Propagate "constant" in
+       anonymous access types.  Found working on the tests. Code cleanup.
+
+2015-02-05  Vincent Celier  <celier@adacore.com>
+
+       * prj-dect.adb (Parse_Attribute_Declaration): Continue scanning
+       when there are incomplete withs.
+       * prj-nmsc.adb (Process_Naming): Do not try to get the value
+       of an element when it is nil.
+       (Check_Naming): Do not check a nil suffix for illegality
+       * prj-proc.adb (Expression): Do not process an empty term.
+       * prj-strt.adb (Attribute_Reference): If attribute cannot be
+       found, parse a possible index to avoid cascading errors.
+
+2015-02-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aux.adb (Is_Derived_Type): A subprogram_type generated
+       for an access_to_subprogram declaration is not a derived type.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * errout.adb (Error_Msg_Internal): For non-serious error set
+       Fatal_Error to Ignored.
+       * lib-load.adb (Load_Unit): Minor comment updates.
+       * sem_ch10.adb (Analyze_With_Clause): Propagate Fatal_Error
+       setting from with'ed unit to with'ing unit.
+       * sem_prag.adb (Analyze_Pragma, case Warnings): Document handling
+       of ambiguity.
+
+2015-02-05  Yannick Moy  <moy@adacore.com>
+
+       * sem_prag.adb, par-prag.adb: Minor code clean up.
+
+2015-02-05  Yannick Moy  <moy@adacore.com>
+
+       * par-prag.adb (Pragma_Warnings): Update for extended form
+       of pragma Warnings. The "one" argument case may now have 2 or
+       3 arguments.
+       * sem_prag.adb (Analyze_Pragma/Pragma_Warnings): Update for
+       extended form of pragma Warnings. Pragma with tool name is either
+       rewritten as null or as an equivalent form without tool name,
+       before reanalysis.
+       * snames.ads-tmpl (Name_Gnatprove): New name.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch13.adb (Add_Invariants): Don't assume invariant is
+       standard Boolean.
+       * sem_prag.adb (Analyze_Pragma, case Check): Don't assume
+       condition is standard Boolean, it can be non-standard derived
+       Boolean.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Enable_Range_Check): Disconnect attempted
+       optimization for the case of range check for subscript of
+       unconstrained array.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch13.adb (With_Present): New function
+       (Aspect_Specifications_Present): Handle WHEN in place of WITH
+       (Get_Aspect_Specifications): Comment update.
+       * par.adb: Comment updates.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * errout.adb (Handle_Serious_Error): New setting of Fatal_Error.
+       * frontend.adb (Frontend): New setting of Fatal_Error.
+       * lib-load.adb (Create_Dummy_Package_Unit): New setting of
+       Fatal_Error.
+       (Load_Main_Source): New setting of Fatal_Error
+       (Load_Unit): New setting of Fatal_Error.
+       * lib-writ.adb (Add_Preprocessing_Dependency): New setting of
+       Fatal_Error.
+       (Ensure_System_Dependency): New setting of Fatal_Error.
+       * lib.adb (Fatal_Error): New setting of Fatal_Error
+       (Set_Fatal_Error): New setting of Fatal_Error.
+       * lib.ads: New definition of Fatal_Error and associated routines.
+       * par-ch10.adb (P_Compilation_Unit): New setting of Fatal_Error.
+       * par-load.adb (Load): New setting of Fatal_Error.
+       * rtsfind.adb (Load_RTU): New setting of Fatal_Error.
+       * sem_ch10.adb (Analyze_Compilation_Unit): New setting of
+       Fatal_Error.
+       (Optional_Subunit): New setting of Fatal_Error.
+       (Analyze_Proper_Body): New setting of Fatal_Error.
+       (Load_Needed_Body): New setting of Fatal_Error.
+
+2015-02-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Call): If the function being called has
+       out parameters do not check for language version if the function
+       comes from a predefined unit, as those are always compiled in
+       Ada 2012 mode.
+
+2015-02-05  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Process_Full_View): Verify that the full view
+       of a type extension must carry an explicit limited keyword if
+       the partial view does (RM 7.3 (10.1)).
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads,
+       sem_warn.ads: Minor reformatting.
+       * exp_ch13.adb (Expand_N_Freeze_Entity): Add guard for aspect
+       deleted by -gnatI.
+       * sem_prag.adb (Analyze_Pragma, case Type_Invariant): Give
+       error for abstract type.
+
+2015-02-05  Yannick Moy  <moy@adacore.com>
+
+       * opt.ads (Warn_On_Suspicious_Contract): Update comment
+       describing use.
+       * sem_attr.adb (Analyze_Attribute/Attribute_Update): Warn on
+       suspicious uses of 'Update.
+       * sem_warn.adb, sem_warn.ads (Warn_On_Suspicious_Update): New
+       function issues warning on suspicious uses of 'Update.
+       * g-rannum.adb, g-rannum.ads, s-rannum.adb, s-rannum.ads: Mark
+       package spec and body as SPARK_Mode Off.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Set_Elab_Unit_Name): New name for Set_Unit_Name
+       (Analyze_Pragma): Change Set_Unit_Name to Set_Elab_Unit_Name
+       (Set_Elab_Unit_Name): Generate reference for Elaborate[_All]
+       * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning
+       for exported entity.
+
+2015-02-05  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_prag.adb (Check_Pragma_Conformance): Add
+       local variable Arg. Ensure that all errors are associated with
+       the pragma if it appears without an argument. Add comments on
+       various cases.
+
+2015-02-05  Robert Dewar  <dewar@adacore.com>
+
+       * lib-xref.adb: Minor reformatting.
+
+2015-02-05  Tristan Gingold  <gingold@adacore.com>
+
+       PR ada/64349
+       * env.c: Fix thinko: handle Darwin case before default one.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * a-assert.adb: Minor reformatting.
+       * sem_ch13.adb: Minor comment clarification.
+       * types.ads: Minor comment update.
+       * sem_eval.adb (Real_Or_String_Static_Predicate_Matches): Avoid blow up
+       when we have a predicate that is nothing but an inherited dynamic
+       predicate.
+
+2015-01-30  Jerome Guitton  <guitton@adacore.com>
+
+       * gcc-interface/Makefile.in (x86-vxworks): Update GCC_SPEC_FILES to
+       include cert link spec.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * einfo.ads: Minor comment fix.
+       * freeze.adb (Freeze_Profile): Add test for suspicious import
+       in pure unit.
+       * sem_prag.adb (Process_Import_Or_Interface): Test for suspicious
+       use in Pure unit is now moved to Freeze (to properly catch
+       Pure_Function exemption).
+
+2015-01-30  Bob Duff  <duff@adacore.com>
+
+       * sem_res.ads: Minor comment fix.
+       * sem_type.adb: sem_type.adb (Remove_Conversions): Need to
+       check both operands of an operator.
+
+2015-01-30  Yannick Moy  <moy@adacore.com>
+
+       * a-assert.ads, a-assert.adb: Mark package spec in SPARK. Set assertion
+       policy for Pre to Ignore.
+       (Assert): Add precondition.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Process_Import_Or_Interface): Warn if used in
+       Pure unit.
+       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Clarify
+       documentation for some special cases of invalid attempts at
+       based integers.
+
+2015-01-30  Gary Dismukes  <dismukes@adacore.com>
+
+       * errout.ads: Minor reformatting.
+
+2015-01-30  Yannick Moy  <moy@adacore.com>
+
+       * inline.adb (Process_Formals): Use the sloc of
+       the inlined node instead of the sloc of the actual parameter,
+       when replacing formal parameters by the actual one.
+
+2015-01-30  Arnaud Charlet  <charlet@adacore.com>
+
+       * g-expect.adb (Get_Command_Output): Use infinite timeout when
+       calling Expect.
+
+2015-01-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations): If an in-parameter is
+       defaulted in an instantiation, add an entry in the list of actuals
+       to indicate the default value of the formal (as is already done
+       for defaulted subprograms).
+
+2015-01-30  Javier Miranda  <miranda@adacore.com>
+
+       * errout.adb (Error_Msg_PT): Minor error phrasing update.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Warn_On_Known_Condition): Improve error message
+       for object case.
+
+2015-01-30  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * exp_dbug.adb (Get_Encoded_Name): When
+       -fgnat-encodings=minimal, do not generate names for biased types.
+
+2015-01-30  Tristan Gingold  <gingold@adacore.com>
+
+       PR ada/64349
+       * env.c: Move vxworks and darwin includes out of #ifdef IN_RTS.
+
+2015-01-30  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb: Minor reformatting.
+
+2015-01-30  Javier Miranda  <miranda@adacore.com>
+
+       * errout.ads (Error_Msg_PT): Replace Node_Id by Entity_Id and
+       improve its documentation.
+       * errout.adb (Error_Msg_PT): Improve the error message.
+       * sem_ch6.adb (Check_Conformance): Update call to Error_Msg_PT.
+       (Check_Synchronized_Overriding): Update call to Error_Msg_PT.
+       * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Warn_On_Known_Condition): Do special casing of
+       message for False case.
+
+2015-01-30  Doug Rupp  <rupp@adacore.com>
+
+       * s-vxwext-kernel.ads (Task_Cont): Remove imported subprogram body.
+       * s-vxwext-kernel.adb (Task_Cont): New subpprogram body specialized for
+       kernel.
+
+2015-01-30  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_attr.adb (Declared_Within_Generic_Unit):
+       New function to test whether an entity is declared within the
+       declarative region of a given generic unit.
+       (Resolve_Attribute): For checking legality of subprogram'Access within
+       a generic unit, call new Boolean function Declared_Within_Generic_Unit
+       instead of simply comparing the results of Enclosing_Generic_Unit on
+       the prefix and access type.  Correct minor comment typos.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb, exp_util.ads: Update comment.
+       * exp_util.adb, exp_ch3.adb: Minor code reorganization and reformatting.
+       * sem_util.adb: Minor: fix typo.
+
+2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_attr.adb (Analyze_Attribute): Ensure that
+       the check concerning Refined_Post takes precedence over the
+       other cases.
+
+2015-01-30  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_prag.adb: Minor typo fixes and reformatting.
+
+2015-01-30  Yannick Moy  <moy@adacore.com>
+
+       * sem_attr.adb: Code clean up.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
+       * ali.ads (Unit_Record): Add new field Serious_Errors.
+       * lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
+       attribute in U line.
+       * lib-writ.ads: New attribute SE (serious erors) in unit line.
+
+2015-01-30  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.adb Update the usage of attributes Entry_Bodies_Array,
+       Lit_Indexes, Scale_Value, Storage_Size_Variable,
+       String_Literal_Low_Bound along associated routines and
+       Write_FieldX_Name.
+       (Pending_Access_Types): New routine.
+       (Set_Pending_Access_Types): New routine.
+       (Write_Field15_Name): Add an entry for Pending_Access_Types.
+       * einfo.ads Add new attribute Pending_Access_Types along
+       with usage in nodes.  Update the usage of attributes
+       Entry_Bodies_Array, Lit_Indexes, Scale_Value,
+       Storage_Size_Variable, String_Literal_Low_Bound.
+       (Pending_Access_Types): New routine along with pragma Inline.
+       (Set_Pending_Access_Types): New routine along with pragma Inline.
+       * exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
+       Ins_Node. Determine the insertion node for anonynous access type
+       that acts as a component type of an array. Update the call to
+       Build_Finalization_Master.
+       (Expand_Freeze_Record_Type): Update
+       the calls to Build_Finalization_Master.
+       (Freeze_Type): Remove
+       local variable RACW_Seen. Factor out the code that deals with
+       remote access-to-class-wide types. Create a finalization master
+       when the designated type contains a private component. Fully
+       initialize all pending access types.
+       (Process_RACW_Types): New routine.
+       (Process_Pending_Access_Types): New routine.
+       * exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
+       needs to set primitive Finalize_Address.
+       (Expand_N_Allocator): Allocation no longer sets primitive
+       Finalize_Address.
+       * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+       Update the call to Build_Finalization_Master.
+       (Make_Build_In_Place_Call_In_Allocator): Allocation no longer
+       needs to set primitive Finalize_Address.
+       * exp_ch7.adb (Add_Pending_Access_Type): New routine.
+       (Build_Finalization_Master): New parameter profile. Associate
+       primitive Finalize_Address with the finalization master if the
+       designated type has been frozen, otherwise treat the access
+       type as pending. Simplify the insertion of the master and
+       related initialization code.
+       (Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
+       abstract types.
+       (Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
+       Simplify the implementation.
+       * exp_ch7.ads (Build_Finalization_Master): New parameter profile
+       along with comment on usage.
+       (Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
+       the comment on usage.
+       * exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
+       Finalize_Address to retrieve the primitive.
+       (Finalize_Address): New routine.
+       (Find_Finalize_Address): Removed.
+       * exp_util.ads (Finalize_Address): New routine.
+       * freeze.adb (Freeze_All): Remove the generation of finalization
+       masters.
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
+       pending access types from the partial to the full view.
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * sem_disp.adb: Minor reformatting.
+       * sem_disp.ads: Documentation update.
+
+2015-01-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Is_Dynamically_Tagged): when applied to an entity
+       or a function call, return True if type is class-wide.
+       * sem_res.adb (Resolve_Case_Expression, Resolve_If_Expression);
+       Apply RM 4.5.7 (17/3): all or none of the dependent expression
+       of a conditional expression must be dynamically tagged.
+
+2015-01-30  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Function_Return): In an extended return
+       statement, apply accessibility check to result object when there
+       is no initializing expression (Ada 2012 RM 6.5 (5.4/3))
+
+2015-01-30  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch4.adb (Analyze_If_Expression): Allow for non-standard
+       Boolean for case where ELSE is omitted.
+       * sem_res.adb: Minor reformatting.
+
+2015-01-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       Fix build under cygwin/64.
+       * adaint.h: Add check for __CYGWIN__.
+       * mingw32.h: Prevent windows.h from including x86intrin.h in GCC.
+
+2015-01-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR ada/64640
+       * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
+       * mingw32.h: Don't include <tchar.h> under cygwin.
+       (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.
+
+2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_8)
+       (DEF_FUNCTION_TYPE_VAR_12): New macros.
+
+2015-01-09  Michael Collison  <michael.collison@linaro.org>
+
+       * gcc-interface/cuintp.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h,
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * gcc-interface/decl.c: Ditto.
+       * gcc-interface/misc.c: Ditto.
+       * gcc-interface/targtyps.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, options.h,
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * gcc-interface/trans.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h, real.h,
+       fold-const.h, wide-int.h, inchash.h due to
+       flattening of tree.h.
+       * gcc-interface/utils.c: Include hash-set.h, machmode.h,
+       vec.h, double-int.h, input.h, alias.h, symtab.h,
+       fold-const.h, wide-int.h, and inchash.h due to
+       flattening of tree.h.
+       * gcc-interface/utils2.c: Ditto.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Check_One_Unit): Don't give unused entities
+       warning for a package which is used as a generic parameter.
+
+2015-01-07  Bob Duff  <duff@adacore.com>
+
+       * usage.adb (Usage): Correct documentation of
+       -gnatw.f switches.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * s-fileio.adb: Minor reformatting.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): If formal is an anonymous
+       access to subprogram, replace its formals with new entities when
+       building the object declaration, both if actual is present and
+       when it is defaulted.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): If left-hand side is a view
+       conversion and type of expression has invariant, apply invariant
+       check on expression.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Create_Constrained_Components): A call to
+       Gather_Components may detect an error if an inherited discriminant
+       that controls a variant is non-static.
+       * sem_aggr.adb (Resolve_Record_Aggregate, Step 5): The call to
+       Gather_Components may report an error if an inherited discriminant
+       in a variant in non-static.
+       * sem_util.adb (Gather_Components): If a non-static discriminant
+       is inherited do not report error here, but let caller handle it.
+       (Find_Actual): Small optimization.
+
+2015-01-07  Bob Duff  <duff@adacore.com>
+
+       * usage.adb (Usage): Document -gnatw.f switch.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb: Code clean up and minor reformatting.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Add guard for
+       Raise_Accessibility_Error call.
+       * s-valllu.ads (Scan_Raw_Long_Long_Unsigned): Add documentation
+       on handling of invalid digits in based constants.
+       * s-fatgen.ads: Minor reformatting.
+       * sem_attr.adb (Analyze_Attribute, case Unrestricted_Access):
+       Avoid noting bogus modification for Valid test.
+       * snames.ads-tmpl (Name_Attr_Long_Float): New Name.
+       * einfo.ads: Minor reformatting.
+       * sem_warn.adb: Minor comment clarification.
+       * sem_ch12.adb: Minor reformatting.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Predicated_Loop): Handle properly loops
+       over static predicates when the loop parameter specification
+       carries a Reverse indicator.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): If formal has a default,
+       actual is missing and formal has an anonymous access type, copy
+       access definition in full so that tree for instance is properly
+       formatted for ASIS use.
+
+2015-01-07  Bob Duff  <duff@adacore.com>
+
+       * sem_elab.adb (Check_Internal_Call_Continue): Give a warning
+       for P'Access, where P is a subprogram in the same package as
+       the P'Access, and the P'Access is evaluated at elaboration
+       time, and occurs before the body of P. For example, "X : T :=
+       P'Access;" would allow a subsequent call to X.all to be an
+       access-before-elaboration error; hence the warning. This warning
+       is enabled by the -gnatw.f switch.
+       * opt.ads (Warn_On_Elab_Access): New flag for warning switch.
+       * warnsw.adb (Set_Dot_Warning_Switch): Set Warn_On_Elab_Access.
+       * gnat_ugn.texi: Document the new warning.
+
+2015-01-07  Johannes Kanig  <kanig@adacore.com>
+
+       * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded
+       cross ref files.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * s-taprop-linux.adb, clean.adb: Minor reformatting.
+
+2015-01-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tassta.adb: Relax some overzealous assertions.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Return_Type): An call that returns a limited
+       view of a type is legal when context is a thunk generated for
+       operation inherited from an interface.
+       * exp_ch6.adb (Expand_Simple_Function_Return): If context is
+       a thunk and return type is an incomplete type do not continue
+       expansion; thunk will be fully elaborated when generating code.
+
+2015-01-07  Doug Rupp  <rupp@adacore.com>
+
+       * s-osinte-mingw.ads (LARGE_INTEGR): New subtype.
+       (QueryPerformanceFrequency): New imported procedure.
+       * s-taprop-mingw.adb (RT_Resolution): Call above and return
+       resolution vice a hardcoded value.
+       * s-taprop-solaris.adb (RT_Resolution): Call clock_getres and return
+       resolution vice a hardcoded value.
+       * s-linux-android.ads (clockid_t): New subtype.
+       * s-osinte-aix.ads (clock_getres): New imported subprogram.
+       * s-osinte-android.ads (clock_getres): Likewise.
+       * s-osinte-freebsd.ads (clock_getres): Likewise.
+       * s-osinte-solaris-posix.ads (clock_getres): Likewise.
+       * s-osinte-darwin.ads (clock_getres): New subprogram.
+       * s-osinte-darwin.adb (clock_getres): New subprogram.
+       * thread.c (__gnat_clock_get_res) [__APPLE__]: New function.
+       * s-taprop-posix.adb (RT_Resolution): Call clock_getres to
+       calculate resolution vice hard coded value.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Make_CW_Equivalent_Type): If root type is a
+       limited view, use non-limited view when available to create
+       equivalent record type.
+
+2015-01-07  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb: Remove command Sync and any data and processing
+       related to this command. Remove project processing for gnatstack.
+       * prj-attr.adb: Remove package Synchonize and its attributes.
+
+2015-01-07  Vincent Celier  <celier@adacore.com>
+
+       * clean.adb: Minor error message change.
+
+2015-01-07  Tristan Gingold  <gingold@adacore.com>
+
+       PR ada/64349
+       * env.c (__gnat_environ): Adjust for darwin9/darwin10.
+
+2015-01-07  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch10.adb (Analyze_With_Clause): Compiling under -gnatq
+       protect the frontend against never ending recursion caused by
+       circularities in the sources.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.adb, make.adb, exp_pakd.adb, i-cpoint.adb, sem_ch8.adb,
+       exp_ch3.adb: Minor reformatting.
+
+2015-01-07  Doug Rupp  <rupp@adacore.com>
+
+       * s-linux.ads (clockid_t): New subtype.
+       * s-osinte-linux.ads (pragma Linker Options): Add -lrt.
+       (clockid_t): New subtype.
+       (clock_getres): Import system call.
+       * s-taprop-linux.adb (System.OS_Constants): With and rename.
+       (RT_Resolution): Remove
+       hardcoded value and call clock_getres.
+       * s-linux-sparc.ads, s-linux-mipsel.ads, s-linux-hppa.ads,
+       s-linux-alpha.ads, s-linux-x32.ads (clockid_t): Add new subtype.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Check_One_Unit): Guard against context item
+       with no Entity field.
+
+2015-01-07  Vincent Celier  <celier@adacore.com>
+
+       * clean.adb (Gnatclean): Warn that 'gnatclean -P' is obsolete.
+       * make.adb (Initialize): Warn that 'gnatmake -P' is obsolete.
+
+2015-01-07  Vincent Celier  <celier@adacore.com>
+
+       * prj-conf.adb (Parse_Project_And_Apply_Config): Always finalize
+       errors/warnings in the first parsing of the project files,
+       to display the warnings when there is no errors.
+
+2015-01-07  Tristan Gingold  <gingold@adacore.com>
+
+       * i-cpoint.adb (Copy_Terminated_Array): Nicely handle null target.
+
+2015-01-07  Doug Rupp  <rupp@adacore.com>
+
+       * s-taprop-vxworks.adb (Stop_All_Tasks): Pass return
+       value from Int_Lock as parameter to Int_Unlock.
+       * s-osinte-vxworks.ads (Int_Unlock): Add parameter.
+       * s-vxwext.ads (Int_Unlock): Likewise.
+       * s-vxwext-kernel.adb (intUnlock, Int_Unlock): Likewise.
+       * s-vxwext-kernel.ads (Int_Unlock): Likewise.
+       * s-vxwext-rtp.adb (Int_Unlock): Likewise.
+       * s-vxwext-rtp.ads (Int_Unlock): Likewise.
+
+2015-01-07  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * exp_pakd.adb: Add a comment in exp_pakd.adb to explain why we
+       keep ___XP suffixes
+
+2015-01-07  Tristan Gingold  <gingold@adacore.com>
+
+       * i-cpoint.adb (Copy_Terminated_Array): Use Copy_Array to
+       handle overlap.
+
+2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch3.adb (Analyze_Full_Type_Declaration): Do not
+       automatically set No_Strict_Aliasing on access types.
+       * fe.h (No_Strict_Aliasing_CP): Declare.
+       * gcc-interface/trans.c (gigi): Force flag_strict_aliasing to 0 if
+       No_Strict_Aliasing_CP is set.
+
+2015-01-07  Johannes Kanig  <kanig@adacore.com>
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming) do
+       not build function wrapper in gnatprove mode when the package
+       is externally axiomatized.
+
+2015-01-07  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-reatim.adb (Time_Of): Reduce the number of spurious overflows in
+       intermediate computations when the parameters have different signs.
+
+2015-01-07  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Procedure): For derived types,
+       improve the code which takes care of identifying and moving to
+       the beginning of the init-proc the call to the init-proc of the
+       parent type.
+
+2015-01-07  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc-interface/trans.c (gnat_to_gnu, <N_Expression_With_Action>):
+       Elaborate the expression as part of the same stmt group as the actions.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb: Minor error message change.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case Preelaborable_Initialization):
+       Following AI05-028, the pragam applies legally to any composite type.
+
+2015-01-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-vxworks.adb, s-osinte-vxworks.ads
+       (sigwait, sigwaitinfo): Removed, not needed after all on any
+       VxWorks configurations.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb, freeze.adb, exp_disp.adb: Minor reformatting.
+
+2015-01-07  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Expand_Interface_Conversion): Adding missing
+       generation of accessibility check.
+
+2015-01-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Derived_Type_Declaration): In the case of an
+       illegal completion from a class- wide type, set etype of the
+       derived type properly to prevent cascaded errors.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * prj.ads, i-cpoint.adb, freeze.adb, ghost.adb, prj-err.adb: Minor
+       reformatting.
+
+2015-01-07  Robert Dewar  <dewar@adacore.com>
+
+       * restrict.adb (Check_Restriction_No_Use_Of_Attribute):
+       New procedure.
+       (OK_No_Use_Of_Entity_Name): New function.
+       (Set_Restriction_No_Use_Of_Entity): New procedure.
+       * restrict.ads (Check_Restriction_No_Use_Of_Attribute):
+       New procedure.
+       (OK_No_Use_Of_Entity_Name): New function.
+       (Set_Restriction_No_Use_Of_Entity): New procedure.
+       * sem_ch8.adb (Find_Direct_Name): Add check for violation of
+       No_Use_Of_Entity.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Add processing for new restriction No_Use_Of_Entity.
+
+2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
+       component type as to Has_Atomic_Components type.  Remove useless
+       test on Is_Aliased component type.
+
+2015-01-07  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * alloc.ads Alphabetize several declarations. Add constants
+       Ignored_Ghost_Units_Initial and Ignored_Ghost_Units_Increment.
+       * atree.adb Add with and use clauses for Opt.
+       (Allocate_Initialize_Node): Mark a node as ignored Ghost
+       if it is created in an ignored Ghost region.
+       (Ekind_In): New variant.
+       (Is_Ignored_Ghost_Node): New routine.
+       (Set_Is_Ignored_Ghost_Node): New routine.
+       * atree.adb Aplhabetize several subprograms declarations. Flag
+       Spare0 is now known as Is_Ignored_Ghost_Node.
+       (Ekind_In): New variant.
+       (Is_Ignored_Ghost_Node): New routine.
+       (Set_Is_Ignored_Ghost_Node): New routine.
+       * einfo.adb: Flag 279 is now known as Contains_Ignored_Ghost_Code.
+       (Contains_Ignored_Ghost_Code): New routine.
+       (Set_Contains_Ignored_Ghost_Code): New routine.
+       (Set_Is_Checked_Ghost_Entity, Set_Is_Ignored_Ghost_Entity):
+       It is now possible to set this property on an unanalyzed entity.
+       (Write_Entity_Flags): Output the status of flag
+       Contains_Ignored_Ghost_Code.
+       * einfo.ads New attribute Contains_Ignored_Ghost_Code along with
+       usage in nodes.
+       (Contains_Ignored_Ghost_Code): New routine
+       along with pragma Inline.
+       (Set_Contains_Ignored_Ghost_Code): New routine along with pragma Inline.
+       * exp_ch3.adb Add with and use clauses for Ghost.
+       (Freeze_Type): Capture/restore the value of Ghost_Mode on entry/exit.
+       Set the Ghost_Mode in effect.
+       (Restore_Globals): New routine.
+       * exp_ch7.adb (Process_Declarations): Do not process a context
+       that invoves an ignored Ghost entity.
+       * exp_dbug.adb (Qualify_All_Entity_Names): Skip an ignored Ghost
+       construct that has been rewritten as a null statement.
+       * exp_disp.adb Add with and use clauses for Ghost.
+       (Make_DT): Capture/restore the value of Ghost_Mode on entry/exit. Set
+       the Ghost_Mode in effect.
+       (Restore_Globals): New routine.
+       * exp_util.adb (Requires_Cleanup_Actions): An ignored Ghost entity
+       does not require any clean up. Add two missing cases that deal
+       with block statements.
+       * freeze.adb Add with and use clauses for Ghost.
+       (Freeze_Entity): Capture/restore the value of Ghost_Mode on entry/exit.
+       Set the Ghost_Mode in effect.
+       (Restore_Globals): New routine.
+       * frontend.adb Add with and use clauses for Ghost. Remove any
+       ignored Ghost code from all units that qualify.
+       * ghost.adb New unit.
+       * ghost.ads New unit.
+       * gnat1drv.adb Add with clause for Ghost. Initialize and lock
+       the table in package Ghost.
+       * lib.ads: Alphabetize several subprogram declarations.
+       * lib-xref.adb (Output_References): Do not generate reference
+       information for ignored Ghost entities.
+       * opt.ads Add new type Ghost_Mode_Type and new global variable
+       Ghost_Mode.
+       * rtsfind.adb (Load_RTU): Provide a clean environment when
+       loading a runtime unit.
+       * sem.adb (Analyze): Capture/restore the value of Ghost_Mode on
+       entry/exit as the node may set a different mode.
+       (Do_Analyze):
+       Capture/restore the value of Ghost_Mode on entry/exit as the
+       unit may be withed from a unit with a different Ghost mode.
+       * sem_ch3.adb Add with and use clauses for Ghost.
+       (Analyze_Full_Type_Declaration, Analyze_Incomplete_Type_Decl,
+       Analyze_Number_Declaration, Analyze_Private_Extension_Declaration,
+       Analyze_Subtype_Declaration): Set the Ghost_Mode in effect. Mark
+       the entity as Ghost when there is a Ghost_Mode in effect.
+       (Array_Type_Declaration): The implicit base type inherits the
+       "ghostness" from the array type.
+       (Derive_Subprogram): The
+       alias inherits the "ghostness" from the parent subprogram.
+       (Make_Implicit_Base): The implicit base type inherits the
+       "ghostness" from the parent type.
+       * sem_ch5.adb Add with and use clauses for Ghost.
+       (Analyze_Assignment): Set the Ghost_Mode in effect.
+       * sem_ch6.adb Add with and use clauses for Ghost.
+       (Analyze_Abstract_Subprogram_Declaration, Analyze_Procedure_Call,
+       Analyze_Subprogram_Body_Helper, Analyze_Subprogram_Declaration):
+       Set the Ghost_Mode in effect. Mark the entity as Ghost when
+       there is a Ghost_Mode in effect.
+       * sem_ch7.adb Add with and use clauses for Ghost.
+       (Analyze_Package_Body_Helper, Analyze_Package_Declaration,
+       Analyze_Private_Type_Declaration): Set the Ghost_Mode in
+       effect. Mark the entity as Ghost when there is a Ghost_Mode
+       in effect.
+       * sem_ch8.adb Add with and use clauses for Ghost.
+       (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
+       Analyze_Object_Renaming, Analyze_Package_Renaming,
+       Analyze_Subprogram_Renaming): Set the Ghost_Mode in effect. Mark
+       the entity as Ghost when there is a Ghost_Mode in effect.
+       (Find_Type): Check the Ghost context of a type.
+       * sem_ch11.adb Add with and use clauses for Ghost.
+       (Analyze_Exception_Declaration): Set the Ghost_Mode in
+       effect. Mark the entity as Ghost when there is a Ghost_Mode
+       in effect.
+       * sem_ch12.adb Add with and use clauses for Ghost.
+       (Analyze_Generic_Package_Declaration,
+       Analyze_Generic_Subprogram_Declaration): Set the Ghost_Mode in effect.
+       Mark the entity as Ghost when there is a Ghost_Mode in effect.
+       * sem_prag.adb Add with and use clauses for Ghost.
+       (Analyze_Pragma): Ghost-related checks are triggered when there
+       is a Ghost mode in effect.
+       (Create_Abstract_State): Mark the
+       entity as Ghost when there is a Ghost_Mode in effect.
+       * sem_res.adb Add with and use clauses for Ghost.
+       (Check_Ghost_Context): Removed.
+       * sem_util.adb (Check_Ghost_Completion): Removed.
+       (Check_Ghost_Derivation): Removed.
+       (Incomplete_Or_Partial_View):
+       Add a guard in case the entity has not been analyzed yet
+       and does carry a scope.
+       (Is_Declaration): New routine.
+       (Is_Ghost_Entity): Removed.
+       (Is_Ghost_Statement_Or_Pragma):
+       Removed.
+       (Is_Subject_To_Ghost): Removed.
+       (Set_Is_Ghost_Entity):
+       Removed.
+       (Within_Ghost_Scope): Removed.
+       * sem_util.adb (Check_Ghost_Completion): Removed.
+       (Check_Ghost_Derivation): Removed.
+       (Is_Declaration): New routine.
+       (Is_Ghost_Entity): Removed.
+       (Is_Ghost_Statement_Or_Pragma): Removed.
+       (Is_Subject_To_Ghost): Removed.
+       (Set_Is_Ghost_Entity): Removed.
+       (Within_Ghost_Scope): Removed.
+       * sinfo.ads Add a section on Ghost mode.
+       * treepr.adb (Print_Header_Flag): New routine.
+       (Print_Node_Header): Factor out code. Output flag
+       Is_Ignored_Ghost_Node.
+       * gcc-interface/Make-lang.in: Add dependency for unit Ghost.
+
+2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
+       true test and unreachable 'else' arm.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * prj-conf.adb (Check_Target): Improve error message when
+       there are mismatched targets between the on in the configuration
+       project file and the specified one, either in the main project
+       file or in the --target= switch.
+
+2015-01-06  Pascal Obry  <obry@adacore.com>
+
+       * prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
+       Install_Name attribute definitions.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Wrap_Imported_Subprogram): Indicate that the
+       generated Import pragma for the internal imported procedure does
+       not come from an aspect, so that Is_Imported can be properly
+       set for it.
+
+2015-01-06  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch12.adb (Might_Inline_Subp): Record whether
+       any subprograms in the generic package are marked with
+       pragma Inline_Always (setting flag Has_Inline_Always).
+       (Analyze_Package_Instantiation): Add test of Has_Inline_Always
+       alongside existing test of Front_End_Inlining as alternative
+       conditions for setting Inline_Now. Also add test of
+       Has_Inline_Always along with Front_End_Inlining test as an
+       alternative condition for setting Needs_Body to False.
+
+2015-01-06  Tristan Gingold  <gingold@adacore.com>
+
+       * i-cpoint.adb (Copy_Array): Handle overlap.
+
+2015-01-06  Pascal Obry  <obry@adacore.com>
+
+       * bindgen.adb: Minor style fix.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads, sem_util.adb: Minor reformatting.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
+       with flags before parsing the projects.
+       * prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
+       * prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
+       to True in the flags, when Ignore_Missing_With is True and an
+       imported project cannot be found.
+       * prj-proc.adb (Expression): When there are incomplete withs and
+       a variable or attribute is not found, set the variable/attribute
+       to unknown.
+       * prj.ads (Processing_Flags): New flag Incomplete_Withs,
+       defaulted to False.
+
+2015-01-06  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
+       prj-err.adb: Add new switch --no-command-line.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb: Sloc of wrapper is that of instantiation.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch11.adb: Minor reformatting.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Get_Assoc_Expr): New routine internal to
+       Build_Array_Aggr_Code, used to initialized components covered
+       by a box association. If the component type is scalar and has
+       a default aspect, use it to initialize such components.
+
+2015-01-06  Pascal Obry  <obry@adacore.com>
+
+       * rtinit.c (__gnat_runtime_initialize): Add a parameter to
+       control the setup of the exception handler.
+       * initialize.c: Remove unused declaration.
+       * bindgen.adb: Always call __gnat_runtime_initialize and pass
+       whether the exeception handler must be set or not.
+
+2015-01-06  Thomas Quinot  <quinot@adacore.com>
+
+       * freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
+       order to native from default, make sure to also adjust bit order.
+       * exp_aggr.adb: Minor reformatting.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
+       s-valrea.adb, s-valrea.ads: Add some additional guards for
+       Str'Last = Positive'Last.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
+       subprograms.
+
+2015-01-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Expand_Interface_Conversion): Reapply patch.
+
+2015-01-06  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_util.ads: Minor reformatting.
+       * sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
+       (In_RCI_Declaration) Return to old name, as proper checking of
+       entity being in the visible part depends on entity kind and must
+       be done by the caller.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
+       for operators in SPARK.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
+       expression in an others association before making copies for
+       separate resolution and accessibility checks. This ensures that
+       the type of the expression is available to ASIS in all cases,
+       in particular if the expression is itself an aggregate.
+
+2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Has_Independent_Components): Document extended
+       usage.
+       * einfo.adb (Has_Independent_Components): Remove obsolete assertion.
+       (Set_Has_Independent_Components): Adjust assertion.
+       * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
+       for pragma Atomic_Components.  Set Has_Independent_Components
+       on the object instead of the type for an object declaration with
+       pragma Independent_Components.
+
+2015-01-06  Olivier Hainque  <hainque@adacore.com>
+
+       * set_targ.adb (Read_Target_Dependent_Values): Set
+       Long_Double_Index when "long double" is read.
+       (elaboration code): Register_Back_End_Types only when not reading from
+       config files. Doing otherwise is pointless and error prone.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
+       Str'Last = Positive'Last.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Matches_Limited_View): Handle properly the case
+       where the non-limited type is a generic actual and appears as
+       a subtype of the non-limited view of the other.
+       * freeze.adb (Build_Renamed_Body): If the return type of the
+       declaration that is being completed is a limited view and the
+       non-limited view is available, use it in the specification of
+       the generated body.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Find_Type_Name): If there is a previous tagged
+       incomplete view, the type of the classwide type common to both
+       views is the type being declared.
+
+2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Is_Independent): Further document extended usage.
+
+2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (Is_Independent): Document extended usage.
+       * einfo.adb (Is_Independent): Remove obsolete assertion.
+       (Set_Is_Independent): Likewise.
+       * sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
+       (Process_Atomic_Independent_Shared_Volatile): ...this.
+       Deal with pragma Independent here.
+       (Analyze_Pragma): Adjust
+       to above renaming and also invoke it for pragma Independent.
+       Adjust comment for Independent_Components.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * snames.ads-tmpl: Remove entries for attribute Enum_Image.
+       * exp_attr.adb: Remove reference to Attribute_Enum_Image.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
+       = Positive'Last.
+       * s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
+       Str'Last = Positive'Last.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Process_Inline): Remove redundant construct
+       warning (-gnatw.r) for an ineffective pragma Inline.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-valint.adb: Fix typo in last checkin.
+       * s-valuns.adb (Value_Unsigned): More efficient fix for
+       Positive'Last case.
+       * sem_attr.adb (Analyze_Attribute): Minor reformatting
+       (Eval_Attribute): Static ervaluation of 'Img for enumeration types.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
+       Str'Last = Positive'Last
+
+2015-01-06  Thomas Quinot  <quinot@adacore.com>
+
+       * xoscons.adb: Display exception information and return non-zero
+       exit status in top level exception handler.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb: Code clean up.
+
+2015-01-06  Tristan Gingold  <gingold@adacore.com>
+
+       * targparm.ads: Remove obsolete comment.
+
+2015-01-06  Olivier Hainque  <hainque@adacore.com>
+
+        * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
+        constructing a ref to variable, update inner_const_flag from the
+        variable TREE_READONLY attribute.
+        * gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
+        definition.
+        (get_target_float_size): Remove.
+        (get_target_double_size): Remove.
+        (get_target_long_double_size): Remove.
+
+2015-01-06  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c (ProcListEvt): Set to NULL.
+       * rtinit.c: New file.
+       (__gnat_rt_init_count): New reference counter set to 0.
+       (__gnat_runtime_initialize): Move code here from __gnat_initialize when
+       this code is actually needed for the runtime initialization. This
+       routine returns immediately if the initialization has already been done.
+       * final.c: Revert previous change.
+       * rtfinal.c: New file.
+       (__gnat_runtime_finalize)[Win32]: Add finalization of the critical
+       section and event. The default version of this routine is empty (except
+       for the reference counting code). This routine returns immediately if
+       some others libraries are referencing the runtime.
+       * bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
+       remove circuitry to initialize the signal handler as this is
+       now done by the runtime initialization routine.
+       (Gen_Adafinal): Generate call to Runtime_Finalize.
+       * gnat_ugn.texi: Update documentation about concurrency and
+       initialization/finalization of the run-time.
+       * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
+       references to rtfinal.o and rtinit.o
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
+       for Enum_Image.
+       * sem_attr.adb: Implement Enum_Image attribute.
+       * snames.ads-tmpl: Add entries for Enum_Image attribute.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
+       * restrict.ads (No_Use_Of_Entity): New table.
+       * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+       Ignore No_Use_Of_Entity (will be processed in parser).
+       * snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
+       to check for an extended project, if a project does not have
+       yet a project declaration.
+
+2015-01-06  Pierre-Marie Derodat  <derodat@adacore.com>
+
+       * scos.ads: Update documentation about the SCO table build
+       process and about table records format.
+       * par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
+       (SCO_Record_Filtered): New procedure.
+       (Set_SCO_Logical_Operator): New procedure.
+       (dsco): Update documentation.
+       * par_sco.adb: Update library-level comments.
+       (SCO_Generation_State_Type): New type.
+       (SCO_Generation_State): New variable.
+       (SCO_Raw_Table): New package instanciation.
+       (Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
+       ("<"): New.
+       (Tristate): New type.
+       (Is_Logical_Operator): Return Tristate and update documentation.
+       (Has_Decision): Update call to Is_Logical_Operator and complete
+       documentation.
+       (Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
+       comment, add an assertion for state checking and change
+       references to SCO_Table into SCO_Raw_Table.
+       (dsco): Refactor to dump the raw and the filtered tables.
+       (Process_Decisions.Output_Decision_Operand): Handle putative
+       short-circuit operators.
+       (Process_Decisions.Output_Element): Update references
+       to Set_Table_Entry and to Condition_Pragma_Hash_Table.
+       (Process_Decisions.Process_Decision_Operand): Update call
+       to Is_Logical_Operator.
+       (Process_Decisions.Process_Node): Handle putative short-circuit
+       operators and change references to
+       SCO_Table into SCO_Raw_Table.
+       (SCO_Output): Add an assertion
+       for state checking and remove code that used to stamp out SCO entries.
+       (SCO_Pragma_Disabled): Change reference to SCO_Table
+       into SCO_Raw_Table.
+       (SCO_Record): Rename to SCO_Record_Raw,
+       add an assertion for state checking and change references
+       to SCO_Table into SCO_Raw_Table.
+       (Set_SCO_Condition): Add an assertion for state checking, update
+       references to Condition_Pragma_Hash_Table and change references to
+       SCO_Table into SCO_Raw_Table.
+       (Set_SCO_Pragma_Enabled): Add an assertion for state checking and
+       change references to SCO_Table into SCO_Raw_Table.
+       (Set_SCO_Logical_Operator): New procedure.
+       (Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
+       references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
+       (SCO_Record_Fildered): New procedure.
+       * gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
+       * lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
+       output SCOs.
+       * par-load.adb (Load): Update reference to SCO_Record.
+       * par.adb (Par): Update reference to SCO_Record.
+       * put_scos.adb (Put_SCOs): Add an assertion to check that no
+       putative SCO condition reaches this end.
+       * sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
+       * sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
+       when corresponding to an "and"/"or" operator affected by the
+       Short_Circuit_And_Or pragma.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch8.adb (Analyze_Use_Package): Give more specific error
+       msg for attempted USE of generic subprogram or subprogram.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
+       s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
+       a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
+       that specify stream subprograms, if the prefix is a class-wide
+       type then the generated attribute definition clause must apply
+       to the same class-wide type.
+       (Default_Iterator): An iterator defined by an aspect of some
+       container type T must have a first parameter of type T, T'class,
+       or an access to such (from code reading RM 5.5.1 (2/3)).
+
+2015-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb: Minor: complete previous change.
+
+2015-01-06  Olivier Hainque  <hainque@adacore.com>
+
+       * set_targ.ads (C_Type_For): New function. Return the name of
+       a C type supported by the back-end and suitable as a basis to
+       construct the standard Ada floating point type identified by
+       the T parameter. This is used as a common ground to feed both
+       ttypes values and the GNAT tree nodes for the standard floating
+       point types.
+       * set_targ.adb (Long_Double_Index): The index at which "long
+       double" gets registered in the FPT_Mode_Table. This is useful to
+       know whether we have a "long double" available at all and get at
+       it's characteristics without having to search the FPT_Mode_Table
+       when we need to decide which C type should be used as the
+       basis for Long_Long_Float in Ada.
+       (Register_Float_Type): Fill Long_Double_Index.
+       (FPT_Mode_Index_For): New function. Return the index in
+       FPT_Mode_Table that designates the entry corresponding to the
+       provided C type name.
+       (FPT_Mode_Index_For): New function. Return the index in
+       FPT_Mode_Table that designates the entry for a back-end type
+       suitable as a basis to construct the standard Ada floating point
+       type identified by the input T parameter.
+       (elaboration code): Register_Back_End_Types unconditionally,
+       so C_Type_For can operate regardless of -gnateT. Do it
+       early so we can query it for the floating point sizes, via
+       FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
+       Long_Double_Size from the FPT_Mode_Table, as cstand will do.
+       * cstand.adb (Create_Float_Types): Use C_Type_For to determine
+       which C type should be used as the basis for the construction
+       of the Standard Ada floating point types.
+       * get_targ.ads (Get_Float_Size, Get_Double_Size,
+       Get_Long_Double_Size): Remove.
+       * get_targ.adb: Likewise.
+
+2015-01-06  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_cat.adb (In_RCI_Declaration): Remove unnecessary
+       parameter and rename to...
+       (In_RCI_Visible_Declarations): Fix handling of private part of nested
+       package.
+       (Validate_RCI_Subprogram_Declaration): Reject illegal function
+       returning anonymous access in RCI unit.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
+       function wrapper may be a homonym of another local declaration.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
+       build function and operator wrappers after the actual subprogram
+       has been resolved, and replace the standard renaming declaration
+       with the declaration of wrapper.
+       * sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
+       make public for use elsewhere.
+       * sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
+       rewrite, now that actual is fully resolved when wrapper is
+       constructed.
+
+2015-01-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb: Revert previous change.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb: Change name Name_Table_Boolean to
+       Name_Table_Boolean1.
+       * namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
+       Introduce Name_Table_Boolean2/3.
+       * namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
+       Introduce Name_Table_Boolean2/3.
+       * par-ch13.adb: Change name Name_Table_Boolean to
+       Name_Table_Boolean1.
+
+2015-01-06  Bob Duff  <duff@adacore.com>
+
+       * gnat_rm.texi: Improve documentation regarding No_Task_Termination.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
+       others choice that covers multiple components, analyze each
+       copy with the type of the component even in compile-only mode,
+       to detect potential accessibility errors.
+
+2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
+       (Resolve_Actuals): An effectively volatile out
+       parameter cannot act as an in or in out actual in a call.
+       (Resolve_Entity_Name): An effectively volatile out parameter
+       cannot be read.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
+       the expansion of an expression function it may be pre-analyzed
+       if a 'access attribute is applied to the function, in which case
+       last_entity may have been assigned already.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
+       type and actual has the corresponding full view, there is no
+       error, but a case of use of incomplete type in a predicate or
+       invariant expression.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * makeutl.adb (Insert_No_Roots): Make sure that the same source
+       in two different project tree is checked in both trees, if they
+       are sources of two different projects, extended or not.
+
+2015-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb: Minor code clean up.
+       (Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.
+
+2015-01-06  Bob Duff  <duff@adacore.com>
+
+       * osint.adb (Read_Source_File): Don't print out
+       file name unless T = Source.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
+       recognize improper uses of constant_reference types as actuals
+       for in-out parameters.
+       (Check_Function_Call): Do not collect identifiers if function
+       name is missing because of previous error.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
+       ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
+       Minor change of name Name_Table_Info => Name_Table_Int.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
+       in previous checkin.
+       * freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
+       of bounds.
+       * sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * a-strsup.adb (Times (Natural;String;Positive)): Raise
+       Length_Error, not Index_Error, when the result is too long.
+
+2015-01-06  Thomas Quinot  <quinot@adacore.com>
+
+       * a-direct.adb (Create_Path): Minor error handling and
+       performance improvement.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * checks.ads, sem_ch12.adb: Minor reformatting.
+       * exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
+       zero check for fixed-point case if Backend_Divide_Checks_On_Target
+       is False.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
+       Do not set restriction No_Elaboration_Code unless the pragma
+       appears in the main unit).
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
+       that with clause has already been analyzed before checking kind
+       of with_clause.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_strm.adb (Build_Elementary_Input_Call): Return base type
+       (as required by RM).
+
+2015-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
+       for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.
+
+2015-01-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.adb (Expand_Interface_Conversion): No displacement
+       of the pointer to the object needed when the type of the operand
+       is not an interface type and the interface is one of its parent
+       types (since they share the primary dispatch table).
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * prj-env.adb: Minor comment update.
+
+2015-01-06  Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
+       access types whose target type is an interface type to operands
+       that are access types; required to report an error when the
+       operand is not an access type.
+
+2015-01-06  Bob Duff  <duff@adacore.com>
+
+       * a-cfinve.adb (Copy): Set the discriminant to the Length when
+       Capacity = 0.
+       * a-cofove.ads (Capacity): Add a postcondition.
+       * a-cfinve.ads (Capacity): Add a postcondition.
+       (Reserve_Capacity): Correct the postcondition in the case where
+       Capacity = 0; that means "Capacity => Length (Container)".
+       * a-cofove.adb (Elems[c]): Add a comment
+       explaining the dangers and how to avoid them.
+
+2015-01-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb: Code clean up.
+
+2015-01-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnatvsn.ads: Bump copyright year.
+
+2015-01-06  Robert Dewar  <dewar@adacore.com>
+
+       * s-taskin.ads, s-traces.ads: Minor reformatting.
+       * exp_util.adb: Minor typo fix.
+
+2015-01-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
+       with the runtime name.
+       * prj-env.adb (Initialize_Default_Project_Path): When both
+       Target_Name and Runtime_Name are not empty string, add to the
+       project path the two directories .../lib/gnat and .../share/gpr
+       related to the runtime.
+       * prj-env.ads (Initialize_Default_Project_Path): New String
+       parameter Runtime_Name, defaulted to the empty string.
+
+2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * frontend.adb: Guard against the case where a configuration
+       pragma may be split into multiple pragmas and the original
+       rewritten as a null statement.
+       * sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
+       pragma using Insert_Before rather than Insert_Action. This
+       takes care of the configuration pragma case where Insert_Action
+       would fail.
+
+2015-01-06  Bob Duff  <duff@adacore.com>
+
+       * a-coboho.ads (Element_Access): Add "pragma
+       No_Strict_Aliasing (Element_Access);". This is needed because
+       we are unchecked-converting from Address to Element_Access.
+       * a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
+       result to be 1.
+
+2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Remove the
+       restriction which prohibits volatile actual parameters with
+       enabled external propery Async_Writers to act appear in procedure
+       calls where the corresponding formal is of mode OUT.
+
+2015-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * gnat_ugn.texi: Bump @copying's copyright year.
+
+2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/64492
+       * gcc-interface/Makefile.in (../stamp-tools): Reinstate dropped code.
+
+2015-01-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcc-interface/misc.c (internal_error_function): Use xasprintf instead
+       of unchecked asprintf.
+
+\f
+Copyright (C) 2015 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.
index d3ac70a738f8415cba66ab11b3d92d65b87d0df2..946c140be5aab0c350b7eeead4f893a4b7a1bd20 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 1992-2015, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2016, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -45,7 +45,7 @@ package Gnatvsn is
    --  Note: Makefile.in uses the library version string to construct the
    --  soname value.
 
-   Current_Year : constant String := "2015";
+   Current_Year : constant String := "2016";
    --  Used in printing copyright messages
 
    Verbose_Library_Version : constant String := "GNAT Lib v" & Library_Version;