OSDN Git Service

2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 1a28e6e..924dc71 100644 (file)
+2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>
+
+       * Makefile.in: Fix *86 kfreebsd target specific pairs.
+
+2008-06-25  Samuel Tardieu  <sam@rfc1149.net>
+
+       * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
+
+2008-06-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (known_alignment): Derive the alignment from pointed-to
+       types only if it is otherwise unknown.
+       <INTEGER_CST>: Tidy.
+       <MULT_EXPR>: Likewise.
+       <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
+       that of the base.
+
+2008-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR ada/36573
+       * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
+
+2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnat_rm.texi (Implementation Defined Characteristics)
+       (Standard Library Routines): Use @smallexample for indented
+       text.  Drop Indentation outside examples.
+       * gnat_ugn.texi: Likewise.
+
+2008-06-13  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
+       if undefined.
+       (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
+       realignment with force_align_arg_pointer attribute on foreign
+       convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+       
+2008-06-13  Olivier Hainque  <hainque@adacore.com>
+
+       * utils.c (rest_of_record_type_compilation): When computing
+       encodings for the components of a variable size type, early
+       strip conversions on the current position expression to make
+       sure it's shape is visible.  Use remove_conversions for this
+       purpose.
+
+2008-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
+       constrained subtype of a discriminated type, discard the fields that
+       are beyond its limits according to its size.
+
+2008-06-10  Olivier Hainque  <hainque@adacore.com>
+
+       * utils.c (create_subprog_decl): If this is for the 'main' entry
+       point according to the asm name, redirect main_identifier_node.
+
+2008-06-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (components_to_record): Adjust the packedness for the
+       qualified union as well.
+
+2008-06-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
+       checks non fatal.
+
+2008-06-07  Samuel Tardieu  <sam@rfc1149.net>
+
+       * sem_res.adb (Large_Storage_Type): A type is large if it
+       requires as many bits as Positive to store its values and its
+       bounds are known at compile time.
+       * sem_ch13.adb (Minimum_Size): Note that this function returns
+       0 if the size is not known at compile time.
+
+2008-06-06  Nicolas Setton  <setton@adacore.com>
+           Olivier Hainque  <hainque@adacore.com>
+
+       * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
+       attribute, parallel descriptive type attached to another
+       type for debug info generation purposes.
+       * utils.c (add_parallel_type): New function, register
+       parallel type to be attached to a type.
+       (get_parallel_type): New function, fetch a registered
+       parallel type, if any.
+       (rest_of_record_type_compilation): Register the parallel
+       type we make for variable size records.
+       * gigi.h (add_parallel_type, get_parallel_type): Declare.
+       * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
+       parallel debug types we make.
+       * trans.c (extract_encoding, decode_name): New functions.
+       (gigi): If the DWARF attribute extensions are available, setup
+       to use them.
+       * lang.opt: Register language specific processing request
+       for -gdwarf+.
+       * misc.c (gnat_dwarf_extensions): New global variable. How much
+       do we want of our DWARF extensions. 0 by default.
+       (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
+       (gnat_post_options): Map gnat_dwarf_extensions to the
+       commonuse_gnu_debug_info_extensions for later processing.
+       
+2008-06-04  Samuel Tardieu  <sam@rfc1149.net>
+
+       * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
+
+2008-06-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in (common_tools): Fix typos in $(exeext) extension.
+       * gnat_ugn.texi (Style Checking)
+       (Adding the Results of Compiler Checks to gnatcheck Output)
+       (Example of Binder Output File): Fix typos.
+       * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
+       exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
+       s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
+       s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
+       sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
+       sinfo.ads, utils.c: Fix typos in comments.
+       * sem_ch6.adb, vms_data.ads: Fix typos in strings.
+
+2008-05-29  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_eval.adb: Minor reformatting
+
+2008-05-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
+       is abstract, do not apply abstractness check on subprogram if this is
+       a renaming declaration.
+
+2008-05-29  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/864
+       * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
+       allow recognition of program suffix in addition to prefix.
+       
+       * gnatchop.adb (Locate_Executable): Add support for prefix.
+       
+       * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
+       mlib-utl.adb: Adjust calls to Program_Name.
+
+2008-05-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting
+       * sem_prag.adb: Minor reformatting
+       * sem_res.adb: Minor reformatting
+       * sinput-p.ads: Minor reformatting
+
+2008-05-29  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.adb:
+       (Abstract_Interface_List): Add missing support for full type-declaration
+       associated with synchronized types.
+
+2008-05-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_eval.adb (Is_Same_Value): Take care of several more cases
+
+2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
+       access type, wrap the expression in a conversion to force an
+       accessibility check.
+
+       * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
+       accessibility checks even when expansion is disabled in order to
+       generate messages in the presence of previous errors or in
+       semantics-only mode.
+
+2008-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
+       * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
+
+2008-05-28  Vincent Celier  <celier@adacore.com>
+
+       PR ada/34446
+       * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
+       preprocessing expressions
+
+2008-05-28  Vincent Celier  <celier@adacore.com>
+
+       * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
+       for preprocessing
+       
+       * sinput-p.ads: Minor comment update and reformatting
+
+2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
+       type has a deeper level than any master only when it is the type of an
+       access parameter.
+
+2008-05-28  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
+
+2008-05-28  Javier Miranda  <miranda@adacore.com>
+
+       * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
+       * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
+       * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
+       Add code that was previously located in
+       Find_Overridden_Synchronized_Primitive because it is only used here.
+
+2008-05-28  Sergey Rybin  <rybin@adacore.com>
+
+       * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
+       Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * restrict.ads:
+       Add missing restrictions, and properly label all GNAT defined ones
+       
+       * rtsfind.ads:
+       Add entry for Ada_Real_Time.Timing_Events.Timing_Event
+       Add entry for Ada.Task_Termination.Set_Specific_Handler
+       Add entry for Ada.Task_Termination.Specific_Handler
+       
+       * s-rident.ads:
+       Add missing restrictions and properly mark all gnat defined ones
+       
+       * sem_ch3.adb:
+       (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
+       
+       * sem_res.adb:
+       (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+       * gnat_rm.texi: Add missing restrictions, and properly label all
+       GNAT defined ones
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * restrict.adb:
+       (Check_Restriction): violation of restriction No_Finalization is
+       treated as a serious error to stop expansion
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb: Minor reformatting
+       * exp_util.ads: Minor reformatting.
+
+2008-05-28  Arnaud Charlet  <charlet@adacore.com>
+
+       * Make-lang.in: Remove gprmake.
+
+       * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
+
+2008-05-28  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
+       improper progenitor names, and avoid cascaded errors.
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi: Add note on Old giving warning when applied to constant
+
+       * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
+       a constant
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
+       size
+
+2008-05-28  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch5.adb:
+       (Expand_Simple_Function_Return): Copy unaligned result into temporary
+
+2008-05-28  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
+       for user-defined predefined primitives.
+       
+       * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
+       (Find_Overridden_Synchronized_Primitive): Ditto.
+
+       * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
+
+2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-ststio.adb, s-direio.adb:
+       Further code clean up of previous change.
+       Update comments.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb: Minor reformatting
+
+2008-05-27  Bob Duff  <duff@adacore.com>
+
+       * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
+       untagged private type with a tagged full type, where the full type has
+       a self reference, create the corresponding class-wide type early, in
+       case the self reference is "access T'Class".
+
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
+       tasks and context is an object declaration. create master entity before
+       expansion.
+
+2008-05-27  Robert Dewar  <dewar@adacore.com>
+
+       * mlib-prj.adb: Minor reformatting
+
+       * prj-part.adb: Minor reformatting
+
+       * prj.ads: Minor reformatting
+
+       * exp_ch3.adb: Minor reformatting.
+
+       * sem_ch3.ads: Minor reformatting
+
+       * sem_eval.adb: Minor reformatting
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb:
+       <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
+
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
+       tasks, create an activation chain now, before the expansion into
+       assignments and build-in-place calls that require the presence of an
+       activation chain.
+       (Backend_Processing_Possible): If the component type is inherently
+       limited, the aggregate must be expanded into individual built-in-place
+       assignments.
+
+       * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
+       determine whether an allocation extra parameter must be built, to
+       handle case of a private type whose full type is a discriminated type
+       with defaults.
+
+2008-05-27  Bob Duff  <duff@adacore.com>
+
+       * gnat_rm.texi:
+       Document the new behavior regarding trampolines.
+
+2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-direio.adb, a-sequio.adb: Replace address clause by
+       unrestricted_access, simpler and compatible with .NET.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-part.adb:
+       (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
+       a project file, so that symbolic links are not resolved.
+
+2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
+       Replace heavy address clause by 'Unrestricted_Access, cleaner and more
+       portable across GNAT targets, since this kind of address clause is not
+       supported by VM back-ends (.NET/JGNAT).
+
+2008-05-27  Arnaud Charlet  <charlet@adacore.com>
+
+       * bindgen.adb: Update comments.
+       
+       * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
+       prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
+       mlib-tgt.adb, prj-env.adb, prj-env.ads:
+       (Path_Information): New record type
+       Use component of type Path_Information when there are two paths, one in
+       canonical format and one in display format.
+       Update the project manager to these new components.
+
+2008-05-27  Robert Dewar  <dewar@adacore.com>
+
+       * makeutl.adb: Minor reformatting
+       * prj-nmsc.adb: Minor reformatting
+       * s-stausa.adb: Minor reformatting
+       * s-stausa.ads: Minor reformatting
+       * sem_ch6.adb: Minor reformatting
+
+2008-05-27  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_res.adb: Minor comment fixes
+
+2008-05-27  Thomas Quinot  <quinot@adacore.com>
+
+       * makeutl.adb: Minor code reorganization
+
+       * exp_aggr.adb: Add ??? comment
+       Fix typo
+
+       * exp_ch6.adb: Minor reformatting
+
+2008-05-27  Quentin Ochem  <ochem@adacore.com>
+
+       * s-stausa.adb (Initialize): Updated result initialization, and
+       initialization of environment stack.
+       (Fill_Stack): Improved computation of the pattern zone, taking into
+       account already filled at the calling point.
+       (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
+       Measure and Overflow_Guard.
+       (Report_Result): Fixed computation of the result using new fields of
+       Stack_Analyzer.
+       
+       * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
+       params by more explicit Stack_Size / Max_Pattern_Size params.
+       (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
+       Added Stack_Used_When_Filling field.
+       (Task_Result): Replaced Measure / Overflow_Guard by more explicit
+       Min_Measure and Max_Measure fields.
+       
+       * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb:
+       (Check_File): Make sure that a unit that replaces the same unit in a
+        project being extended is properly processed.
+
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch3.adb:
+       (Get_Discr_Value): Remove obsolete code that failed to find the value
+       of a discriminant for an inherited task component appearing in a type
+       extension.
+
+2008-05-27  Thomas Quinot  <quinot@adacore.com>
+
+       (System.File_IO.{Close, Delete, Reset}):
+       Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
+       
+       (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
+       Pass File parameter by reference.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb:
+       (Process_Sources_In_Multi_Language_Mode): Check that there are not two
+       sources of the same project that have the same object file name.
+       (Find_Explicit_Sources): Always remove a source exception that was not
+       found.
+
+2008-05-27  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting
+
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb:
+       (Is_Interface_Conformant): Handle properly a primitive operation that
+       overrides an interface function with a controlling access result.
+       (Type_Conformance): If Skip_Controlling_Formals is true, when matching
+       inherited and overriding operations, omit as well the conformance check
+       on result types, to prevent spurious errors.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * makeutl.ads, makeutl.adb:
+       (Set_Location): New procedure
+       (Get_Location): New function
+       (Update_Main): New procedure
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb:
+       (Check_Library): Allow standard project to be extended as a static
+       library project.
+       (Get_Mains): Do not inherit attribute Main in an extending library
+       project.
+
+2008-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
+       * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
+       * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
+       * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
+       * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
+       * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
+       * system-mingw.ads (Always_Compatible_Rep): Likewise.
+       * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
+       * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
+       * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
+       
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb: add guard to previous patch.
+
+2008-05-27  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
+       a synchronized tagged type, do not attempt to build dispatch table for
+       full view. The table is built for the corresponding record type, which
+       has its own declaration.
+
+2008-05-27  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
+       to the known type entity E, rather than setting it to Any_Type. Fixes
+       possible blowup in function Base_Init_Proc, as called from Freeze_Entity
+       for objects whose type had an illegal constraint.
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * gnat_ugn.texi:
+       Add succinct documentation for attribute Excluded_Source_List_File
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * prj-attr.adb: Add new project level attribute Map_File_Option
+       
+       * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
+       
+       * prj.ads: Minor reformatting and comment update
+       (Project_Configuration): New component Map_File_Option
+       
+       * snames.adb: New standard name Map_File_Option
+       
+       * snames.ads: New standard name Map_File_Option
+
+2008-05-27  Vincent Celier  <celier@adacore.com>
+
+       * xsnames.adb: Remove unused variable Oname
+
+2008-05-27  Doug Rupp  <rupp@adacore.com>
+
+       * exp_ch6.adb:
+       (Expand_N_Function_Call): Fix comments. Minor reformatting.
+
+       * exp_vfpt.ads:
+       (Expand_Vax_Foreign_Return): Fix comments.
+
+2008-05-27  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb: Minor reformating
+
+2008-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
+       No_Default_Initialization, which is now delayed until the freeze point
+       of the object. Add a comment about deferral of the check.
+       
+       * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
+       on objects is moved here.
+
+2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
+       (Compare_Array_S16): Adjust for above change.
+       * s-casi32.adb (Uword): Likewise.
+       (Compare_Array_S32): Likewise.
+       * s-casi64.adb (Uword): Likewise.
+       (Compare_Array_S64): Likewise.
+       * s-caun16.adb (Uhalf): Likewise.
+       (Compare_Array_U16): Likewise.
+       * s-caun32.adb (Uword): Likewise.
+       (Compare_Array_U32): Likewise.
+       * s-caun64.adb (Uword): Likewise.
+       (Compare_Array_U64): Likewise.
+       
+2008-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch6.adb: Add ??? comment for previous change
+
+       * exp_vfpt.adb: Minor reformatting
+
+       * exp_vfpt.ads: Add ??? comment for last change
+
+       * sem_attr.adb: Add some ??? comments for previous change
+
+       * s-vaflop.ads: Add comments for previous change
+
+2008-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * s-vaflop-vms-alpha.adb:
+       Remove System.IO use clause, to prevent spurious ambiguities when
+       package is access through rtsfind.
+
+2008-05-26  Sergey Rybin  <rybin@adacore.com>
+
+       * tree_io.ads (ASIS_Version_Number): Update because of the changes
+       made in front-end
+
+2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb:
+       (Resolve_Attribute, case 'address):  S (A .. B)' address can be safely
+       converted to S (A)'address only if A .. B is known to be a non-null
+       range.
+
+2008-05-26  Doug Rupp  <rupp@adacore.com>
+
+       * s-vaflop.adb:
+       (Return_D, Return_F, Return_G): New functions.
+
+       * s-vaflop.ads:
+       (Return_D, Return_F, Return_G): New functions.
+
+       * exp_vfpt.adb:
+       (Expand_Vax_Foreign_Return): New procedure
+
+       * exp_vfpt.ads:
+       (Expand_Vax_Foreign_Return): New procedure
+
+       * rtsfind.ads:
+       (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
+       (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
+
+       * exp_ch6.adb:
+       Import Exp_Vfpt
+       (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
+
+       * s-vaflop-vms-alpha.adb:
+       (Return_D, Return_F, Return_G): New functions.
+
+2008-05-26  Gary Dismukes  <dismukes@adacore.com>
+
+       * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
+       init proc entity when there is actual default initialization associated
+       with the component type, to avoid spurious errors on objects of scalar
+       array types that are marked Is_Public when No_Default_Initialization
+       applies.
+
+2008-05-26  Thomas Quinot  <quinot@adacore.com>
+
+       * rtsfind.ads, rtsfind.adb:
+       (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
+       (Check_RPC): Support per-PCS-kind API versioning.
+       
+       exp_dist.ads, exp_dist.adb:
+       (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
+       (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
+        library function Get_RACW.
+       (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
+       library function Get_Reference.
+       (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
+       through an intermediate Any.
+       (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
+       going through an intermediate Any.
+       
+       * sem_dist.adb: Minor reformatting.
+
+2008-05-26  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
+       (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+       (Is_Internal): Adding documentation on internal entities that have
+       attribute Interface_Alias (old attribute Abstract_Interface_Alias)
+
+       * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
+       (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+       Added assertion to force entities with this attribute to have
+       attribute Is_Internal set to True.
+       (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
+
+       * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
+       renamed as Derive_Progenitor_Subprograms. In addition, its code is
+       a new implementation.
+       (Add_Interface_Tag_Components): Remove special management of
+       synchronized interfaces.
+       (Analyze_Interface_Declaration): Minor reformating
+       (Build_Derived_Record_Type): Minor reformating
+       (Check_Abstract_Overriding): Avoid reporting error in case of abstract
+       predefined primitive inherited from interface type because the body of
+       internally generated predefined primitives of tagged types are generated
+       later by Freeze_Type
+       (Derive_Subprogram): Avoid generating an internal name if the parent
+       subprogram overrides an interface primitive.
+       (Derive_Subprograms): New implementation that keeps separate the
+       management of tagged types not implementing interfaces, from tagged
+       types that implement interfaces.
+       (Is_Progenitor): New implementation.
+       (Process_Full_View): Add documentation
+       (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
+       by call to Derive_Progenitor_Subprograms.
+
+       * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
+       (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+       Skip_Controlling_Formals.
+
+       * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
+       (Check_Conventions): New implementation. Remove local subprogram
+       Skip_Check. Remove formal Search_From of routine Check_Convention.
+       (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+       Skip_Controlling_Formals.
+       (New_Overloaded_Entity): Enable addition of predefined dispatching
+       operations.
+
+       * sem_disp.ads
+       (Find_Primitive_Covering_Interface): New subprogram.
+
+       * sem_disp.adb (Check_Dispatching_Operation): Disable registering
+       the task body procedure as a primitive of the corresponding tagged
+       type.
+       (Check_Operation_From_Private_Type): Avoid adding twice an entity
+       to the list of primitives.
+       (Find_Primitive_Covering_Interface): New subprogram.
+       (Override_Dispatching_Operation): Add documentation.
+
+       * sem_type.adb (Covers): Minor reformatings
+
+       * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
+       Collect_Interfaces.
+       Rename formal.
+       (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
+       (Implements_Interface): New subprogram.
+       (Is_Parent): Removed.
+       (Primitive_Names_Match): New subprogram.
+       (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+       (Ultimate_Alias): New subprogram.
+
+       * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
+       Collect_Interfaces.
+       Remove special management for synchronized types. Rename formal. Remove
+       internal subprograms Interface_Present_In_Parent and Add_Interface.
+       (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
+       on non-record types by code to return false in such case.
+       (Implements_Interface): New subprogram.
+       (Is_Parent): Removed. No special management is now required for
+       synchronized types covering interfaces.
+       (Primitive_Names_Match): New subprogram.
+       (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+       (Ultimate_Alias): New subprogram.
+
+       * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
+       Add internal entities associated with secondary dispatch tables to
+       the list of tagged type primitives that are not interfaces.
+       (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
+       (Make_Predefined_Primitive_Specs): Code reorganization to improve
+       the management of predefined equality operator. In addition, if
+       the type has an equality function corresponding with a primitive
+       defined in an interface type, the inherited equality is abstract
+       as well, and no body can be created for it.
+
+       * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
+       exp_util to exp_disp.
+       (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
+       an entity corresponds with one of the predefined primitives required
+       to implement interfaces.
+       Update copyright notice.
+
+       * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
+       final check on abstract subprograms all the primitives associated with
+       interface primitives because they must be visible in the public and
+       private part.
+       (Write_DT): Use Find_Dispatching_Type to locate the name of the
+       interface type. This allows the use of this routine, for debugging
+       purposes, when the tagged type is not fully decorated.
+       (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
+       Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
+       (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
+       entity corresponds with one of the predefined primitives required to
+       implement interfaces.
+
+       * exp_util.adb (Find_Interface_ADT): New implementation
+       (Find_Interface): Removed.
+
+       * sprint.adb (Sprint_Node_Actual): Generate missing output for the
+       list of interfaces associated with nodes
+       N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
+
+2008-05-26  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
+       condition for assignment to temporary.
+
+2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
+       checks on the upper bound if the index type is a modular type, to
+       prevent wrap-around computations when size is close to upper bound of
+       type.
+
+2008-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch3.adb: Minor reformatting
+
+2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Remove_Parent): Use specification of instance
+       to retrieve generic parent,
+       to handle properly the case where the instance is a child unit.
+       Add guard to handle properly wrapper packages.
+       Minor reformatting
+
+2008-05-26  Thomas Quinot  <quinot@adacore.com>
+
+       * sinfo.ads: Minor reformatting
+
+2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
+       Generate a tag check when the result subtype of a function, defined by
+       an access definition, designates a specific tagged type.
+       (Make_Tag_Check): New routine.
+
+2008-05-26  Arnaud Charlet  <charlet@adacore.com>
+
+       * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
+
+2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
+       (builtin_decl_for): Likewise.
+       * trans.c (gigi): Likewise.
+       * utils.c (def_builtin_1): Fix formatting.
+
+2008-05-26  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
+       Create the statements which map a string name to protected or task
+       entry indix.
+
+       * exp_ch9.adb: Add with and use clause for Stringt.
+       Minor code reformatting.
+       (Build_Entry_Names): New routine.
+       (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
+       for flag Build_Entry_Names which controls the allocation of the data
+       structure for the string names of entries.
+
+       * exp_ch9.ads (Build_Entry_Names): New subprogram.
+
+       * exp_util.adb (Entry_Names_OK): New function.
+
+       * exp_util.ads (Entry_Names_OK): New function.
+
+       * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
+       enumerations RE_Id and RE_Unit_Table.
+
+       * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
+       (Free_Entry_Names_Array): New routine.
+
+       * s-taskin.ads: Comment reformatting.
+       Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
+       Add component Entry_Names to record Ada_Task_Control_Block.
+       (Free_Entry_Names_Array): New routine.
+
+       * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
+       dynamically allocate an array
+       of string pointers. This structure holds string entry names.
+       (Free_Entry_Names): New routine.
+       (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
+       (Set_Entry_Names): New routine.
+
+       * s-tassta.ads:
+       (Create_Task): Add formal Build_Entry_Names. The flag is used to
+       control the allocation of the data structure which stores entry names.
+       (Set_Entry_Name): New routine.
+
+       * s-tpoben.adb:
+       Add with and use clause for Ada.Unchecked_Conversion.
+       (Finalize): Deallocate the entry names array.
+       (Free_Entry_Names): New routine.
+       (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
+       create an array of string pointers to hold the entry names.
+       (Set_Entry_Name): New routine.
+
+       * s-tpoben.ads:
+       Add field Entry_Names to record Protection_Entries.
+       (Initialize_Protection_Entries): Add formal Build_Entry_Names.
+       (Set_Entry_Name): New routine.
+
+2008-05-26  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb:
+       (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
+
+       * prj.ads:
+       (Project_Configuration): New component Shared_Lib_Driver
+
+2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * inline.adb:
+       (Cleanup_Scopes): For a protected operation, transfer finalization list
+       to protected body subprogram, to force cleanup actions when needed.
+
+2008-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * sem_cat.adb: Minor reformatting
+
+       * gnatname.adb: Minor reformatting
+
+       * osint.ads: Minor reformatting
+
+       * s-carun8.ads: Minor reformatting
+
+       * g-heasor.ads: Minor comment fix (unit is now pure)
+
+2008-05-26  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch2.adb:
+       (Expand_Current_Value): Properly type generated integer literal
+
+2008-05-26  Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Add description for the new gnatcheck rule -
+       Separate_Numeric_Error_Handlers.
+
+2008-05-26  Pascal Obry  <obry@adacore.com>
+
+       * sem_aggr.adb: Minor reformatting.
+
+2008-05-26  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-osinte-aix.adb:
+       (To_Target_Priority): Setting the time slice value to 0 or greater sets
+       the scheduling policy to FIFO within priorities or round-robin
+       respectively.
+       Hence, the priority must be set in this case to the one selected by the
+       user.
+       
+2008-05-26  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb:
+       (Remove_Parent): If the enclosing scope is an instance whose generic
+       parent is declared within some parent scope of the just completed
+       instance, make full views of the entities in that parent visible, when
+       applicable.
+       
+2008-05-26  Kai Tietz  <kai.tietz@onevision.com>
+
+       * mingw32.h (STD_MINGW): Set to true for target w64.
+
+2008-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
+       instead of TREE_STATIC on the ADDR_EXPR.
+
+2008-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+       (Sloc_to_locus): Do not overwrite known GCC locations when translating
+       GNAT standard locations.
+
+2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gigi.h (mark_visited): Declare.
+       * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
+       only the topmost node of expressions.
+       (elaborate_expression_1): Look deeper for read-only variables.
+       * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
+       (mark_visited): Move logic to mark_visited_r.  Invoke walk_tree.
+       (mark_visited_r): New function.
+
+2008-05-23  Vincent Celier  <celier@adacore.com>
+
+       * snames.adb: New standard name Excluded_Source_List_File.
+
+       * snames.ads: New standard name Excluded_Source_List_File.
+
+       * prj-attr.adb: New project level attribute Excluded_Source_List_File.
+
+       * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
+       Get excluded sources from
+       file indicated by attribute Excluded_Source_List_File, when present and
+       neither Excluded_Source_Files nor Locally_Removed_Files are declared.
+
+2008-05-23  Robert Dewar  <dewar@adacore.com>
+
+       * exp_dist.adb: Minor reformatting
+
+2008-05-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
+       slice, convert it to an indexed component, which is equivalent, more
+       efficient, and usable even if the slice itself is not addressable.
+
+2008-05-23  Olivier Hainque  <hainque@adacore.com>
+
+       * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
+       convention also allows access to named compiler built-in subprograms
+       such as the GCC __builtin family.
+
+2008-05-23  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
+       sep. If there are several possibilities, choose the one with the
+       longer prefix.
+
+2008-05-23  Vincent Celier  <celier@adacore.com>
+
+       * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
+       back end switches when executable specified with --GCC= is same as
+       default, even if there are additional options.
+
+       * gnat_ugn.texi:
+       Document when the back end switches from the ALI file are taken into
+       account when gnatlink is invoked with --GCC=
+
+2008-05-23  Thomas Quinot  <quinot@adacore.com>
+
+       * s-os_lib.adb:
+       (copy_File): Do not open destination file if source file is unreadable.
+
+2008-05-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils.c (handle_type_generic_attribute): Adjust to accept
+       fixed arguments before an elipsis.
+
+2008-05-21  Thomas Quinot  <quinot@adacore.com>
+
+       * g-sothco.ads, g-sothco.adb: New files.
+
 2008-05-20  Thomas Quinot  <quinot@adacore.com>
 
        * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.