OSDN Git Service

gcc/ada/
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index e85a5a0..cefae39 100644 (file)
+2007-11-14  Samuel Tardieu  <sam@rfc1149.net>
+
+       * adaint.c init.c initialize.c link.c: Remove system-specific
+       sections of non-supported Interix target.
+
+       * s-osinte-interix.ads: Removed.
+
+       * i-cstrin.ads (chars_ptr): Make it a C convention type.
+
+2007-11-13  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Add a comment at the beginning of the package
+       explaining why in general 'Unchecked_Access must be used instead
+       of 'Access.
+
+       * sem_prag.adb (Process_Convention): Move the test for the
+       entity on which the Convention pragma applies down to also
+       forbid pragma Convention on enumeration literals reached
+       through renamings.
+
+2007-11-10  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Revert previous change for this file as it will
+       generate an error when this package is instantiated from a
+       local context.
+
+2007-11-07  Samuel Tardieu  <sam@rfc1149.net>
+
+       * a-tasatt.adb: Type Wrapper should be declared in comment instead
+       of already declared type Node_Access.
+       Use 'Access instead of 'Unchecked_Access when applicable. Local
+       lifetime is the one of the package.
+       (Set_Value): W is allocated on the heap.
+
+       * g-socket.adb: Use 'Access instead of 'Unchecked_Access when
+       applicable.
+       (Get_Socket_Option): Optlen formal of C_Getsockopt is of an anonymous
+       access type.
+       (Receive_Socket): Fromlen formal of C_Recvfrom is of an anonymous
+       access type.
+
+       * s-taasde.adb: Use 'Access instead of 'Unchecked_Access when
+       applicable.
+       (elaboration code): Timer_Queue lifetime is the one of the
+       package.
+
+       * tracebak.c (i386 alternative): Remove useless comparaison
+       which is always false; LOWEST_ADDRESS is 0 and is never greater
+       than an unsigned integer.
+
+       * sem_attr.adb (Analyze_Attribute): Remove duplicate identical
+       embedded check for "Ada_Version >= Ada_05".
+
+2007-11-07  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (make_aligning_type): Set the mode of the RECORD_TYPE we
+       craft and expand comment.
+
+2007-11-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lang-specs.h: Move translation of -fRTS= after -gnatez switch.
+
+2007-10-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * misc.c (gnat_handle_option): Replace call to abort with
+       call to gcc_unreachable.
+       (gnat_init): Likewise.
+       (gnat_expand_expr): Likewise.
+       (fp_prec_to_size): Likewise.
+       (fp_size_to_prec): Likewise.
+
+2007-10-23  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/33608
+       * tracebak.c: #undef abort after including system.h.
+
+2007-10-20  Danny Smith <dannysmith@users.sourceforge.net>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
+       s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
+       for win32 targets.
+       (EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.
+
+2007-10-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-osinte-tru64.adb: (Hide_Yellow_Zone): Add On parameter.
+       Set the protection status of the guard page based on the value of On.
+
+       * s-osinte-tru64.ads: (Hide_Yellow_Zone): Add On parameter.
+
+       * s-taprop-tru64.adb: (Enter_Task): Pass True to Hide_Yellow_Zone.
+       (Exit_Task): Pass False to Hide_Yellow_Zone.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, 
+       s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb,
+       a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, 
+       checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, 
+       freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, 
+       gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, 
+       mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, 
+       prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, 
+       sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, 
+       s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads,
+       uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, 
+       a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, 
+       a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, 
+       a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, 
+       a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, 
+       a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb:
+       Minor reformatting.
+       Add Unreferenced and Warnings (Off) pragmas for cases of
+       variables modified calls where they are IN OUT or OUT parameters and
+       the resulting values are not subsequently referenced. In a few cases,
+       we also remove redundant code found by the new warnings.
+
+       * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, 
+       sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb,
+       sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb,
+       sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new
+       warning controlled by -gnatw.o that warns on cases of out parameter
+       values being ignored.
+
+2007-10-15  Geert Bosch  <bosch@adacore.com>
+
+       * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus.
+
+       * expect.c: Initial port to arm-mentor-nucleus.
+       Use kill for __gnat_kill() on VMS.
+
+2007-10-15  Emmanuel Briot  <briot@adacore.com>
+
+       * ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
+       value.
+       (Xref_Record): Change type for Line, since in the case of a reference to
+       a predefined entity (as happens for array index types), the line is set
+       to 0.
+       Add support for parsing multiple array index types info, or
+       multiple inherited interfaces info. This information cannot be stored
+       in Xref_Entity_Record, which only supports a single instance of Tref_*,
+       and is therefore stored in the list of references instead. It has a
+       special treatement later on in tools that use this information.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * debug.adb: Document use of -gnatd.a and -gnatd.I
+
+       * layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
+
+2007-10-15  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Case Access,
+       Unchecked_Access, and Unrestricted_Access. Cleanup code that takes
+       care of access to class-wide interface types plus removal of bizarre
+       conversion of tagged object to access type (reported by Gary
+       Dismukes). After this patch there is no need to perform any
+       additional management on these nodes in Expand_Interface_Actuals.
+
+       * exp_disp.adb (Expand_Interface_Actuals): Code cleanup. Remove code
+       that handles use of 'Access and 'Unchecked_Access applied to
+       actuals covering interface types. Such code is now
+       centralized in Expand_N_Attribute_Reference.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Procedure): Keep separate the initialization
+       of tagged types whose ultimate ancestor is a CPP type.
+       (Freeze_Array_Type): For a packed array type, generate an initialization
+       procedure if the type is public, to handle properly a client that
+       specifies Normalize_Scalars.
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Actual_Index_Expression): When the expansion occurs
+       inside a generic body, retrieve the full view of the entry family
+       discrete subtype if available.
+
+2007-10-15  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+       attempt to generate stubs for hidden primitive operations.
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-specific.adb (Support_For_Libraries): New function,
+       returning None, used when there is no platform specific body for
+       MLib.Tgt.Specific.
+
+2007-10-15  Bob Duff  <duff@adacore.com>
+
+       * sem_case.adb, sem_ch13.adb, lib-sort.adb: Replace use of Heap_Sort_A
+       (passing'Unrestricted_Access of nested subprograms to Sort) with use of
+       the generic Heap_Sort_G, in order to avoid trampolines.
+
+2007-10-15  Vasiliy Fofanov  <fofanov@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * vx_stack_info.c: New file.
+
+       * i-forbla-unimplemented.ads: New file.
+
+       * Makefile.in: i-forbla-unimplemented.ads: a variant of i-forbla.ads
+       for unsupported configurations; use it on VMS targets instead of the
+       real one.
+       (EXTRA_LIBGNAT_SRCS,EXTRA_LIBGNAT_OBJS for VxWorks): Include
+       vx_stack_info.{c,o} that contains the routine __gnat_get_stack_info
+       used by VxWorks targets to have access to task-specific data and be
+       able to extract the stack boundaries for stack checking.
+       Use system-vms-ia64.ads on ivms.
+
+       * Make-lang.in: Update dependencies.
+
+       * sysdep.c (__gnat_get_stack_info): Move to a standalone file
+       (vx_stack_info.c).
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+
+       * snames.adb, snames.ads: Add new standard name runtime_library_dir
+
+       * prj.ads (Language_Config): Add new component Runtime_Library_Dir
+
+       * prj-attr.adb: Add project level attribute Runtime_Library_Dir
+
+       * prj-env.adb (Create_Mapping_File): Do not put an entry if the path of
+       the source is unknown.
+
+       * prj-ext.adb: Spelling error fix
+
+       * prj-nmsc.adb (Check_Ada_Name): Reject any unit that includes an Ada
+       95 reserved word in its name.
+       (Process_Project_Level_Array_Attributes): Process new attribute
+       Runtime_Library_Dir.
+
+       * prj-part.adb (Parse_Single_Project): Do not check the name of the
+       config project against the user project names.
+
+       * prj-proc.adb (Expression): In multi-language mode, indexes that do
+       not include a dot are always case insensitive.
+       (Process_Declarative_Items): Ditto
+       (Process_Project_Tree_Phase_1): Set Success to False in case an error is
+       detected.
+
+       * prj-util.adb (Value_Of (In_Array)): When Force_Lower_Case_Index is
+       True, compare both indexes in lower case.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * rtsfind.adb: (Load_RTU): Turn off style checks for Load call
+
+2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): In the case of a box
+       association for an access component, add an association with null as
+       the expression. Remove testing for array subtypes and the setting in
+       that case of Ctyp to the array component type, which prevented proper
+       inclusion of an association for null-initialized arrays. Collapse
+       condition that tests for array subtypes into just a test of
+       Is_Partially_Initialized_Type (which already covers arrays anyway).
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb: Minor code reformatting.
+       (Check_Generic_Child_Unit): Iterate over the homonym chain in order to
+       find the parent package which may have been hidden by local
+       declarations.
+
+2007-10-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Build_Derived_Concurrent_Type): Set the Is_Constrained
+       flag of derived concurrent types, taking into account the flag setting
+       on the parent subtype and any new set of discriminants.
+
+2007-10-15  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch4.adb: Minor code and comment reformatting.
+       (Analyze_Allocator): When the designated type of an unconstrained
+       allocator is a record with unknown discriminants or an array with
+       unknown range bounds, emit a detailed error message depending on the
+       compilation mode and whether the designated type is limited.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * system-vms-ia64.ads: New file.
+
+       * system-vms_64.ads: Minor comment fix.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Find_Corresponding_Spec): If the previous entity is a
+       body generated for a function with a controlling result that is a null
+       extension, discard the generated body in favor of the current explicit
+       one.
+
+2007-10-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Find_Controlling_Arg): Examine the call node before
+       examining its original form, to handle properly operator calls that
+       have been rewritten.
+
+2007-10-15  Olivier Hainque  <hainque@adacore.com>
+
+       * tb-alvms.c (tb_entry_t, __gnat_backtrace): Store a frame pointer
+       instead of a procedure value in each traceback entry.
+
+       * g-trasym-vms-alpha.adb (Symbolic_Traceback): Pass frame pointer
+       instead of procedure value to TBK$SYMBOLIZE.
+
+       * s-traent-vms.adb (PV_For): Rename as FP_For and access the proper
+       field.
+       (TB_Entry_For): Account for the PV/FP renaming.
+
+       * s-traent-vms.ads (Traceback_Entry): Rename PV component into FP and
+       add comment.
+       (Null_TB_Entry): Account for change of component name.
+       (PV_For): Rename as FP_For.
+
+2007-10-15  Tristan Gingold  <gingold@adacore.com>
+
+       * trans.c (gnat_to_gnu): Remove the padding structure more often.
+       This optimize assignment to over-aligned record.
+
+2007-10-15  Emmanuel Briot  <briot@adacore.com>
+
+       * xref_lib.adb (Get_Full_Type): Add support for the 'h' entity type, ie
+       interfaces.
+
+       * xr_tabls.adb (Add_Reference): Add support for the new 'R' reference
+       type, for dispatching calls.
+
+2007-10-15  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * gnat_ugn.texi: Add documentation for switches --version and --help
+       for the GNAT tools gnatbind, gnatlink, gnatmake, gnatchop, gnatname,
+       gnatxref, gnatfind, gnatls, and gnatclean.
+       Document -gnatw.o.
+       Mention attribute Excluded_Source_Dirs
+       Replace obsolescent attribute Locally_Removed_Files with attribute
+       Excluded_Source_Files.
+       Improve documentation of -u (gnatbind)
+       Document how to do reliable stack checking for the environmental task
+       on iVMS.
+
+       * gnat_rm.texi: Rewrite section about No_Implicit_Dynamic_Code.
+       Document attribute Excluded_Source_Files and indicate that attribute
+       Locally_Removed_Files is obsolescent.
+
+2007-10-15  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-vms.ads: Fix value of MSG_WAITALL.
+
+       * gen-soccon.c: 
+       Update documentation to note that OpenVMS 8.3 or later must be used
+       to generate g-soccon-vms.ads.
+
+       * atree.adb: Add ??? comment
+
+       * exp_util.adb: Minor reformatting.
+       Add ??? comment in Kill_Dead_Code.
+
+2007-10-15  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads: Comment clarification
+
+       * exp_ch4.adb (Expand_N_Allocator): Code cleanup.
+       (Expand_N_Op_Eq): Improve handling of array equality with -gnatVa
+
+       * lib.ads: Comment update
+
+       * init.c: Minor reformatting.
+
+       * sem_attr.adb: Minor formatting
+
+       * osint-b.ads: Minor reformatting
+
+       * sem_ch9.adb: Implement -gnatd.I switch
+
+       * g-comlin.adb: (Start): Fix handling of empty command line.
+
+       * gnatcmd.adb (GNATCmd): Do not put the -rules in the -cargs section,
+       even when -rules follows the -cargs section.
+
+2007-10-08  Ollie Wild  <aaw@google.com>
+
+       * misc.c (LANG_HOOKS_PUSHDECL): Replaced lhd_return_tree with
+       gnat_return_tree.
+       (gnat_init_gcc_eh): Replaced gnat_eh_runtime_type with
+       gnat_return_tree.
+       (gnat_eh_runtime_type): Removed.
+       (gnat_return_tree): New function.
+
+2007-10-08  Ben Elliston  <bje@au.ibm.com>
+
+       PR ada/33454
+       Revert:
+       2007-08-31  Ben Elliston  <bje@au.ibm.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+       when compiling for powerpc64-*-linux.
+       * system-linux-ppc64.ads: New file.
+
+2007-09-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Mapped location support
+       * back_end.adb (Call_Back_End): Pass information about source
+       files instead of units to gigi.
+       * gigi.h (struct File_Info_Type): New.
+       (gigi): Rename and change type of number_units parameter, change
+       type of file_info_ptr parameter.
+       * trans.c (number_files): New global variable.
+       (gigi): Rename and change type of number_units parameter, change
+       type of file_info_ptr parameter.
+       If mapped location support is enabled, create the isomorphic mapping
+       between source files and line maps.
+       (Sloc_to_locus): If mapped location support is enabled, translate
+       source location into mapped location.
+       (annotate_with_node): Rename into set_expr_location_from_node.
+       Call set_expr_location instead of annotate_with_locus.
+       (Pragma_to_gnu): Adjust for above change.
+       (Loop_Statement_to_gnu): Likewise.
+       (call_to_gnu): Likewise.
+       (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+       (gnat_to_gnu): Likewise.
+       (add_stmt_with_node): Likewise.
+       (add_cleanup): Likewise.
+       * utils.c (gnat_init_decl_processing): Do not set input_line.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch8.adb (Analyze_Use_Type): Code cleanup.
+       (Applicable_Use): Emit a warning when a package tries to use itself.
+       (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type
+       is already in use or the package where it is declared is in use or is
+       declared in the current package.
+       (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type.
+
+       * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb,
+       s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb,
+       s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend-vms.adb, a-calend.adb: 
+       Add a section on leap seconds control along with two entities used to
+       enable and disable leap seconds support. The array Leap_Second_Times is
+       now constant and contains hard time values pre-generated. Remove
+       all elaboration code used to populate the table of leap seconds.
+
+       * bindgen.adb: 
+       Add entity Leap_Seconds_Support to the list of global run-time variables
+       along with a comment on its usage and values.
+       (Gen_Adainit_Ada): Add code to generate the declaration and import of
+       Integer variable Leap_Seconds_Support. Set its value to zero (disabled)
+       or one (enabled) depending on the presence of binder switch "-y".
+       (Gen_Adainit_C): Add code to generate the declaration of external int
+       __gl_leap_seconds_support. Set is value to zero (disabled) or one
+       (enabled) depending on the presence of binder switch "-y".
+
+       * init.c: Add __gl_leap_seconds_support to the list of global values
+       computed by the binder.
+
+2007-09-26  Jerome Guitton  <guitton@adacore.com>
+
+       * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+       s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb,
+        s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb,
+       s-taprop-posix.adb (Stop_Task): New function, dummy implementation.
+
+       * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function.
+
+       * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time
+       function which can be called by the debugger to interrupt the tasks of
+       an Ada application asynchronously, as needed on VxWorks.
+       (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks.
+
+       * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration,
+       renamed from Stop_All_Tasks. Update comments.
+       (Stop_All_tasks): New function declaration.
+
+2007-09-26  Olivier Hainque  <hainque@adacore.com>
+
+       * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around
+       #include <utime.h> and #define GCC_RESOURCE_H before
+       #include <sys/wait.h>.
+       Add more protections in __gnat_translate_vms.
+
+       * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before
+       #include <sys/wait.h>.
+
+2007-09-26  Thomas Quinot  <quinot@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed.
+
+       * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+       where it belongs.
+
+       * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+       * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist,
+       where it belongs.
+
+       * sem_dist.ads: Minor comment fix
+
+       * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO.
+
+2007-09-26  Javier Miranda  <miranda@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-tags.adb: 
+       (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of
+        indirection added to the HT_Link component of the TSD. This is required
+        to statically allocate the TSD.
+
+       * a-tags.ads: 
+       Minor reordering of the declarations in the private part. Required to
+       add a level of indirection to the contents of the TSD component HT_Link.
+       This is required to statically allocate the TSD.
+
+       * decl.c (gnat_to_gnu_entity) <object>: Do not exclude objects with
+       Is_Statically_Allocated set from constant objects.
+       Do not make exported constants created by the compiler volatile.
+       (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken
+       as read-only.
+
+       * trans.c (Identifier_to_gnu): For constants, unshare initializers
+       before returning them.
+
+       * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the
+       public part of the package.
+       (Make_DT): Move HT_Link component out of the TSD record. For this
+       purpose Make_DT now declares a separate object that stores the
+       HT_Link value, and initializes the TSD component with the address
+       of this new object. The addition of this level of indirection is
+       required to statically allocate the TSD because the TSD cannot
+       have variable components.
+       (Expand_Interface_Conversion): Improve the expanded code.
+       (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity.
+
+       * sem_disp.adb (Check_Dispatching_Operation): In case of a body
+       declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---,
+       if we are building static dispatch tables then we must not generate
+       extra code to register the primitive because the dispatch table will
+       be built at the end of the library package; otherwise we notify that
+       we cannot build the static dispatch table.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address
+       overlays.
+
+       * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays
+       (Analyze_Record_Representation_Clause): Suppress junk warning for
+       missing component clause.
+       (Analyze_Attribute_Definition_Clause, case Address): Apply the special
+       tests for controlled type overlay to composites with controlled
+       components.
+       (Analyze_Record_Representation_Clause): Add reference for component name
+
+2007-09-26  Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True
+       for thunks associated with interface types.
+
+       * einfo.ads: Improve documentatation of Is_Internal
+       (Is_Thunk): New attribute applicable to subprograms. True for thunks
+       associated with interface types.
+       Extensive comment fixes regarding flags that appear in all entities. The
+       documentation is now consistent for all such flags (there were a number
+       of errors in the documentation in this regard).
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup.
+
+       * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any
+       of these procedures are passed a function call that already has
+       build-in-place actuals (testing new flag
+       Is_Expanded_Build_In_Place_Call). Set the flag on the function call in
+       the case where processing continues.
+       (Expand_Call): If the call is generated from a thunk body then we
+       propagate the extra actuals associated with the accessibility
+       level of the access type actuals.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field
+       of each extra formal of a protected operation to reference the
+       corresponding extra formal of the subprogram denoted by the
+       operation's Protected_Body_Subprogram.
+       
+       * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on
+       N_Function_Call nodes.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set
+
+       * debug.adb: Add d.s flag.
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the
+       debug variable so that it won't be initialized when pragma
+       Initialize_Scalars is in effect.
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Remove check for preelaborable
+       initialization of a full view. This is moved to
+       Analyze_Package_Specification.
+
+       * sem_ch7.adb (Analyze_Package_Specification): Add check for
+       preelaborable initialization of a full view in entity loop.
+       (Uninstall_Declarations): If entity is a use-visible compilation unit,
+       its child units are use-visible only if they are visible child units.
+
+       * sem_util.adb (Is_Preelaborable_Expression): New function to determine
+       whether an expression can be used within a type declaration that
+       requires preelaborable init.
+       (Check_Components): Replace inline code that does partial checking for
+       preelaborable default expressions with call to
+       Is_Preelaborable_Expression.
+       (Has_Preelaborable_Initialization): In the case of a generic actual
+       subtype, (that is, Is_Generic_Actual is True), return the result of
+       applying Has_Preelaborable_Initialization to the generic actual's base
+       type.
+
+2007-09-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a
+       call to Jan_1_Day _Of_Week to optimize its performance.
+       (Is_Leap): Move the routine to the scope of Week_In_Year.
+       (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the
+       weekday on which January 1 falls of Year - 1 and Year + 1. This function
+       avoids calling Time_Of and Split, thus making it more efficent.
+       (Week_In_Year): Reimplemented in oder to follow ISO 8601.
+
+       * g-calend.ads (Week_In_Year): Change comment to reflect new
+       implementation.
+
+2007-09-26  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.ads, g-comlin.adb (Command_Line_Configuration,
+       Command_Line): New types
+       (Define_Alias, Define_Prefix, Free): New subprograms. These provide
+       support for defining how switches can be grouped on a command line (as
+       is the case for -gnatw... for GNAT), and how simple switches can be
+       used as aliases for more complex switches (-gnatwa is same as
+       -gnatwbcef...)
+       (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram
+       (Start, Current_*): New subprograms
+       Added support for parsing an array of strings in addition to the real
+       command line.
+       (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to
+        be moved from the body to the private part of the spec.
+       (*): All subprograms now have an extra parameter with default value to
+       specify which parser should be used. For backward compatibility, it
+       defaults to parsing the command line of the application. They were also
+       modified to properly handle cases where each of the argument does not
+       start at index 1 (which is always true for Ada.Command_Line, but not
+       when processing any Argument_List).
+       (Free): New subprogram
+       (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch,
+       Argument): New subprograms
+       (Switch_Parameter_Type): New enum, which clarifies the code. The extra
+       special characters like ':', '=',... are now handled in a single place,
+       which makes the code more extensible eventually.
+       (Getopt, Full_Switch): When the switch was returned as part of the
+       special character '*', make sure it is prepended by the switch character
+       ('-' in general), so that the application knows whether "foo" or "-foo"
+       was specified on the command line.
+
+2007-09-26  Florian Villoing  <villoing@adacore.com>
+
+       * g-dirope.adb (Remove_Dir): In case we are removing directories
+       recursively, make sure that if an exception is raised during the
+       processing, the current working directory is reset to its initial
+       value before propagating the exception.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * gnatbind.adb: If there are several ALI files specified and there is
+       a main program to bind, the first ALI is expected to contain the main
+       subprogram and the names of the binder generated files will be derived
+       from the first ALI file name.
+       (Gnatbind): Fix insertion character in invocation of Error_Msg
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (Check_Files): Do not include sources that have been
+       removed by attributes Exclude_Source_Files or Locally_Removed_Files.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-xref.ads, lib-xref.adb: The entry for array types now carries
+       information about each of its index types, following the type
+       reference for its component type.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * make.adb: (Kill): New procedure (__gnat_kill imported)
+       (Running_Compile, Outstanding_Compiles): Global variables that
+       were previously local to procedure Compile_Sources.
+       (Sigint_Intercepted): Send signal SIGINT to all outstanding
+       compilation processes.
+
+       (Gnatmake): If project files are used, create the mapping of all the
+       sources, so that the correct paths will be found.
+
+       * prj-env.ads, prj-env.adb (Create_Mapping): New procedure
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads
+
+       * prj.ads, prj.adb (Default_Language): Remove function, no longer used
+       Replace components Compiler_Min_Options and Binder_Min_Options with
+       Compiler_Required_Switches and Binder_Required_Switches in record
+       Language_Config.
+       Remove components Default_Language and Config in Project_Tree_Data,
+       no longer used.
+
+       * prj-attr.adb: New attributes Required_Switches (<language>) in
+       packages Compiler and Binder.
+
+       * prj-nmsc.adb: Major rewrite of the processing of configuration
+       attributes for gprbuild. No impact on GNAT tools.
+
+       * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer
+       process configuration attributes: this is done in Prj.Nmsc.Check.
+       (Recursive_Process): Make a full copy of packages inherited from project
+       being extended, instead of a shallow copy.
+       (Process_Project_Tree_Phase_1): New procedure
+       (Process_Project_Tree_Phase_1): New procedure
+       (Process): Implementation now uses the two new procedures
+
+       * prj-util.adb (Executable_Of): Get the suffix and the default suffix
+       from the project config, not the tree config that no longer exists.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * Make-lang.in: Update dependencies..
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * osint.adb, osint.ads: Minor reformatting
+
+       * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure
+
+2007-09-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95
+       message to cite use of <> in aggregate component associations rather
+       than wrongly indicating use of limited aggregates.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
+       Address_Taken.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
+       ancestor of the derived type, the operations are inherited from the
+       primary dispatch table of the parent.
+       (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
+       when the context is an explicit type conversion.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
+       rule for qualified expressions properly, to detect improper conversions
+       and resolve some cases of overloading.
+
+2007-09-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Resolve_Call): If the call is dispatching, generate the
+       proper kind of reference to the primitive operation, for better source
+       navigation.
+       (Valid_Conversion): A tagged conversion is legal if both operands are
+       tagged.
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_warn.adb (Check_References): Catch more cases of unreferenced
+       packages.
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * snames.adb, snames.ads: Change Include_Option to Include_Switches
+
+2007-09-26  Robert Dewar  <dewar@adacore.com>
+
+       * s-wchstw.adb: provide messages for run time unit exceptions
+
+       * a-witeio.adb: Minor reformatting
+
+       * exp_ch13.adb: Minor reformatting
+
+2007-09-26  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Revise gnatmetric qualifiers.
+       Add qualified for the new gnatbind option '-y'
+
+       * gnat_ugn.texi: Revise the gnatmetric section.
+       Add entry for new gnatbind option '-y'.
+
+       * gnat_rm.texi: Minor spelling correction.
+       Document restriction on overlaying controlled types
+
+2007-09-26  Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Link_Executables): Do not fail when the root project has
+       no sources, but is an extending project.
+
+2007-09-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c: Fix misplaced #define.
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (build_unary_op) <ADDR_EXPR> [INDIRECT_REF]: Propagate
+       the TYPE_REF_CAN_ALIAS_ALL flag to the result.
+
+2007-09-21  Olivier Hainque  <hainque@adacore.com>
+
+       * utils.c (type_for_nonaliased_component_p): Return false for
+       all AGGREGATE_TYPEs.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
+       object covered by 13.3(19) volatile.
+
+2007-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/26797
+       PR ada/32407
+       * utils.c (unchecked_convert): Use a subtype as the intermediate type
+       in the special VIEW_CONVERT_EXPR case.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * types.ads, a-charac.ads, freeze.adb: Minor reformatting.
+
+       * a-except.adb, g-hesora.adb, g-speche.adb, lib.adb, lib.ads,
+       lib-load.adb, lib-writ.adb, s-assert.adb, s-carun8.adb,
+       s-casuti.adb, s-crc32.adb, s-exctab.adb, s-htable.adb, s-imgenu.adb,
+       s-mastop.adb, s-memory.adb, s-memory.ads, s-secsta.adb, s-soflin.adb,
+       s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-stache.adb, s-stalib.adb,
+       s-stoele.adb, s-strcom.adb, s-strops.adb, s-traceb.adb, s-traent.adb,
+       s-wchcnv.adb, s-wchcon.adb, s-wchjis.adb, s-addope.adb, s-except.adb,
+       s-os_lib.adb, s-string.adb, s-utf_32.adb, a-elchha.adb,
+       a-chlat1.ads, a-elchha.ads, a-except.ads, g-hesora.ads, g-htable.ads, 
+       g-speche.ads, par-prag.adb, restrict.adb, restrict.ads, s-assert.ads, 
+       s-carun8.ads, s-casuti.ads, s-crc32.ads, sem_ch11.adb, sem_prag.adb, 
+       s-exctab.ads, s-htable.ads, s-imgenu.ads, s-mastop.ads, snames.adb, 
+       snames.ads, snames.h, s-purexc.ads, s-secsta.ads, s-soflin.ads, 
+       s-sopco3.ads, s-sopco4.ads, s-sopco5.ads, s-stache.ads, s-stalib.ads, 
+       s-stoele.ads, s-strcom.ads, s-strops.ads, s-traceb.ads, s-traent.ads, 
+       s-unstyp.ads, s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-addope.ads, 
+       s-except.ads, s-os_lib.ads, s-string.ads, s-utf_32.ads: Implement
+       pragma Compiler_Unit and adds it to relevant library units.
+
+2007-09-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): An others association with
+       a box need not correspond to any component.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * g-thread.ads: Document use of "with GNAT.Threads" to ensure loading
+       the tasking version of the Ada run time when foreign threads are
+       present and there are no explicit Ada tasks or tasking constructs.
+
+       * gnat_rm.texi: Clarify documentation of GNAT.Threads.
+
+2007-09-12  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * bindusg.adb (Display): Correct comment for switch -X. Add a line for
+       the usage of switch -y.
+
+       * switch-b.adb (Scan_Binder_Switches): Set flag Leap_Seconds_Support
+       when switch -y is present.
+
+       * opt.ads: Add binder flag Leap_Seconds_Support used to enable/disable
+       leap seconds in Ada.Calendar and its children.
+
+2007-09-12  Jose Ruiz  <ruiz@adacore.com>
+
+       * a-extiti.ads (Timer): The discriminant is a "not null access
+       constant" in the Reference Manual.
+       (Cancel_Handler): Cancelled is an out parameter in the Reference Manual.
+
+2007-09-12  Robert Dewar  <dewar@adacore.com>
+
+       * a-swuwha.adb: Remove junk RM header
+
+2007-09-12  Vincent Celier  <celier@adacore.com>
+
+       * g-bytswa-x86.adb (Swap2, Swap4, Swap8): Remove explicit "in" mode
+       indicator
+
+       * g-bytswa.ads: Minor reformatting
+
+2007-09-12  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-solaris-64.ads, g-soccon-hpux-ia64.ads: 
+       Add new constant Thread_Blocking_IO, always True by default, set False
+       on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+2007-09-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-dsaser.ads (Get_Local_Partition_Id, Get_Passive_Partition_Id):
+       Added renames for corresponding functions in System.Partition_Interface.
+
+2007-09-12  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.in: Remove VMS specific System.CRTL packages which are no
+       longer needed.
+
+       * s-crtl-vms64.ads: Removed.
+
+2007-09-12  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: For a subtype
+       with discriminant constraints, generalize the code for BIT_FIELDs
+       to PACKED fields of constant size and propagate DECL_PACKED.
+
+2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (array_type_has_nonaliased_component): New predicate.
+       (gnat_to_gnu_field) <E_Array_Type>: Invoke the above predicate to
+       set the TYPE_NONALIASED_COMPONENT flag on the type.
+       <E_Array_Subtype>: Likewise.
+       * gigi.h (type_for_nonaliased_component_p): Declare.
+       * utils.c (type_for_nonaliased_component_p): New predicate.
+       (create_field_decl): Invoke the above predicate to set the
+       DECL_NONADDRESSABLE_P flag on the field.
+
+2007-09-11  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
+       in library level record type entities if we are generating statically
+       allocated dispatch tables.
+
+       * exp_disp.adb (Make_Tags/Make_DT): Replace previous code
+       importing/exporting the _tag declaration by new code
+       importing/exporting the dispatch table wrapper. This change allows us
+       to statically allocate of the TSD.
+       (Make_DT.Export_DT): New procedure.
+       (Build_Static_DT): New function.
+       (Has_DT): New function.
+
+       * freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
+       True_Constant and Current_Value. Required to statically
+       allocate the dispatch tables.
+       (Check_Allocator): Make function iterative instead of recursive.
+       Also return inner allocator node, when present, so that we do not have
+       to look for that node again in the caller.
+
+2007-09-11  Jan Hubicka <jh@suse.cz>
+
+       * misc.c (gnat_expand_body): Kill.
+       (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+
+2007-09-10  Robert Dewar  <dewar@adacore.com>
+
+       * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
+       mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+       mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+       mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
+       ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
+       bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
+       bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
+       butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
+       comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
+       elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
+       err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
+       exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
+       exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
+       exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
+       exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
+       exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
+       exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
+       exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
+       exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
+       exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
+       exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
+       exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
+       fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
+       get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
+       gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
+       gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
+       gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
+       gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
+       gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
+       gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
+       inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
+       lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
+       lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
+       make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
+       mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
+       mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
+       mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
+       mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
+       osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
+       osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
+       par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
+       par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
+       par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
+       par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
+       par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
+       prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
+       prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
+       prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
+       prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
+       prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
+       prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
+       prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
+       rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
+       scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
+       sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
+       sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
+       sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
+       sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
+       sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
+       sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
+       sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
+       sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
+       sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
+       sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
+       sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
+       sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
+       sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
+       sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
+       stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
+       styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
+       switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
+       switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
+       tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
+       treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
+       types.h, uintp.h, urealp.h, usage.adb, usage.ads,
+       validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
+       xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
+       xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
+       gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
+       mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
+       symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
+       mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
+       mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
+
+2007-09-10  Emmanuel Briot  <briot@adacore.com>
+
+       * s-regpat.adb (Parse_Character_Class): Fix handling of empty character
+       classes ("[]").
+
+2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * adaint.c (__gnat_translate_vms): new function.
+
+2007-09-10  Gary Dismukes  <dismukes@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
+       create an abstract subprogram in the case of 'Input. For 'Output we now
+       create a real spec/body when the type is abstract, since it can
+       potentially be called.
+       (Predefined_Primitive_Bodies): Now allow the creation of a predefined
+       body for 'Output when the type is abstract (only the creation of the
+       body for 'Input is excluded when the type is abstract).
+       (Stream_Operation_OK): Add an additional condition in the return
+       statement, so that False will be returned for TTS_Stream_Input if the
+       associated tagged type is an abstract extension. Add comments for
+       return statement.
+       (Expand_N_Object_Declaration): For the case of a shared passive
+       variable, insert init proc call only after the shared variable
+       procedures have been processed, because the IP call needs to undergo
+       shared passive variable reference expansion, which requires these
+       procedures to be available (and elaborated).
+
+2007-09-10  Vincent Celier  <celier@adacore.com>
+
+       * prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
+       parameter Runtime_Project.
+
+2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
+       given a box association, the type of the component is discriminated,
+       and the value of the discriminant is the discriminant of the enclosing
+       type, retrieve its value from the aggregate itself, where it must have
+       been supplied.
+
+       * sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
+       to remove other spurious ambiguities on arithmetic operations involving
+       literals and addresses, on systems where Address is a visible integer
+       type, when the operator is called in functional notation.
+       (Try_Primitive_Operation): Within an instance, a call in prefixed form
+       is legal when the types match, even if the operation is currently
+       hidden.
+
+2007-09-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Build_Local_Package): A formal package with no
+       associations is legal if all formals have defaults. It is not
+       equivalent to a formal declared with a box.
+
+2007-09-10  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Add qualifier for the new gnatmetric '-lratio' option
+
+2007-09-10  Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Add description of the new '-lratio' option
+       Update 7.3.1 section about availability of the feature.
+
+2007-09-10  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_smem.ads, exp_smem.adb (Make_Shared_Var_Procs): Return last
+       inserted node.
+
+2007-09-10  Olivier Hainque  <hainque@adacore.com>
+
+       * Makefile.in: (mips-irix section): Activate build of libgmem.
+
+2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
+       x87 registers.
+
+2007-09-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
+       a debug renaming declaration specially.
+
+2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
+       which a constant renaming is treated as a normal object declaration.
+       * trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
+       the N_Indexed_Component case.
+       <N_Indexed_Component>: Fall through to above case.
+       <N_Object_Renaming_Declaration>: Return true for all composite types.
+
+2007-09-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (make_packable_type): If the new type has been given BLKmode,
+       try again to get an integral mode for it.
+
+2007-09-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Re-apply accidentally reverted change:
+
+       2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * raise-gcc.c (get_region_description_for, get_call_site_action_for,
+       get_action_description_for): Replace _Unwind_Word with _uleb128_t 
+       and _Unwind_SWord with _sleb128_t.
+
+2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (convert_with_check): Update call to real_2expN.
+
+2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * trans.c (Compilation_unit_to_gnu): Use set_cfun.
+       * utils.c (end_subprog_body): Likewise.
+
+2007-09-03  Nick Clifton  <nickc@redhat.com>
+
+       * Make-lang.in: Change copyright header to refer to version 3 of
+       the GNU General Public License and to point readers at the
+       COPYING3 file and the FSF's license web page.
+       * ada-tree.def, nmake.adt, nlists.h, snames.h, utils.c,
+       Makefile.rtl, Makefile.in, config-lang.in, uintp.h, urealp.h,
+       namet.h, decl.c, utils2.c, lang.opt, elists.h, atree.h, types.h,
+       treeprs.adt, lang-specs.h, cuintp.c, stringt.h, gnatbl.c:
+       Likewise.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       PR ada/4720
+
+       * gnatchop.adb, gnatfind.adb, gnatlink.adb, gnatls.adb, 
+       gnatname.adb, gnatxref.adb, gprep.adb, clean.adb gnatbind.adb
+       (Check_Version_And_Help): New procedure in package Switch to process
+       switches --version and --help.
+       Use Check_Version_And_Help in GNAT tools
+
+       * make.adb:  Ditto.
+       (Compile_Sources): Make sure that sources that are "excluded" are not
+       compiled.
+       (Gnatmake): Do not issue -aO. to gnatbind and only issue -I- if a
+       project file is used.
+       (Version_Switch): Remove, moved to Switch
+       (Help_Switch): Remove, moved to Switch
+       (Display_Version): Remove, moved to Switch
+
+       * switch.ads, switch.adb (Check_Version_And_Help): New procedure in
+       package Switch to process switches --version and --help.
+       (Display_Version): New procedure
+
+       * gnatvsn.ads, gnatvsn.adb (Copyright_Holder): New function.
+
+2007-08-31  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.adb (Internal_Tag): Protect the run-time against wrong
+       internal tags.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine.
+       (Mark_Non_Null): If the node for which we just generated an access check
+       is a reference to an *in* parameter and the reference appears in the
+       declarative part of a subprogram body, mark the node as known non null.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * einfo.ads, einfo.adb: New flag Is_Raised (Flag224). Update the
+       structure of E_Exception to reflect the new flag.
+       (Is_Raised, Set_Is_Raised): New inlined routines.
+       Update the usage of available flag to reflect the addition of Is_Raised.
+       (Is_Raised, Set_Is_Raised): Bodies of new routines.
+       (Write_Entity_Flags): Write the status of flag Is_Raised.
+       (Is_Descendent_Of_Address): New entity flag, to simplify handling of
+       spurious ambiguities when integer literals appear in the context of an
+       address type that is a visible integer type.
+
+       * sem_ch11.adb (Analyze_Exception_Handler): Add code to warn on local
+       exceptions never being raised.
+       (Analyze_Raise_Statement): When analyzing an exception, mark it as being
+       explicitly raised.
+
+2007-08-31  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise
+       statement when compiling under restriction No_Exceptions_Proparation.
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Build_Record_Init_Proc): If there is a static
+       initialization aggregate for the type, generate itype references for
+       thetypes of its (sub)components, to prevent out-of-scope errors in gigi.
+
+2007-08-31  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch8.adb (Expand_N_Package_Renaming_Declaration): In the case of a
+       library-level package renaming, pass the declaration associated with
+       the renaming's special debug variable to Qualify_Entity_Names to ensure
+       that its encoded name is properly qualified.
+
+       * exp_dbug.adb (Qualify_All_Entity_Names): Check for a variable entity
+       occurring in the list of entities to qualify, and do not attempt to
+       traverse an entity list in that case. Variables associated with
+`      library-level package renamings can now occur in the table.
+
+       * exp_dbug.ads: Revise documentation of the encoding for renaming
+       declarations.
+
+2007-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * layout.adb (Layout_Type): Use Underlying_Type to determine whether an
+       access type points to an unconstrained array.
+
+2007-08-31  Hristian Kirtchev  <kirtchev@adacore.com>
+
+        * restrict.adb, namet.adb, par-util.adb: Remove redundant type
+       conversion.
+
+       * sem_res.adb (Resolve_Qualified_Expression): Add machinery to detect
+       simple redundant qualifications. The check is performed whenever the
+       expression is a non-overloaded identifier.
+       (Resolve_Type_Conversion): Enchance the redundant type conversion check
+       to include loop parameters.
+       (Valid_Conversion): Avoid generation of spurious error message.
+
+2007-08-31  Bob Duff  <duff@adacore.com>
+
+       * par-ch4.adb (P_Simple_Expression): Fold long sequences of
+       concatenations of string literals into a single literal, in order to
+       avoid very deep recursion in the front end, which was causing stack
+       overflow.
+
+       * sem_eval.adb (Eval_Concatenation): If the left operand is the empty
+       string, and the right operand is a string literal (the case of "" &
+       "..."), optimize by avoiding copying the right operand -- just use the
+       value of the right operand directly.
+
+       * stringt.adb (Store_String_Chars): Optimize by growing the
+       String_Chars table all at once, rather than appending characters one by
+       one.
+       (Write_String_Table_Entry): If the string to be printed is very long,
+       just print the first few characters, followed by the length. Otherwise,
+       doing "pn(n)" in the debugger can take an extremely long time.
+
+       * sem_prag.adb (Process_Interface_Name): Replace loop doing
+       Store_String_Char with Store_String_Chars.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * prj-attr.adb: Add new attribute Excluded_Source_Files
+
+       * prj-nmsc.adb: Use attribute Excluded_Source_Files before
+       Locally_Removed_Files.
+
+       * snames.ads, snames.adb: New standard name Excluded_Source_Files
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context
+       clauses of subunits, ignore limited_with_clauses that are illegal and
+       have not been fully analyzed.
+
+2007-08-31  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb: The predicate Is_Descendent_Of_Address is now an entity
+       flag, for effiency. It is called when analyzing arithmetic operators
+       and also for actuals in calls that are universal_integers. The flag is
+       set for the predefined type address, and for any type or subtype
+       derived from it.
+
+       * sem_ch4.adb (Analyze_One_Call): Reject an actual that is a
+       Universal_Integer, when the formal is a descendent of address and the
+       call appears in user code.
+       (Analyze_Selected_Component): if the prefix is a private extension, the
+       tag component is visible.
+
+       * sem_util.ads, sem_util.adb: Remove Is_Descendent_Of_Address, now an
+       entity flag.
+
+2007-08-31  Robert Dewar  <dewar@adacore.com>
+
+       * s-fileio.adb (Open): Normalize file name to lower case in non-case
+       sensitive file name systems to avoid unexpected mismatch in Vista.
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * symbols-vms.adb (Initialize): Read symbol files with continuation
+       lines
+       (Finalize): If symbol is long, split the line
+
+2007-08-31  Vincent Celier  <celier@adacore.com>
+
+       * fmap.ads: Minor comment updates
+
+2007-08-31  GNAT Script  <nobody@adacore.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2007-08-31  Bob Duff  <duff@adacore.com>
+
+       * sinfo.ads: Minor comment fix.
+
+2007-08-31  Thomas Quinot  <quinot@adacore.com>
+
+       * stand.ads: (Standard_Debug_Renaming_Type): Make comment consistent
+       with implementation.
+       Documentation cleanup only.
+
+2007-08-31  Sergey Rybin  <rybin@adacore.com>
+
+       * vms_data.ads: Add new qualifier /STMT_NAME_ON_NEW_LINE for the new
+       gnatpp '--separate-stmt-name' option.
+       Add new qualifier /USE_ON_NEW_LIN for the new gnatpp '--use-on-new-line'
+       option.
+
+       * gnat_ugn.texi: Add description for the new gnatpp
+       '--separate-stmt-name' and '--use-on-new-line' options.
+
+2007-08-31  Ben Elliston  <bje@au.ibm.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS): Use system-linux-ppc64.ads
+       when compiling for powerpc64-*-linux.
+       * system-linux-ppc64.ads: New file.
+
+2007-08-22  Krister Walfridsson  <cato@df.lth.se>
+
+       * env.c ( __gnat_clearenv): Use the __gnat_unsetenv mechanism for
+       NetBSD.
+
+2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * misc.c (gnat_type_max_size): Constify.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+
+       * cstand.adb (Create_Standard): Create an entity for a zero-sized type
+       associated with Standard_Debug_Renaming_Type, to be used as the type of
+       the special variables whose names provide debugger encodings for
+       renaming declarations.
+
+       * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
+       (Set_Debug_Renaming_Link): Change to set Node25.
+       (Write_Field13_Name): Remove case for E_Enumeration_Literal.
+       (Write_Field25_Name): Add case for E_Variable to output
+       "Debug_Renaming_Link".
+       (Write_Field23_Name): Correct the output string for "Limited_View".
+
+       * exp_dbug.adb: Add with and use of Tbuild.
+       (Debug_Renaming_Declaration): Replace creation of an enumeration type
+       and literal with creation of a variable of type
+       Standard_Debug_Renaming_Type whose name encodes both the renamed object
+       and the entity of the renaming declaration.
+       (Qualify_Entity_Name): Add the delayed qualification of the entity name
+       part of the name of a variable that has a Debug_Renaming_Link.
+
+       * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
+       special type to be associated with variables that provide debugger
+       encodings for renaming declarations.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
+       ancestor part given by an aggregate to test for an unchecked conversion,
+       since this can occur in some cases when the ancestor part is a function
+       call, and we don't want to fall into the recursive call to this
+       procedure in that case.
+
+       * exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
+       stream attributes on limited types to account for user-specified
+       attributes as well as whether Input (resp. Output) becomes available
+       due to Read (resp. Write) being available for the type. Change Boolean
+       variable to the more accurate name
+       Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
+       double-"not" predicate at beginning of return statement to more
+       understandable form.
+
+       * exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
+       return has an associated N_Handled_Sequence_Of_Statements, then wrap it
+       in a block statement and use that as the first statement of the
+       expanded return rather than incorrectly using the handled sequence as
+       the first statement.
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
+       operation, generate an explicit freeze node for it rather than
+       generating extra formals, to ensure that gigi has the proper order of
+       elaboration for anonymous subtypes in the signature of the subprograms.
+       (Build_In_Place_Formal): Move assertion to beginning of loop.
+       (Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
+       applied to a function call (occurs for some cases of 'Input).
+       (Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
+       applied to a function call (occurs for some cases of 'Input).
+
+       * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
+       2005, generate an extended return statement enclosing the result object
+       and 'Read call.
+
+       * freeze.adb (Freeze_Record_Type): Extend the current management of
+       components that are access type with an allocator as default value: add
+       missing support to the use of qualified expressions of the
+       allocator (which also cause freezing of the designated type!)
+       (Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
+       dispatching operation, since extra formals may be needed by calls to
+       build-in-place functions (such as stream 'Input).
+
+       * sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
+       formals for 'Constrained and accessibility level in the case of a
+       predefined dispatching operation.
+
+       * exp_util.adb (Insert_Actions): A protected body is a valid insertion
+       point, no need to find the parent node.
+
+2007-08-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_attr.adb (Attribute_Priority): Add missing support for entries
+       and entry barriers.
+
+2007-08-16  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
+       is not really required and can introduce regression with the debugger.
+       The original problem is fixed with the patch written for checks.adb.
+
+2007-08-16  Thomas Quinot  <quinot@adacore.com>
+
+       * g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
+       Range_Check on Allocated_Table.
+
+2007-08-16  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Collect_Arguments): Call Test_If_Relative_Path with
+       Including_Non_Switch set to False.
+       (Gnatmake): For the compiler, call Test_If_Relative_Path with
+       Including_Non_Switch set to False.
+
+       * makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
+       parameter Including_Non_Switch, defaulted to True. When
+       Including_Non_Switch is False, options that are not switches and
+       appear as relative path are not converted to absolute paths.
+
+2007-08-16  Nicolas Roche  <roche@adacore.com>
+
+       * Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
+       makefiles
+
+       * Make-lang.in: Update dependencies
+
+2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch10.adb (Has_With_Clause): If the name of the with clause
+       currently inspected is a selected component, retrieve the entity of
+       its selector.
+       (Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
+       from the immediate ancestor of Main_Unit_Entity.
+       (Install_Limited_Withed_Unit): Do not install the limited view of
+       package P if P is reachable through an ancestor chain from package C
+       and C also has a with clause for P in its body.
+       (Has_Limited_With_Clause): New routine.
+       (Has_With_Clause): New routine.
+
+2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
+       generic for an enclosing instance is a global reference, even though
+       its scope is the enclosing instance.
+
+2007-08-16  Gary Dismukes  <dismukes@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
+       initialize a limited object.
+       (Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
+       13/2 and 14/2.
+       Make sure Has_Complex_Representation is inherited by derived type.
+
+2007-08-16  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
+       exception case
+
+2007-08-16  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): If the operation
+       implements an operation inherited from a progenitor interface, verify
+       that they are subtype-conformant.
+
+2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
+       (Resolve): Alphabetize local variables. Add new variable From_Lib. When
+       the statement which is being resolved comes from a predefined library
+       unit, all non-predefined library interpretations are skipped.
+       (Resolve_Op_Concat): If string concatenation was folded in the parser,
+       but the "&" is user defined, give an error, because the folding would
+       be wrong.
+
+       * sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
+       the parser has folded a long sequence of concatenations of string
+       literals.
+
+       * trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
+       and "JMP_BUF" variables as artificial.
+       (N_String_Literal): Do not use alloca for very long string literals. Use
+       xmalloc/free instead. Otherwise the stack might overflow.
+
+       * utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
+       compiler.
+
+2007-08-16  Vincent Celier  <celier@adacore.com>
+
+       * vms_conv.adb (Process_Argument): Ensure that project related options
+       are not put in the -cargs section when using GNAT COMPILE.
+
+2007-08-16  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_ugn.texi: Add note on preprocessing (output file not written)
+
+2007-08-16  Thomas Quinot  <quinot@adacore.com>
+
+       * a-tags.adb: Minor reformatting.
+
+2007-08-16  Bob Duff  <duff@adacore.com>
+
+       * sem_type.ads, sem_ch4.adb: Minor reformatting.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads, 
+       s-osinte-interix.ads, system-interix.ads: Removed.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+       calls to Check_Within_Time_Bounds.
+       ("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+       (Difference): Account for possible rounding of the resulting difference
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+       par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+       s-osinte-solaris.adb, s-osinte-solaris.ads,
+       s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+
+       * styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+       switch -gnatyS. Enable -gnatyS in GNAT style check mode
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads: 
+       Suppress unmodified in-out parameter warning in some cases
+       This patch is a also fairly significant change to the way suppressible
+       checks are handled.
+
+       * checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+       needed for access to concurrent record types generated by the expander.
+       (Generate_Range_Check): When generating a temporary to capture the
+       value of a conversion that requires a range check, set the type of the
+       temporary before rewriting the node, so that the type is always
+       properly placed for back-end use.
+       (Apply_Float_Conversion_Check): Handle case where the conversion is
+       truncating.
+       (Get_Discriminal): Code reformatting. Climb the scope stack looking
+       for a protected type in order to examine its discriminants.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb, 
+       a-stwisu.adb, a-strsup.adb: Fix warnings for range
+       tests optimized out.
+
+       * exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+       (Get_Allocator_Final_List): For the case of an anonymous access type
+       that has a specified Associated_Final_Chain, do not go up to the
+       enclosing scope.
+       (Expand_N_Type_Conversion): Test for the case of renamings of access
+       parameters when deciding whether to apply a run-time accessibility
+       check.
+       (Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+       aggregate code before allocator, and ahead of declaration for
+       temporary, to prevent access before elaboration when the allocator is
+       an actual for an access parameter.
+       (Expand_N_Type_Conversion): On an access type conversion involving an
+       access parameter, do not apply an accessibility check when the
+       operand's original node was an attribute other than 'Access. We now
+       create access conversions for the expansion of 'Unchecked_Access and
+       'Unrestricted_Access in certain cases and clearly accessibility should
+       not be checked for those.
+
+       * exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+       includes a type conversion of a packed component that has been expanded,
+       recover the original expression for the object, and use this expression
+       in the post-call assignment statement, so that the assignment is made
+       to the object and not to a back-end temporary.
+       (Freeze_Subprogram): In case of primitives of tagged types not defined
+       at the library level force generation of code to register the primitive
+       in the dispatch table. In addition some code reorganization has been
+       done to leave the implementation clear.
+       (Expand_Call): When expanding an inherited implicit conversion,
+       preserve the type of the inherited function after the intrinsic
+       operation has been expanded.
+
+       * exp_ch2.ads, exp_ch2.adb
+       (Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+       of an entry formal appearing in an assignment statement does not assign
+       to the formal.
+       (Expand_Current_Value): Instead of calling a routine to determine
+       whether the prefix of an attribute reference should be optimized or
+       not, prevent the optimization of such prefixes all together.
+
+       * lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+       component whose prefix is known to be of an access type is an implicit
+       dereference and does not assign to the prefix.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+       itype is visited, make an entry into table to link associated node and
+       new itype.
+       Add comments and correct harmless error in Build_NCT_Hash_Tables
+       (Array_Aggr_Subtype): Associate each itype created for an index type to
+       the corresponding range construct, and not to the aggregate itself. to
+       maintain a one-to-one correspondence between itype and its associated
+       node, to prevent errors when complex expression is copied.
+       Fix mishandling of multiple levels of parens
+
+       * sem_aggr.adb: Create a limited view of an incomplete type, to make
+       treatment of limited views uniform for all visible declarations in a
+       limited_withed package.
+       (New_Copy_Tree): If hash table is being used and itype is visited,
+       make an entry into table to link associated node and new itype.
+       (Resolve_Record_Aggregate): Do not add an others box association for a
+       discriminated record component that has only discriminants, when there
+       is a box association for the component itself.
+
+       * par-ch4.adb: Fix mishandling of multiple levels of parens
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * comperr.adb: Fix problem with suppressing warning messages from gigi
+
+       * erroutc.ads, erroutc.adb, errout.ads, 
+       errout.adb (Write_Eol): Remove trailing spaces before writing the line
+       (Write_Eol_Keep_Blanks): New procedure to write a line, including
+       possible trailing spaces.
+       (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+       Fix problem with suppressing warning messages from back end
+       Improve handling of deleted warnings
+
+       * gnat1drv.adb: 
+       Fix problem with suppressing warning messages from back end
+       Handle setting of Static_Dispatch_Tables flag.
+
+       * prepcomp.adb: 
+       Fix problem with suppressing warning messages from back end
+
+       * exp_intr.adb: Improve handling of deleted warnings
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Improve -gnatdI to cover all cases of serialization
+       Add documentation of dZ, d.t
+
+       * sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+       serialization.
+       (Sprint_Node_Actual): Generate new output associated with implicit
+       importation and implicit exportation of object declarations.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+       to make treatment of limited views uniform for all visible declarations
+       in a limited_withed package.
+       Improve warnings for in out parameters
+       (Set_Related_Interaface/Related_Interface): Allow the use of this
+       attribute with constants.
+       (Write_Field26_Name): Handle attribute Related_Interface in constants.
+       Warn on duplicate pragma Preelaborable_Initialialization
+
+       * sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+       generation of a freezing node to ensure proper management of null
+       excluding access types in the backend.
+       (Create_Extra_Formals): Test base type of the formal when checking for
+       the need to add an extra accessibility-level formal. Pass the entity E
+       on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+       originally being done in a couple of cases), to ensure that the
+       Extra_Formals list gets set on the entity E when the first entity is
+       added.
+       (Conforming_Types): Add missing calls to Base_Type to the code that
+       handles anonymous access types. This is required to handle the
+       general case because Process_Formals builds internal subtype entities
+       to handle null-excluding access types.
+       (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+       functions that need it, even when not marked Requires_Overriding.
+       Improve warnings for in out parameters
+       (Analyze_Function_Return): Warn for disallowed null return
+       Warn on return from procedure with unset out parameter
+       Ensure consistent use of # in error messages
+       (Check_Overriding_Indicator): Add in parameter Is_Primitive.
+       (Analyze_Function_Return): Move call to Apply_Constraint_Check before
+       the implicit conversion of the expression done for anonymous access
+       types. This is required to generate the code of the null excluding
+       check (if required).
+
+       * sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+       A formal parameter is never publicly referenceable outside of its body.
+       (Check_References): For an unreferenced formal parameter in an accept
+       statement, use the same warning circuitry as for subprogram formal
+       parameters.
+       (Warn_On_Unreferenced_Entity): New subprogram, taken from
+       Output_Unreferenced_Messages, containing the part of that routine that
+       is now reused for entry formals as described above.
+       (Goto_Spec_Entity): New function
+       (Check_References): Do not give IN OUT warning for dispatching operation
+       Improve warnings for in out parameters
+       (Test_Ref): Check that the entity is not undefinite before calling
+       Scope_Within, in order to avoid infinite loops.
+       Warn on return from procedure with unset out parameter
+       Improved warnings for unused variables
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+       (Expand_N_Attribute_Reference): Further unify the handling of the
+       three forms of access attributes, using common code now for all three
+       cases. Add a test for the case of applying an access attribute to
+       an explicit dereference when the context is an access-to-interface
+       type. In that case we need to apply the conversion to the prefix
+       of the explicit dereference rather than the prefix of the attribute.
+       (Attribute_Version, UET_Address): Set entity as internal to ensure
+       proper dg output of implicit importation.
+       (Expand_Access_To_Type): Removed.
+       (Expand_N_Attribute_Reference): Merge the code from the three cases
+       of access attributes, since the processing is largely identical for
+       these cases. The substantive fix here is to process the case of a
+       type name prefix (current instance case) before handling the case
+       of interface prefixes.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+       (Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+       type that is an anonymous access to controlled object, establish
+       an associated finalization chain to avoid corrupting the global
+       finalization list when a dynamically allocated object designated
+       by such a component is deallocated.
+       (Make_Controlling_Function_Wrappers): Create wrappers for constructor
+       functions that need it, even when not marked Requires_Overriding.
+       (Initialize_Tag): Replace call to has_discriminants by call to
+       Is_Variable_Size_Record in the circuitry that handles the
+       initialization of secondary tags.
+       (Is_Variable_Size_Record): New implementation.
+       (Expand_N_Object_Declaration): Suppress call to init proc if there is a
+       Suppress_Initialization pragma for a derived type.
+       (Is_Variable_Size_Record): New subprogram.
+       (Build_Offset_To_Top_Functions): New implementation that simplifies the
+       initial version of this routine and also fixes problems causing
+       incomplete initialization of the table of interfaces.
+       (Build_Init_Procedure): Improve the generation of code to initialize the
+       the tag components of secondary dispatch tables.
+       (Init_Secondary_Tags): New implementation that simplifies the previous
+       version of this routine.
+       (Make_DT): Add parameter to indicate when type has been frozen by an
+       object declaration, for diagnostic purposes.
+       (Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+       diagnose attemps to freeze a subprogram when some untagged type of its
+       profile is a private type whose full view has not been analyzed yet.
+       (Freeze_Array_Type): Generate init proc for packed array if either
+       Initialize or Normalize_Scalars is set.
+       (Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+       constructing the new profile, copy the null_exclusion indicator for each
+       parameter, to ensure full conformance of the new body with the spec.
+
+       * sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+       Create wrappers for constructor functions that need it, even when not
+       marked Requires_Overriding.
+       (Covers): Handle properly designated types of anonymous access types,
+       whose non-limited views are themselves incomplete types.
+       (Add_Entry): Use an entity to store the abstract operation which hides
+       an interpretation.
+       (Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+       (Collect_Interps): Use Empty as an actual for Abstract_Op in the
+       initialization aggregate.
+       (Function_Interp_May_Be_Hidden): Rename to
+       Function_Interp_Has_Abstract_Op.
+       (Has_Compatible_Type): Remove machinery that skips interpretations if
+       they are labeled as potentially hidden by an abstract operator.
+       (Has_Hidden_Interp): Rename to Has_Abstract_Op.
+       (Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+       (Write_Overloads): Output the abstract operator if present.
+       (Add_Entry): Before inserting a new entry into the interpretation table
+       for a node, determine whether the entry will be disabled by an abstract
+       operator.
+       (Binary_Op_Interp_May_Be_Hidden): New routine.
+       (Collect_Interps): Add value for flag May_Be_Hidden in initialization
+       aggregate.
+       (Function_Interp_May_Be_Hidden): New routine.
+       (Has_Compatible_Type): Do not consider interpretations hidden by
+       abstract operators when trying to determine whether two types are
+       compatible.
+       (Has_Hidden_Interp): New routine.
+       (Set_May_Be_Hidden_Interp): New routine.
+       (Write_Overloads): Write the status of flag May_Be_Hidden.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+       types declared in the declarative part of a nested package body or in
+       the proper body of a stub.
+       (Set_All_DT_Position): Add missing check to avoid wrong assignation
+       of the same dispatch table slot to renamed primitives.
+       (Make_Select_Specific_Data_Table): Handle private types.
+       (Tagged_Kind): Handle private types.
+       (Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+       output of implicit importation and exportation.
+       (Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+       first formal of the thunk is always associated with the controlling
+       type. In addition perform the following code cleanup: remove formal
+       Thunk_Alias which is no longer required, cleanup evaluation of the
+       the controlling type, and update the documentation.
+       Replace occurrence of Default_Prim_Op_Count by
+       Max_Predef_Prims. Addition of compile-time check to verify
+       that the value of Max_Predef_Prims is correct.
+       (Check_Premature_Freezing): Apply check in Ada95 mode as well.
+       (Make_DT): Add parameter to indicate when type has been frozen by an
+       object declaration, for diagnostic purposes.
+       (Build_Static_Dispatch_Tables): New subprogram that takes care of the
+       construction of statically allocated dispatch tables.
+       (Make_DT): In case of library-level tagged types export the declaration
+       of the primary tag. Remove generation of tags (now done by Make_Tags).
+       Additional modifications to handle non-static generation of dispatch
+       tables. Take care of building tables for asynchronous interface types
+       (Make_Tags): New subprogram that generates the entities associated with
+       the primary and secondary tags of Typ and fills the contents of Access_
+       Disp_Table. In case of library-level tagged types imports the forward
+       declaration of the primary tag that will be declared later by Make_DT.
+       (Expand_Interface_Conversion): In case of access types to interfaces
+       replace an itype declaration by an explicit type declaration to avoid
+       problems associated with the scope of such itype in transient blocks.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_util.ads, exp_util.adb: 
+       This patch replaces a number of occurrences of explicit tests for N_Null
+       with calls to Known_Null. This improves tracking of null values, since
+       Known_Null also catches null constants, and variables currently known to
+       be null, so we get better tracking.
+       (Ensure_Defined): create an itype reference only in the scope of the
+       itype.
+       (Side_Effect_Free): A selected component of an access type that
+       denotes a component with a rep clause must be treated as not
+       side-effect free, because if it is part of a linked structure its
+       value may be affected by a renaming.
+       (Expand_Subtype_From_Expr): For limited objects initialized with build
+       in place function calls, do nothing; otherwise we prematurely introduce
+       an N_Reference node in the expression initializing the object, which
+       breaks the circuitry that detects and adds the additional arguments to
+       the called function. Bug found working in the new patch for statically
+       allocated dispatch tables.
+       (Is_Library_Level_Tagged_Type): New subprogram.
+       (Remove_Side_Effects): If the expression of an elementary type is an
+       operator treat as a function call.
+       (Make_Literal_Range): If the index type of the array is not integer, use
+       attributes properly to compute the constraint on the resulting aggregate
+       which is a string.
+
+       * freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+       class-wide type whose base type is an incomplete private type, leave
+       class-wide type unfrozen so that freeze nodes can be generated
+       properly at a later point.
+       (Freeze_Entity, array case): Handle case of pragma Pack and component
+       size attributre clause for same array.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * prj.ads, prj.adb: Update Project Manager to new attribute names for
+       gprbuild.
+       Allow all valid declarations in configuration project files
+       (Reset): Initialize all tables and hash tables in the project tree data
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Slash_Id): Change type to be Path_Name_Type
+       (Slash): Return a Path_Name_Type instead of a File_Name_Type
+
+       * prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+       gprbuild.
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-com.ads: 
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+       insensitive flag for attributes with optional index.
+       (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+       array attribute, put the index in lower case.
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-env.ads, prj-env.adb: 
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Get_Reference): Change type of parameter Path to Path_Name_Type
+
+       * prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+       removing '-' from the path to start with the first character of the
+       next directory.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-nmsc.ads, prj-nmsc.adb: 
+       Update Project Manager to new attribute names for ghprbuild
+       Allow all valid declarations in configuration project files
+       (Search_Directories): Detect subunits that are specified with an
+       attribute Body in package Naming. Do not replace a source/unit in the
+       same project when the order of the source dirs are known. Detect
+       duplicate sources/units in the same project when the order of the
+       source dirs are not known.
+       (Check_Ada_Name): Allow all identifiers that are not reserved words
+       in Ada 95.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+       (Look_For_Sources): If the list of sources is empty, set the object
+       directory of non extending project to nil.
+       Change type of path name variables to be Path_Name_Type
+       (Locate_Directory): Make sure that on Windows '/' is converted to '\',
+       otherwise creating missing directories will fail.
+
+       * prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, 
+       prj-part.ads, prj-part.adb:
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+       * prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+       insensitive flag for attributes with optional index.
+       (Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+       array attribute, put the index in lower case.
+       (Parse_Variable_Reference): Allow the current project name to be used in
+       the prefix of an attribute reference.
+
+       * prj-util.ads, prj-util.adb
+       (Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+       defaulted to False. When True, always check against indexes in lower
+       case.
+
+       * snames.ads, snames.h, snames.adb: 
+       Update Project Manager to new attribute names for gprbuild
+       Allow all valid declarations in configuration project files
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * opt.ads: Warning for non-local exception propagation now off by
+       default
+       New switch -gnatI to disable representation clauses
+       Implement new pragma Implicit_Packing
+
+       * usage.adb: 
+       Warning for non-local exception propagation now off by default
+       Add warning for unchecked conversion of pointers wi different
+       conventions.
+       New switch -gnatI to disable representation clauses
+
+       * usage.adb: new switch -gnatyS
+
+       * gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+       note that aggregates of anonymous array types are not flagged.
+       -gnatwc now includes membership tests optimized away
+       -gnatw.x warnings are now off by default
+       Added conditional compilation Appendix
+       Add documentation of -gnatI
+       Add documentation for new -gnatyS style check
+       Update documentation about SAL and auto-init on Windows.
+
+       * gnat_rm.texi: 
+       Add documentation for pragma Check_Name and 'Enabled attribute
+       Document that Eliminate on dispatching operation is ignored
+       Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+       Document pragma Main
+       Document pragma Implicit_Packing
+
+       * sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+       different conventions
+       New switch -gnatI to disable representation clauses
+
+       * switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+       recognized, report the invalid characters including "-gnat" instead of
+       just the first character in the switch.
+       New switch -gnatI to disable representation clauses
+       Set Warn_On_Object_Renames_Function true for -gnatg
+
+       * vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+       Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+       Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+       to switch -aP (add directory to project search dir).
+
+       * par-prag.adb: Implement new pragma Implicit_Packing
+
+       * sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+       type as having a non-standard representation, to force expansion on
+       conversion to related types.
+       (Analyze_Pragma): Warn on misspelled pragma
+       (Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+       Ensure consistent use of # in error messages
+       Implement pragma Implicit_Packing
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * targtyps.c (get_target_maximum_default_alignment): New function.
+       Maximum alignment
+       that the compiler might choose by default for a type or object.
+       (get_target_default_allocator_alignment): New function. Alignment known
+       to be honored by the target default allocator.
+       (get_target_maximum_allowed_alignment): New function. Maximum alignment
+       we might accept for any type or object on the target.
+       (get_target_maximum_alignment): Now synonym of maximum_default_alignment
+
+       * gigi.h (get_target_maximum_default_alignment): Declare new function.
+       (get_target_default_allocator_alignment): Likewise.
+       (get_target_maximum_allowed_alignment): Likewise.
+
+       PR ada/19037
+       * decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+       result of a function call, first try to use a stabilized reference for
+       a constant renaming too.
+       (validate_alignment): Use target_maximum_allowed_alignment instead of
+       MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+       (gnat_to_gnu_entity): Use common nodes directly.
+       (gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+       alignment and size for the object.
+       (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+       and N_Procedure_Call_Statement.
+       (takes_address): Rename to lvalue_required_p, add third parameter
+       'aliased' and adjust recursive calls.
+       <N_Indexed_Component>: Update 'aliased' from the array type.
+       <N_Selected_Component>: New case.
+       <N_Object_Renaming_Declaration>: New Likewise.
+       (Identifier_to_gnu): Adjust for above changes.
+       (maybe_stabilize_reference) <CONST_DECL>: New case.
+
+       * utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+       between type variants.
+       (build_simple_component_ref): Likewise.
+       (build_call_alloc_dealloc): Use target_default_allocator_alignment
+       instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+       aligning type circuitry for allocations from the default storage pool.
+       (build_allocator): Likewise.
+       (build_simple_component_ref): Manually fold the reference for a
+       constructor if the record type contains a template.
+
+       * utils.c (value_zerop): Delete.
+       (gnat_init_decl_processing): Emit debug info for common types.
+       (rest_of_record_type_compilation): If a union contains a field
+       with a non-constant qualifier, treat it as variable-sized.
+       (finish_record_type): Give the stub TYPE_DECL a name.
+       (rest_of_record_type_compilation): Likewise.
+       (convert) <CONSTRUCTOR>: New case.  Build a new constructor if
+       types are equivalent array types.
+       (create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+       even if the type is not passed by reference.
+       (static_ctors, static_dtors): Delete.
+       (end_subprog_body): Do not record constructors and destructors.
+       (build_global_cdtor): Delete.
+       (gnat_write_global_declarations): Do not call build_global_cdtor.
+
+       * lang-spARGET_VXWORKS_RTP is defined, append -mrtp when
+       -fRTS=rtp is specified.
+       If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+       specified.
+
+       * misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+       of the personality function with SJLJ exceptions.
+
+        * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+       the name of the personality function with SJLJ exceptions.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * par.ads, par.adb: Improve handling of extra right parens.
+       (Par): Remove flag From_Limited_With_Clause.
+
+       * par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+       Improve handling of extra right parens.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * par-tchk.adb (TF_Semicolon): Improve error recovery
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+       enumeration type, mark all literals as referenced.
+       (Eval_Attribute, case 'Image): If the argument is an enumeration
+       literal and names are available, constant-fold but mark nevertheless as
+       non-static.
+       Clean up function names.
+       (Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+       comment.
+       (Requires_Simple_Name_Prefix): Removed.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch11.adb: Improved warnings for unused variables
+
+       * sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+       is a synchronized interface, the derived type is limited.
+       (Analyze_Object_Declaration): Mark the potential coextensions in the
+       definition and expression of an object declaration node.
+       (Build_Derived_Type): For the completion of a private type declaration
+       with a derived type declaration, chain the parent type's representation
+       items to the last representation item of the derived type (not the
+       first one) if they are not present already.
+       (Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+       object declaration of forward references to tags.
+       (Access_Subprogram_Declaration): In Ada2005, anonymous access to
+       subprogram types can appear as access discriminants of synchronized
+       types.
+       (OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+       given in prefixed form as a selected component.
+       (Process_Discriminants): If not all discriminants have defaults, place
+       error message on a default that is present.
+       (Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+       extend a synchronized tagged type.
+       Improved warnings for unused variables
+       (Is_Visible_Component): Fix a visibility hole on a component inherited
+       by a private extension when parent is itself declared as a private
+       extension, and the derivation is in a child unit.
+       (Find_Hidden_Interface): Move spec from the package body.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb: Improve warnings on redundant assignments
+
+       * sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+       parameter
+       (Is_Synchronized_Tagged_Type): New subprogram that returns true
+       in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+       (Safe_To_Capture_Value): Can now return True for constants, even if Cond
+       is set to False. Improves handling of Known_[Not_]Null.
+       (Wrong_Type): Special case address arithmetic attempt
+       (Collect_Abstract_Interfaces): Add new formal to allow collecting
+       abstract interfaces just using the partial view of private types.
+       (Has_Abstract_Interfaces): Add new formal to allow checking types
+       covering interfaces using the partial view of private types.
+       (Is_Fully_Initialized_Type): Special VM case for uTag component. This
+       component still needs to be defined in this case, but is never
+       initialized as VMs are using other dispatching mechanisms.
+       (Abstract_Interface_List): For a protected type, use base type to get
+       proper declaration.
+       Improve warnings on redundant assignments
+       (Is_Variable): Handle properly an implicit dereference of a prefixed
+       function call.
+       (Build_Actual_Subtype): If this is an actual subtype for an
+       unconstrained formal parameter, use the sloc of the body for the new
+       declaration, to prevent anomalises in the debugger.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+       dispatching operation
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_aggr.ads, 
+       exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+       expanded aggregate code before allocator, and ahead of declaration for
+       temporary, to prevent access before elaboration when the allocator is
+       an actual for an access parameter.
+       (Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+       the TSD and the table of interfaces.
+       (Convert_To_Assignments): Augment the test for delaying aggregate
+       expansion for limited return statements to include the case of extended
+       returns, to prevent creation of an unwanted transient scope.
+       (Is_Static_Dispatch_Table_Aggregate): New subprogram.
+       (Expand_Array_Aggregate): Handle aggregates associated with
+       statically allocated dispatch tables.
+       (Expand_Record_Aggregate): Handle aggregates associated with
+       statically allocated dispatch tables.
+       (Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+       of anonymous access type.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+       is a variable that renames a slice, use the variable itself in the
+       expannsion when the renamed expression itself may be modified between
+       the declaration of the renaming and the array assignment.
+
+2007-08-14  Jerome Guitton  <guitton@adacore.com>
+
+       * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, 
+       s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, 
+       s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+       New functions; dummy implementations.
+
+       * s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+       functions, used to implement the multi-tasks mode routines on VxWorks.
+
+       * s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+       New functions, thin
+       binding to the VxWorks routines which have changed between VxWorks 5
+       and 6.
+       (Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+       which are not callable from a RTP.
+
+       * s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+       implemented for the multi-tasks mode on VxWorks 5 and 6.
+
+       * s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+
+       * s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+       functions.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, 
+       gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+       mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, 
+       mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb, 
+       mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 
+       mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+       mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+       procedure.
+       (Major_Id_Name): New function.
+       mlib-tgt.ads/mlib.tgt.adb:
+       (Library_Major_Minor_Id_Supported): New function, default returns True
+       Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+       (Build_Dynamic_Library): Add support for major/minor ids for shared libs
+       Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+       Implementation of Library_Major_Minor_Id_Supported returns False
+       clean.adb:
+       (Clean_Library_Directory): If major/minor ids are supported, clean all
+       library files.
+       Major update of the Project Manager and of the project aware tools,
+       including gprmake, so that the same sources in the GNAT repository
+       can be used by gprbuild.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+       * system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+       (GCC_ZCX_Support): Switch to True.
+       
+       * s-intman-solaris.adb (Notify_Exception): Call
+       Adjust_Context_For_Raise before raising, as expected for signal
+       handlers in general.
+       
+       * s-intman-posix.adb (Notify_Exception): Remove declaration of
+       Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+       to other implementation bodies.
+       
+       * s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+       be visible by multiple implementation bodies.
+       
+       * init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+       only for conditions coming from hardware.
+       [alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+       adjustments to signal context prior to exception raise from signal
+       handler.
+       (__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+       mode.
+       Solaris section: (__gnat_adjust_context_for_raise): New function.
+       Implementation of the machine context adjustments to perform prior to
+       raise from a signal handler. Version for both sparc and x86.
+       (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+       (__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+       prior to raising as expected for any handler, before possible nested
+       faults to make sure all the contexts in a chain have been adjusted by
+       the time we propagate.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+       (SYSTEM_INFO): New record.
+       (SetThreadIdealProcessor): New imported routine needed for supporting
+       task_info pragma on Windows.
+
+       * s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+       info can be applied to the current host.
+       (Create_Task): Set the ideal processor if information is present.
+
+       * s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+       a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+       * s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+       stack size and initial stack pointer value for a given task.
+       (Enter_Task): Get the stack attributes of the task we are entering and
+       let the stack checking engine know about them.
+
+       * s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+       Let the stack-checking engine know about the initial sp value and stack
+       size associated with the current task.
+       (Set_Stack_Info): If a stack base has been notified for the current
+       task, honor it. Fallback to the previous less accurate method otherwise.
+
+       * s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb: Create a limited view of an incomplete type, to make
+       treatment of limited views uniform for all visible declarations in a
+       limited_withed package.
+       Set flag indicating that a subprogram body for a child unit has a
+       generated spec.
+       (Analyze_Compilation_Unit): If unit is a subprogram body that has no
+       separate declaration, remove the unit name from visibility after
+       compilation, so that environment is clean for subsequent compilations.
+       (Install_Limited_Context_Clauses): Do not install a
+       limited_private_with_clause unless the current unit is a body or a
+       private child unit.
+       (Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+       in the same fashion.
+       (Install_Limited_Withed_Unit): Do not install a limited with clause if
+       it applies to the declaration of the current package body.
+       (Remove_Private_With_Clauses): If there is a regular with_clause for
+       the unit, delete Private_With_Clause from context, to prevent improper
+       hiding when processing subsequent nested packages and instantiations.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+       * adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+       dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+       representing absolute path names.
+       __gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+
+       * cstreams.c (__gnat_full_name for VxWorks): Use
+       __gnat_is_absolute_path to detect whether we need to add the current
+       directory to normalize the path.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, 
+       a-tags.adb (Displace): Associate a message with the raised CE
+       exception.
+       (To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+       To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+       To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+       spec.
+       (Default_Prim_Op_Count): Removed.
+       (IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+       Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+       Remove pragma Inline_Always.
+
+       * rtsfind.ads (Default_Prim_Op_Count): Removed
+       (Max_Predef_Prims): New entity
+       (RE_Expanded_Name): Removed
+       (RE_HT_Link): Removed
+       (RE_Iface_Tag): Remmoved
+       (RE_Ifaces_Table): Removed
+       (RE_Interfaces_Array): Removed
+       (RE_Interface_Data_Element): Removed
+       (RE_Nb_Ifaces): Removed
+       (RE_RC_Offset): Removed
+       (RE_Static_Offset_To_Top): Removed
+
+       * exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+       formal.
+       (Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+       Prim_Op_Count by Max_Predef_Prims.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * binde.adb (Elab_All_Links): Remove unnecessary call to
+       Generic_Separately_Compiled (if a unit satisfies this predicate, there
+       won't be an associated Afile).
+       (Elab_All_Links): Fail if a referenced unit cannot be found
+
+       * bindgen.adb: 
+       Fix comments in bindgen regarding consistency checks done in Bcheck:
+       the checks are made across units within a partition, not across several
+       partitions.
+       Fix generation of C binder file for VxWorks.
+
+       * lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+       Generic_May_Lack_ALI, more descriptive of the current use of the
+       predicate, and update documentation.
+
+       * lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+       reorganization and documentation update for the case of predefined
+       library generics (for which we do not reference an Afile).
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+       * s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+       s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+       s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+       s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+       s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+       s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+       s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+       s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+       exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+       s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+       s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+       a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+       s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+       g-altcon.adb: Minor reformatting
+
+       ada-tree.h: Delete empty line.
+
+       ali.ads: Minor reformatting
+       Clarification of comments.
+       Minor spelling correction
+
+       * exp_dbug.adb: Add Warnings Off to suppress new warning
+
+       * a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+       formal
+
+       * a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+       value
+
+       * a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+
+       * a-textio.ads: Reorder the standard input/output/error declarations
+       for consistency.
+
+       * g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+
+       * par-ch2.adb: Recognize RM specially in errout
+       Change 'R'M to RM in all error messages
+
+       * scng.adb: Recognize RM specially in errout
+
+       * sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+       N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+
+       * s-direio.adb: Add missing routine header box.
+
+       * sem_attr.ads: Add ??? comments
+
+       * sem_eval.adb: Recognize RM specially in errout
+       Change 'R'M to RM in all error messages
+
+       * sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+
+       * s-tasinf.ads: Fix minor comment typo.
+
+       * a-cihama.adb: Minor comment addition
+
+       * a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+       formal
+
+       * s-tasinf-tru64.ads: Fix minor comment typo.
+
+       * itypes.ads: Comment update.
+
+       * ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+       anymore.
+
+       * argv.c: Added protection against null gnat_argv and gnat_envp.
+
+       * bcheck.adb (Check_Consistency): Use correct markup character ({) in
+       warning message when Tolerate_Consistency_Errors is True.
+
+       * cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+       Any_Id, as this subprogram is only applicable to *type* entities (it
+       sets RM_Size). Instead initialize just Esize and Alignment.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+       * a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, 
+       a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
+       a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, 
+       a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+       a-coorse.ads (Next): Applied pragma Inline.
+       Make all Containers packages Remote_Types (unless they are already
+       Pure).
+       (Previous): applied pragma Inline
+       (Elements_Type): is now a record instead of an array
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+       of Set_Item.
+       (Set_Item): When the new item is an element of the currently allocated
+       table passed by reference, save a copy on the stack if we're going
+       to reallocate. Also, in Table.Set_Item, make sure we test the proper
+       variable to determine whether to call Set_Last.
+
+       * sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+       symbols-vms.adb, symbols-processing-vms-alpha.adb,
+       symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+       some occurrences of the pattern
+          T.Increment_Last;
+          T.Table (T.Last) := Value;
+       with a cleaner call to
+          T.Append (Value);
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+       derived type with interface progenitors use the analyzed formal as the
+       parent of the actual, to create renamings for all the inherited
+       operations in Derive_Subprograms.
+       (Collect_Previous_Instances): new procedure within of
+       Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+       unit being loaded, to ensure that the generation of global symbols is
+       consistent in different compilation modes.
+       (Is_Tagged_Ancestor): New function testing the ancestor relation that
+       takes progenitor types into account.
+       (Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+       traversing over the primitives of the formal and actual types to locate
+       any abstract subprograms of the actual type that correspond to a
+       nonabstract subprogram of the formal type's ancestor type(s), and issue
+       an error if such is found.
+       (Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+       Instantiate_Package_Body, Instantiate_Subprogram_Body):
+       Remove bogus guard around calls to Inherit_Context.
+       (Reset_Entity): If the entity is the selector of a selected component
+       that denotes a named number, propagate constant-folding to the generic
+       template only if the named number is global to the generic unit.
+       (Set_Instance_Env): Only reset the compilation switches when compiling
+       a predefined or internal unit.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+       parameter to determine whether operation applies to the prefix.
+       (Complete_Object_Operation): If actual has an access type and
+       controlling formal is not an in_parameter, reject the actual if it is
+       an access_to_constant type.
+       (Try_Primitive_Operation): If the type of the prefix is a formal tagged
+       type, the candidate operations are found in the scope of declaration of
+       the type, because the type has no primitive subprograms.
+       (Analyze_Selected_Component): If prefix is class-wide, and root type is
+       a private extension, only examine visible components before trying to
+       analyze as a prefixed call.
+       Change Entity_List to Type_To_Use, for better readability.
+       (Has_Fixed_Op): Use base type when checking whether the type of an
+       operator has a user-defined multiplication/division
+       (Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+       user-defined operators are available for fixed-point types.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+       formal At_Any_Place indicating, when True, that we want to test for
+       availability of the stream attribute at any place (as opposed to the
+       current visibility context only).
+       (Missing_Read_Write_Attributes): A stream attribute is missing for the
+       purpose of enforcing E.2.2(8) only if it is not available at any place.
+       Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+       when checking the legality of an extension aggregate in a preelaborable
+       package. Treat the literal null as a valid default expression in a
+       component declaration for a type with preelaborable initialization.
+       A limited interface is a legal progenitor for the designated type of a
+       remote access to class-wide type.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+       reference): Use correct entity as denoted entity for the selector of
+       the rewritten node.
+       (Find_Direct_Name): Add comment about Generate_Reference incorrectly
+       setting the Referenced_As_LHS flag for entities that are implicitly
+       dereferenced.
+       (Find_Type): If the type is an internally generated incomplete type,
+       mark the full view as referenced, to prevent spurious warnings.
+       (Find_Selected_Component, Has_Components): Handle properly non-limited
+       views that are themselves incomplete types.
+       Handle interfaces visible through limited-with clauses.
+       (Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+       subprogram generic actual for which we have generated a renaming.
+       Warn when the renaming introduces a homonym of
+       the renamed entity, and the renamed entity is directly visible.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+       appear in the subtree to the current allocator if it is not a static
+       coextension.
+       (Resolve_Allocator): Perform cleanup if resolution has determined that
+       the allocator is not a coextension.
+       (Resolve): Skip an interpretation hidden by an abstract operator only
+       when the type of the interpretation matches that of the context.
+       (Resolve): When looping through all possible interpretations of a node,
+       do not consider those that are hidden by abstract operators.
+       (Resolve_Actuals): When verifying that an access to class-wide object
+       is an actual  for a controlling formal, ignore anonymous access to
+       subprograms whose return type is an access to class_wide type.
+       (Resolve_Slice): If the prefix of the slice is a selected component
+       whose type depends on discriminants, build its actual subtype before
+       applying range checks on the bounds of the slice.
+       (Valid_Conversion): In an instance or inlined body, compare root types,
+       to prevent anomalies between private and public views.
+       (Resolve): Improve error message for ambiguous fixed multiplication
+       expressions that involve universal_fixed multiplying operations.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+       location to allow the correct generation of errors in case of
+       restrictions applied to the expanded code.
+       (Expand_Entry_Barrier): Remove all generated renamings for a barrier
+       function if the condition does not reference them.
+       (Expand_Entry_Body_Declarations): Mark the index constant as having a
+       valid value.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+       typecode parameters for a union (in a variant record), remove
+       extraneous layer of Any wrapping for member label.
+       (Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+       elabration statements, register the package with the name server
+       at the beginning, not at the end, of the elaboration statements so
+       that they can create remote access to subprogram values that designate
+       remote subprograms from the package.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+       values to compute the number of seconds since the Unix Epoc in order to
+       account for Daylight Savings Time. Perform special processing for dates
+       that are earlier than the Unix Epoc to obtain a negative number.
+
+2007-08-14  Emmanuel Briot  <briot@adacore.com>
+
+       * g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+       switches.
+
+2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+       binder-generated file is not in Ada.
+       Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+       recorded in the ALI file.
+       Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+       (Output_Source): Do nothing if parameter is No_Sdep_Id
+
+       * make.adb (Gnatmake): Do not rebuild an archive simply because a
+       shared library it imports has a later time stamp.
+       (Check): Resolve the symbolic links in the path name of the object
+       directory.
+       Check that the ALI file is in the correct object directory
+       Check if a file name does not correspond to the mapping of units
+       to file names.
+       (Display_Version): New procedure
+       (Initialize): Process switches --version and --help
+       Use type Path_Name_Type for path name
+
+2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
+
+       * impunit.adb: Re-organize System.Random_Numbers and
+       GNAT.Random_Numbers and add to builds.
+
+       * Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+
+       * s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+
+       * a-assert.ads, a-assert.adb: New files.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * layout.adb (Layout_Type): In the case of access-to-subprogram types,
+       if AAMP_On_Target is True, then the size of the type encompasses two
+       addresses (a static link and a subprogram address), except in the case
+       of library-level access types.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * output.ads, output.adb (Write_Eol): Remove trailing spaces before
+       writing the line.
+       (Write_Eol_Keep_Blanks): New procedure to write a line, including
+       possible trailing spaces.
+       (Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+       null-excluding access types.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+       that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+       of private types add missing check on matching interfaces in the
+       partial and full declarations.
+       (Analyze_Protected_Type): Code cleanup.
+       (Analyze_Task_Type): Code cleanup.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+       * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+       generated interface thunk.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+       obsolescent warning on application of 'Class to an incomplete type.
+
+       * s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+       prevent obsolescent warning on application of 'Class to an incomplete
+       type.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * s-fileio.adb (Is_Open): Add check for usability of the underlying
+       file stream.
+
+2007-08-14  Cyrille Comar  <comar@adacore.com>
+
+       * s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+       since it is potentially used in cases implying double finalization of
+       the same object.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-tasini.adb (Get_Stack_Info): Move this function to
+       System.Soft_Links.Tasking because it is common to the full and the
+       restricted run times.
+       (Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+       in SSL.Tasking.Init_Tasking_Soft_Links.
+
+       * s-solita.adb (Get_Stack_Info): Function moved from
+       System.Tasking.Initialization because it is common to the full and the
+       restricted run times.
+       (Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+       s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+       (PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+       parameter.
+
+       * s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+       guard to 12K.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-veboop.adb (SU): New named number initialized to
+       System.Storage_Unit.
+       (True_Val): The initialization expression is revised to use SU (=
+       Storage_Unit) rather than assuming 8 for the component size of an
+       unpacked Boolean array.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+       * tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+
+       * tb-ivms.c: New file.
+
+       * g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+
+2007-08-14  Geert Bosch  <bosch@adacore.com>
+
+       * i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+       s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+       Add required linker pragmas for automatically linking with the gnalasup
+       linear algebra support library, and the systems math library.
+       Rename cdot to cdotu and zdot to zdotu.
+       Update header comment to describe purpose of package.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+       an explicitly specified Associated_Final_Chain, use that list.
+       (Expand_N_Package_Body): Build dispatch tables of library level tagged
+       types.
+       (Expand_N_Package_Declaration): Build dispatch tables of library level
+       tagged types. Minor code cleanup.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * gnatchop.adb (Terminate_Program): Remove exception and use
+       Types.Terminate_Program instead.
+
+       * osint.ads, osint.adb (Current_Exit_Status): New global variable
+       (Find_Program_Name): Added protection against empty name.
+       (OS_Exit_Through_Exception): New procedure
+
+       * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+       (OS_Exit_Default): New procedure that contains the previous
+       implementation of procedure OS_Exit.
+       (Final_Value): Remove obsolete Interix stuff.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.ads: Reorganize example code so that it also works on
+       Windows XP.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+       * g-trasym.ads: AIX now supports symbolic backtraces.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+       units being loaded to detect circularities. A circularity may be
+       present even if the current chain of pending units to load starts from
+       a limited_with_clause.
+
+       * lib-load.ads: Change profile of Load_Unit to use a with_clause
+       rather than a boolean flag, in order to detect circularities in
+       with_clauses.
+
+       * par-load.adb: Use current with_clause in calls to Load_Unit, rather
+       than propagating the From_Limited_With flag, in order to handle
+       properly circularities involving with_clauses.
+
+2007-08-14  Nicolas Setton  <setton@adacore.com>
+
+       * link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+       warnings.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+       to build for libgnala.
+       libgnat: Add rules to build libgnala.a
+       (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+       target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+       Add s-osinte-vxworks-kernel.adb to the target pairs of the
+       kernel run-time lib for VxWorks 6, which would provide a different
+       implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+       x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+       running ZCX by default.
+       Add g-sttsne-locking to LynxOS version.
+       Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+       On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+
+       * system-darwin-x86.ads: New file.
+
+       * Make-lang.in: Delete files before copying onto them, so if they are
+       read-only, the copy won't fail.
+       Update dependencies
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+       * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+       naming scheme.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+       * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+       (Gcc): Initialize Gcc_Name at the first call
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Analyze_Package_Specification): Do not install private
+       with_clauses of the enclosing unit when analyzing the package
+       specification of a nested instance.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+       (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+       Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+       layout of N_Allocator.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+       * rtsfind.adb (Check_RPC): Add PCS version check.
+
+       * gnatvsn.ads, gnatvsn.adb: Add PCS version.
+       (Gnat_Free_Software): New function.
+
+       * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+       the PCS_Version value from s-parint, used to check that it is consistent
+       with what exp_dist expects.
+
+       * s-parint.ads (PCS_Version): New entity for checking consistency
+       between exp_dist and PCS.
+
+       * gen-soccon.c: (SO_REUSEPORT): New constant.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calfor.adb (Image (Duration; Boolean)): Change type of local
+       variable Sub_Second to Duration in order to accomodate a larger range
+       of arithmetic operations.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+       * g-sttsne-locking.ads: Move comments from spec to body.
+       * g-sttsne-locking.adb: Move comments from spec to body.
+       * g-sttsne-vxworks.ads: Removed.
+       * g-sttsne-vxworks.adb: Removed.
+
+2007-08-11  Ian Lance Taylor  <iant@google.com>
+
+       * misc.c (gnat_get_alias_set): Change return type to
+       alias_set_type.
+
+2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c, utils2.c: Fix whitespace in last change.
+
+2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * decl.c (compare_field_bitpos): Constify.
+       * utils2.c (compare_elmt_bitpos): Likewise.
+
+2007-07-27  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * s-osinte-kfreebsd-gnu.ads ((sigset_t_ptr): Removed, replaced by 
+       anonymous access type.
+       (pthread_sigmask): Now take an access sigset_t.
+
+2007-07-05  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+        * s-osinte-rtems.ads: Correct prototype of pthread_sigmask.
+       
+2007-06-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/25737
+       * misc.c (gnat_post_options): Do not force flag_tree_salias to 0.
+
+2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * trans.c (Attribute_to_gnu): When subtracting an
+       offset from a pointer, use POINTER_PLUS_EXPR with
+       NEGATE_EXPR instead of MINUS_EXPR.
+       (gnat_to_gnu): Likewise.
+       * utils.c (convert): When converting between
+       thin pointers, use POINTER_PLUS_EXPR and sizetype
+       for the offset.
+       * utils2.c (known_alignment): POINTER_PLUS_EXPR
+       have the same semantics as PLUS_EXPR for alignment.
+       (build_binary_op): Add support for the semantics of
+       POINTER_PLUS_EXPR's operands.
+       When adding an offset to a pointer, use POINTER_PLUS_EXPR.
+
+2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
+
+       * trans.c (Attribute_to_gnu): Use signed_or_unsigned_type_for instead
+       of get_signed_or_unsigned_type.
+       * misc.c (LANG_HOOKS_SIGNED_TYPE): Remove.
+
+2007-06-11  Bob Duff  <duff@adacore.com>
+            Thomas Quinot  <quinot@adacore.com>
+
+       * g-stsifd-sockets.adb (Create): Work around strange behavior of
+       'bind' on windows that causes 'connect' to fail intermittently, by
+       retrying the 'bind'.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-10  Duncan Sands  <baldrick@free.fr>
+
+       * decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather
+       than to void, for the fields when making a new fat pointer type.
+       (gnat_substitute_in_type): Now substitute_in_type.
+       * gigi.h (gnat_substitute_in_type): Likewise.  Adjust recursive calls.
+       * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge.
+       * utils.c (update_pointer_to): Update fat pointers by updating the
+       dummy node pointers used for the fields.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+        * g-soccon-freebsd.ads, g-soccon-vxworks.ads:,
+       g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
+       g-soccon-solaris.ads, g-soccon-vms.ads, g-soccon-tru64.ads:  Add new
+       constant Thread_Blocking_IO, always True by default, set False
+       on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+       * g-stheme.adb, g-sttsne.ads, g-sttsne-locking.ads,
+       g-sttsne-locking.adb, g-sttsne-vxworks.ads, g-sttsne-vxworks.adb: New
+       files.
+
+       * g-socthi-vxworks.ads, g-socthi-vxworks.adb,
+       g-socthi-vms.ads, g-socthi-vms.adb (Safe_Gethostbyname,
+       Safe_Gethostbyaddr, Safe_Getservbyname, Safe_Getservbyport): Use new
+       child package Task_Safe_NetDB
+       (Host_Error_Messages): Add stub body.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+       * g-soccon-mingw.ads: Add Windows-specific constants.
+       (Need_Netdb_Buffer): New constant.
+       (GNAT.Sockets.Thin.C_Inet_Addr, Windows version): Remove useless Ada
+       wrapper and import inet_addr(3) from the standard sockets library
+       directly instead.
+       (In_Addr): Add alignment clause.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-taster.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
+       s-osinte-irix.ads, s-interr-sigaction.adb, s-mastop-irix.adb,
+       s-osinte-hpux-dce.ads, s-osinte-interix.ads, s-osinte-solaris.ads,
+       s-taspri-solaris.ads, s-inmaop-vms.adb, s-interr-vms.adb,
+       s-mastop-vms.adb, s-osinte-vms.ads, s-tpopde-vms.adb,
+       s-osinte-mingw.ads, s-interr-vxworks.adb, i-cstrea-vms.adb,
+       a-diocst.adb, a-direio.adb, a-interr.adb, a-sequio.adb, a-siocst.adb,
+       a-ssicst.adb, a-storio.adb, a-ststio.adb, a-stwima.adb, a-tasatt.adb,
+       a-taside.adb, a-tiocst.adb, a-witeio.adb, a-wtcstr.adb, g-crc32.adb,
+       g-dirope.adb, g-dyntab.adb, g-memdum.adb, g-regexp.adb, g-spipat.adb,
+       g-spitbo.adb, g-string.adb, g-string.ads, g-table.adb, g-thread.adb,
+       i-cobol.adb, i-cpoint.adb, i-cstrea.adb, i-cstrin.adb, i-pacdec.adb,
+       s-addima.adb, s-arit64.adb, s-auxdec.adb, s-auxdec.ads,
+       s-auxdec-vms_64.ads, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
+       s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
+       s-direio.adb, s-fileio.adb, s-finimp.ads, s-geveop.adb, s-imgenu.adb,
+       s-pack03.adb, s-pack05.adb, s-pack06.adb, s-pack07.adb, s-pack09.adb,
+       s-pack10.adb, s-pack11.adb, s-pack12.adb, s-pack13.adb, s-pack14.adb,
+       s-pack15.adb, s-pack17.adb, s-pack18.adb, s-pack19.adb, s-pack20.adb,
+       s-pack21.adb, s-pack22.adb, s-pack23.adb, s-pack24.adb, s-pack25.adb,
+       s-pack26.adb, s-pack27.adb, s-pack28.adb, s-pack29.adb, s-pack30.adb,
+       s-pack31.adb, s-pack33.adb, s-pack34.adb, s-pack35.adb, s-pack36.adb,
+       s-pack37.adb, s-pack38.adb, s-pack39.adb, s-pack40.adb, s-pack41.adb,
+       s-pack42.adb, s-pack43.adb, s-pack44.adb, s-pack45.adb, s-pack46.adb,
+       s-pack47.adb, s-pack48.adb, s-pack49.adb, s-pack50.adb, s-pack51.adb,
+       s-pack52.adb, s-pack53.adb, s-pack54.adb, s-pack55.adb, s-pack56.adb,
+       s-pack57.adb, s-pack58.adb, s-pack59.adb, s-pack60.adb, s-pack61.adb,
+       s-pack62.adb, s-pack63.adb, s-pooloc.adb, s-poosiz.adb, s-scaval.adb,
+       s-sequio.adb, s-shasto.adb, s-stalib.ads, s-stratt.adb, s-strcom.adb,
+       s-taasde.adb, s-tasdeb.adb, s-tasuti.ads, s-tataat.ads, s-tpoben.ads,
+       s-valenu.adb, s-widenu.adb, s-wwdenu.adb, s-addope.adb, a-stzmap.adb,
+       a-ztcstr.adb, a-ztexio.adb, s-osinte-linux-hppa.ads: Replace
+       Unchecked_* by Ada.Unchecked_*
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-string.adb, s-proinf-irix-athread.adb, s-gloloc-mingw.adb,
+       s-tfsetr-default.adb, gnatfind.adb, gnatxref.adb, gprep.adb,
+       g-regexp.adb, g-regexp.ads, g-regpat.ads, g-tasloc.adb, g-tasloc.ads,
+       output.adb, switch-m.ads, tree_in.ads, tree_io.ads, indepsw.ads,
+       g-utf_32.adb, g-utf_32.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
+       a-zchuni.ads: Replace GNAT.xxx by System.xxx when appropriate.
+
+       * s-utf_32.adb, s-utf_32.ads, s-os_lib.adb, s-os_lib.ads, s-regexp.adb,
+       s-regexp.ads, s-regpat.adb, s-regpat.ads, s-string.adb, s-string.ads,
+       s-tasloc.adb, s-tasloc.ads: New files.
+
+2007-06-06  Bob Duff  <duff@adacore.com>
+
+       * g-expect-vms.adb: 
+       (Send_Signal, Close): Raise Invalid_Process if the process id is invalid.
+       * g-expect.ads, g-expect.adb (Send): Avoid useless copy of the string.
+       (Send_Signal, Close): Raise Invalid_Process if the process id is
+       invalid.
+       (Pattern_Matcher_Access): Is now a general access type to be able to
+       use aliased string.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * a-intnam-aix.ads: Adjust comment to account for SIGADAABORT change
+       (SIGEMT is now used instead of SIGTERM on AIX).
+
+       * s-osinte-aix.ads (Linker_Options): Use -pthread instead of -lpthreads.
+       (Time_Slice_Supported): Set to True.
+       Use SIGEMT instead of SIGTERM as SIGADAABORT.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-calend.ads, a-calend.adb, a-calend-vms.ads, a-calend-vms.adb ("-"
+       (Time, Time)): Use To_Relative_Time rather than manual calculation to
+       express the bounds of Duration as Time. Raise Time_Error when the
+       result is greater or equal to the higher bound of Duration (on the
+       margin case).
+       ("+" (Time, Duration)): Reorder code. Remove the declaration of constant
+       Ada_High_And_Leaps.
+       ("-" (Time, Duration)): Reorder code. Remove the declaration of constant
+       Ada_High_And_Leaps.
+       ("-" (Time, Time)): Reorder code.
+       (All_Leap_Seconds): Removed.
+       (Arithmetic_Operations.Add): Remove sign related kludge.
+       (Arithmetic_Operations.Difference): Control the leaps seconds processing
+       with flag Leap_Support.
+       (Arithmetic_Operations.Subtract): Remove sign related kludge.
+       (Check_Within_Time_Bounds): New procedure.
+       (Clock): Control the leap seconds processing with flag Leap_Support.
+       (Cumulative_Leap_Seconds): Assert that the target supports leap seconds.
+       (Formatting_Operations.Split): Control the leap seconds processing with
+       flag Leap_Support.
+       (Formatting_Operations.Time_Of): Control the leaps seconds processing
+       with flag Leap_Support. Adjust the year, month and day (if applicable)
+       when the value of day seconds designates a new day.
+       (Split): Use parameter associations for better readability. Integrate
+       flag Is_Ada_05.
+       (Time_Of): Use parameter associations for better readability. Integrate
+       flag Is_Ada_05.
+
+       * a-calfor.adb (Split): Use parameter associations for better
+       readability. Integrate flag Is_Ada_05.
+       (Time_Of): Remove flag Leap_Checks. Use parameter associations for
+       better readability. Integrate flag Is_Ada_05.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprop-vms.adb, s-taprop-hpux-dce.adb, s-taprop-vxworks.adb, 
+       s-osprim-posix.adb, s-taprop-posix.adb, s-osprim-vxworks.adb, 
+       s-taprop-solaris.adb, s-osprim-solaris.adb, s-taprop-dummy.adb, 
+       s-osprim-unix.adb, s-osinte-freebsd.adb, s-osinte-freebsd.ads, 
+       s-osinte-lynxos.adb, s-osinte-lynxos.ads, s-taprop-tru64.adb, 
+       s-taprop-lynxos.adb, s-taprop-irix.adb, s-osinte-tru64.adb, 
+       s-osinte-tru64.ads, s-taprop-linux.adb, s-parame.ads, 
+       s-parame-vms-alpha.ads, s-parame-vms-ia64.ads, s-parame-hpux.ads, 
+       s-parame-vms-restrict.ads, s-parame-ae653.ads, s-parame-vxworks.ads, 
+       s-taprop-mingw.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos-3.adb,
+        s-osprim-mingw.adb (Timed_Delay, Timed_Sleep): Register the base
+       time when entering this routine to detect a backward clock setting
+       (manual setting or DST adjustment), to avoid waiting for a longer delay
+       than needed.
+       (Time_Duration, To_Timeval, struct_timeval): Removed when not relevant.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+       Update comments.
+       (Max_Task_Image_Length): New constant.
+       Replace Warnings (Off) by Unreferenced pragma, cleaner.
+       (Dynamic_Priority_Support): Removed, no longer needed.
+       (Poll_Base_Priority_Change): Ditto.
+       (Set_Ceiling): Add this procedure to change the ceiling priority
+       associated to a lock. This is a dummy implementation because dynamic
+       priority ceilings are not supported by the underlying system.
+
+       * a-dynpri.adb (Set_Priority): Take into account case where Target is
+       accepting a RV with its priority boosted.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+       * s-taenca.adb (Try_To_Cancel_Entry_Call): Remove special case for
+       Succeeded = True.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+       (Wait_For_Completion, Wait_For_Call, Timed_Selective_Wait): Change state
+       of Self_Id earlier.
+
+       * s-tasini.ads, s-tasini.adb (Wakeup_Entry_Caller): Relax assertion.
+       (Poll_Base_Priority_Change): Removed.
+       Code clean up: use SSL.Current_Target_Exception.
+
+       * s-tasren.adb (Task_Count): Call Yield to let a chance to other tasks
+       to run as this is a potentially dispatching point.
+       (Call_Synchronous): Use Local_Defer_Abort.
+       (Callable): Relax assertion.
+       (Selective_Wait): Relax assertion in case abort is not allowed.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+       * s-tasuti.adb (Make_Passive): Adjust assertions.
+       Remove handling of deferred priority change, and replace by setting the
+       task priority directly, as required by AI-188.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * system-vxworks-sparcv9.ads, system-solaris-x86.ads, 
+       system-irix-o32.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, 
+       system-lynxos-x86.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
+       system-vxworks-mips.ads, system-vxworks-alpha.ads, 
+       system-vxworks-x86.ads, system-linux-ppc.ads, system-mingw.ads, 
+       system-vms-zcx.ads, system-darwin-ppc.ads, system-vxworks-ppc.ads, 
+       system-interix.ads, system-linux-hppa.ads, system-tru64.ads, 
+       system-hpux.ads, system-irix-n32.ads, system-solaris-sparc.ads, 
+       system-solaris-sparcv9.ads, system-vms.ads, system.ads,
+       system-vms_64.ads, system-hpux-ia64.ads, system-linux-x86_64.ads,
+       system-linux-ia64.ads: Document mapping between Ada and OS priorities.
+       This patch changes the largest non-binary modulus from 2**31-1 to
+       2**32-1.
+       (Compiler_System_Version): Removed, no longer used.
+       Clean up system files by removing flags only used on a single target.
+       Also remove obsolete flags, only used during bootstrap from system.ads
+       (Address): Add a pragma Preelaborable_Initialization.
+
+       * system-aix.ads:  Ditto.
+       (GCC_ZCX_Support): Set to true.
+       Update priority range on AIX and map Ada priorities to target
+       priorities appropriately for different scheduling policies.
+
+       * ttypes.ads: set largest non-binary modulus from 2**31-1 to 2**32-1
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-specific.adb, mlib-tgt-specific.ads,
+       mlib-tgt-vms.adb, mlib-tgt-vms.ads: New files.
+
+       * mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-darwin.adb, 
+       mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb, mlib-tgt-lynxos.adb, 
+       mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, 
+       mlib-tgt-vms-ia64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, 
+       mlib-tgt-hpux.adb, mlib-tgt-tru64.adb: Make a common body for package
+       MLib.Tgt, containing the default versions of the exported subprograms.
+       For each platform, create a specific version of the body of new child
+       package MLib.Tgt.Specific that contains only the body of subprograms
+       that are different from the default.
+       (Archive_Builder_Append_Options): New function.
+
+2007-06-06  Matthew Gingell  <gingell@adacore.com>
+
+       * s-osinte-aix.adb: Map Ada priorities to target priorities
+       appropriately for different scheduling policies.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-linux.ads (sigset_t): Bump alignment to match more closely
+       its C counterpart.
+       Remove references to Unchecked_Conversion, and use Ada.xxx instead.
+       Replace Unchecked_Conversion by Ada.Unchecked_Conversion. 
+
+2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * s-osprim-vms.ads, s-osprim-vms.adb (Initialize): New procedure.
+       Noop on VMS, added for interface commonality.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <object>: Manually mark the top of the
+       renamed expression of a full renaming at toplevel.
+       (gnat_to_gnu_entity, case object): If not defining, do not look inside
+       the values the constant is initialized to if it is an N_Allocator.
+       (gnat_to_gnu_entity) <E_Array_Subtype>: Manually mark the top of the
+       TYPE_SIZE_UNIT of inner types after the stride is elaborated.
+       (make_aligning_type): Accept an extra ROOM argument for storage to be
+       made available before the aligned field, and an extra BASE_ALIGN
+       argument for callers to pass the alignment guaranteed to be honored for
+       the whole aligning object. Avoid call to finish_record_type, which only
+       interferes with the sizes we want to set.
+       (gnat_to_gnu_entity) <E_Variable>: Pass the required extra arguments to
+       make_aligning_type for super-aligned objects on stack.
+       (components_to_record): Pass the adjusted size of the type when creating
+       fields in the qualified union for the variant part.
+       (gnat_substitute_in_type): Copy TYPE_USER_ALIGN.
+       (gnat_to_gnu_entity, case E_Signed_Integer_Subtype): Likewise for
+       packed array type.
+       (maybe_pad_type): Set TYPE_USER_ALIGN.
+       (make_aligning_type): Likewise.
+       ALIGN argument is unsigned int.
+       (gnat_to_gnu_entity, case E_Function): Back annotate return mechanism.
+       (gnat_to_gnu_param): Likewise, for parameters.
+       (gnat_to_gnu_entity) <object>: Always instantiate the renaming object
+       if it is constant and stems from a function call.
+       (gnat_to_gnu_entity) <E_Record_Type>: Set packed to -2 if the alignment
+       of the record is specified.  Adjust accordingly.
+       (adjust_packed): New static function.
+       (gnat_to_gnu_field): Use it to adjust the packedness setting.
+       (components_to_record): Likewise.
+       (gnat_to_gnu_entity) <object>: Do not test the renamed expression for
+       side-effects if the object is deemed constant.
+       (gnat_to_gnu_entity) <E_Array_Type>: Create a name for the fat pointer
+       type instead of merely finalizing it.  Tidy.
+       <E_Access_Subprogram_Type>: Retrieve the type from the TYPE_DECL.
+       <E_Access_Type>: Likewise.
+       (defer_debug_incomplete_list): Rename to defer_finalize_list.
+       (defer_debug_level): Delete.
+       (gnat_to_gnu_entity) <debug_deferred>: Likewise
+       <E_Array_Type>: Call rest_of_record_type_compilation on the fat pointer
+       type.
+       <E_Record_Type>: Do not explicitly defer finalizing the type.
+       Adjust for write_record_type_debug_info renaming.
+       <E_Subprogram_Type>: Likewise.
+       Finalize deferred types right after deferred incomplete types are
+       expanded.
+       (rest_of_type_decl_compilation): New global function.
+       (components_to_record): Rename defer_debug parameter to do_not_finalize.
+       (components_to_record): Propagate the packedness to the fields of the
+       qualified union type if there is a variant part.
+       (gnat_to_gnu_entity) <E_Array_Type>: Use new function
+       instead of inline code to adjust the XUT field offsets.
+       (gnat_to_gnu_entity): Adjust for new prototype of finish_record_type.
+       <E_Record_Subtype>: Do not let finish_record_type compute the sizes
+       and write the debug info if the type derives from a discriminated one.
+       (gnat_to_gnu_entity) <E_Array_Type>: Adjust call to create_index_type.
+       <E_Array_Subtype>: Likewise.
+       <E_String_Literal_Subtype>: Likewise.
+       (gnat_to_gnu_entity): Set TYPE_USER_ALIGN on types only if they have
+       an alignment clause.
+       (maybe_pad_type): Update ORIG_SIZE to the minimum required to meet ALIGN
+       before giving warning.
+       (prepend_one_attribute_to): New function, helper to prepend an attribute
+       to an attribute list.
+       (gnat_to_gnu_entity) <E_Procedure>: Use it.
+       (prepend_attributes): Likewise.
+       (gnat_to_gnu_entity) <E_Variable>: Use constants of the proper type.
+       <E_Array_Type>: Declare the padding type for the element type, if any.
+       <E_Array_Subtype>: Likewise.
+       (defer_limited_with): New variable.
+       (Gigi_Equivalent_Type): New function.
+       (gnat_to_gnu_entity): Use it at start and use result throughout.
+       (gnat_to_gnu_entity, case E_Access_Type): Rework to use
+       Gigi_Equivalent_Type, support Limited_With, allow two levels of
+       indirection, precompute if unconstrained array to simplify logic, and
+       use defer_limited_with to defer elaboration of some types from limited
+       with.
+       (finalize_from_with_types): New function.
+
+2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Tristan Gingold  <gingold@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * trans.c (Identifier_to_gnu): Change test for deferred constant by
+       adding guard that the entity is an E_Constant before testing presence
+       of Full_view (and remove unnecessary test that entity is not a type).
+       For a CONST_DECL used by reference, manually retrieve
+       the DECL_INITIAL.  Do not invoke fold in the other DECL_P cases either.
+       (struct language_function): Move from utils.c to here.
+       (struct parm_attr): New structure.
+       (parm_attr, parm_attr vector, parm_attr GC vector): New types.
+       (f_parm_attr_cache): New macro.
+       (Attribute_to_gnu) <Attr_Length>: When not optimizing, cache the
+       expressions for the 'First, 'Last and 'Length attributes of the
+       unconstrained array IN parameters.
+       (Subprogram_Body_to_gnu): Use gnu_subprog_decl throughout.
+       Allocate the information structure for the function earlier, as well
+       as the language-specific part.
+       If the parameter attributes cache has been populated, evaluate the
+       cached expressions on entry.
+       (takes_address): Add OPERAND_TYPE parameter.  Handle N_Function_Call,
+       N_Procedure_Call_Statement and N_Indexed_Component.
+       (Pragma_to_gnu): Translate inspection_point to an asm statement
+       containaing a comment and a reference to the object (either its address
+       for BLKmode or its value).
+       (Identifier_to_gnu): Use TREE_CONSTANT instead of CONST_DECL to decide
+       to go to DECL_INITIAL. Together with the size constraint relaxation
+       in create_var_decl, enlarges the set of situations in which an
+       identifier may be used as an initializer without implying elaboration
+       code.
+       (Subprogram_Body_to_gnu): Do not fiddle with the debug interface but set
+       DECL_IGNORED_P on the function if Needs_Debug_Info is not set on the
+       node.
+       (maybe_stabilize_reference): Remove lvalues_only parameter.
+       (gnat_stabilize_reference): Adjust for above change.
+       (gnat_to_gnu): Do not set location information on the result
+       if it is a reference.
+       (add_cleanup): Add gnat_node parameter and set the location of the
+       cleanup to it.
+       (Handled_Sequence_Of_Statements_to_gnu): Adjust calls to add_cleanup.
+       (Exception_Handler_to_gnu_zcx): Likewise.
+       (gigi): Remove the cgraph node if the elaboration procedure is empty.
+       (Subprogram_Body_to_gnu): If a stub is attached to the subprogram, emit
+       the former right after the latter.
+       (start_stmt_group): Make global.
+       (end_stmt_group): Likewise.
+       (gnu_constraint_error_label_stack, gnu_storage_error_label_stack): New
+       vars.
+       (gnu_program_error_label_stack): Likewise.
+       (gigi): Initialize them.
+       (call_to_gnu, gnat_to_gnu, emit_check): Add new arg to build_call_raise.
+       (gnat_to_gnu, N_{Push,Pop}_{Constraint,Storage,Program}_Error_Label):
+       New cases.
+       (push_exception_label_stack): New function.
+       (takes_address): New function.
+
+       * utils.c (struct language_function): Move to trans.c from here.
+       (unchecked_convert): Do not wrap up integer constants in
+       VIEW_CONVERT_EXPRs.
+       (create_var_decl_1): Decouple TREE_CONSTANT from CONST_DECL. Prevent
+       the latter for aggregate types, unexpected by later passes, and relax an
+       arbitrary size constraint on the former.
+       (create_field_decl): Use tree_int_cst_equal instead of operand_equal_p
+       to compare the sizes.
+       (convert_vms_descriptor): When converting to a fat pointer type, be
+       prepared for a S descriptor at runtime in spite of a SB specification.
+       (shift_unc_components_for_thin_pointers): New function.
+       (write_record_type_debug_info): For variable-sized fields, cap the
+       alignment of the pointer to the computed alignment.
+       (finish_record_type): Change HAS_REP parameter into REP_LEVEL.
+       If REP_LEVEL is 2, do not compute the sizes.
+       (build_vms_descriptor): Adjust for new prototype of finish_record_type.
+       (build_unc_object_type): Likewise.
+       (declare_debug_type): New function.
+
+        * ada-tree.def: USE_STMT: removed (not emitted anymore).
+
+        * misc.c (gnat_expand_expr): Call to gnat_expand_stmt removed because
+        no statement is expandable anymore.
+        (gnat_init_gcc_eh): Do not initialize the DWARF-2 CFI machinery twice.
+        (gnat_handle_option): Only allow flag_eliminate_debug_types to be set
+        when the user requested it explicitely.
+        (gnat_post_options): By default, set flag_eliminate_unused_debug_types
+        to 0 for Ada.
+        (get_alias_set): Return alias set 0 for a type if
+        TYPE_UNIVERSAL_ALIASING_P is set on its main variant.
+
+        * ada-tree.h: (TYPE_UNIVERSAL_ALIASING_P): New macro.
+        (DECL_FUNCTION_STUB): New accessor macro.
+        (SET_DECL_FUNCTION_STUB): New setter macro.
+
+        * lang.opt (feliminate-unused-debug-types): Intercept this flag for Ada.
+
+       * fe.h (Get_Local_Raise_Call_Entity, Get_RT_Exception_Entity): New
+       declarations.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-intman-vxworks.ads, s-intman-vxworks.adb (Abort_Task_Signal):
+       Rename to Abort_Task_Interrupt to be able to keep the same interface
+       as the rest of the targets.
+
+       * s-osinte-vxworks.ads s-osinte-vxworks.adb
+       (To_VxWorks_Priority): Remove explicit "in" mode indicator
+
+       * s-osinte-vxworks6.ads, s-vxwork-arm.ads, system-vxworks-arm.ads:
+       New files.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-chahan.ads: Remove obsolescent pragmas
+
+       * a-chlat1.ads: Minor reformatting
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * comperr.adb (Compiler_Abort): New Finalize/Output_Messages interface
+       for Errout
+
+       * errout.adb: New Finalize/Compilation_Errors/Output_Messages
+       implementation
+
+       * errout.ads (Finalize): Changed interface
+       (Output_Messages): New procedure
+       (Compilation_Errors): New Interface
+
+       * prepcomp.ads, prepcomp.adb (Parse_Preprocessing_Data_File): New
+       Finalize/Output_Messages interface for Errout
+       (Prepare_To_Preprocess): New Finalize/Output_Messages interface for
+       Errout.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * a-except.ads, a-except.adb: (Rmsg_28): Fix description for E.4(18)
+       check.
+       (Raise_Current_Excep): Call Debug_Raise_Exception just before
+       propagation starts, to let debuggers know about the event in a reliable
+       fashion.
+       (Local_Raise): Moved to System.Exceptions
+       More convenient to have this as a separate unit
+
+       * s-except.adb, s-except.ads: New files.
+
+       * a-exextr.adb (Unhandled_Exception): Delete - replaced by
+       Debug_Unhandled_Exception in System.Exceptions where it belongs
+       together with a couple of other debug helpers.
+       (Notify_Unhandled_Exception): Use Debug_Unhandled_Exception instead of
+       the former Unhandled_Exception.
+
+       * exp_ch11.ads, exp_ch11.adb: (Possible_Local_Raise): New procedure
+       (Warn_No_Exception_Propagation): New procedure
+       (Warn_If_No_Propagation): Rewritten for new warning generation
+       (Expand_Exception_Handlers): New warning generation
+       (Expand_N_Raise_xxx_Error): Rewritten for new warnings
+       (Add_Exception_Label): Use Special_Exception_Package_Used for test
+       instead of Most_Recent_Exception_Used (accomodates Exception_Traces)
+       (Expand_Local_Exception_Handlers): Unconditionally add extra block wrap
+       even if restriction is set (makes life easier in Check_Returns)
+       (Expand_Local_Exception_Handlers): Follow renamed entity chain when
+       checking exception identities.
+       (Expand_Local_Exception_Handlers): Do not optimize when all others case
+       (Expand_Local_Exception_Handlers): Set Exception_Junk flag on generated
+       block for handler (used by Check_Returns)
+       (Expand_Local_Exception_Handlers): Local_Raise now takes an address
+       (Expand_N_Handled_Sequence_Of_Statements): Properly handle -gnatd.x to
+       remove all exception handlers when optimizing local raise statements.
+       (Find_Local_Handler): Use Get_Renamed_Entity
+       (Expand_N_Handled_Sequence_Of_Statements): If the handled sequence is
+       marked analyzed after expanding exception handlers, do not generate
+       redundant cleanup actions, because they have been constructed already.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * a-finali.ads (Ada.Finalization): Add missing pragma Remote_Types. The
+       presence of this categorization pragma is mandated by the language.
+       (Limited_Controlled): Add missing pragma Preelaborable_Initialization
+       for this type.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb, 
+       butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, 
+       err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads, 
+       fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, 
+       lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads, 
+       makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb, 
+       par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb, 
+       prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads, 
+       prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb, 
+       sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb, 
+       uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
+       ali.ads, ali.adb: 
+       Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
+       package Namet. Make File_Name_Type and Unit_Name_Type types derived from
+       Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
+       Use variables of types File_Name_Type and Unit_Name_Type in error
+       messages.
+       (Get_Name): Add parameter Ignore_Special, and set it reading file name
+       (New_Copy): When debugging the compiler, call New_Node_Debugging_Output
+       here.
+       Define flags Flag217-Flag230 with associated subprograms
+       (Flag_Word5): New record type.
+       (Flag_Word5_Ptr): New access type.
+       (To_Flag_Word5): New unchecked conversion.
+       (To_Flag_Word5_Ptr): Likewise.
+       (Flag216): New function.
+       (Set_Flag216): New procedure.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-stzunb.adb, a-stwiun.adb, a-strunb.adb: (Insert): Use 'Length
+       instead of 'Size.
+
+       * a-stwifi.ads, a-stzfix.ads: Minor reformatting
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Tag_Size): This constant is now internal to
+       the package.
+       (Object_Specific_Data_Array): This is now internal to the package.
+       (Object_Specific_Data): This is now internal to the package.
+       (Select_Specific_Data_Element): This is now internal to the package.
+       (Select_Specific_Data_Array): This is now internal to the package.
+       (Select_Specific_Data): This is now internal to the package.
+       (Offset_To_Top_Function_Ptr): This is now public.
+       (To_Offset_To_Top_Function_Ptr): Removed.
+       (Storage_Offset_Ptr,To_Storage_Offset_Ptr): These declarations are now
+        local to subprogram Offset_To_Top.
+       (Predefined_DT): Removed.
+       (Typeinfo_Ptr): Removed.
+       (OSD): This function is now internal to this package.
+       (SSD): This function is now internal to this package.
+       (DT): New function that displaces the pointer to the table of primitives
+        to get access to the enclosing wrapper record.
+       (IW_Membership): Code cleanup.
+       (Offset_To_Top): Code cleanup.
+       (Predefined_DT): Removed.
+       (Register_Interface_Tag): Removed.
+       (Set_Interface_Table): Removed.
+       (Set_Offset_Index): Removed.
+       (Set_Offset_To_Top): Code cleanup.
+       (Set_OSD): Removed.
+       (Set_Signature): Removed.
+       (Set_SSD): Removed.
+       (Set_Tagged_Kind): Removed.
+       (Typeinfo_Ptr): Removed.
+       (TSD): Removed.
+       (Displace): Add missing check on null actual.
+
+       * exp_disp.ads, exp_disp.adb
+       (Select_Expansion_Utilities): Removed.
+       (Build_Common_Dispatching_Select_Statements): Moved to exp_atags.
+       (Expand_Dispatching_Call): Update calls to Get_Prim_Op_Address because
+       the interface requires a new parameter.
+       (Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
+       Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Replace
+       calls to subprograms Build_T, Build_S, etc. by the corresponding code.
+       Done to remove package Select_Expansion_Utilities.
+       (Make_DT): New implementation for statically allocated dispatch tables.
+       (Make_Secondary_DT): Moved to the scope of Make_DT.
+       (Register_Primitive): Code cleanup plus incoporate the use of the new
+       function DT_Address_Attribute.
+       (Expand_Interface_Thunk): The profile of this subprogram has been
+       changed to return the Thunk_Id and the corresponding code.
+       (Fill_DT_Entry): Removed. Its functionality is now provided by
+       subprogram Register_Primitive.
+       (Fill_Secondary_DT_Entry): Removed. Its functionality is now provided by
+       subprogram Register_Primitive.
+       (Register_Primitive): New subprogram that incorporates the previous
+       functionalities of Fill_DT_Entry and Fill_Secondary_DT_Entry.
+       (Build_Common_Dispatching_Select_Statements): Remove formal Typ. This
+       was only required to call Make_DT_Access_Action, which is now removed.
+       (Ada_Actions): Removed
+       (Action_Is_Proc): Removed
+       (Action_Nb_Arg): Removed
+       Replace all the calls to Make_DT_Access_Action by direct calls to
+       Make_Procedure_Call_Statement or Make_Function_Call.
+       (Set_DTC_Entity_Value): New subprogram.
+       (Set_All_DT_Position): Add call to new subprogram Set_DTC_Entity_Value.
+       (Expand_Interface_Thunk): Add missing support for primitives that are
+       functions with a controlling result (case in which there is no need
+       to generate the thunk).
+
+       * exp_atag.ads, exp_atag.adb
+       (Build_DT): New subprogram that displaces the pointer to reference the
+       base of the wrapper record.
+       (Build_Typeinfo_Offset): Removed.
+       (RTE_Tag_Node): Removed.
+       (Build_Common_Dispatching_Select_Statements): Moved here from exp_disp
+       (Build_Get_RC_Offset): Removed.
+       (Build_Inherit_Predefined_Prims): Removed.
+       (Build_Inherit_TSD: Removed.
+       (Build_New_TSD): Removed.
+       (Build_Set_External_Tag): Removed.
+       (Build_Set_Predefined_Prim_Op_Address): Add documentation.
+       (Build_Set_Prim_Op_Address): Add documentation.
+       (Build_Set_TSD): Removed.
+
+       * rtsfind.ads, rtsfind.adb
+       (Load_Fail): If load fails and we are not in configurable run-time
+       mode, then raise Unrecoverable_Error.
+       (Text_IO_Kludge): Generate an error message if a run-time library is
+       not available in a given run-time (ie. zfp run-time).
+       (RTE_Record_Component): Add code to check that the component we search
+       for is not found in two records in the given run-time package.
+       (RE_DT_Offset_To_Top_Size, RE_DT_Predef_Prims_Size): Removed
+       (RE_DT_Predef_Prims_Offset): New entity
+       (RE_Static_Offset_To_Top): New entity
+       (RE_HT_Link): New entity.
+       (System_Address_Image): Addition of this run-time package.
+       (RE_Address_Image): New entity.
+       (RE_Abstract_Interface): Removed.
+       (RE_Default_Prim_Op_Count): Removed.
+       (RE_DT_Entry_Size): Removed.
+       (RE_DT_Min_Prologue_Size): Removed.
+       (RE_DT_Prologue_Size): Removed.
+       (RE_Ifaces_Table_Ptr): Removed.
+       (RE_Interface_Data_Ptr): Removed.
+       (RE_Type_Specific_Data): Removed.
+       (RE_Primary_DT): Removed.
+       (RE_Register_Interface_Tag): Removed.
+       (RE_Set_Offset_Index): Removed.
+       (RE_Set_OSD): Removed.
+       (RE_Set_SSD): Removed.
+       (RE_Set_Signature): Removed.
+       (RE_Set_Tagged_Kind): Removed.
+       (RE_Address_Array): New entity.
+       (RE_DT): New entity.
+       (RE_Iface_Tag): New entity.
+       (RE_Interfaces_Table): New entity.
+       (RE_No_Dispatch_Table): New entity.
+       (RE_NDT_Prims_Ptr): New entity.
+       (RE_NDT_TSD): New entity.
+       (RE_Num_Prims): New entity.
+       (RE_Offset_To_Top_Function_Ptr): New entity.
+       (RE_OSD_Table): New entity.
+       (RE_OSD_Num_Prims): New entity.
+       (RE_Predef_Prims): New entity
+       (RE_Predef_Prims_Table_Ptr): New entity.
+       (RE_Primary_DT): New entity.
+       (RE_Signature): New entity.
+       (RE_SSD): New entity.
+       (RE_TSD): New entity.
+       (RE_Type_Specific_Data): New entity.
+       (RE_Tag_Kind): New entity.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * a-textio.ads, a-textio.adb (Write): Add explicit size clause for the
+       C imported variable.
+       (Skip_Line): Do not reset Before_LM_PM immediately when Before_LM is set
+       on entry.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-tienio.adb (Get): Adjust buffer size to accomodate one extra
+       character
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * a-tifiio.adb (Put, internal): For negative numbers, check that there
+       is room for at least one digit and the minus sign.
+       (Put.Put_Character): Never put a character outside of the range of
+       string To.
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (build_allocator): Provide the extra arguments to
+       make_aligning_type for super-aligned objects allocated from the default
+       pool. Leave enough room for a pointer before the aligning field, and
+       store the system's allocator return value there.
+       (build_call_alloc_dealloc): When releasing a super-aligned object,
+       retrieve the system's allocator return value from where build_allocator
+       has stored it, just ahead of the adjusted address we are passed.
+       (build_call_raise): Handle properly the generation of line numbers when
+       the node is marked No_Location.
+       (compare_elmt_bitpos): Use tree_int_cst_compare.  Stabilize the sort
+       by using DECL_UID on ties.
+       (build_binary_op) <EQ_EXPR>: Accept fat pointer types with the same
+       main variant.
+       (build_call_raise): Handle converting exception into goto; support new
+       argument KIND.
+       (build_component_ref): Add new arg to build_call_raise.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * a-ztflau.adb, a-wtflau.adb, a-tiflau.adb (Load_Real): Do not parse
+       "." in the case of nnn.xxx when nnn terminates with an underscore.
+       Parse the remaining "#" or ":" in the case of nnn#.xxx#
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-tigeau.ads, a-tigeau.adb: (Store_Char): Change Buf to IN OUT
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * bindgen.adb (Gen_Output_File_Ada): Generate pragma No_Run_Time when
+       needed.
+       (Gen_Output_File_Ada, Gen_Output_File_C): Never use __attribute
+       ((destructor)) for adafinal, even when switch -a is used.
+       Do not issue pragma Linker_Destructor for adafinal when switch -a is
+       used.
+       (Gen_Object_Files_Options): Add formatting of Linker Options, when
+       Output_Linker_Option_List is set. Suppress this formatting when
+       Zero_Formatting is set.
+       Add case for CLI_Target.
+       (System_Restrictions_Used): New flag, used to avoid generating with of
+       System_Restrictions and initialization of the data unless there is
+       some use of System.Restrictions in the partition.
+       (Check_System_Restrictions_Used): New procedure
+
+        * s-stalib.adb: Remove with of System.Restrictions. No longer needed
+       since we only with this unit in the binder file if it is used elsewhere
+       in the partition.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * bindusg.adb: Add line for @<response file>
+       Add lines for new switches -R and -Z
+
+       * gnatbind.adb (Gnatbind): Do not include sources from the GNAT
+       hierarchy in the list of files of the closure when -R is used
+       (Gnatbind): Accept arguments starting with '@' to indicate response
+       files and take the arguments from the response files.
+       If List_Closure is set, display the referenced files
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in
+       which the address-clause is applied to in-mode actuals (allowed by
+       13.1(22)).
+       (Apply_Discriminant_Check): Do not generate a check if the type is
+       constrained by a current instance.
+       (Activate_Division_Check): New procedure
+       (Activate_Overflow_Check): New procedure
+       (Activate_Range_Check): New procedure
+       Call these new Activate procedures instead of setting flags directly
+       (Apply_Array_Size_Check): Removed, no longer needed.
+       Code clean up: remove obsolete code related to GCC 2.
+       (Get_E_Length): Protect against bomb in case scope is standard
+       (Selected_Range_Checks): If the node to be checked is a conversion to
+       an unconstrained array type, and the expression is a slice, use the
+       bounds of the slice to construct the required constraint checks.
+       Improve NOT NULL error messages
+       (Apply_Constraint_Check): If the context is a null-excluding access
+       type, diagnose properly the literal null.
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * clean.adb (Clean_Archive): Use untouched casing for the archive name
+       and the corresponding .deps file.
+       (Clean_Interface_Copy_Directory): Use untouched casing for the library
+       src directory. Minor code-clean-up. Use untouched casing for files
+       read into the library src dir.
+       (Clean_Library_Directory): Idem.
+       (Parse_Cmd_Line): Accept new switch -aP
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * einfo.ads, einfo.adb (Available_View): New synthesized attribute
+       applicable to types that have the With_Type flag set. Returns the
+       non-limited view of the type, if available, otherwise the type itself.
+       For class-wide types, there is no direct link in the tree, so we have
+       to retrieve the class-wide type of the non-limited view of the Etype.
+       New attributes Static_Initialization and Static_Elaboration_Desired.
+       Remove the pragma Thread_Body, and the associated flag
+       Is_Thread_Body in entities, and all related code.
+       (Suppress_Value_Tracking_On_Call): New flag
+       E_Exception has Esize and Alignment fields
+       (Universal_Aliasing): New function.
+       (Set_Universal_Aliasing): New procedure.
+       (Write_Entity_Flags): Deal with Universal_Aliasing flag.
+       (Check_Nested_Access): New procedure.
+       (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+       (Related_Interface): New attribute. Present in dispatch table pointer
+       components of records. Set to point to the entity of the corresponding
+       interface type.
+       (Is_By_Reference_Type): Recurse on the full view of an incomplete type.
+       (Original_Access_Type): Remove, not needed.
+       (Root_Type): Handle properly subtypes of class-wide-types.
+       Update comments.
+
+       * sem_ch4.adb (Analyze_Explicit_Dereference): Add support for
+       class-wide types visible through limited-with clauses.
+       (Try_Primitive_Operation): When examining all primitive operations of a
+       tagged type, do not consider subprograms labeled as hidden unless they
+       belong to a private generic type with a tagged parent.
+       (Try_Object_Operation): Extensive rewriting, to handle properly various
+       overloading cases, when several ancestors may have class-wide operations
+       that are possible candidates, and when the overloaded functions return
+       array types and have defaulted parameters so that the call may be
+       interpreted as an indexing.
+       (Analyze_Allocator): Remove Mark_Allocator and its invocation.
+       (Process_Function_Call): use Next, rather than Next_Actual, to analyze
+       successive actuals before analyzing the call itself.
+       (Try_Primitive_Operation): A primitive operation is compatible with the
+       prefix if the prefix has a synchronized type and the type of the formal
+       is its corresponding record, as can be the case when the primitive
+       operation is declared outside of the body of the type.
+       (Traverse_Homonyms): New subprocedure of Try_Class_Wide_Operation, to
+       perform homonym traversal, looking for class-wide operation matches
+       (formerly done in statements of Try_Class_Wide_Operation). Matches on
+       access parameters are now restricted to anonymous access types.
+       (Mark_Allocator): An allocator with a discriminant association parent is
+       a coextension.
+       (Try_One_Prefix_Interpretation): If the type of the object is
+       incomplete, as can be happen when it is a limited view obtained through
+       a limited_with_clause, the selected component is not part of a prefixed
+       call.
+       (Complete_Object_Operation): Diagnose properly an object that is not
+       aliased when the corresponding controlling formal is an access
+       parameter.
+       (Try_Primitive_Operation, Try_Class_Wide_Operation): Diagnose properly
+       ambiguous calls in prefixed notation, where two primitives differ only
+       in that the controlling argument of one is an access parameter.
+
+       * sem_ch6.adb (Has_Single_Return): Add guard in code that determines
+       whether a function that returns an unconstrained type can be inlined.
+       (Process_Formals): Diagnose properly the illegal use of an incomplete
+       type in the profile of an access_to_subprogram declaration.
+       (Check_Synchronized_Overriding): Nothing check for concurrent types, the
+       operations are attached to the corresponding record.
+       (Analyze_Subprogram_Specification): Add variables Formal and Formal_Typ.
+       When processing a primitive of a concurrent type which implements an
+       interface change the type of all controlling formals to that of the
+       corresponding record type.
+       (Check_Synchronized_Overriding): Relax the conditional logic when trying
+       to determine the tagged type to which a primitive belongs.
+       (Check_Conventions): Capture condition to ignore a primitive operation
+       (which is shared between the loop in Check_Conventions and the one in
+       Check_Convention) in a new local function Skip_Check.
+       (Check_Convention): Rename Prim_Op to Second_Prim_Op to avoid possible
+       confusion with Check_Conventions' own Prim_Op local variable.
+       (Create_Extra_Formals): Test for a tagged result type rather than a
+       controlling result when determining whether to add a BIP_Alloc_Form
+       formal and a BIP_Final_List formal to the function.
+       (Check_Conformance); For parameters that are anonymous access types,
+       subtype conformance requires that the not null and the constant
+       indicators must match
+       (Check_Synchronized_Overriding): New parameter Formal_Typ. Add machinery
+       to retrieve the appropriate type when processing a concurrent type
+       declared within a generic. Minor comment reformatting. Change invocation
+       of Overrides_Synchronized_Primitive to Find_Overridden_Synchronized_Pri-
+       mitive.
+       (Analyze_Subprogram_Body): If the return type of a function is an
+       anonymous access to the limited view of a class-wide type, and the
+       non-limited view of the type is available, update the type of the
+       function so that code can be generated.
+       (Process_Formals): In case of access-subtype itype whose designated
+       type is also an itype (situation that happens now with access to
+       subprograms) we mark the access-type itype with the Has_Delayed_Freeze
+       attribute to avoid backend problems.
+       (Check_Return_Subtype_Indication): Replace R_Type with R_Stm_Type in
+       init of R_Stm_Type_Is_Anon_Access. Also check that base types of the
+       anonymous types' designated types are same before testing
+       Subtypes_Statically_Match.
+       (Create_Extra_Formals): Test for a named access parameter that is a
+       controlling formal as an additional condition for adding an
+       accessibility level formal. This can occur in the subp type created for
+       dispatching calls in Expand_Dispatching_Call, and allows calling
+       Create_Extra_Formals from that procedure rather than special-casing the
+       extra formals there.
+       (Create_Extra_Formals): Add BIP_Alloc_Form and BIP_Final_List formals
+       when the function has a controlling result.
+       (Check_Returns): Add much more knowledge of the optimization of local
+       raise statements to gotos, to retain proper warnings in this case.
+       (Check_Statement_Sequence): Ignore N_Push_xxx_Label and N_Pop_xxx_Label
+       nodes when looking for last statement.
+
+       * sem_type.ads, sem_type.adb (Specific_Type): Add support for
+       class-wide types visible through limited with clauses.
+       (Add_One_Interp): If the operands are anonymous access types, the
+       predefined operator on universal_access is immediately visibles
+       (Find_Unique_Type): Handle anonymous access to subprogram types just as
+       other anonymous access types.
+       (Disambiguate): Take into account CIL convention.
+       (Interface_Present_In_Ancestor): Add support for class-wide interfaces.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb,
+       sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads,
+       elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure.
+       Fix lower bound of tables.
+       Add rep clauses.
+
+       * nlists.adb: Ditto.
+       (Prev_Node, Next_Node): Change index type to Int so that it properly
+       covers the range First_Node_Id - 1 up.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Bob Duff  <duff@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_aggr.ads, exp_aggr.adb: 
+       (Build_Record_Aggr_Code): Add missing initialization of secondary tags
+       in extension aggregates.
+       (Flatten): Other conditions being met, an aggregate is static if the
+       low bound given by component associations is different from the low
+       bound of the base index type.
+       (Packed_Array_Aggregate_Handled): If the component type is itself a
+       packed array or record, the front-end must expand into assignments.
+       (Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
+       Init_Pr, instead of Ancestor_Is_Expression.
+       (Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
+       coextension chain root, either generate a list controller or use the
+       already existing one.
+       (Static_Array_Aggregate): New procedure to construct a positional
+       aggregate that can be handled by the backend, when all bounds and
+       components are compile-time known constants.
+       (Expand_Record_Aggregate): Force conversion of aggregates of tagged
+       types covering interface types into assignments.
+       (Replace_Type): move to Build_Record_Aggr_Code.
+       (Expand_Record_Aggr_Code): if the target of the aggregate is an
+       interface type, convert to the definite type of the aggregate itself,
+       so that needed components are visible.
+       (Convert_Aggr_In_Object_Decl): If the aggregate has controlled
+       components and the context is an extended return statement do not
+       create a transient block for it, to prevent premature finalization
+       before the return is executed.
+       (Gen_Assign): Do not generate a call to deep adjust routine if the
+       component type is itself an array of controlled (sub)-components
+       initialized with an inner aggregate.
+       (Component_Check): New name for Static_Check. This name is now more
+       appropriate, and documentation is added which was missing.
+       (Component_Check): Add test for bit aligned component value
+       (Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
+       Tagged_Comps, name is more appropriate given added function below.
+       (Component_Not_OK_For_Backend): Check for bit aligned component ref.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Case Callable and
+       Terminated: Add unchecked type conversion from System.Address to
+       System.Tasking.Task_Id when calling the predefined primitive
+       _disp_get_task_id.
+       Disable new Ada 05 accessibility check for JVM.NET targets, which
+       cannot be implemented in a practical way.
+       (Expand_N_Attribute_Reference: case Attribute_Tag): The use of 'Tag in
+       the sources always references the tag of the actual object. Therefore,
+       if 'Tag is applied in the sources to class-wide interface objects we
+       generate code that displaces "this" to reference the base of the object.
+       (Expand_N_Attribute_Reference, case Size): Return specified size if
+       known to front end.
+       (Expand_N_Attribute_Reference): The expansion of the 'Address attribute
+       has code that displaces the pointer of the object to manage interface
+       types. However this code must not be executed when the prefix is a
+       subprogram. This bug caused the wrong expansion of the internally
+       generated assignment that fills the dispatch table when the primitive
+       is a function returning a class-wide interface type.
+       (Expand_N_Attribute_Reference:Attribute_Valid): Remove incorrect call to
+       Set_Attribute_Name for Name_Unaligned_Valid.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+       If the initialization is the equivalent aggregate of the initialization
+       procedure of the type, do not remove it.
+       (Expand_N_Attribute_Definition_Clause): Exclude access variables
+       initialized to null from having their expression reset to empty and
+       note this exception in the comment.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch2.adb: Remove "with" and "use" clauses for Namet and Snames.
+       Add "with" and "use" clauses for Sem_Attr.
+       (Expand_Current_Value): Do not replace occurences of attribute
+       references where the prefix must be a simple name.
+
+       * sem_attr.ads, sem_attr.adb: Remove "with" and "use" clauses for
+       Namet. Add new arrays Attribute_Name_Modifies_Prefix and
+       Attribute_Requires_Simple_Name_Prefix.
+       (Name_Modifies_Prefix): Body of new function.
+       (Requires_Simple_Name_Prefix): Body of new function.
+       (Resolve_Attribute, case Access): Improve error message for case of
+       mismatched conventions.
+       (Analyze_Attribute, case 'Tag): The prefix the attribute cannot be of an
+       incomplete type.
+       (Analyze_Attribute, case 'Access): If the type of the prefix is a
+       constrained subtype for a nominal unconstrained type, use its base type
+       to check for conformance with the context.
+       (Resolve_Attribute): Remove test of the access type being associated
+       with a return statement from condition for performing accessibility
+       checks on access attributes, since this case is now captured by
+       Is_Local_Anonymous_Access.
+       (Analyze_Access_Attribute): Set Address_Taken on entity
+       (Analyze_Attribute, case Address): Set Address_Taken on entity
+       (OK_Self_Reference): Traverse tree to locate enclosing aggregate when
+       validating an access attribute whose prefix is a current instance.
+       (Resolve_Attribute): In case of attributes 'Code_Address and 'Address
+       applied to dispatching operations, if freezing is required then we set
+       the attribute Has_Delayed_Freeze in the prefix's entity.
+       (Check_Local_Access): Set flag Suppress_Value_Tracking_On_Call in
+       current scope if access of local subprogram taken
+       (Analyze_Access_Attribute): Check legality of self-reference even if the
+       expression comes from source, as when a single component association in
+       an aggregate has a box association.
+       (Resolve_Attribute, case 'Access): Do not apply accessibility checks to
+       the prefix if it is a protected operation and the attribute is
+       Unrestricted_Access.
+       (Resolve_Attribute, case 'Access): Set the Etype of the attribute
+       reference to the base type of the context, to force a constraint check
+       when the context is an access subtype with an explicit constraint.
+       (Analyze_Attribute, case 'Class): If the prefix is an interface and the
+       node is rewritten as an interface conversion. leave unanalyzed after
+       resolution, to ensure that type checking against the context will take
+       place.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch3.adb (Make_Controlling_Function_Wrappers): generate wrapper a
+       wrapper when the full view of the controlling type of an inherited
+       function that dispatches on result implements interfaces.
+       (Expand_N_Object_Declaration): In cases where the type of the
+       declaration is anonymous access, create finalization list for it.
+       (Expand_N_Object_Declaration): Generate a persistent_bss directive only
+       if the object has no explicit initialization, to match description of
+       functionality of pragam Persistent_BSS.
+       (Build_Equivalent_Array_Aggregate, Build_Equivalent_Record_Aggregate):
+       new function to build static aggregates, to replace initialization call
+       when static initialization is desired.
+       (Freeze_Type): Generate a list controller for an access type whenever
+       its designated type has controlled anonymous access discriminants.
+       (Build_Equivalent_Aggregate): New procedure to compute a static
+       aggregate to be used as default initialization for composite types,
+       instead of a generating a call to the initialization procedure for the
+       type.
+       (Build_Initialization_Call): When available, replace a call to the
+       initialization procedure with a copy of the equivalent static aggregate
+       for the type.
+       (Expand_N_Object_Declaration):  Use New_Occurrence_Of in generated
+       declarations for objects of a class-wide interface type, rather than
+       just identifiers, to prevent visibility problems.
+       (Expand_N_Object_Declaration): When expanding the declaration for an
+       object of a class-wide interface type, preserve the homonym chain of
+       the original entity before exchanging it with that of the generated
+       renaming declaration.
+       (Freeze_Enumeration_Type): Don't raise CE if No_Exception_Propagation
+       active, because there is no way to handle the exception.
+       (Freeze_Record_Type): In case of CPP_Class types add a call to Make_DT
+       to do a minimum decoration of the Access_Disp_Table list.
+       (Expand_Record_Controller): Avoid the addition of the controller between
+       the component containing the tag of a secondary dispatch table and its
+       adjacent component that stores the offset to the base of the object.
+       This latter component is only generated when the parent type has
+       discriminants ---documented in Add_Interface_Tag_Components).
+       (Apply_Array_Size_Check): Removed, no longer needed.
+       (Expand_N_Full_Type_Declaration): If the type has anonymous access
+       components, create a Master_Entity for it only if it contains tasks.
+       (Build_Init_Procedure): Suppress the tag assignment compiling under
+       no run-time mode.
+       (Freeze_Record_Type): Remove code associated with creation of dispatch
+       table.
+       (Init_Secondary_Tags): Update type of actuals when generating calls to
+       Ada.Tags.Set_Offset_To_Top
+       (Stream_Operation_OK): Disable use of streams compiling under no
+       run-time mode
+       (Expand_N_Object_Declaration): Don't do Initialize_Scalars initalization
+       if Has_Init_Expression set.
+       (Build_Init_Procedure): Replace call to Fill_DT_Entry by call to
+       Register_Primitive, which provides the same functionality.
+       (Requires_Init_Proc): Return false in case of interface types.
+       (Add_Secondary_Tables): Use the new attribute Related_Interface to
+       cleanup the code.
+       (Predefined_Primitive_Freeze): Do not assume that an internal entity
+       is always associated with a predefined primitive because the internal
+       entities associated with interface types are not predefined primitives.
+       Therefore, the call to Is_Internal is replaced by a call to the
+       function Is_Predefined_Dispatching_Operation.
+       (Make_Eq_If): When generating the list of comparisons for the
+       components of a given variant, omit the controller component that is
+       present if the variant has controlled components.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Bob Duff  <duff@adacore.com>
+
+       * exp_ch4.adb (Complete_Coextension_Finalization): Add machinery to
+       handle the creation of finalization lists and calls for nested
+       coextensions when the root of the chains is part of a return statement.
+       (Inside_A_Return_Statement): New function inside Complete_Coextension_
+       Finalization.
+       (Expand_Record_Equality): Skip components that are interface types.
+       (Displace_Allocator_Pointer): Add missing support for interface subtypes
+       (Expand_N_Allocator): Replace invocation of Is_Local_Access_Discriminant
+       with Rewrite_Coextension. Change the condition for detecting coextension
+       root nodes.
+       (Is_Local_Access_Discriminant): Removed.
+       (Rewrite_Coextension): New routine which rewrites a static coextension
+       as a temporary and uses its unrestricted access in the construction of
+       the outer object.
+       (Complete_Coextension_Finalization): New routine. Generate finalization
+       attachment calls to all delayed coextensions.
+       (Expand_N_Allocator): Call Complete_Coextension_Finalization whenever
+       the allocator is not a coextension itself and has delayed coextensions.
+       If the current allocator is controlled, but also a coextension, delay
+       the generation of the finalization attachment call.
+       Rename local variable "Node" to "Nod" in order to avoid confusion with
+       "Elists.Node".
+       (Expand_Allocator_Expression): Call Adjust for initialized allocators of
+       limited types that are not inherently limited. Such an allocator is
+       illegal, but is generated by the expander for a return statement, to
+       copy the result onto the secondary stack. This is the only case where a
+       limited object can be copied. Generate code to displace the pointer
+       to the object if the qualified expression is a class-wide interface
+       object. Such displacement was missing and hence the copy of the object
+       was wrong.
+       (Apply_Accessibility_Check): Handle allocated objects initialized in
+       place.
+       (Displace_Allocator_Pointer): Subsidiary procedure to Expand_N_Allocator
+       and Expand_Allocator_Expression. Allocating class-wide interface objects
+       this routine displaces the pointer to the allocated object to reference
+       the component referencing the corresponding secondary dispatch table.
+       Expand_Allocator_Expression): Add missing support to allocate class-wide
+       interface objects initialized with a qualified expression.
+       (Get_Allocator_Final_List): Test for an anonymous access type that is a
+       function result type, and use the finalization list associated with the
+       function scope in that case (such an anonymous type should not be
+       treated like an access parameter's type).
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch5.adb (Expand_N_Assignment_Statement): For the assignment of a
+       controlled type, use Make_Handler_For_Ctrl_Operation to construct the
+       required exception handler.
+       (Expand_Simple_Function_Return, Expand_N_Return_Statement): Handle
+       properly the case of a function whose return type is a limited
+       class-wide interface type. Modify the code of the accessibility
+       check to handle class-wide interface objects. In this case we need to
+       displace "this" to reference the primary dispatch table to get access
+       to the TSD of the object (to evaluate its accessibility level).
+       (Expand_N_Extended_Return_Statement): Test for a tagged result type
+       rather than a controlling result as one of the conditions for
+       generating tests of the implicit BIP_Alloc_Form formal. The
+       initialization assignment is also handled according to whether the
+       result is tagged instead of controlling.
+       In the case where the init assignment is inserted in the "then" part of
+       the allocation conditional, rewrite the target to be a dereference of
+       the implicit BIP_Object_Access formal.
+       If the returned value is unconstrained and created on the secondary
+       stack, mark the enclosing block and function so that the secondary
+       stack is not reclaimed on return.
+       Treat returns from functions with controlling results similarly to
+       returns from functions with unconstrained result subtypes.
+       If the object returned is unconstrained, and an allocator must be
+       created for it, analyze the allocator once the block for the extended
+       return is installed, to ensure that finalizable components
+       of the expression use the proper finalization list. Guard the call to
+       Move_Final_List with a check that there is something to finalize.
+       (Make_Tag_Ctrl_Assignment): Use "old" handling
+       of controlled type assignment for virtual machines, since new code uses
+       unsupported features (such as direct access to bytes in memory).
+
+2007-06-06  Gary Dismukes  <dismukes@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.ads, exp_ch6.adb (Expand_Call): When adding an extra
+       accessibility actual, check for the case of an aliased object that has
+       been rewritten as an Access attribute, and assign Prev to Prev_Orig so
+       we fall into processing for the attribute rather than the name of the
+       object.
+       (Expand_Inline_Call): If an actual is a literal, and the corresponding
+       formal has its address taken in the body, create a temporary to capture
+       value.  If the return type is a limited interface, do not treat the
+       return value as Controlled.
+       (Is_In_Place_Function):  If the return type is a limited interface,
+       treat as returning in place. The actual returned object may not always
+       be limited, but the caller has to assume that it is returned in place.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): If the call is the
+       context of an allocator, use the correct finalization chain (that is,
+       the chain belonging to the access type, rather than the chain belonging
+       to the current scope).
+       (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Test for a tagged
+       result type rather than a controlling result as a precondition for
+       adding an allocation form actual to a build-in-place call.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): Ditto.
+       (Freeze_Subprogram): Code cleanup. Remove all the code that register the
+       primitive in the dispatch tables. This work is now done by Make_DT when
+       the type is frozen.
+       (Register_Predefined_DT_Entry): Removed.
+       (Add_Return): If end label is not present, use sloc of last statement
+       for generated return statement in procedure, for better gdb behavior
+       on expanded code.
+       (Add_Access_Actual_To_Build_In_Place_Call): Set parent fields of the
+       object address nodes to ensure proper processing by routines like
+       Insert_After*.
+       (Expand_Call): Fix generation of validity check for parameter
+       (Add_Alloc_Form_Actual_To_Build_In_Place_Call): Return without passing
+       the allocation form parameter if the result subtype is constrained,
+       except when the function has a controlling result.
+       (Add_Final_List_Actual_To_Build_In_Place_Call): Test Controlled_Type
+       rather than Is_Controlled and Has_Controlled_Component, since we want to
+       include class-wide result types in this treatment. Also test for a
+       controlling result, since that also requires passing a finalization
+       list.
+       (Make_Build_In_Place_Call_In_Allocator): Call Add_Alloc_Form_Actual_*
+       even when the result subtype is constrained, to handle calls involving
+       controlling results.
+       (Make_Build_In_Place_Call_In_Anonymous_Context): Add_Alloc_Form_Actual_*
+       is now called even when the result subtype is constrained, to handle
+       calls involving controlling results.
+       (Make_Build_In_Place_Call_In_Assignment): Remove test for Is_Constrained
+       on call to Add_Alloc_Form_Actual_To_Build_In_Place_Call (that procedure
+       now performs the test).
+       (Make_Build_In_Place_Call_In_Object_Declaration):
+       Add_Alloc_Form_Actual_* is now called even when the result subtype is
+       constrained, to handle calls involving controlling results.
+       (Add_Return): Accomodate rewritten pattern from local raise to goto
+       transformation, so that we still recognize an transfer statement
+       and do the right thing here in that case.
+       (Expand_N_Subprogram_Body): Add dummy Push/Pop_xxx_Label nodes at start
+       and end of subprogram code.
+       (Register_Interface_DT_Entry, Register_Predefined_DT_Entry): Add missing
+       support for primitives that are functions (without formals) with a
+       controlling result.
+       (Inherited_From_Formal): If the actual subtype has not generic parent
+       type, it is not an actual for a formal derived type, and there is no
+       operation to inherit from the formal.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
+       inserted cleanup code appropriately for GDB use.
+       (Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
+       exception handler for Deep_Adjust or Deep_Finalize.
+       (Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
+       Raise_From_Controlled_Operation is available, use a call to that
+       subprogram instead of a plain "raise Program_Error" node to raise
+       Program_Error if an exception is propagated from an Adjust or Finalize
+       operation.
+       (Insert_Actions_In_Scope_Around): If the statement to be wrapped
+       appears in the optional statement list of a triggering alternative, the
+       scope actions can be inserted directly there, and not in the list that
+       includes the asynchronous select itself.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry): Set sloc of
+       generated exception handler appropriately when debugging generated code.
+       Deal properly with No_Exception_Propagation restriction mode.
+       (Expand_N_Abort_Statement): Add an unchecked type conversion from
+       System.Address to System.Tasking.Task_Id when processing the result of
+       the predefined primitive _disp_get_task_id.
+       (Expand_N_Asynchronous_Select): Clarify comment.
+       (Expand_N_Protected_Type_Declaration): Minor code cleanup.
+       (Find_Parameter_Type): New routine inside Type_Conformant_Parameters.
+       (Type_Conformant_Parameters): New parameter Prim_Op_Typ. Code cleanup.
+       (Add_Private_Declarations, Build_Protected_Body): Use proper slocs for
+       privals and for generated call to Complete_Entry_Body, for better gdb
+       behavior.
+       (Copy_Result_Type): Utility to construct a parameter and result profile
+       for protected functions whose return type is an anonymous access to
+       subprogram.
+       (Build_Protected_Sub_Spec and Expand_Access_Protected_Subprogram_Type):
+       call the above.
+       (Build_Task_Activation_Call): Insert Activate_Tasks call at proper
+       point when the local-raise-to-goto transformation has taken place.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * exp_dbug.adb (Get_Encoded_Name): Modified to continue providing its
+       functionality when the backend is generating code.
+       Otherwise any serious error
+       reported by the backend calling the frontend routine Error_Msg
+       changes the Compilation_Mode to Check_Semantics, disables the
+       functionality of this routine and causes the generation of
+       spureous additional errors.
+
+       * exp_dbug.ads (Pointers to Unconstrained Arrays): Document the
+       debugging information now generated by the compiler for fat-pointer
+       types.
+       Document the contents of DW_AT_producer in the GNAT Vendor extensions to
+       DWARF2/3.
+       Document GNAT Vendor extensions to DWARF 2/3 and the "-gdwarf+" switch.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
+       (GARLIC_Support.Build_Subprogram_Receiving_Stubs,
+       PolyORB_Support.Build_Subprogram_Receiving_Stubs):
+       For a remote call to a function with a classwide return type, apply an
+       E.4(18) check to the returned value.
+       (Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
+       stream attributes of the designated type of an RACW, as they are not
+       dispatching primitive operations.
+
+2007-06-06  Geert Bosch  <bosch@adacore.com>
+
+       * exp_fixd.adb (Integer_Literal): Add optional argument to construct a
+       negative literal
+       (Do_Divide_Fixed_Fixed): Add comments to indicate Frac is always
+       positive
+       (Do_Divide_Fixed_Universal): Handle case of negative Frac.
+       (Do_Multiply_Fixed_Fixed): Add coments to indicate Frac is always
+       positive
+       (Do_Multiply_Fixed_Universal): Handle case of negative Frac.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_imgv.adb (Expand_Value_Attribute): Disable compilation of this
+       attribute compiling package Ada.Tags under No_Run_Time_Mode.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * exp_intr.adb (Expand_Unc_Deallocation): Add missing support for
+       deallocation of class-wide interface objects.
+       (Expand_Dispatching_Constructor_Call): Take into account that if the
+       result of the dispatching constructor is an interface type, the
+       function returns a class-wide interface type; otherwise the returned
+       object would be actual. The frontend previously accepted returning
+       interface types because Expand_Interface_Actuals silently performed
+       the management of the returned type "as if" it were a class-wide
+       interface type.
+       (Expand_Dispatching_Constructor_Call): Replace call to
+       Make_DT_Access_Action by direct call to Make_Function_Call.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_pakd.adb (Expand_Packed_Not): Use RM_Size rather than ESize to
+       compute masking constant, since we now set Esize properly to the
+       underlying size.
+       (Create_Packed_Array_Type): Set proper Esize value adjusted as required
+       to match the alignment.
+       (Create_Packed_Array_Type): Use Short_Short_Unsigned as base type for
+       packed arrays of 8 bits or less.
+
+       * freeze.adb (Freeze_Entity): When freezing the formals of a
+       subprogram, freeze the designated type of a parameter of an access type
+       only if it is an access parameter.
+       Increase size of C convention enumeration object
+       (Freeze_Entity, array type case): Make sure Esize value is properly
+       adjusted for the alignment if it is known.
+       (Freeze_Entity, array type case): When checking bit packed arrays for
+       the size being incorrect, check RM_Size, not Esize.
+       (Freeze_Record_Type): Check for bad discriminated record convention
+       (In_Exp_Body): Return true if the body is generated for a subprogram
+       renaming, either an attribute renaming or a renaming as body.
+       (Check_Itype): If the designated type of an anonymous access component
+       is a non-protected subprogram type, indicate that it is frozen, to
+       prevent out-of-scope freeze node at some subsequent call.
+       (Freeze_Subprogram): On OpenVMS, reject descriptor passing mechanism
+       only if the subprogram is neither imported nor exported, as well as the
+       NCA descriptor class if the subprogram is exported.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_prag.adb (Expand_Pragma_Import_Or_Interface): Remove properly a
+       default initialization on an imported object, when there is no
+       initialization call generated for it.
+       (Expand_Pragma_Assert): Add handling of No_Exception_Propagation
+       restriction
+
+       * snames.h, snames.ads, snames.adb, par-prag.adb: New pragma
+       Static_Elaboration_Desired.
+       Remove pragma Thread_Body.
+       Implement a new pragma No_Body
+       Removes the Explicit_Overriding pragma
+       Remove Optional_Overriding pragma
+       (Prag): Deal with Universal_Aliasing.
+       (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+       Pragma_CIL_Constructor): New names.
+
+       * sem_cat.adb (Validate_Object_Declaration): An initialization that
+       uses the equivalent aggregate of a type must be treated as an implicit
+       initialization.
+       (Get_Categorization): Check a unit for pragma Preelaborate only if it
+       has none of the other categories.
+       (Process_Import_Or_Interface_Pragma): Report an error for an attempt
+       to apply Import to an object renaming declaration.
+
+       * sem_prag.adb (Process_Import_Or_Interface): Warn that a type imported
+       from a C++ class should be declared as limited and that it will be
+       considererd limited.
+       (Analyze_Pragma): Warn that a type specified with pragma CPP_Class
+       should be declared as limited and that it will be considererd limited.
+       (Ada_2005_Pragma): New procedure, used to deal with Ada 2005 pragmas
+       (Analyze_Pragma, case Export): Diagnose export of enumeration literal
+       (Analyze_Pragma): Deal with Universal_Aliasing.
+       (Sig_Flags): Likewise.
+       (Set_Encoded_Interface_Name): Suppress encoding when compiling for AAMP.
+       (Overflow_Checks_Unsuppressed): New flag.
+       (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+       (Analyze_Pragma [case Pack]): Ignore pragma Pack and post warning in
+       case of JVM or .NET targets, and compiling user code.
+       Add debugging convenience routine rv
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * exp_strm.adb (Make_Field_Attributes): Avoid _Parent components that
+       are interface type.
+       (Build_Elementary_Input_Call): For floating-point use right type in the
+       absence of strange size or stream size clauses.
+       (Build_Elementary_Write_Call): Same fix
+       (Has_Stream_Standard_Rep): Returns False if Stream_Size attribute
+       set to value that does not match base type size.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.ads, exp_util.adb (Expand_Subtype_From_Expr): In Ada2005, an
+       object of a limited type can be initialized with a call to a function
+       that returns in place. If the limited type has unknown discriminants,
+       and the underlying type is a constrained composite type, build an actual
+       subtype from the function call, as is done for private types.
+       (Side_Effect_Free): An expression that is the renaming of an object or
+       whose prefix is the renaming of a object, is not side-effect free
+       because it may be assigned through the renaming and its value must be
+       captured in a temporary.
+       (Has_Controlled_Coextensions): New routine.
+       (Expand_Subtype_From_Expr): Do nothing if type is a limited interface,
+       as is done for other limited types.
+       (Non_Limited_Designated_Type): new predicate.
+       (Make_CW_Equivalent_Type): Modified to handle class-wide interface
+       objects.
+       Remove all handling of with_type clauses.
+
+        * par-ch10.adb: Remove all handling of with_type clauses.
+
+       * lib-load.ads, lib-load.adb (Load_Main_Source): Do not get the
+       checksum if the main source could not be parsed.
+       (Loat_Unit): When processing a child unit, determine properly whether
+       the parent unit is a renaming when the parent is itself a child unit.
+       Remove handling of with_type clauses.
+
+       * sinfo.ads, sinfo.adb (Is_Static_Coextension): New function.
+       (Set_Is_Static_Coextension): New procedure.
+       (Has_Local_Raise): New function
+       (Set_Has_Local_Raise): New procedure
+       (Renaming_Exception): New field
+       (Has_Init_Expression): New flag
+       (Delay_Finalize_Attach): Remove because flag is obsolete.
+       (Set_Delay_Finalize_Attach): Remove because flag is obsolete.
+       Remove all handling of with_type clauses.
+       (Exception_Junk): Can now be set in N_Block_Statement
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * frontend.adb (Frontend): Return immediately if the main source could
+       not be parsed, because of preprocessing errors.
+
+       * gnat1drv.adb (gnat1drv): Handle RE_Not_Available gracefully.
+       (Gnat1drv): Exit with errors if the main source could not be parsed,
+       because of preprocessing errors.
+       (Check_Rep_Info): New procedure
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-hesorg.ads, g-heasor.ads,
+       g-busorg.ads, g-bubsor.ads: Update documentation
+       GNAT.Heap/Bubble_Sort_G is now pure
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-catiio.ads, g-catiio.adb (Image): Check for null picture string
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * g-comlin.ads, g-comlin.adb: 
+       Add new warning for renaming of function return objects
+
+       * opt.adb (Tree_Write, Tree_Read): Use proper expressions for size
+       (Tree_Read): Use size of object instead of type'object_size, since the
+       latter is incorrect for packed array types.
+       (Tree_Write): Same fix
+
+       * opt.ads: Add new warning for renaming of function return objects
+       (Generating_Code): New boolean variable used to indicate that the
+       frontend as finished its work and has called the backend to process
+       the tree and generate the object file.
+       (GCC_Version): Is now private
+       (Static_Dispatch_Tables): New constant declaration.
+       (Overflow_Checks_Unsuppressed): New flag.
+       (Process_Suppress_Unsuppress): Set Overflow_Checks_Unsuppressed.
+       (List_Closure): New flag for gnatbind (-R)
+       Zero_Formatting: New flag for gnatbind (-Z)
+       (Special_Exception_Package_Used): New flag.
+       (Warn_On_Unrepped_Components): New flag.
+
+       * sem_ch8.adb (Check_Library_Unit_Renaming): Check that the renamed
+       unit is a compilation unit, rather than relying on its scope, so that
+       Standard can be renamed.
+       (Analyze_Object_Renaming): Add new warning for renaming of function
+       return objects.
+       Also reject attempt to rename function return object in Ada 83 mode.
+       (Attribute_Renaming): In case of tagged types, add the body of the
+       generated function to the freezing actions of the type.
+       (Find_Type): A protected type is visible right after the reserved word
+       "is" is encountered in its type declaration. Set the entity and type
+       rather than emitting an error message.
+       (New_Scope): Properly propagate Discard_Names to inner scopes
+       (Check_Nested_Access): New procedure.
+       (Has_Nested_Access, Set_Has_Nested_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+
+       * sem_warn.ads, sem_warn.adb: Improvements to infinite loop warning
+       Add new warning for renaming of function return objects
+       (Check_References): Suppress warnings for objects whose type or
+       base type has Warnings suppressed.
+       (Set_Dot_Warning_Switch): Add processing for -gnatw.c/C
+       (Set_Warning_Switch): Include new -gnatwc in -gnatwa
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Emmanuel Briot  <briot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * g-debpoo.ads, g-debpoo.adb (Free_Physically.Free_Blocks): Use the
+       absolute value of Header.Block_Size when displaying the freed physical
+       memory in traces.
+       (Allocate): Compute Storage_Address using Integer_Address, not
+       Storage_Offset, because the range of Storage_Offset may not be large
+       enough.
+       (Configure): New parameter Low_Level_Traces
+       (Allocate, Deallocation, Free_Physically): Added low-level traces
+       (Configure): new parameter Errors_To_Stdout.
+       (Output_File): new subprogram
+       (Deallocate, Dereference): Send error messages to the proper stream
+       (Print_Pool, Print_Info_Stdout): Make sure the output goes to stdout, as
+       documented. Previous code would send it to the current output file
+       defined in GNAT.IO, which might not be stdout
+       (Is_Valid): Adjust comment to mention that a positive reply means that
+       Header_Of may be used to retrieve the allocation header associated with
+       the subprogram Storage address argument. Return False early if this
+       address argument is misaligned.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb (GNATCmd): Accept switch -aP for commands that accept
+       switch -P
+       (ASIS_Main): New global variable
+       (Get_Closure): New procedure
+       (GNATCmd): Set ASIS_Main when -P and -U with a main is used for gnat
+       check, metric or pretty. Call Get_Closure in this case.
+       (Check_Files): For GNAT LIST, check all sources of all projects when
+       All_Projects is True.
+       (GNATCmd): Accept -U for GNAT LIST
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb (Gnatlink): Do not specify -static-libgcc when --LINK=
+       has been specified
+       Correct error message when invocation of the linker fails
+       Add explicit size clause for the C imported variables
+       Object_List_File_Supported and Using_GNU_Linker to emphasize that
+       we expect char size.
+       Read target parameters earlier, since this is needed to set
+       Target_VM properly. Also do not use -static/shared-libgcc for non GCC
+       targets.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatls.adb: 
+       Add 3 spaces before the default project directory when displaying
+       the project search path.
+       Add new command line switch '-l' to display license information.
+
+2007-06-06  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gmem.c: Add support for timestamps on memory operations.
+
+       * memtrack.adb, gnatmem.adb: Add support for timestamps on memory
+       operations (not used currently, just foundation for future
+       enhancements). Add possibility to perform full dump of gmem.out file.
+       (Print_Back_Traces): Declare accesses to root arrays constants since
+       they aren't modified.
+       (Print_Back_Traces): allocate root arrays on the heap rather than stack.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * gnatsym.adb: Update Copyright notice
+       (Parse_Cmd_Line): Accept new switch -D
+       (Gnatsym): In Direct policy (switch -D) copy reference file to symbol
+        file.
+
+       * prj.ads (Policy): New policy Direct
+       (Yes_No_Unknown): New enumeration type
+       (Project_Data): New component Libgnarl_Needed
+
+       * prj-nmsc.adb (Check_For_Source): When recording a source file make
+       use the untouched pathname casing.
+       (Get_Directories): Ensure that the Display_Exec_Directory is using the
+       proper casing on non case-sensitive platforms like Windows.
+       (Get_Unit): Accept file names x__... and x~... (where x = a, g, i or s)
+       on all platforms, as it is not possible to know which one is allowed
+       before processing the project files.
+       (Check_Stand_Alone_Library): Check that Library_Reference_Symbol_File is
+       specified when symbol policy is Direct. Check that when there is a
+       symbol file defined (either by default or with attribute
+       Library_Symbol_File) it is not the same as the reference symbol file.
+       (Check_Stand_Alone_Library): Recognize new symbol policy Direct.
+       (Look_For_Sources): Allow Locally_Removed_Files to be declare in non
+       extending projects.
+       (Record_Ada_Source): Record a source that has been locally removed in an
+       imported project.
+
+       * symbols.ads (Policy): New policy Direct
+
+       * symbols-vms.adb (Initialize): Take new policy Direct in case
+       statement
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * g-os_lib.ads, g-os_lib.adb (Normalize_Pathname.Get_Directory):
+       Correct obvious bug (return Dir; instead of return Directory;).
+       (Normalize_Pathname): Use Reference_Dir'Length, not Reference_Dir'Last
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-pehage.adb (Produce): Open output files in Binary mode, so that
+       they have UNIX line endings (LF only) even on Windows, and thus pass
+       all GNAT style checks.
+
+2007-06-06  Emmanuel Briot  <briot@adacore.com>
+
+       * g-regpat.adb (Quote): Fix improper quoting of '.'
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon.ads: Add new constant Thread_Blocking_IO, always True by
+       default, set False on a per-runtime basis.
+       (Need_Netdb_Buffer): New constant.
+
+       * g-socket.ads, g-socket.adb: Import new package
+       GNAT.Sockets.Thin.Task_Safe_NetDB.
+       (Raise_Host_Error): Use Host_Error_Message from platform-specific thin
+       binding to obtain proper message.
+       (Close_Selector): Use GNAT.Sockets.Thin.Signalling_Fds.Close.
+       Replace various occurrences of Arry (Arry'First)'Address with the
+       equivalent Arry'Address (GNAT always follows implementation advice from
+       13.3(14)).
+       (Get_Host_By_Address, Get_Host_By_Name,
+       Get_Service_By_Name, Get_Service_By_Port): Do not use GNAT.Task_Lock;
+       instead, rely on platform-specific task safe netdb operations provided
+       by g-socthi.
+
+       * g-socthi.ads, g-socthi.adb (Initialize): Remove obsolete formal
+       parameter Process_Blocking_IO.
+       (Host_Error_Messages): Add stub body.
+       (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close.
+       (Safe_Gethostbyname, Safe_Gethostbyaddr, Safe_Getservbyname,
+       Safe_Getservbyport): Move functions into new child package
+       Task_Safe_NetDB.
+       (Nonreentrant_Gethostbyname, Nonreentrant_Gethostbyaddr,
+       Nonreentrant_Getservbyname, Nonreentrant_Getservbyport): New routines.
+       (In_Addr): Add alignment clause.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * g-trasym.ads, g-traceb.ads: Update list of supported targets
+       Add note about symbolic traceback
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * hostparm.ads (Normalized_CWD): Use the host directory separator
+       instead of the hardcoded forward slash which is not the proper
+       character on Windows for example.
+       (Java_VM): Removed.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * a-clrefi.adb, a-clrefi.ads: New files
+
+       * impunit.adb: Add s-os_lib in the list of user visible units.
+       (Non_Imp_File_Names_95): Add a-clrefi to this list
+       Remove obsolete run-time entries.
+       (Non_Imp_File_Names_05): Add Ada 2005 entries for:
+        "a-exetim" -- Ada.Execution_Time
+        "a-extiti" -- Ada.Execution_Time.Timers
+
+       * mlib-prj.ads, mlib-prj.adb
+       (Build_Library): Use untouched object dir and library dir. At the
+       same time makes sure that the checks are done using the canonical
+       form. Removes hard-coded directory separator and use the proper host
+       one instead.
+       (Process_Project): Do not look in object directory to check if libgnarl
+       is needed for a library, if there is no object directory.
+       (Build_Library): Scan the ALI files to decide if libgnarl is needed for
+       linking.
+       (Build_Library): When invoking gnatbind, use a response file if the
+       total size of the arguments is too large.
+
+       * Makefile.rtl: (g-sttsne): New object file.
+       Add entry for a-clrefi, s-utf_32, System.Exceptions
+
+       * Make-lang.in: Remove bogus dependency of s-memory.o on memtrack.o.
+       (GNAT_ADA_OBJS, GNATBIND_OBJS): Add s-except.o.
+       (GNATBIND_OBJS): Add new objects a-clrefi.o and a-comlin.o
+       Change g-string to s-string, g-os_lib to s-os_lib
+       Change all g-utf_32 references to s-utf_32
+
+2007-06-06  Tristan Gingold  <gingold@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * init.c: Do not adjust IP of an imported VMS exception of ia64.
+       LIB$STOP is called to raise an exception and the IP of the exception
+       is the instruction right after the call.
+       (__gnat_adjust_context_for_raise, AIX): Implement.
+       (__gnat_error_handler, AIX): Accept SIGINFO related arguments and call
+        adjust_context_for_raise before Raise_From_Signal_Hanler.
+       (__gnat_install_handler, AIX): Add SA_SIGINFO to the sa_flags, to ensure
+       siginfo is passed to the handler, necessary to let the zcx propagation
+       engine unwind past it.
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+
+       * initialize.c (__gnat_initialize for vxworks):  Update documentation
+       on the ZCX support, using different sets of crtstuff objects than with
+       GCC 3.4.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * layout.ads, layout.adb (Adjust_Esize_Alignment): Move spec to package
+       spec from body
+       (Layout_Type): Fix recomputation of size from alignment.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch12.adb (Analyze_Associations): Diagnose use of an others
+       association in an instance.
+       (Copy_Generic_Node): If the node is a string literal, no need to copy
+       its descendants.
+       (Is_Generic_Formal): For a formal subprogram, the declaration is the
+       grandparent of the entity.
+       (Analyze_Formal_Interface_Type): Transform into a full type declaration,
+       to simplify handling of formal interfaces that derive from other formal
+       interfaces.
+       (Instantiate_Subprogram_Body): The defining unit name of the body of
+       the instance should be a defining identifier.
+       (Install_Formal_Packages): make global to the package, for use in
+       instantiations of child units.
+       (Analyze_Package_Instantiation): Do not attempt to set information on an
+       enclosing master of an entry when expansion is disabled.
+       (Instantiate_Type): If the actual is a tagged synchronized type and the
+       generic ancestor is an interface, create a generic actual for the
+       corresponding record.
+       (Analyze_Formal_Derived_Interface_Type): Rewrite as a derived type
+       declaration, to ensure that the interface list is processed correctly.
+       (Inline_Instance_Body): If enclosing scope is an instance body, remove
+       its entities from visibiility as well.
+       (Pre_Analyze_Actuals): if the actual is an allocator with  constraints
+       given with a named association, analyze the expression only, not the
+       discriminant association itself.
+       (Reset_Entity): If the analysis of a selected component is transformed
+       into an expanded name in the prefix of a call with parameters, do not
+       transform the original node into an expanded name, to prevent visibility
+       errors in the case of nested generics.
+       (Check_Private_View): For an array type, check whether the index types
+       may need exchanging.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * lib-writ.adb: Handle Convention_CIL in addition to Convention_Java,
+       since both are separated.
+       Add support for imported CIL packages.
+       Add further special handling of "value_type" for CIL.
+       Add special handling of pragma Import for CIL.
+
+       * make.ads, make.adb: When switch -eS is used, direct all outputs to
+       standard output instead of standard error, except errors.
+       (Absolute_Path): Use untouched casing for the parent directory.
+       (Add_Library_Search_Dir): Use the untouched directory name.
+       (Add_Source_Search_Dir): Idem.
+       (Change_To_Object_Directory): Update output to use proper casing.
+       (Create_Binder_Mapping_File): Use the untouched filename to set
+       ALI_Name.
+       (Gnatmake): Use untouched library and executable directory names.
+       (Insert_Project_Sources): Use untouched filename for spec and body.
+       (Is_In_Object_Directory): Use untouched object directory.
+       (Mark_Directory): Idem.
+       (Collect_Arguments_And_Compile): Ensure that Full_Source_File always
+       contains the non-canonical filename in all cases.
+       (Change_To_Object_Directory): In verbose mode, display the name of the
+       object directory we're changing to.
+       (Compile_Sources): Make sure, when a project file is used, to compile
+       the body of the unit, when there is one, even when only the spec is
+       recorded in an ALI file.
+       (Gcc_Switches, Binder_Switches, Linker_Switches): Tables moved from the
+       spec to the body.
+       (Report_Compilation_Failed): New procedure
+       (Bind, Display_Commands, Compile_Sources, Initialize, Scan_Make_Arg):
+       procedures moved from the spec to the body.
+       (Extract_Failure): Removed, not used
+       Replace explicit raises of exception Bind_Failed and Link_Failed with
+       calls to Make_Failed with the proper message.
+       Replace explicit raises of exception Compilation_Failed with calls to
+       procedure Report_Compilation_Failed.
+       (Initialize): Create mapping files unconditionally when using project
+       files.
+
+       * sem_mech.adb: (Name_CIL, Name_CIL_Constructor, Convention_CIL,
+       Pragma_CIL_Constructor): New names.
+
+       * targparm.ads, targparm.adb
+       (Compiler_System_Version): Removed, no longer used.
+       (Get_Target_Parameters): Relax checks on system.ads validity. Add
+       handling of two new system flags: JVM and CLI.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks 6): For the RTP run
+       time, use the default s-interr body that provides interrupt support
+       based on signals.
+       (LIBGNAT_TARGET_PAIRS for x86-linux): Use specialized versions of
+       a-exetim.ad{s,b}, a-extiti.ad{s,b}, a-rttiev.ad{s,b}, s-osinte.ad{s,b},
+       g-soccon.ads, and s-taprop.adb for the marte run time.
+       (EXTRA_GNATRTL_TASKING_OBJS for x86-linux): Execution time clocks and
+       timers are supported on marte.
+       (EH_MECHANISM for marte): Do not use ZCX.
+       (THREADSLIB for marte): Use -lmarte.
+       Add mlib-tgt-vms.o to the list of objects for gnatmake for VMS
+       Add mlib-tgt-specific.o to gnatmake objects
+       mlib-tgt-<platforms>.adb is now the body of MLib.Tgt.Specific, no
+       longer of MLib.Tgt.
+       (LIBGNAT_TARGET_PAIRS for vxworks): When building a run time for VxWorks
+       6, either kernel or rtp, use a specialized version of s-osinte.ads.
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+
+       * mkdir.c (__gnat_mkdir): Add support for UTF-8.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * mlib.ads, mlib.adb (Build_Library): Do not use hard-coded directory
+       separator, use instead the proper host directory separator.
+       (Copy_ALI_Files): Make sure that an already existing ALI file in the
+       ALI copy dir is writable, before doing the copy.
+
+       * mlib-utl.ads, mlib-utl.adb: 
+       (Gcc): If length of command line is too long, put the list of object
+       files in a response file, if this is supported by the platform.
+       (Ar): If invocation of the archive builder is allowed to be done in
+       chunks and building it in one shot would go above an OS dependent
+       limit on the number of characters on the command line, build the archive
+       in chunks.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * osinte-c.ads, osint-c.adb (Set_Library_Info_Name): Fail if base name
+       of specified object file is not equal to base name of source.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Process_Full_View): Propagate the CPP_Class attribute to
+       the full type declaration.
+       (Analyze_Component_Declaration): Add local variable E to capture the
+       initialization expression of the declaration. Replace the occurences of
+       Expression (N) with E.
+       (OK_For_Limited_Init_In_05): Allow initialization of class-wide
+       limited interface object with a function call.
+       (Array_Type_Declaration): If the declaration lacks subtype marks for
+       indices, create a simple index list to prevent cascaded errors.
+       (Is_Null_Extension): Ignore internal components created for secondary
+       tags when checking whether a record extension is a null extension.
+       (Check_Abstract_Interfaces): Add missing support for interface subtypes
+       and generic formals.
+       (Derived_Type_Declaration): Add missing support for interface subtypes
+       and generic formals.
+       (Analyze_Object_Declaration): If an initialization expression is
+       present, traverse its subtree and mark all allocators as static
+       coextensions.
+       (Add_Interface_Tag_Component): When looking for components that may be
+       secondary tags, ignore pragmas that can appear within a record
+       declaration.
+       (Check_Abstract_Overriding): an inherited function that dispatches on
+       result does not need to be overriden if the controlling type is a null
+       extension.
+       (Mentions_T): Handle properly a 'class attribute in an anonymous access
+       component declaration, when the prefix is an expanded name.
+       (Inherit_Component): If the derivation is for a private extension,
+       inherited components remain visible and their ekind should not be set
+       to Void.
+       (Find_Type_Of_Object): In the case of an access definition, always set
+       Is_Local_Anonymous_Access. We were previously not marking the anonymous
+       access type of a return object as a local anonymous type.
+       (Make_Index): Use Ambiguous_Character to report ambiguity on a discrete
+       range with character literal bounds.
+       (Constrain_Array): Initialize the Packed_Array_Type field to Empty.
+       (Access_Subprogram_Declaration): Indicate that the type declaration
+       depends on an incomplete type only if the incomplete type is declared
+       in an open scope.
+       (Analyze_Subtype_Declaration): Handle properly subtypes of
+       synchronized types that are tagged, and that may appear as generic
+       actuals.
+       (Access_Subprogram_Declaration): An anonymous access to subprogram can
+       appear as an access discriminant in a private type declaration.
+       (Add_Interface_Tag_Components): Complete decoration of the component
+       containing the tag of a secondary dispatch table and the component
+       containing the offset to the base of the object (this latter component
+       is only generated when the parent type has discriminants --as documented
+       in this routine).
+       (Inherit_Components): Use the new decoration of the tag components to
+       improve the condition that avoids inheriting the components associated
+       with secondary tags of the parent.
+       (Build_Discriminanted_Subtype): Indicate to the backend that the
+       size of record types associated with dispatch tables is known at
+       compile time.
+       (Analyze_Subtype_Declaration): Propagate Is_Interface flag when needed.
+       (Analyze_Interface_Declaration): Change setting of Is_Limited_Interface
+       to include task, protected, and synchronized interfaces as limited
+       interfaces.
+       (Process_Discriminants): Remove the setting of
+       Is_Local_Anonymous_Access on the type of (anonymous) access
+       discriminants of nonlimited types.
+       (Analyze_Interface_Type_Declaration): Complete the decoration of the
+       class-wide entity it is is already present. This situation occurs if
+       the limited-view has been previously built.
+       (Enumeration_Type_Declaration): Initialize properly the Enum_Pos_To_Rep
+       field.
+       (Add_Interface_Tag_Components.Add_Tag): Set the value of the attribute
+       Related_Interface.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
+       of the type that specify the position of interface tags when the type
+       inherits discriminated array components from the parent type.
+       If a component is initialized with a box, check for the presence of a
+       default expression in its declaration before using its default
+       initialization procedure.
+       (Resolve_Record_Aggregate): If a component is box-initialized, and the
+       component type has a discriminants, create a partial aggregate for it
+       by copying the discriminants of the component subtype.
+       Reject attempt to initialize a discriminant with a box.
+       (Array_Aggr_Subtype): Indicate to the backend that the size of arrays
+       associated with dispatch tables is known at compile time.
+       (Get_Value): If an association in a record aggregate has a box
+       association, and the corresponding record component has a default
+       expression, always copy the default expression, even when the
+       association has a single choice, in order to create a proper
+       association for the expanded aggregate.
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * par-ch12.adb (P_Generic_Associations): The source position of an
+       Others association is that of the others keyword, not that of the token
+       that follows the box.
+       (P_Formal_Type_Definition): Handle formal access types that carry a
+       not null indicator.
+
+       * par-ch3.adb (P_Known_Discriminant_Part_Opt, P_Component_Items): If
+       multiple identifier are present, save Scan_State before scanning the
+       colon, to ensure that separate trees are constructed for each
+       declaration.
+       (P_Identifier_Declarations): For object declaration, set new flag
+       Has_Init_Expression if initialization expression present.
+       (P_Null_Exclusion): Properly diagnose NOT NULL coming before NULL
+       Improve NOT NULL error messages
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch4.adb: (P_Name): Recover from literal used as name
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * prep.ads, prep.adb (Expression): New Boolean parameter Complemented,
+       defaulted to False.
+       In the "not" case, recursive call with Complemented set to True.
+       Do not allow "or" or "and" operators when Complemented is True.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * prj.adb (Project_Empty): Gives default value for new component
+       Libgnarl_Needed
+
+       * prj-attr.ads: Minor reformatting
+
+       * prj-env.ads, prj-env.adb (For_All_Object_Dirs): Register object
+       directory using the untouched casing.
+       (For_All_Source_Dirs): Idem.
+
+       * prj-ext.ads, prj-ext.adb (Search_Directories): New table to record
+       directories specified with switches -aP.
+       (Add_Search_Project_Directory): New procedure
+       (Initialize_Project_Path): Put the directories in table
+       Search_Directories in the project search path.
+       (Initialize_Project_Path): For VMS, transform into canonical form the
+       project path.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * restrict.ads, restrict.adb (No_Exception_Handlers_Set): Only return
+       true if configurable run-time or No_Run_Time is set.
+       (Set_Restriction): Avoid setting restriction No_Elaboration_Code when
+       processing an unit which is not the one being compiled.
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-arit64.adb: Replace System.Pure_Exceptions by Ada 05 syntax.
+       Replace UC by Ada.UC
+
+       * s-bitops.adb: Get rid of System.Pure_Exceptions.
+       Replace UC by Ada.UC
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * scng.adb: (Check_End_Of_Line): Deal with very long lines
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem.ads, sem.adb (Semantics): Save and restore Global_Discard_Names
+       Remove no longer used nodes.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch10.ads, sem_ch10.adb (Analyze_Compilation_Unit): Disable check
+       on obsolescent withed unit in case of limited-withed units.
+       (Analyze_Compilation_Unit): Add guard to code that removed an
+       instantiation from visibility, to prevent compiler aborts when
+       instantiation is abandoned early on.
+       (Install_Limited_Withed_Unit): Recognize a limited-with clause on the
+       current unit being analyzed, and Distinguish local incomplete types
+       from limited views of types declared elsewhere.
+       (Build_Limited_Views.Decorate_Tagged_Type): Add documentation
+       to state that the class-wide entity is shared by the limited-view
+       and the full-view.
+       (Analyze_With_Clause): Improve placement of flag for case of
+       unimplemented unit.
+       (Analyze_With_Clause): Recognize use of GNAT.Exception_Traces in a
+       manner similar to GNAT.Current_Exception. This is a violation of
+       restriction (No_Exception_Propagation), and also inhibits the
+       optimization of local raise to goto.
+       (Analyze_With_Clause): Check for Most_Recent_Exception being with'ed,
+       and if so set Most_Recent_Exception_Used flag in Opt, and also check
+       for violation of restriction No_Exception_Propagation.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+           Hristian Kirtchev  <kirtchev@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch11.adb (Analyze_Exception_Handlers): Add barrier to avoid the
+       use of entity Exception_Occurrence if it is not available in the
+       target run-time.
+
+       * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): When
+       concurrent types are declared within an Ada 2005 generic, build their
+       corresponding record types since they are needed for overriding-related
+       semantic checks.
+       (Analyze_Protected_Type): Rearrange and simplify code for testing that a
+       protected type does not implement a task interface or a nonlimited
+       interface.
+       (Analyze_Task_Type): Rearrange and simplify code for testing that a task
+       type does not implement a protected interface or a nonlimited interface.
+       (Single_Task_Declaration, Single_Protected_Declaration): use original
+       entity for variable declaration, to ensure that debugging information
+       is correcty generated.
+       (Analyze_Protected_Type, Analyze_Task_Type): Do not call expander
+       routines if the expander is not active.
+       (Analyze_Task_Body): Mark all handlers to stop optimization of local
+       raise, since special things happen for task exception handlers.
+
+       * sem_disp.adb (Check_Controlling_Formals): Add type retrieval for
+       concurrent types declared within a generic.
+       (Check_Dispatching_Operation): Do not emit warning about late interface
+       operations in the context of an instance.
+       (Check_Dispatching_Call): Remove restriction against calling a
+       dispatching operation with a limited controlling result.
+       (Check_Dispatching_Operation): Replace calls to Fill_DT_Entry and
+       Register_Interface_DT_Entry by calls to Register_Primitive.
+       (Check_Dispatching_Formals): Handle properly a function with a
+       controlling access result.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Stream_Size):
+       Check for restriction No_Implementation_Attributes if in Ada 95 mode.
+       (Storage_Pool): Do not crash when RE_Stack_Bounded_Pool is not available
+       (Analyze_Attribute_Definition_Clause [External_Tag]): Generate error
+       message when using a VM, since this attribute is not supported.
+       (Analyze_Record_Representation_Clause): Give unrepped component warnings
+
+       * usage.adb: Add new warning for renaming of function return objects
+       Indicate that -gnatwp and -gnatwP concern front-end inlining
+       Add line for -gnatyg
+       Add usage information for -gnatw.c/C
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb
+       (Find_Var): Do not consider function call in test for infinite loop
+       warning if warnings set off for function entity.
+       (One_Bound): Do not create a temporary for a loop bound if it is a
+       character literal.
+       (Analyze_Assignment): Traverse the right hand side of an assignment and
+       mark all allocators as static coextensions.
+       (Analyze_Assignment): Exempt assignments involving a dispatching call
+       to a function with a controlling access result from the check requiring
+       the target to be class-wide.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_res.ads, sem_res.adb (Process_Allocator): Do not propagate the
+       chain of coextensions when an allocator serves as the root of such a
+       chain.
+       (Propagate_Coextensions): Remove the test for the root being an
+       allocator.
+       (Resolve_Allocator): Add condition to ensure that all future decoration
+       occurs on an allocator node. Add processing and cleanup for static
+       coextensions.
+       (Valid_Conversion): If the operand type is the limited view of a
+       class-wide type, use the non-limited view is available to determine
+       legality of operation.
+       (Ambiguous_Character): move to spec, for use elsewhere.
+       (Ambiguous_Character): Handle Wide_Wide_Character in Ada 2005 mode
+       (Resolve_Range): Diagnose properly an ambiguous range whose bounds are
+       character literals.
+       (Resolve_Arithmetic_Op): Call Activate_Division_Check instead of setting
+       Do_Division_Check flag explicitly.
+       (Resolve_Actuals): If the actual is of a synchronized type, and the
+       formal is of the corresponding record type, this is a call to a
+       primitive operation of the type, that is declared outside of the type;
+       the actual must be unchecked-converted to the type of the actual
+       (Resolve_Call): Kill all current values for any subprogram call if
+       flag Suppress_Value_Tracking_On_Call is set.
+       (Resolve_Type_Conversion): Generate error message the the operand
+       or target of interface conversions come from a limited view.
+       (Check_Infinite_Recursion): Ignore generated calls
+       (Check_Allocator_Discrim_Accessibility): New procedure for checking
+       that an expression that constrains an access discriminant in an
+       allocator does not denote an object with a deeper level than the
+       allocator's access type.
+       (Resolve_Allocator): In the case of an allocator initialized by an
+       aggregate of a discriminated type, check that associations for any
+       access discriminants satisfy accessibility requirements by calling
+       Check_Allocator_Discrim_Accessibility.
+       (Resolve_Equality_Op): Handle comparisons of anonymous access to
+       subprogram types in the same fashion as other anonymous access types.
+       (Resolve_Concatenation_Arg): Remove initial character '\' in an error
+       message that is not a continuation message.
+       (Resolve_Type_Conversion): Add missing support for conversion to
+       interface type.
+       (Resolve_Actuals): Introduce a transient scope around the call if an
+       actual is a call to a function returning a limited type, because the
+       resulting value must be finalized after the call.
+       (Resolve_Actuals): If the call was given in prefix notations, check
+       whether an implicit 'Access reference or implicit dereference must be
+       added to make the actual conform to the controlling formal.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch7.adb (Check_Anonymous_Access_Types): Fix error for null body
+       (Derive_Inherited_Private_Subprogram): Code cleanup. In case of explicit
+       overriding of an inherited private subprogram now there is no need to
+       inherit its dispatching slot and reduce the size of the dispatch table.
+       Set_All_DT_Position now ensures that the same slot is now assigned to
+       both entities. This is required to statically build the dispatch table.
+       (Declare_Inherited_Private_Subprograms): Rewriten to avoid the need
+       of calling Set_All_DT_Position to re-evaluate the position of the
+       entries in the dispatch table. Such reevaluation is not desired if
+       the tagged type is already frozen.
+
+2007-06-06  Hristian Kirtchev  <kirtchev@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads, sem_util.adb (May_Be_Lvalue): A prefix of an attribute
+       reference acts as an lvalue when the attribute name modifies the prefix
+       (Is_Coextension_Root): New routine.
+       (Mark_Static_Coextensions): New routine.
+       (Type_Access_Level): Revise code for checking the level of the
+       anonymous access type of a return object.
+       (Safe_To_Capture_Value): Not safe to capture if Address_Taken
+       (Matches_Prefixed_View_Profile): Remove the no longer necessary
+       retrieval of the corresponding controlling record type.
+       (Find_Overridden_Synchronized_Primitive): Code cleanup. Add handling of
+       concurrent types declared within a generic as well as class wide types.
+       Emit a mode incompatibility error whenever a protected entry or routine
+       override an interface routine whose first parameter is not of mode
+       "out", "in out" or access to variable.
+       (Overrides_Synchronized_Primitive): Rename to
+       Find_Overridden_Synchronized_Primitive.
+       (Collect_Interface_Components): New subprogram that collects all the
+       components of a tagged record containing tags of secondary dispatch
+       tables.
+       (Add_Global_Declaration): New procedure
+       (Abstract_Interface_List): Handle properly the case of a subtype of a
+       private extension.
+       (Type_Access_Level): In the case of a type whose parent scope is a
+       return statement, call Type_Access_Level recursively on the enclosing
+       function's result type to determine the level of the return object's
+       type.
+       (Build_Elaboration_Entity): Build name of elaboration entity from the
+       scope chain of the entity, rather than the unit name of the file name.
+       (Check_Nested_Access): New procedure.
+       (Has_Up_Level_Access, Set_Has_Up_Level_Access): New procedures.
+       (Find_Direct_Name, Note_Possible_Modification): Use Check_Nested_Access.
+       (Get_Renamed_Entity): Utility routine for performing common operation
+       of chasing the Renamed_Entity field of an entity.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_elab.adb (Check_A_Call): Specialize elaboration warnings on
+       elaboration model
+       (Check_A_Call): Add check for entry call which was causing blowup
+
+2007-06-06  Olivier Hainque  <hainque@adacore.com>
+
+       * raise-gcc.c (__gnat_eh_personality): Tweak the signature and add
+       special code on ia64-vms to handle major incompatibilities between the
+       GCC unwinding ABI and the VMS Condition Handling Facility, both calling
+       this routine with a very different set of arguments and expectations on
+       the return value.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * socket.c (__gnat_close_signalling_fd): New function.
+       (__gnat_safe_gethostbyaddr, __gnat_safe_gethostbyname,
+       __gnat_safe_getservbyname, __gnat_safe_getservbyport):
+       New supporting functions for task safe Netdb operations.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * a-except-2005.ads, a-except-2005.adb
+       (Raise_From_Controlled_Operation): New procedure in
+       (private part of) Ada.Exceptions (standard runtime version). Used to
+       provide informational exception message when Program_Error is raised as
+       a result of an Adjust or Finalize operation propagating an exception.
+       (Rmsg_28): Fix description for E.4(18) check.
+       (Raise_Current_Excep): Call Debug_Raise_Exception just before
+       propagation starts, to let debuggers know about the event in a reliable
+       fashion.
+       Take the address of E and dereference to make sure it is homed on stack
+       and prevent the stores from being deleted, necessary for proper
+       debugger behavior on "break exception" hits.
+       (Local_Raise): Moved to System.Exceptions
+
+       * s-finimp.adb (Raise_From_Finalize): Code to construct an appropriate
+       exception message from the current occurrence and raise Program_Error
+       has been moved to Ada.Exceptions.Raise_From_Controlled_Operation.
+
+2007-06-06  Jose Ruiz  <ruiz@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprob.adb (Unlock): Change the ceiling priority of the underlying
+       lock, if needed.
+
+       * s-taprop.ads (Set_Ceiling): Add this procedure to change the ceiling
+       priority associated to a lock.
+
+       * s-tpoben.adb ([Vulnerable_]Complete_Task, Lock_Entries): Relax
+       assertion to take into account case of no abort restriction.
+       (Initialize_Protection_Entries): Add initialization for the field
+       New_Ceiling associated to the protected object.
+       (Unlock_Entries): Change the ceiling priority of the underlying lock, if
+       needed.
+
+       * s-solita.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+       since this function needs to be set consistently with Update_Exception.
+
+       * s-tarest.adb (Get_Current_Excep): Moved back to s-tasini/s-tarest,
+       since this function needs to be set consistently with Update_Exception.
+
+       * s-taskin.ads: Update comments on
+       Interrupt_Server_Blocked_On_Event_Flag.
+       (Unbind_Handler): Fix handling of server_task wakeup
+       (Server_Task): Set self's state so that Unbind_Handler can take
+       appropriate actions.
+       (Common_ATCB): Now use a constant from System.Parameters to determine
+       the max size of the Task_Image field.
+
+       * s-tassta.adb (Task_Wrapper): Now pass the overflow guard to the
+       Initialize_Analyzer function.
+       ([Vulnerable_]Complete_Task, Lock_Entries): Relax assertion to
+       take into account case of no abort restriction.
+       ([Vulnerable_]Complete_Master): Modify assertion.
+
+       * s-tataat.adb (Finalize): Use the nestable versions of
+       Defer/Undefer_Abort.
+
+       * s-tpobop.adb (Protected_Entry_Call): Relax assertion.
+
+       * s-tpobop.ads: Update comments.
+
+       * s-tposen.adb (Protected_Single_Entry_Call): Call Lock_Entry instead
+       of locking the object manually, to avoid inconsistencies between
+       Lock/Unlock_Entry assertions.
+
+       * s-interr.ads, s-interr.adb (Server_Task): Fix race condition when
+       terminating
+       application and System.Parameters.No_Abort is True.
+       Update comments on Interrupt_Server_Blocked_On_Event_Flag.
+       (Unbind_Handler): Fix handling of server_task wakeup
+       (Server_Task): Set self's state so that Unbind_Handler can take
+       appropriate actions.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * s-finroo.ads, s-finroo.adb (Read, Write): Use null procedure
+       declarations instead of an explicit null body, for conciseness.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb (Eval_Relational_Op): nothing to do if an operand is an
+       illegal aggregate and the type is still Any_Composite.
+       (Subtypes_Statically_Match): Fix problem of empty discriminant list
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
+       to prevent subsequent expansion.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * sinput-l.ads, sinput-l.adb: implement a new pragma No_Body
+
+2007-06-06  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * sprint.ads, sprint.adb (Sprint_Node_Actual): Output aggregate for
+       exceptions.
+       (Write_Itype): Handle case of string literal subtype, which
+       comes up in this context.
+       (Update_Itype): when debugging expanded code, update sloc of itypes
+       associated with defining_identifiers and ranges, for gdb use.
+       (Sprint_Node_Actual): Add static keyword to object or exception
+       declaration output if Is_Statically_Allocated is True.
+       (Sprint_End_Label): Set entity of end marker for a subprogram, package,
+       or task body, so that the tree carries the proper Sloc information for
+       debugging use.
+       (Write_Indent): In Dump_Source_Text mode, ignore implicit label nodes
+
+2007-06-06  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-secsta.adb (Chunk): Ensure this object has a static size known at
+       compile time, to avoid dynamic memory allocation
+       (Elaboration code): Only use dynamic memory allocation when needed.
+
+2007-06-06  Quentin Ochem  <ochem@adacore.com>
+
+       * s-stausa.ads, s-stausa.adb (Initialize_Analyzer): Added parameter
+       "Overflow_Guard".
+       (Stack_Analyzer): Added field "Overflow_Guard"
+       (Task_Result): Added field "Overflow_Guard".
+       (Index_Str): New constant.
+       (Task_Name_Str): New constant.
+       (Actual_Size_Str): New constant.
+       (Pattern_Array_Element_Size): New constant.
+       (Get_Usage_Range): New subprogram.
+       (Output_Result): Added parameter Max_Size_Len and Max_Actual_Use_Len.
+       Now align the output.
+       Added comments.
+       (Initialize): Added value for Overflow_Guard.
+       (Fill_Stack): Use constant Pattern_Array_Elem_Size when relevant.
+       Update the value of the overflow guard according to the actual
+       beginning of the pattern array.
+       (Initialize_Analyzer): Added parameter Overflow_Guard.
+       Take this parameter into accound when computing the max size.
+       (Compute_Result): Use constant Pattern_Array_Elem_Size when relevant.
+       (Report_Result): Removed extra useless procedure.
+       Updated call to Output_Result.
+       Moved full computation of the Task_Result here.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * g-soccon-darwin.ads, gen-soccon.c: Add new constant
+       Thread_Blocking_IO, always True by default, set False on a per-runtime
+       basis.
+       Add Windows-specific constants
+       Add new constant Need_Netdb_Buffer.
+       Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+       not, whether to use getXXXbyYYY_r.
+
+       * gsocket.h: Add new constant Need_Netdb_Buffer.
+       Add new macros to indicate whether getXXXbyYYY is thread safe and, if
+       not, whether to use getXXXbyYYY_r.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-stoele.ads, s-stoele.adb: Move inline_always subprograms earlier
+       than their first call.
+       Add type Dummy_Communication_Block used in the generation of the pre-
+       defined dispatching primitive _disp_asynchronous_select.
+       (Storage_Element): Put Pragma Universal_Aliasing on it.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * a-dirval-vms.adb, a-dirval.ads, a-dirval.adb (Windows): New Boolean
+       function.
+
+       * a-dirval-mingw.adb (Is_Valid_Path_Name): Forbid a path with a drive
+       letter if it is not followed by a '/' or a '\'.
+       (Windows): New Boolean function
+
+       * a-direct.ads, a-direct.adb: Remove unnecessary and misplaced pragma
+       Ada 2005.
+       (Containing_Directory): On Windows, keep at least one '/' or '\' after a
+       drive letter.
+       (Containing_Directory): Raise Use_Error when the directory is a root
+       directory.
+       (Extension): When returning the result, use a conversion to Result_Type,
+       not a qualification.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * stylesw.ads, stylesw.adb (Set_GNAT_Style_Check): New procedure
+       (Set_Style_Check_Options): Recognize new -gnatyg style switch
+
+       * switch-c.adb (Scan_Front_End_Switches, case -gnatg): Set
+       Warn_On_Non_Local_Exception to False, to turn off warnings for
+       No_Exception_Propagation in ZFP runtime.
+       (Scan_Front_End_Switches): Fix handling of --RTS switch for non GCC
+       back-ends.
+       (Scan_Front_End_Switches): For 'g', call Set_GNAT_Style_Checks
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * switch-b.adb (Scan_Binder_Switches): Add processing for new
+       switches -R and -Z
+
+       * switch-m.adb (Normalize_Compiler_Switches): Do not record switch -E
+       (Scan_Make_Switches): Recognize new switch -aP
+
+2007-06-06  Matthew Gingell  <gingell@adacore.com>
+           Jose Ruiz  <ruiz@adacore.com>
+
+       * s-stchop-vxworks.adb (Set_Stack_Info): Instead of trying to map the
+       VxWorks task descriptor in the Ada run time, call a C subprogram
+       (__gnat_get_stack_info) that extracts the required information.
+
+       * sysdep.c: Back out temporary lynxos workaround.
+       (__gnat_get_stack_info): Add this procedure that passes to the Ada run
+       time the stack information associated to the currently executing task.
+       Only VxWorks systems require this function.
+
+2007-06-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tracebak.c (FRAME_OFFSET): Add parameter FP. On SPARC/Solaris, do not
+       add the stack bias if the offset is computed from a frame address.
+       (__gnat_backtrace): Adjust for above change.
+
+2007-06-06  Thomas Quinot  <quinot@adacore.com>
+
+       * types.h, types.ads: Rename PE_Illegal_CW_Actual_E_4_18 to
+       PE_Non_Transportable_Actual.
+       (By_Descriptor_Last): New constant.
+       (By_Copy_Return): Likewise.
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+
+       * vms_conv.adb (Process_Argument): Keep arguments starting with '+' as
+       is.
+
+       * vms_data.ads: Add entries for -gnatw.x and -gnatw.X
+       /STYLE_CHECKS=GNAT: Change meaning to -gnatyg
+       /GNAT_INTERNAL: New compiler qualifier corresponding to -gnatg
+       Add missing comment for /OPTIMIZE=SPACE
+       Add entry for OPTIMIZE=SPACE
+       Add new qualifier /ALL_PROJECTS (= -U) for GNAT LIST
+       Add documentation for new qualifiers corresponding to -gnatw.c/.C
+
+2007-06-06  Vincent Celier  <celier@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * xgnatugn.adb: Allow dots to be used in ug_words (-gnatw.c and
+       -gnatw.C)
+
+       * gnat_ugn.texi: Fix ordering of -g switch for gnatmake
+       Document gnatbind switch -a
+       (case Constructions): Document that variables declarations are allowed
+       for previously declared variables.
+       Fix external lib project example
+       -gnatg: Indicate new VMS qualifier /GNAT_INTERNAL
+       Indicate that "#if not X or Y then" is not allowed in input files to
+       gnatprep.
+       Document gnatw.x and gnatw.X warning flags
+       Mention -Winline switch to activate warnings when back-end inlining is
+       ineffective.
+       Add gnatcheck rule descriptions
+       Describe how to use the GNAT driver to call a tool on a closure.
+       Describe how to run project-wide checks or metrics.
+       Document gnatbind's -R option
+       Updated to account for Ada 2005 support
+
+       * gnat_rm.texi (Case Construction): Allow variable declarations for
+       previously declared variables.
+       (Representation Clauses and Pragmas): Lift restriction on alignment
+       clauses for record types.
+       (Ada.Characters.*): Fix typo in reference to A.3.3(27).
+       Document No_Exception_Propagation restriction
+       Document No_Body pragma
+       Updated to account for Ada 2005 support; corrected some typos
+       (Implementation Defined Pragmas): Document pragma Universal_Aliasing.
+
+       * gnat-style.texi: Make it clear that we never use mode IN for
+       procedures or functions
+
+       * ug_words: Add entries for -gnatw.x and -gnatw.X
+       Add entries for -gnatw.c/.C
+
+2007-06-06  Pascal Obry  <obry@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Add_Archive_Path): Use untouched object and library
+       dirs and library name.
+       (Build_Global_Archive): Idem. Minor code clean-up. Removes duplicate
+       comments.
+       (Build_Library): Idem.
+       (Compile_Individual_Sources): Idem.
+       (Compile_Link_With_Gnatmake): Idem.
+       (Compile_Sources): Idem.
+       (Get_Imported_Directories): Idem.
+       (Link_Executables): Idem. Same change for the executable dir.
+       (Check_Compilation_Needed): C_Source_Path new variable containing
+       the canonical form of Source_Path to check against the source names
+       in the dependency file.
+       (Build_Global_Archive, Compile_Individual_Sources, Compile_Sources): In
+       verbose mode, display the name of the object directory we're changing
+       to.
+       (Saved_Switches): New name of table X_Switches
+       (Scan_Arg): Recognize new switch -aP and save in table Saved_Switches
+       (Usage): New line for switch -aP
+       (Get_Imported_Directories.Add): Make sure that Add_Arg is True before
+       testing if a directory should be added to the search path.
+
+2007-06-06  Javier Miranda  <miranda@adacore.com>
+
+       * a-cidlli.ads, a-cdlili.ads, a-cohama.ads, a-coinve.ads, 
+       a-convec.ads (Empty_Vector, Empty_Map, Empty_List): Move this object
+       declaration after freezing point of all its associated tagged types;
+       otherwise such types are frozen too early.
+
+2007-06-06  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.adb: Documentation addition
+
+       * g-cgideb.adb: Minor code reorganization
+
+       * tree_io.adb, treepr.adb, cstand.adb, krunch.adb, par.adb,
+       mdll-utl.adb, par-ch5.adb, par-tchk.adb, s-exctab.ads, s-memory.ads,
+       s-osprim.ads, s-restri.ads, s-soflin.ads: Minor reformatting.
+
+       * debug.ads, debug.adb (Get_Debug_Flag_K): Remove unused obsolete
+       function.  Change name New_Scope to Push_Scope
+       (Get_Debug_Flag_K): Remove unused obsolete function.
+
+       * exp_ch8.adb, inline.adb, sem_ch8.ads: Change name New_Scope to
+       Push_Scope.
+
+       * makeusg.adb: Update Copyright notice
+       Add line for switch -aP
+
+       * makeusg.adb: Fix wording of some usage messages
+
+       * s-assert.adb (Raise_Assert_Failure): Add call to
+       Debug_Raise_Assert_Failure.
+
+       * s-unstyp.ads (type Packed_Bytes2): Change alignment to use 'Min
+       (2, Standard'Alignment) for compatibility with AAMP (where alignment
+       is restricted to 1).
+
+       * s-wchjis.adb: Remove use of System.Pure_Exceptions
+
+       * tbuild.ads, tbuild.adb (Make_Implicit_Exception_Handler): Set the
+       node location to No_Location when we're not debugging the expanded
+       code.
+
+2007-05-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * misc.c (enumerate_modes): Consider log2_b to always be one.
+
+2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
+
+       * misc.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+
 2007-05-02  Pascal Obry  <obry@adacore.com>
 
        * gnatchop.adb (Write_Source_Reference_Pragma): Change implementation