OSDN Git Service

* config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 31ab953..b70b7fd 100644 (file)
+2005-04-07  Laurent GUERBY  <laurent@guerby.net>
+           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * Makefile.in: Add make ifeq define for hppa linux tasking support.
+       * system-hpux.ads: Define Signed_Zeros to be True.
+       * system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
+
+2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
+       raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
+       typos.
+
+2005-03-30  Tom Tromey  <tromey@redhat.com>
+
+       * decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
+
+2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+       * adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_res.adb (Resolve_Real_Literal): Generate warning if static
+       fixed-point expression has value that is not a multiple of the Small
+       value.
+
+       * opt.ads (Warn_On_Bad_Fixed_Value): New flag
+
+       * s-taprop-tru64.adb (RT_Resolution): Return an integer number of
+       nanoseconds.
+
+       * ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
+
+2005-03-29  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
+       (Build_Dynamic_Library.Version_String): Return the empty string when
+       Lib_Version is empty or when the symbol policy is not Autonomous.
+
+       * symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
+       a symbol is not in the reference symbol file, increase the Major ID
+       and set the Minor ID to 0.
+       Use gsmatch=lequal instead of gsmatch=equal
+
+2005-03-29  Doug Rupp  <rupp@adacore.com>
+
+       * adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
+       name and translate.
+
+2005-03-29  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
+       (Inherit_DT): The first formal has been redefined as a Tag.
+       This allows us the removal of the subprogram Get_TSD.
+       (TSD): Replace the call to Get_TSD by the actual code.
+
+       * exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
+       (Make_DT): Upgrade the call to Inherit_TSD according to the
+       new interface: the first formal is now a Tag.
+
+       * i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
+       redefined as a Tag.
+       This change allows us to remove the subprogram Get_TSD.
+       (CPP_Get_TSD): Subprogram removed.
+       (TSD): Replace the call to CPP_Get_TSD by the actual code.
+
+       * rtsfind.ads: Remove support to call the run-time
+       subprogram Get_TSD
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * errutil.adb, errout.adb: 
+       Minor comment updates on Line_Terminator references
+
+       * par-ch10.adb: Add ??? comment about line terminator
+
+       * styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
+       (check dos line terminator).
+       (Check_Line_Max_Length): New procedure, split off from the existing
+       Check_Line_Terminator routine. Separating this out allows -gnatyf to
+       be properly recognized.
+
+       * styleg.adb: Add ??? comment for line terminator reference
+
+       * scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
+       (Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
+
+       * styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
+       (check dos line terminator).
+       (Check_Line_Max_Length): New procedure, split off from the existing
+       Check_Line_Terminator routine. Separating this out allows -gnatyf to
+       be properly recognized.
+
+       * stylesw.ads, stylesw.adb: 
+       Add handling for new -gnatyd switch (check dos line terminator)
+
+       * switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
+       Recognize -gnatwb/-gnatwB switches
+       Include Warn_On_Bad_Fixed_Value for -gnatg
+
+       * usage.adb: 
+       Add line for new -gnatyd switch (check dos line terminator)
+
+       * usage.adb: Add lines for -gnatwb/-gnatwB
+
+       * vms_data.ads: Add entry for NOCRLF (-gnatyd)
+
+       * vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
+
+       * gnat_ugn.texi: Fix overlong lines
+       Document new -gnatyd switch
+       Document new -gnatwb/-gnatwB switches
+
+2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
+       order to retrieve the component list of the type, before examining
+       individual components.
+
+       * sem_type.adb (Covers): Types are compatible if one is the base type
+       of the other, even though their base types might differ when private
+       views are involved.
+
+2005-03-29  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
+       To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
+       of using Set_Renaming_TSS. This ensures that the TSS bodies are not
+       analyzed if expansion is disabled (which could otherwise cause spurious
+       error messages if expansion has been disabled due to previous
+       (unrelated) errors).
+
+       * sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
+       is disabled, the entity denoted by the argument is the access type
+       itself, not an underlying record type, so there is no need to go back
+       to the Corresponding_Remote_Type.
+
+2005-03-29  Gary Dismukes  <dismukes@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
+       expand a call to an instance of
+       Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
+       Constructor actual of the instance. A class-wide membership
+       check is also generated, to ensure that the tag passed to the instance
+       denotes a type in the class.
+       (Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
+       of Name_Generic_Dispatching_Constructor.
+
+       * Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
+       05 unit for AI-260-02).
+
+       * a-tgdico.ads: New file.
+
+       * impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
+       predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
+
+       * snames.ads, snames.adb (Preset_Names): Add entry for
+       Generic_Dispatching_Constructor.
+
+       PR ada/20300
+
+       * sem_ch8.adb (Find_Direct_Name): Go to root type for check of
+       character type cases.
+       (Analyze_Subprogram_Renaming): Add special handling for
+       the case of renaming of stream attributes when the renaming denotes a
+       generic formal subprogram association for an abstract formal subprogram.
+       Check that the attribute is a primitive stream attribute (and not
+       a class-wide stream attribute) and then rewrite the attribute name
+       as the name of the appropriate compiler-generated stream primitive.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
+       recursive calls.
+       (Is_Possibly_Unaligned_Object): Correct typo that
+       resulted in inaccurate result for unaligned scalars within records.
+
+2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Freeze_Record_Type): If the type of the component is an
+       itype whose parent is controlled and not yet frozen, do not create a
+       freeze node for the itype if expansion is disabled.
+
+2005-03-29  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): Don't fail if the main project file is declared
+       as having no Ada sources. Do not display message "no sources to
+       compile" in quiet output.
+
+2005-03-29  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
+       extra tools.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch12.adb (P_Generic): Give better msg for illegal private generic
+       child.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
+       missing TYPE Improve the error message generated when compiling a
+       limited interface in Ada83 or Ada95 mode.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch4.adb (P_Name): When a bad attribute is returned, return error,
+       rather than proceed ahead using a junk attribute name.
+
+2005-03-29  Vincent Celier  <celier@adacore.com>
+
+       * prj.ads, prj.adb: (Project_Data): Add new component Display_Name
+
+       * prj-part.adb (Parse_Single_Project): Set the location of a project
+       on its defining identifier, rather than on the reserved word "project".
+
+       * prj-proc.adb (Expression): Adapt to the fact that default of external
+       references may be string expressions, not always literal strings.
+       (Recursive_Process): Set Display_Name equal to Name
+       when Location is No_Location, that is when there is no actual file.
+       Get the Display_Name of the project from the source, when it is not a
+       virtual project.
+       (Process): Use the Display_Name in error messages
+
+       * prj-strt.adb (External_Reference): Allow default to be string
+       expressions, not only literal strings.
+
+2005-03-29  Vincent Celier  <celier@adacore.com>
+
+       * prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
+       file and the reference symbol file to be the same file.
+
+2005-03-29  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
+       forbid conversion of a local access-to-subprogram type to a remote one.
+
+       * sem_util.adb (Wrong_Type): For a record type that is the expanded
+       equivalent type for a remote access-to-subprogram type, go back to the
+       original RAS entity when displaying an error message, so the casing is
+       the original source casing.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
+       on param update.
+
+2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
+       subtype if code is being pre-analyzed, to prevent un-expanded
+       references to protected formals, among others.
+       (Analyze_Explicit_Dereference): If the overloaded prefix includes some
+       interpretation that can be a call, include the result of the call as a
+       possible interpretation of the dereference.
+
+       * sem_ch5.adb (Process_Bounds): Determine type of range by
+       pre-analyzing a copy of the original range, and then analyze the range
+       with the expected type.
+
+       * sem_res.adb (Check_Parameterless_Call): For an explicit dereference
+       with an overloaded prefix where not all interpretations yield an
+       access to subprogram, do not rewrite node as a call.
+       (Resolve_Explicit_Dereference): Recognize the previous case and rewrite
+       the node as a call once the context identifies the interpretation of
+       the prefix whose call yields the context type.
+       (Valid_Conversion): For the case of a conversion between
+       local access-to-subprogram types, check subtype conformance using
+       Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
+       detailed error message.
+
+2005-03-29  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
+       indicator, indicate that the formal can never be null.
+       (Process_Formals): If a formal has a non_null indicator, insert the
+       resulting subtype immediately before the enclosing subprogram decl,
+       and not at the beginning of the corresponding declarative part, to
+       prevent access before elaboration (Ada2005).
+
+2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       PR ada/19956
+       * utils.c (finish_record_type): Use variable_size when setting sizes.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
+       guarantee Unix style line terminators for the output files, even when
+       running on windows.
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * a-direct.ads, a-direct.adb (Start_Search): Free allocated search
+       buffer if an exception is raised.
+
+2005-03-29  Ed Falis  <falis@adacore.com>
+
+       * cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
+       VxWorks 653 1.4
+
+2005-03-29  Robert Dewar  <dewar@adacore.com>
+
+       * sem_util.ads: Minor reformatting
+       * gnat_rm.texi: Minor editing.
+
+2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
+       * trans.c (tree_transform) <N_Identifier>: Use correct predicates.
+
+2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+       * adaint.c (__gnat_portable_spawn): Adjust cast.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-17  Pascal Obry  <obry@adacore.com>
+
+       * adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
+       used.
+
+       * expect.c (__gnat_waitpid): Moved here from adaint.c.
+       Reimplement under Win32 using Win32 API.
+
+       (__gnat_kill) [Win32]: Properly close the process handle before leaving
+       this routine.
+
+2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
+       (DECL_RENAMED_OBJECT): New accessor macro.
+       (SET_DECL_RENAMED_OBJECT): New setter macro.
+
+       * decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
+       object in all cases.  Attach the renamed object to the VAR_DECL.
+       (gnat_to_gnu_field): Do not lift the record wrapper if the size of the
+       field is not prescribed.
+
+       * misc.c (gnat_handle_option): Handle -gnatO separately.
+       (gnat_print_decl) <VAR_DECL>: New case.
+       Print the DECL_RENAMED_OBJECT node.
+
+       * lang.opt:  Declare separate -gnatO option.
+
+       * trans.c (tree_transform) <N_Identifier>: If the object is a renaming
+       pointer, replace it with the renamed object.
+       <N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
+       pointer type if the source is not a fat pointer type whose underlying
+       array has the same non-zero alias set as that of the destination array.
+
+2005-03-17  Javier Miranda  <miranda@adacore.com>
+
+       * a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
+       (Get_Inheritance_Depth): Removed.
+       (Set_Inheritance_Depth): Removed.
+
+       * rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
+       subprogram Get_Expanded_Name because it is not referenced by the
+       frontend.
+
+       * i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
+       (CPP_Get_Inheritance_Depth): Removed.
+       (CPP_Set_Inheritance_Depth): Removed.
+
+       * tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
+
+2005-03-17  Robert Dewar  <dewar@adacore.com>
+
+       * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
+       3, since we now expect GCC 3 to do all the work.
+
+2005-03-17  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
+       of one barrier to avoid wrong usage of this attribute.
+
+       * sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
+       First_Private_Entity.
+
+       * sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
+       the subprogram against wrong usage.
+       Adapt the code to traverse the entities in the
+       scope of a record_type because in addition to its usage regarding
+       packages, this subprogram is also called by Expand_N_Freeze_Entity
+       to install the visible declarations of the enclosing scope of a
+       record_type_with_private to establish the proper visibility before
+       freezing the entity and related subprograms.
+
+2005-03-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
+       entry formals.
+
+2005-03-17  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch3.adb (Check_Attr): New subprogram.
+       (Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
+       into a new Check_Attr subprogram, in order to provide a more
+       explanatory error message (including the name of the missing attribute).
+       (Stream_Operation_OK): Renamed from Stream_Operations_OK. This
+       subprogram determines whether a default implementation exists for a
+       given stream attribute.
+       (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
+       Determine whether to generate a default implementation for each stream
+       attribute separately, as this depends on the specific attribute.
+
+       * exp_strm.adb (Make_Field_Attribute): For the case of an illegal
+       limited extension where a stream attribute is missing for a limited
+       component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
+       generate a bogus reference to the missing attribute to prevent
+       cascaded errors. Instead, generate a null statement.
+
+       * sem_attr.adb (Check_Stream_Attribute): A stream attribute is
+       available for a limited type if it has been specified for an ancestor
+       of the type.
+
+2005-03-17  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
+       entity is an operator.
+
+2005-03-17  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+       spec, to make this predicate available to other units.
+
+       * rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
+       reimplementing it.
+
+       * sem_ch8.adb: Disable expansion of remote access-to-subprogram types
+       when no distribution runtime library is available.
+
+       * sem_res.adb, sem_dist.adb: Disable expansion of remote
+       access-to-subprogram types when no distribution runtime library is
+       available.
+       (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
+       predicate available to other units.
+
+       * sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
+       spec, to make this predicate available to other units.
+
+2005-03-17  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Insert_Project_Sources): Make sure the Q is always
+       initialized.
+
+       * prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
+       the default for the tree, not the global default naming.
+
+       * prj-proc.adb (Recursive_Process): No need to put the default naming
+       in the project data, it's already there.
+
+2005-03-17  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
+
+        * 5xcrtl.ads: Renamed to...
+        * s-crtl-vms64.ads: ...this new file
+
+2005-03-17  Robert Dewar  <dewar@adacore.com>
+
+       PR ada/19519
+
+       * namet.adb (Copy_One_Character): Set proper wide character encoding
+       for upper half character if we have upper half encoding.
+
+2005-03-17  Robert Dewar  <dewar@adacore.com>
+
+       * par.adb (Par): Improved msg for attempt to recompile predefined unit
+
+2005-03-17  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
+       tagged limited type, the TSS is a newly built renaming declaration:
+       insert it using Set_TSS, not Copy_TSS.
+
+2005-03-17  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
+       Try_Object_Operation): Analyze the object that is accessible
+       through the prefix of the subprogram call before we apply
+       the transformation of the object-operation notation.
+
+2005-03-17  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-taprob.adb (Initialize_Protection): Initialize the protected
+       object's owner to Null_Task.
+       (Lock): If pragma Detect_Blocking is in effect and the caller of this
+       procedure is already the protected object's owner then Program_Error
+       is raised. In addition the protected object's owner is updated.
+       (Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
+       of this procedure is already the protected object's owner then
+       Program_Error is raised.
+       In addition the protected object's owner is updated.
+       (Unlock): Remove the ownership of the protected object.
+
+       * s-taprob.ads (Protection): Add the field Owner, used to store the
+       protected object's owner.
+       This component is needed for detecting one type of potentially blocking
+       operations (external calls on a protected subprogram with the same
+       target object as that of the protected action). Document the rest of
+       the components.
+
+       * s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
+       Initialize the protected object's owner to Null_Task.
+       (Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
+       caller of this procedure is already the protected object's owner then
+       Program_Error is raised.
+       Do not raise Program_Error when this procedure is called from a
+       protected action.
+       (Unlock_Entries): Remove the ownership of the protected object.
+       (Lock_Entries): If pragma Detect_Blocking is in effect and the caller
+       of this procedure is already the protected object's owner then
+       Program_Error is raised.
+       Do not raise Program_Error when this procedure is called from
+       a protected action.
+
+       * s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
+       used to store the protected object's owner.
+
+       * s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
+       effect and this procedure (a potentially blocking operation) is called
+       from whithin a protected action, Program_Error is raised.
+       (Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
+       and this procedure (a potentially blocking operation) is called from
+       whithin a protected action, Program_Error is raised.
+
+2005-03-17  Vincent Celier  <celier@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+
+       * mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
+       switch, not supported by the linker on Darwin. Add '_' before
+       <library>init, as this character is added unconditionally by the
+       compiler.
+       (Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
+       correct one ".dylib". This fixes detection of the archive files when
+       building library projects.
+
+2005-03-17  Vincent Celier  <celier@adacore.com>
+
+       * switch-m.adb (Normalize_Compiler_Switches): Recognize switches
+       -gnat83, -gnat95 and -gnat05.
+
+2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * gnat_ugn.texi: Document gnatmem restriction
+
+2005-03-17  Thomas Quinot  <quinot@adacore.com>
+
+       * snames.adb: Document new TSS names introduced by exp_dist/exp_tss
+       cleanup
+
+2005-03-17  Robert Dewar  <dewar@adacore.com>
+
+       * s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
+       a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
+       s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
+
+       * casing.adb: Comment improvements
+
+2005-03-17  Pascal Obry  <obry@adacore.com>
+
+       * g-expect.adb: Minor reformatting.
+
+2005-03-15  Zack Weinberg  <zack@codesourcery.com>
+
+       * Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
+       (doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
+       to dependencies.
+
+2005-03-15  Vincent Celier  <celier@adacore.com>
+
+       * mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
+       Add new parameter In_Tree to specify the project tree: needed
+       by the project manager. Adapt to changes in project manager
+       using new parameter In_Tree.
+
+2005-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
+       ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
+       ada/bldtools to avoid make -jN failures.
+
+2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
+       to NULL_TREE on entry.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
+       system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
+       system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
+       system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
+       system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
+       system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
+       system-interix.ads, system-solaris-sparc.ads,
+       system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
+       system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
+       system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
+       system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
+       system-linux-s390.ads, system-linux-s390x.ads: Add line defining
+       Compiler_System_Version to be False.
+
+       * opt.ads: Add new flag Opt.Address_Is_Private
+
+       * targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
+       Add new parameter Compiler_System_Version to avoid checking for
+       completeness of parameters when compiler is compiling itself.
+       Allows old versions of GNAT to be compiled with new compiler.
+
+2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
+       (Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
+       calling thread.
+       (Stack_Base_Available): New flag.
+       (Get_Page_Size): New overloaded functions imported from C.
+       (PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
+       PROT_ON, PROT_OFF): New constants.
+       (mprotect): New function imported from C.
+       (pthread_teb_t): New record type.
+
+       * s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
+       (Create_Task): Account for the Yellow Zone and the guard page.
+
+2005-03-15  Vincent Celier  <celier@adacore.com>
+
+       * 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, mlib-tgt-lynxos.adb (Library_Exist_For,
+       Library_File_Name_For): Add new parameter In_Tree
+       to specify the project tree: needed by the project manager.
+       Adapt to changes in project manager using new parameter In_Tree.
+       Remove local imports, use functions in System.CRTL.
+
+       * make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
+       to use the project manager.
+
+       * makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
+       In_Tree to designate the project tree. Adapt to changes in the project
+       manager, using In_Tree.
+
+       * mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
+       Copy_Interface_Sources): Add new parameter In_Tree to specify the
+       project tree: needed by the project manager.
+       (Build_Library): Check that Arg'Length >= 6 before checking if it
+       contains "--RTS=...".
+
+       * mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
+       Library_File_Name_For): Add new parameter In_Tree to specify the
+       project tree: needed by the project manager.
+
+       * prj.ads, prj.adb: Major modifications to allow several project trees
+       in memory at the same time.
+       Change tables to dynamic tables and hash tables to dynamic hash
+       tables. Move tables and hash tables from Prj.Com (in the visible part)
+       and Prj.Env (in the private part). Move some constants from the visible
+       part to the private part. Make other constants deferred.
+       (Project_Empty): Make it a variable, not a function
+       (Empty_Project): Add parameter Tree. Returns the data with the default
+       naming data of the project tree Tree.
+       (Initialize): After updating Std_Naming_Data, copy its value to the
+       component Naming of Project Empty.
+       (Register_Default_Naming_Scheme): Use and update the default naming
+       component of the project tree, instead of the global variable
+       Std_Naming_Data.
+       (Standard_Naming_Data): Add defaulted parameter Tree. If project tree
+       Tree is not defaulted, return the default naming data of the Tree.
+       (Initial_Buffer_Size): Constant moved from private part
+       (Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
+       variables initialized in procedure Initialize.
+       (Add_To_Buffer): Add two in out parameters to replace global variables
+       Buffer and Buffer_Last.
+       (Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
+       functions.
+       Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
+       hash tables.
+       (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+       for the project tree.
+       (Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
+       constant at the beginning of the package spec, so that they cane be used
+       in subprograms before their full declarations.
+       (Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
+       (Empty_Project): Add parameter of type Project_Node_Ref
+       (Private_Project_Tree_Data): Add component Default_Naming of type
+       Naming_Data.
+       (Buffer, Buffer_Last): remove global variables
+       (Add_To_Buffer): Add two in out parameters to replace global variables
+       Buffer and Buffer_Last.
+       (Current_Packages_To_Check): Remove global variable
+       (Empty_Name): Move to private part
+       (No-Symbols): Make it a constant
+       (Private_Project_Tree_Data): New type for the private part of the
+       project tree data.
+       (Project_Tree_Data): New type for the data of a project tree
+       (Project_Tree_Ref): New type to designate a project tree
+       (Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
+       for the project tree.
+
+       * prj-attr.ads: Add with Table; needed, as package Prj no longer
+       imports package Table.
+
+       * prj-com.adb: Remove empty, no longer needed body
+
+       * prj-com.ads: Move most of the content of this package to package Prj.
+
+       * prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
+       designate the project node tree and Packages_To_Check to replace
+       global variable Current_Packages_To_Check.
+       Add new parameters In_Tree and Packages_To_Check to local subprograms,
+       when needed. Adapt to changes in project manager with project node tree
+       In_Tree.
+
+       * prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
+       project tree to most subprograms. Move tables and hash tables to
+       private part of package Prj.
+       Adapt to changes in project manager using project tree In_Tree.
+
+       * prj-makr.adb (Tree): New constant to designate the project node tree
+       Adapt to change in project manager using project node tree Tree
+
+       * prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
+       display the Library_Src_Dir and the Library_Dir.
+       Add new parameter In_Tree to designate the project node tree to most
+       subprograms. Adapt to changes in the project manager, using project tree
+       In_Tree.
+       (Check_Naming_Scheme): Do not alter the casing on platforms where
+       the casing of file names is not significant.
+       (Check): Add new parameter In_Tree to designate the
+
+       * prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
+       designate the project tree.
+       Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
+
+       * prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
+       to replace those that were in the private part of package Prj.
+       Add new parameter In__Tree to designate the project node tree to most
+       subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+       (Post_Parse_Context_Clause): When specifying the project node of a with
+       clause, indicate that it is a limited with only if there is "limited"
+       in the with clause, not necessarily when In_Limited is True.
+       (Parse): Add new parameter In_Tree to designate the project node tree
+
+       * prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
+       designate the project node tree. Adapt to change in Prj.Tree with
+       project node tree In_Tree.
+
+       * prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
+       tree In_Tree in the call to function Empty_Process to give its initial
+       value to the project data Processed_Data.
+       Add new parameters In_Tree to designate the project tree and
+       From_Project_Node_Tree to designate the project node tree to several
+       subprograms. Adapt to change in project manager with project tree
+       In_Tree and project node tree From_Project_Node_Tree.
+
+       * prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
+       to replace those that were in the private part of package Prj.
+       Add new parameter In_Tree to designate the project node tree to most
+       subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
+
+       * prj-tree.ads, prj-tree.adb: Add new parameter of type
+       Project_Node_Tree_Ref to most subprograms.
+       Use this new parameter to store project nodes in the designated project
+       node tree.
+       (Project_Node_Tree_Ref): New type to designate a project node tree
+       (Tree_Private_Part): Change table to dynamic table and hash tables to
+       dynamic hash tables.
+
+       * prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
+       the project tree to most subprograms. Adapt to changes in project
+       manager using project tree In_Tree.
+
+       * makegpr.adb (Project_Tree): New constant needed to use project
+       manager.
+
+2005-03-15  Olivier Hainque  <hainque@adacore.com>
+
+       * s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
+       for sigactions with SA_SIGINFO set. Call
+       __gnat_adjust_context_for_raise before raising, to perform the
+       potentially required adjustments to the machine context for the GCC
+       unwinder.
+
+       * raise.h (__gnat_adjust_context_for_raise): New prototype.
+
+       * init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
+       Adjust PC by one in the provided machine context.
+       (__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
+       so that the handler is passed the context structure to adjust prior to
+       the raise.
+       (__gnat_error_handler) HPUX: Adjust the signature to match what an
+       SA_SIGINFO sigaction should look like. Call
+       __gnat_adjust_context_for_raise before actually raising.
+       (__gnat_adjust_context_for_raise): Default noop to help PC
+       adjustments before raise from signal handlers.
+       (__gnat_error_handler): Indirectly call a predicate function to
+       determine if a condition should be resignaled or not.
+       (__gnat_set_resignal_predicate): User interface to modify the predicate.
+       (__gnat_default_resignal_p): Default GNAT predicate.
+
+2005-03-15  Doug Rupp  <rupp@adacore.com>
+
+       * adaint.c: Prefix #include of VMS system header files with vms/
+       [VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
+       Do not define a dummy function "convert_addresses" under Darwin,
+       not needed.
+
+       * tb-alvms.c, expect.c: Prefix #include of VMS system header files
+       with vms/
+
+2005-03-15  Nicolas Setton  <setton@adacore.com>
+
+       * tracebak.c: Under Darwin, use the same unwinding mechanisms as under
+       PPC/AIX.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
+       AI-386.
+
+       * a-retide.ads: Minor comment changes
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
+       a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
+       Realloc_For_Chunk to private part of package.
+       New subprograms for AI-301
+
+       * a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
+       Get_Line procedure.
+       Avoid unnecessary use of Get/Set_Wide_String
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       PR ada/13470
+
+       * a-stunau.ads, a-stunau.adb:
+       Change interface to allow efficient (and correct) implementation
+       The previous changes to allow extra space in unbounded strings had
+       left this interface a bit broken.
+
+       * a-suteio.adb: Avoid unnecessary use of Get/Set_String
+
+       * g-spipat.ads, g-spipat.adb: New interface for Get_String
+       Minor reformatting (function specs)
+
+       * g-spitbo.adb: New interface for Get_String
+
+       * g-spitbo.ads: Minor reformatting
+
+       * a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
+
+       * a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
+
+2005-03-15  Javier Miranda  <miranda@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * atree.ads, atree.adb: Add support for Elist24 field
+
+       * atree.h: Fix wrong definition of Field27
+       Add support for Elist16 field
+       Add support for Elist24 field
+
+       * einfo.ads, einfo.adb (Abstract_Interfaces,
+       Set_Abstract_Interfaces): New subprograms.
+       (Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
+       subprograms.
+       (Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
+       entities rather than a single node.
+       (Is_Interface, Set_Is_Interface): New subprogram
+       (First_Tag_Component): New syntesized attribute
+       (Next_Tag_Component): New synthesized attribute
+       (Write_Entity_Flags): Upgraded to write Is_Interface
+       (Write_Field24_Name): Upgraded to write Abstract_Interfaces
+       (Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
+       (Task_Body_Procedure): New subprogram to read this attribute.
+       (Set_Task_Body_Procedure): New subprogram to set this attribute.
+       (Has_Controlled_Component): Now applies to all entities.
+       This is only a documentation change, since it always worked to apply
+       this to other than composite types (yielding false), but now this is
+       official.
+       Update documentation on Must_Be_Byte_Aligned for new spec
+
+       * tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
+       exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
+       uses of the Access_Disp_Table attribute to reference the first dispatch
+       table associated with a tagged type. As
+       part of the implementation of abstract interface types,
+       Access_Disp_Table has been redefined to contain a list of dispatch
+       tables (rather than a single dispatch table).
+       Similarly, upgrade all the references to Tag_Component by the
+       new attribute First_Tag_Component.
+       (Find_Inherited_TSS): Moved to exp_tss.
+       Clean up test in Expand_N_Object_Declaration for cases
+       where we need to do a separate assignment of the initial value.
+       (Expand_N_Object_Declaration): If the expression in the
+       declaration of a tagged type is an aggregate, no need to generate an
+       additional tag assignment.
+       (Freeze_Type): Now a function that returns True if the N_Freeze_Entity
+       is to be deleted.
+       Bit packed array ops are only called if operands are known to be
+       aligned.
+       (Component_Equality): When returning an N_Raise_Program_Error statement,
+       ensure that its Etype is set to Empty to avoid confusing GIGI (which
+       expects that only expressions have a bona fide type).
+       (Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
+       determine the amount of data to be copied.
+
+       * par.adb (P_Interface_Type_Definition): New subprogram that parses the
+       new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
+           INTERFACE_TYPE_DEFINITION ::=
+             [limited | task | protected | synchronized] interface
+               [AND interface_list]
+
+       * par-ch3.adb (P_Type_Declaration): Modified to give support to
+       interfaces.
+       (P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
+       interfaces.
+       (P_Interface_Type_Definition): New subprogram that parses the new
+       syntax rule of Ada 2005 interfaces
+       (P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
+       messages by the correct RENAMES (quotes removed).
+
+       * sem_prag.adb: Upgrade all the references to Tag_Component by the new
+       attribute First_Tag_Component.
+
+       * sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
+       (Interface_List, Set_Interface_List): New subprograms.
+       (Interface_Present, Set_Interface_Present): New subprograms.
+       (Limited_Present, Set_Limited_Present): Available also in derived
+       type definition nodes.
+       (Protected_Present, Set_Protected_Present): Available also in
+       record type definition and
+       derived type definition nodes.
+       (Synchronized_Present, Set_Synchronized_Present): New subprograms.
+       (Task_Present, Set_Task_Present): New subprogram.
+       (Task_Body_Procedure): Removed.
+       (Set_Task_Body_Procedure): Removed.
+       These subprogram have been removed because the attribute
+       Task_Body_Procedure has been moved to the corresponding task type
+       or task subtype entity to leave a field free to store the list
+       of interfaces implemented by a task (for AI-345)
+       Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
+       (Null_Exclusion_Present): Change to Flag11, to avoid conflict with
+       expression flag Do_Range_Check
+       (Exception_Junk): Change to Flag7 to accomodate above change
+       (Box_Present, Default_Name, Specification, Set_Box_Present,
+       Set_Default_Name, Set_Specification): Expand the expression
+       "X in N_Formal_Subprogram_Declaration" into the corresponding
+       two comparisons. Required to use the csinfo tool.
+
+       * exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
+       "with string" given.
+
+       * sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
+       expression given.
+
+       * par-ch11.adb (P_Raise_Statement): Recognize with string expression
+       in 2005 mode
+
+       * exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
+       attribute Task_Body_Procedure rather than the old semantic field that
+       was available in the task_type_declaration node.
+
+       * par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
+       interface type definitions.
+       (P_Formal_Derived_Type_Definition): Modified to handle the list of
+       interfaces.
+
+       * par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
+       task type declaration.
+       (P_Protected): Modified to handle the list of interfaces in a
+       protected type declaration.
+
+2005-03-15  Doug Rupp  <rupp@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
+       (Gen_Output_File_C): Likewise.
+       (Gen_Main_C): Issue #include <stdlib.h> to avoid warning
+
+2005-03-15  Thomas Quinot  <quinot@adacore.com>
+
+       * checks.adb (Get_E_First_Or_Last): When the expression being retrieved
+       is an N_Raise_Constraint_Error node, create a new copy of it without
+       going through a call to Duplicate_Subexpr.
+
+2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Nicolas Setton  <setton@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       PR ada/19900
+       PR ada/19408
+       PR ada/19140
+       PR ada/20255
+
+       * decl.c (gnat_to_gnu_field): Reject aliased components with a
+       representation clause that prescribes a size not equal to the rounded
+       size of their types.
+       (gnat_to_gnu_entity, case E_Component): Always look at
+       Original_Record_Component if Present and not the entity.
+       (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
+       of tagged extension types by not making field for components that are
+       inside the parent.
+       (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
+       (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
+       expression to the type of the object when the object is constant.
+       Reverse defer_debug_incomplete_list before traversing it, so that trees
+       are processed in the order at which they were added to the list. This
+       order is important when using the stabs debug format.
+       If we are deferring the output of debug information, also defer this
+       output for a function return type.
+       When adding fields to a record, prevent emitting debug information
+       for incomplete records, emit the information only when the record is
+       complete.
+       (components_to_record): New parameter defer_debug.
+       (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
+       (gnat_to_gnu_field_decl): New function.
+       (substitution_list, annotate_rep): Call it.
+       (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
+       (gnat_to_gnu_entity, case E_Record_Type): Likewise.
+       No longer update discriminants to not be a COMPONENT_REF.
+       (copy_alias_set): Strip padding from input type; also handle
+       unconstrained arrays properly.
+
+       * gigi.h (write_record_type_debug_info): New function.
+       Convert to use ANSI-style prototypes. Remove unused
+       declarations for emit_stack_check, elab_all_gnat and
+       set_second_error_entity.
+       (gnat_to_gnu_field_decl): New decl.
+
+       * utils.c (write_record_type_debug_info): New function.
+       (finish_record_type): Delegate generation of debug information to
+       write_record_type_debug_info.
+       (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
+       (update_pointer_to): Fix pasto.
+       (convert) <UNION_TYPE>: Accept slight type variations when
+       converting to an unchecked union type.
+
+       * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
+       replace the N_Freeze_Entity with a null statement.
+
+       * freeze.adb (Freeze_Expression): If the freeze nodes are generated
+       within a constrained subcomponent of an enclosing record, place the
+       freeze nodes in the scope stack entry for the enclosing record.
+       (Undelay_Type): New Subprogram.
+       (Set_Small_Size): Pass T, the type to modify; all callers changed.
+       (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
+       within records; allow them to have freeze nodes if their base types
+       aren't frozen yet.
+
+       * exp_util.adb (Remove_Side_Effects): Properly test for
+       Expansion_Delayed and handle case when it's inside an
+       N_Qualified_Expression.
+
+       * sem_ch3.adb (Derived_Type_Declaration): New predicate
+       Comes_From_Generic, to recognize accurately that the parent type in a
+       derived type declaration can be traced back to a formal type, because
+       it is one or is derived from one, or because its completion is derived
+       from one.
+       (Constrain_Component_Type): If component comes from source and has no
+       explicit constraint, no need to constrain in in a subtype of the
+       enclosing record.
+       (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
+       Minor change to propagate Is_Ada_2005 flag
+
+       * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
+       Expansion_Delayed is False.
+       (assoc_to_constructor): Ignore fields that have a
+       Corresponding_Discriminant.
+       (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
+       function returns "by target", dereference the target pointer using the
+       type of the actual return value.
+       <all>: Be prepared for a null gnu_result.
+       (processed_inline_subprograms): Check flag_really_no_inline
+       instead of flag_no_inline.
+       (set_second_error_entity): Remove unused function.
+       (gnat_to_gnu, case N_Selected_Component): Call
+       gnat_to_gnu_field_decl.
+       (assoc_to_constructor): Likewise.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * exp_pakd.adb (Create_Packed_Array_Type): Do not set
+       Must_Be_Byte_Aligned for cases where we do not need to use a
+       System.Pack_nn unit.
+
+       * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
+       as procedures.
+       Needed now that we do some processing for IN parameters as well. This
+       may well fix some unrelated errors.
+       (Expand_Call): Handle case of unaligned objects (in particular those
+       that come from packed arrays).
+       (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
+       renamed entity is an inherited operation, re-expand the call using the
+       original operation, which is the one to call.
+       Detect attempt to inline parameterless recursive subprogram.
+       (Represented_As_Scalar): Fix to work properly with private types
+       (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
+       accurate estimate. Yields True in far fewer cases than before,
+       improving the quality of code that depends on this test.
+
+       * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
+       over both visible and private declarations to remove them from tree,
+       and mark subprograms declared in package as eliminated, to prevent
+       spurious use in subsequent compilation of generic units in the context.
+
+       * exp_util.ads: Minor cleanup in variable names
+
+       * sem_eval.ads, sem_eval.adb: Minor reformatting
+       (Compile_Time_Known_Bounds): New function
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch7.adb (Convert_View): Use base types of underlying types when
+       determining whether an unchecked conversion is needed for the argument
+       of an initialization call.
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
+       that appears in the instantiation rather than the internal subtype
+       generated in the wrapper package, to avoid anomalies in gigi when the
+       target is derived from a private type whose full view is an access type.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+       not needed.
+       Add documentation to replace the use of this flag
+       Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+       the x86_64.
+
+2005-03-15  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+       here from exp_attr so it can be shared between exp_attr and exp_dist.
+       (TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+       all TSS names, not a subset thereof, and the previous name introduced
+       an unnecessarily confusion that a distinction might exist between
+       "OK" TSS names and some "not OK" TSS names.
+
+2005-03-15  Doug Rupp  <rupp@adacore.com>
+
+       * gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+       Command_Name.
+
+2005-03-15  Pascal Obry  <obry@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/20226
+       PR ada/20344
+
+       * init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
+       when IN_RTS. This is to work around a bootstrap path problem.
+
+       * misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
+       table and pass it to __gnat_install_SEH_handler().
+       (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
+
+       * lang.opt: Fix specification of -fRTS=.
+
+2005-03-15  Doug Rupp  <rupp@adacore.com>
+           Bernard Banner  <banner@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/6852
+       This change works fine when gnatlib is built from the gcc directory,
+       but does not work when using the libada Makefile, since GCC_FOR_TARGET
+       is not passed to ada/Makefile.in, so more work is needed by a
+       Makefile/configure expert.
+
+       * Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
+       set GMEM_LIB on ia64 linux to add optional support for gnatmem.
+       Setup gnatlink switch -M for x86_64 linux, as it is already setup
+       for Linux x86.
+       (gnatlib-shared-default): Use GNATLIBCFLAGS as well.
+       Run ranlib on libgccprefix.a
+       Define PREFIX_OBJS for Darwin, to build libgccprefix.
+       (ADA_INCLUDE_SRCS): Split Ada packages.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
+
+       * impunit.adb: Add GNAT.UTF_32
+
+       * scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
+
+       * widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
+       now uses GNAT.UTF_32).
+
+       * g-utf_32.ads, g-utf_32.adb: This is a new unit with full
+       capabilities for categorizing characters using Unicode categories
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
+       instantiation that has been rewritten as a package body, retrieve spec
+       to generate proper name for implicit_with_clause.
+       (Install_Parents): Recognize a parent that is an instantiation but has
+       been rewritten as a package declaration during analysis.
+
+2005-03-15  Javier Miranda  <miranda@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Instantiate_Object): If the analysis of the actual
+       parameter reported some error we immediately return. This improves the
+       behaviour of the frontend in case of errors.
+       (Install_Parent, Remove_Parent): Introduce new flag
+       Parent_Unit_Visible, to preserve the proper visibility of the ultimate
+       ancestor of a generic child unit, when the child is being instantiated.
+       (Inline_Instance_Body): If we are compiling the private
+       part or the body of a child unit, restore the proper visibility of the
+       parents after compiling the instance body.
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+
+       PR ada/15608
+       * sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
+       of a private type, in which case it is underlying_type that denotes
+       the proper task. Also modified to use the new entity attribute
+       that is directly available in the task type and task subtype entities
+       (Build_Actual_Subtype_Of_Component): Handle properly multidimensional
+       arrays when other dimensions than the first are constrained by
+       discriminants of an enclosing record.
+       (Insert_Explicit_Dereference): If the prefix is an indexed component or
+       a combination of indexed and selected components, find ultimate entity
+       and generate the appropriate reference for it, to suppress spurious
+       warnings.
+       (Note_Possible_Modification): If an entity name has no entity, return.
+       (Is_Variable): A function call never denotes a variable.
+       (Requires_Transient_Scope): For record types, recurse only on
+       components, not on internal subtypes that may have been generated for
+       constrained components.
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
+       Eliminated as candidates for resolution. Both efficient, and avoids
+       anomalies with operators declared in deleted code.
+       (Process_Implicit_Dereference_Prefix): Use this procedure whenever
+       expansion is disabled (as when compiling a generic) to prevent spurious
+       warnings on prefixes of selected components.
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
+       attached to a list before checking whether it appears in the private
+       declarations of the current package.
+       (Make_Inequality_Operator): Insert declaration in proper declarative
+       list rather than just setting the Parent field, so that
+       Is_Private_Declaration can handle it properly.
+
+2005-03-15  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
+       a renaming a body, check that the renamed subprogram in not intrinsic.
+       (Find_Direct_Name): If several use_visible entities hide
+       each other, and the context is a predefined file compiled through
+       rtsfind, keep only the entity that comes from a predefined file.
+
+2005-03-15  Geert Bosch  <bosch@adacore.com>
+
+       * s-fatgen.adb (Valid): Extend special exceptions to account for long
+       long float padding to also cover AMD64 and IA64.
+
+2005-03-15  Gary Dismukes  <dismukes@adacore.com>
+
+       * s-imgwch.adb: Add with and use of Interfaces.
+       (Img_Wide_Character): Change type of Val to Unsigned_16.
+       (Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
+
+2005-03-15  Matthew Gingell  <gingell@adacore.com>
+
+       * sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * usage.adb: Add missing lines for -gnat95 and -gnat05 switches
+
+       * sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
+
+       * i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
+
+2005-03-15  Robert Dewar  <dewar@adacore.com>
+
+       * s-bitops.adb, s-bitops.ads,
+       s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
+       s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
+       tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
+       s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
+       s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
+       s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
+       s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
+       s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
+       reformatting.
+
+2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * utils2.c (build_binary_op): Fix typo.
+
+2005-03-15  Doug Rupp  <rupp@adacore.com>
+
+       * s-crtl.ads (popen,pclose): New imports.
+
+2005-03-15  Cyrille Comar  <comar@adacore.com>
+
+       * comperr.adb (Compiler_Abort): remove references to obsolete
+       procedures in the bug boxes for various GNAT builds.
+
+2005-03-15  Vincent Celier  <celier@adacore.com>
+
+       * snames.ads, snames.adb: Save as Unix text file, not as DOS text file
+
+2005-03-15  Geert Bosch  <bosch@adacore.com>
+           Arnaud Charlet  <charlet@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Cyrille Comar  <comar@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Remove extended inline assembly example, as it was far
+       too specific and long-winded to be appropriate for the GNAT User's
+       Guide.
+       Warn about use of GCC switches not documented in the GNAT User's Guide,
+       as these may cause generated code to not conform to Ada semantics.
+       Remove mention of -gdwarf-2 for sparc64, since this is now the default.
+       Add documentation for -gnat95 and -gnat05 switches
+       Remove paragraph documenting obsolete way to refer to third party
+       libraries.
+       Add a few references to Ada_05 that were missing.
+       Update documentation on -gnatZ/-gnatL.
+       Document limitation when using -m64 under Solaris.
+       Change the "Name Casing" subsection of the pretty-printer section
+       according to the changes in the dictionary processing.
+
+       * gnat_rm.texi: Document the Ada_05 pragma.
+       Section on record representation clauses describes the new more
+       relaxed rules about placement of large packed bit array components.
+       Add documentation of GNAT.UTF_32
+
+2005-03-12  Daniel Berlin <dberlin@dberlin.org>
+
+       * misc.c (gnat_post_options): Turn off structural
+       aliasing for now.
+
+2005-03-08  Laurent Guerby <laurent@guerby.net>
+
+       * system-linux-sparc.ads: Fix typo in previous commit.
+
+2005-03-07  James A. Morrison <phython@gcc.gnu.org>
+           Laurent Guerby <laurent@guerby.net>
+
+       PR ada/20035
+       * system-linux-sparc.ads: New.
+       * Makefile.in: Add sparc linux entry.
+
+2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
+       parameters as unused.
+
+2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+       Partial merge from libada-gnattools-branch:
+
+       2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+       * Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
+       into code in gnattools/Makefile.in.  Remove direct dependencies on
+       stamp-tools by tools clauses.
+       2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+       * config-lang.in: Add gnattools to $lang_dirs.
+
+2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR ada/19942
+       * utils.c (gnat_type_for_mode): Return null instead of ICE because
+       we asked for an unknown mode.
+
+2005-02-12  Richard Henderson  <rth@redhat.com>
+
+       * utils.c (gnat_type_for_mode): Return NULL for COMPLEX modes;
+       validate SCALAR_INT_MODE_P before calling gnat_type_for_size.
+
+2005-02-10  Andreas Jaeger  <aj@suse.de>
+
+       * init.c (__gnat_initialize): Mark parameter as unused.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * g-expect-vms.adb (Non_Blocking_Spawn): Separate out.
+       * g-enblsp-vms-alpha.adb g-enblsp-vms-ia64.adb: New subunits.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * gnatchop.adb (dup, dup2),
+       g-dirope.adb (closedir, opendir, rmdir): Reference via System.CRTL.
+
+       * gnatlbr.adb (mkdir),
+       mlib-tgt-vms-ia64.adb (popen, plose):  Import with decc$ prefix.
+
+       * s-crtl.ads (closdir, dup, dup2, opendir, rmdir): Import.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * s-tpopde-vms.adb: Add pragma Warnings (Off) for Task_Id conversions.
+
+2005-02-09  Robert Dewar  <dewar@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+           Javier Miranda  <miranda@adacore.com>
+           Pascal Obry  <obry@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Doug Rupp  <rupp@adacore.com>
+           Gary Dismukes  <dismukes@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * g-zstspl.ads: New file.
+
+       * a-chahan.ads, a-chahan.adb: Add declarations from AI-285
+
+       * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
+       Ada 95 mode
+       Add definition of Wide_Wide_Space for AI-285
+
+       * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
+       interface (to support Ada 95 and Ada 2005 units).
+       Add Unbounded_IO files
+       Add entries for Wide_Wide packages for AI-285
+       Add list of containers packages to Ada 2005 unit list
+
+       * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
+       support new Unbounded_IO package cleanly.
+
+       * g-utf_32.ads, g-utf_32.adb: New files.
+
+       * Makefile.rtl: Add entry for g-utf_32
+       Add new files for Unbounded_IO
+       Adjust make file for new AI-285 wide wide packages
+       Add AI-302 containers to the run time.
+
+       * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
+       a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
+       subprograms for AI-301.
+
+       * a-stwiun.adb, a-stwiun.ads: Minor reformatting.
+
+       * a-stunau.ads: Minor comment correction
+
+       * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
+       etc.
+       Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
+       (Check_RPC): Update to match changes in expanded code.
+       Clean up unused entity.
+
+       * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
+       was not taken into account.
+       This includes proper initialization with Normalize_Scalars.
+       (Get_Simple_Init_Val): Major rewrite for initialize scalars and
+       normalize scalars cases (particularly the latter) to do a better job
+       of finding invalid representations.
+
+       * s-scaval.ads, s-scaval.adb: Add values for zero invalid values
+
+       * s-strops.ads, s-strops.adb: Remove string normalize routines, never
+       used
+
+       * exp_dist.adb: Add support for wide wide character type
+       (Expand_Receiving_Stubs_Bodies): For a package declaration that has a
+       private part, generate stub bodies at the end of the private part,
+       not the visible part.
+       (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
+       PolyORB support.
+       (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
+       generic wrapper to execute final processing after completing the
+       expansion of the RPC receiver for an RACW.
+
+       * snames.h, snames.ads, snames.adb: Add definitions for wide_wide
+       packages and attributes.
+       (Preset_Names): Addition of the new reserved words of Ada 2005,
+       that is interface, overriding and synchronized.
+       (Get_Pragma_Id): Give support to the use of the new reserved word
+       "interface" as a pragma name.
+       (Is_Pragma_Name): Give support to the use of the new reserved word
+       "interface" as a pragma name.
+       (Preset_Names): Add stream_size string for the Stream_Size Ada2005
+       attribute implementation.
+
+       * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
+       checks to entities that are output parameters of Asm operations.
+       Handle the Stream_Size attribute.
+       Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width
+
+       * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type
+
+       * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
+       for second parameter being 0.0.
+       Add support for wide wide character type.
+       (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.
+
+       * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
+       s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
+       s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
+       s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
+       for wide wide character cases.
+
+       * cstand.adb: Create entities for Wide_Wide_Character and
+       Wide_Wide_String.
+
+       * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
+       accordance with AI-258.
+       Add new declarations for 16/32 bit C character types (Part of AI285)
+
+       * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
+       (Obsolescent_Warning): New field
+       (Rep_Clause): New local subprogram used to share code. Returns the rep
+       clause for which the name is given in parameter.
+       (Has_Stream_Size_Clause): New routine.
+       (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
+       (Address_Clause): Implementation is now using Rep_Clause.
+       (Alignment_Clause): Idem.
+       (Size_Clause): Idem.
+
+       * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
+       entity in non-Ada 2005 mode and generate warning.
+
+       * par-prag.adb: Add handling of one argument form for pragma Ada_05.
+       (Prag): Code cleanup. Remove old gnat pragma "overriding"
+
+       * sem_prag.adb: Add handling of one argument form for pragma Ada_05
+       (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
+       on the named unit if the pragma is not in the current compilation unit,
+       so that elaboration calls in the current unit can set up an elaboration
+       dependency on the named unit, as needed.
+       (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
+       subprogram as well as for subprograms declared within a package.
+       (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
+       pragma overriding.
+
+       * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
+       to z) to avoid some instances of duplication for Wide_Wide packages.
+
+       * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
+       characters.
+
+       * scn.adb: Char_Literal_Value field is now a Uint
+
+       * scng.adb: Significant rewrite to handle new Ada 2005 features
+       allowing wide and wide wide characters in program text, e.g. for
+       identifiers, as described in AI-285.
+       (Set_Reserved): New procedure, makes setting up keywords cleaner.
+       (Initialize_Scanner): Register the new reserved words of Ada 2005.
+       (Scan): Give support to the new reserved words.
+
+       * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
+       warning notifying that interface, overriding, and synchronized are
+       new reserved words.
+       (P_Pragma): Allow the use of the new reserved word "interface" as
+       a pragma name.
+
+       * gnatls.adb, gnatbind.adb,
+       ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
+       identifiers named "interface" to "SAL_Interface".
+
+       * bindgen.adb (Gen_Main_Ada): Add support for the new SEH
+       (Structured Exception handling).
+       (Gen_Main_C): Idem.
+
+       * bindgen.adb:
+       (Gen_Main_Ada): Set the default exit code if specified.
+       (Gen_Main_C): Likewise.
+       Part of *DC20-006.
+       (Gen_Output_File_C): Remove redundant output of gnat_exit_status.
+       Code cleanup. Rename identifiers named "interface" to "SAL_Interface"
+
+       * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
+       new -Xnnn switch.
+
+       * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
+       has a collision with the new Ada 2005 "interface" reserved word.
+
+       * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
+       generate a warning notifying that interface, overriding, and
+       synchronized are new reserved words.
+
+       * scans.ads (Token_Type): Addition of the tokens corresponding to the
+       new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
+       and Tok_Synchronized.
+
+       * sem_res.adb (Resolve_Actuals): Change error messages to refer to
+       "dispatching" rather than "primitive" operations, since dispatching
+       calls are now allowed to abstract formal subprograms (which are not
+       primitive).
+       Char_Literal_Value field is now a Uint
+       (Resolve_Slice): If the prefix is an access to an unconstrained array,
+       compute the actual subtype of the designated object to impose the proper
+       index constraints.
+       (Resolve_Selected_Component): Do not insert an access check if the
+       prefix is an access type: such a node is expanded into an explicit
+       dereference, on which the access check is performed anyway. Removes
+       expensive duplicate checks.
+       (Resolve_Call): Use new flag Is_Obsolescent and field
+       Obsolescent_Warning so that pragma Obsolescent works on library
+       subprograms.
+       Add support for wide wide character type
+       (Resolve_Allocator): Replace the error message on wrong null-exclusion
+       value by a warning message.
+       (Resolve_Type_Conversion): If the mixed-mode expression is interpreted
+       as fixed-point, and one of the operands is non-static and universal, it
+       can only be an illegal exponentiation operation, in which case there is
+       no real value to retrieve.
+
+       * exp_strm.adb: Add support for wide wide character type
+       (Build_Elementary_Input_Call): Compute the size of the stream element by
+       querying the rep chain to find the Stream_Attribute attribute value.
+       (Build_Elementary_Write_Call): Ditto.
+
+       * sem_aggr.adb: Char_Literal_Value field is now a Uint
+       Add support for wide wide character type
+       Replace the error messages on wrong null-exclusion value by warnings
+       as described in Ada 2005.
+       (Resolve_Extension_Aggregate): Document the fact that the error
+       message on class-wide expressions in extensions aggregates.
+
+       * sem_case.adb: Add support for wide wide character type
+
+       * sem_ch13.adb: Add support for wide wide character type
+       (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.
+
+       * sem_ch3.adb: Add support for wide wide character type
+       (Process_Subtype): If constraint is illegal for the type, set Ekind of
+       now-useless Itype, to prevent cascaded errors on a compiler built
+       without -gnatp.
+
+       * sem_ch8.adb: Add with and use of Sem_Disp.
+       (Analyze_Subprogram_Renaming): Replace unclean uses of
+       Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
+       of Corresponding_Spec to Empty).
+       (Attribute_Renaming): Replace use of Corresponding_Spec with
+       Corresponding_ Formal_Spec and simplify condition.
+       (Use_One_Package): Check that scope of homonym of identifier is defined,
+       before checking whether it is a wrapper package.
+       Add support for wide wide character type
+
+       * sem_eval.adb: Add support for wide wide character type.
+       (Eval_Arithmetic_Op): Check for compile time known signed integer
+       overflow in the non-static case.
+       (Subtypes_Statically_Match): A formal scalar type and its base type do
+       not statically match.
+
+       * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
+       "not in" for test of N_Formal_Subprogram_Declaration (which is now a
+       subtype).
+       (Unit_Declaration_Node): Ditto.
+       (Is_Variable_Prefix):  For the case of an indexed component whose prefix
+       has a packed array type, the prefix has been rewritten into a type
+       conversion. Determine variable-ness from the converted expression.
+       Handle wide wide character cases.
+
+       * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String
+
+       * stringt.ads, stringt.adb: Handle full UTF-32 range.
+       Remove ["0A"] from comment, since it can look like a line terminator.
+       Currently we don't permit this, but this is under discussion by the
+       ARG, and it is easy enough to use a different example.
+
+       * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
+       handling UTF-32 encoding for wide wide character.
+       Implement new brackets coding ["hhhhhhhh"]
+       Add UTF-8 encodings for full UTF-32 range
+
+       * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size
+
+       * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
+       bit range Add full UTF-32 support.
+       (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
+       notify that constraint error will be raised at run-time
+       because a null value is assigned to a null-excluding object.
+       Remove some obsolete declarations and make Char_Code
+       unsigned.
+
+       * a-except.adb (Rcheck_30): New subprogram. Addition of the message
+       corresponding to CE_Null_Not_Allowed, and adjust the output of all the
+       Rcheck subprograms.
+
+       * checks.adb (Check_Null_Not_Allowed): Replace the error message on
+       wrong null-exclusion value by a warning message.
+       (Enable_Range_Check): Do range check if the prefix is an
+       explicit dereference whose designated object is an unconstrained array.
+       Current algorithm for removing duplicate checks is over-eager in this
+       case.
+
+       * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
+       null-exclusion value by a warning message
+
+       * atree.h, atree.ads, atree.adb: Remove Char_Code field support
+       completely. Add support for Uint2 field
+
+       sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
+       exp_prag.adb: Char_Literal_Value field is now a Uint.
+
+       * exp_util.adb (Insert_Actions): Replace
+       N_Formal_Subprogram_Declaration by
+       N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
+       Char_Literal_Value field is now a Uint.
+
+       * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
+       defined for subprogram renaming declarations. When set, the field
+       indicates the defining entity of a corresponding formal subprogram
+       when the renaming corresponds to a formal subprogram association in an
+       instantiation.
+       (Set_Corresponding_Formal_Spec): New procedure to return
+       Corresponding_Formal_Spec field.
+       Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
+       (which is now a subtype).
+       Char_Literal_Value field is now a Uint
+
+       * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
+       pointer to the base of the dispatch table.
+       Minor changes to comments.
+       (Controlling_Type): New function for determining the tagged type
+       associated with a tagged primitive subprogram.
+       (Expand_Dispatching_Call): Add support for a controlling actual that is
+       directly a value of type Ada.Tag rather than a tagged object.
+
+       * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
+       describing the new layout.
+       (Dispatch_Table): The expander computes the actual array size, allocates
+       the Dispatch_Table record accordingly, and generates code that displaces
+       the base of the record after the Typeinfo_Ptr component. The access to
+       these components is done by means of local functions.
+       (Offset_To_Top): New function.
+       (Typeinfo_Ptr): New function.
+       (Get_TSD): Modified to access the new position of the TSD.
+       (Set_TSD): Modified to save the TSD in its new position.
+
+       * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
+       case of formal abstract subprograms. Add check and message for -gnat05.
+       Update comments.
+
+       * sem_ch12.adb: Add with and use for Sem_Disp.
+       (Analyze_Associations): Minor change from "=" to "in" for use of
+       N_Formal_Subtype_Declaration (which is now a subtype).
+       (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
+       N_Formal_Subtype_Declaration (which is now a subtype).
+       (Analyze_Formal_Subprogram): Add handling for
+       N_Formal_Abstract_Subprogram, marking the formal as abstract and
+       dispatching, setting the controlling status of the formal parameters
+       and result, and issuing an error if there is no controlling type for
+       the formal subprogram.
+       (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
+       which is an unclean use of that field, we set the new field
+       Corresponding_Formal_Spec to make the formal subprogram available to
+       processing in Analyze_Subprogram_Declaration.
+       (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
+       Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
+       Constrained, so that it is is does not statically match its anonymous
+       base type.
+
+       * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
+       abstract formal subprograms in error check for functions returning
+       abstract types. Set scope of new designator for
+       a parameterless subprogram, so that it is available when checking the
+       body for nested subprograms, before full analysis of said body.
+       (Analyze_Subprogram_Body): Warn on inlining bodies with nested
+       subprogram only if inner one comes from source.
+       (Analyze_Function_Call): If the call is given in object notation, the
+       analysis of the name rewrites the node and analyzes it with the proper
+       argument list. After analyzing the name, if the call has been rewritten
+       and the result type is set, no further analysis is needed.
+       (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
+       mark in function specification, in a context where the formals are
+       visible and hide outer homographs.
+
+       * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
+       as the tagged type for the cases of abstract formal subprograms and
+       renamings of those.  Clean up spec comments.
+       (Check_Dispatching_Context): Add error message to indicate "abstract
+       procedure", covering the case of a call to a formal abstract procedure
+       that has statically tagged operands.
+       (Check_Dispatching_Call): Check for the case of an actual given by
+       a tag-indeterminate function call whose type is an ancestor of the
+       containing call's associated tagged type. This situation can occur
+       for inherited primitives with function defaults. In this case we
+       use the tagged type's tag directly as the controlling argument for
+       the calls.
+       (Expand_Call): Name change on call to Expand_Dispatch_Call.
+
+       * sprint.adb (Sprint_Node_Actual): Split
+       N_Formal_Subprogram_Declaration into two alternatives for the new
+       cases N_Formal_Abstract_Subprogram_Declaration and
+       N_Formal_Concrete_Subprogram_Declaration.
+       Char_Literal_Value field is now a Uint.
+
+       * trans.c: Get rid of junk Uint2 reference.
+       Char_Literal_Value field is now a Uint.
+       (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
+       (gigi): Correct third arg to gimplify_body.
+
+       * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
+       (TYPE_LANG_FLAG_0): Check for record or union.
+
+       * treepr.adb: Char_Literal_Value field is now a Uint
+
+       * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
+       UI_From_CC.
+
+       * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
+       Add full UTF-32 support
+       Char_Code is now 32 bits
+
+       * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
+       wide character UTF_32 line terminators.
+       Initialize Main_Source_File to avoid error when no main
+       source is loaded.
+
+       * errout.adb (Finalize): Do not check Num_SRef_Pragmas
+       (Main_Source_File) when no main source has been loaded, to avoid
+       potential crash.
+
+2005-02-09  Robert Dewar  <dewar@adacore.com>
+
+       * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
+       Fix name of Set routine
+
+       * a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
+       fixed packages.
+
+       * a-stwise.ads, a-stwise.adb, a-stwifi.ads, a-stwifi.adb,
+       a-strsea.ads, a-strsea.adb: Add new index functions from AI-301 to
+       fixed packages
+
+       * a-witeio.ads, a-witeio.adb, a-textio.ads, a-textio.adb: New function
+       forms of Get_Line subprograms for AI-301.
+
+       * a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
+       a-wtedit.adb, a-wtedit.adb, a-wtedit.ads, a-wttest.adb,
+       a-wttest.ads, a-strmap.ads, a-strmap.adb, a-stwima.adb,
+       a-stwima.ads: Minor reformatting.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+           Thomas Quinot  <quinot@adacore.com>
+
+       * adaint.c, adaint.h
+       [VMS] (to_ptr32): New function.
+       (MAYBE_TO_PTR32): New macro.
+       (__gnat_portable_spawn,__gnat_portable_no_block_spawn): Adjust argv
+       for pointer size.
+       [VMS] (descriptor_s, ile_s): Use __char_ptr32 for adr field.
+       [VMS] (#define fork()): Remove since unneccessary.
+       (__gnat_set_close_on_exec): New routine to support
+       GNAT.OS_Lib.Set_Close_On_Exec.
+
+       * g-expect.adb (Set_Up_Communications): Mark the pipe descriptors for
+       the parent side as close-on-exec so that they are not inherited by the
+       child.
+
+       * g-os_lib.ads, g-os_lib.adb (Set_Close_On_Exec): New subprogram to
+       set or clear the FD_CLOEXEC flag on a file descriptor.
+
+2005-02-09  Eric Botcazou  <ebotcazou@adacore.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       Fix for c330001 - PR ada/19386
+
+       * decl.c:
+       (gnat_to_gnu_field): Do not necessarily invoke make_packable_type
+       on the field if Pragma Component_Alignment (Storage_Unit).
+       (gnat_to_gnu_entity, case object): Do not treat a renaming that has
+       side-effects as if it were a constant; also make SAVE_EXPR to protect
+       side-effects.
+       (gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
+       UNION_TYPE.
+       (make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
+       (components_to_record): Test it.
+       Fix improper usage of REFERENCE_CLASS_P.
+
+       * utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
+       RECORD_TYPE.
+
+       * utils2.c: Minor reformatting.
+
+       * utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
+       handle other cases like RECORD_TYPE.
+
+       * utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
+
+2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_aggr.adb (Gen_Assign): If the expression is an aggregate for a
+       component of an array of arrays in an assignment context, and the
+       aggregate has component associations that require sliding on
+       assignment, force reanalysis of the aggregate to generate a temporary
+       before the assignment.
+       (Must_Slide): Make global to the package, for use in Gen_Assign.
+
+2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_Composite_Equality): If a component is an
+       unchecked union with no inferable discriminants, return a
+       Raise_Program_Error node, rather than inserting it at the point the
+       type is frozen.
+       (Expand_Record_Equality, Component_Equality): Handle properly the case
+       where some subcomponent is an unchecked union whose generated equality
+       code raises program error.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * gnatbl.c: [VMS] (_POSIX_EXIT): Define.
+       [VMS] (#define exit hack): Remove.
+
+2005-02-09  Pascal Obry  <obry@adacore.com>
+           Arnaud Charlet <charlet@adacore.com>
+
+       * init.c (__gnat_initialize): Add a new parameter eh which contains the
+       address of the exception registration. The Win32 version of this
+       routine calls __gnat_install_SEH_handler() to initialize the SEH
+       (Structured Exception Handling) handler.
+       (__gnat_error_handler) [Win32]: Removed. Not needed as we use
+       SEH (Structured Exception Handling) now.
+       (__gnat_install_handler) [Win32]: Nothing to do now as we use SEH.
+       (__gnat_initialize for ppc-vxworks): Adjust comments and the
+       preprocessor condition protecting the call to the extra eh setup
+       subprogram, which is only available for the ppc target.
+       (__gnat_clear_exception_count): replaced reference to
+       variable taskIdCurrent by call to taskIdSelf(), cleaner.
+
+       * seh_init.c: New file.
+
+       * Make-lang.in: (GNAT_ADA_OBJS): Add seh_init.o.
+       (GNATBIND_OBJS): Idem.
+
+       * misc.c (gnat_parse_file): Update call to __gnat_initialize. This
+       routine takes a new parameter (a pointer to the exception registration
+       for the SEH (Structured Exception Handling) support.
+
+       * raise.h: (__gnat_install_SEH_handler): New prototype.
+       Update copyright notice.
+
+       * s-tassta.adb (Task_Wrapper): Declare the exception registration
+       record and initialize it by calling __gnat_install_SEH_handler.
+
+2005-02-09  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): Do not fail when the main project has no object
+       directory.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * Makefile.in [VMS] (LN,LN_S): Define as cp -p
+       Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
+       [VMS]: Add translations for g-enblsp.adb.
+
+       * s-asthan-vms.adb: Removed.
+       * s-asthan-vms-alpha.adb: Added.
+
+2005-02-09  Pascal Obry  <obry@adacore.com>
+
+       * Makefile.in (LIBGNAT_SRCS): Add seh_init.c.
+       (LIBGNAT_OBJS): Add seh_init.o.
+
+2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/16592
+
+       * Makefile.in: Link all gnat tools with -static-libgcc, since
+       -shared-libgcc is now used by default on some systems (e.g. linux with
+       recent binutils).
+       Remove references to Makefile.prolog/generic, no longer used.
+
+2005-02-09  Vincent Celier  <celier@adacore.com>
+
+       * prj-makr.adb (Process_Directory): Put file name in canonical case
+       before matching against the patterns.
+       If gnatname has been invoked as <prefix>-gnatname
+       then invoke the compiler as <prefix>-gcc, not just "gcc".
+
+2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): Create Actual_Subtype even
+       with expansion disabled. The actual subtype is needed among other
+       places when the selected component appears in the context of a loop
+       bound, and denotes a packed array.
+       (Operator_Check): Always use the first subtype in the
+       error message, to avoid the appearance of internal base types.
+       (Transform_Object_Operation): Copy each actual in full
+       to the parameter associations of the constructed call, rather than
+       using the shallow copy mechanism of New_Copy_List. This ensures that
+       the chaining of named associations is done properly.
+       (Complete_Object_Operation): Rewrite node, rather than
+       replacing it, so that we can trace back to the original selected
+       component.
+
+       * sem_elab.adb (Set_Elaboration_Constraint): For initialization calls,
+       and calls that use object notation, if the called function is not
+       declared  in a withed unit, place the elaboration constraint on the
+       unit in the context that makes the function accessible.
+       (Check_Elab_Subtype_Declaration): Check whether a subtype declaration
+       imposes an elaboration constraint between two packages.
+
+2005-02-09  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch7.adb (Uninstall_Declarations): Exchange full and private
+       views of a private type after handling its private dependents, to
+       maintain proper stack discipline between entry and exit from the
+       package.
+
+2005-02-09  Cyrille Comar  <comar@adacore.com>
+
+       * s-finimp.adb: (Finalize_List): Optimize in the no-abort case.
+       Minor reformatting.
+
+2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tporft.adb (Register_Foreign_Thread): Initialize Task_Image[_Len]
+       fields for foreign threads.
+
+2005-02-09  Doug Rupp  <rupp@adacore.com>
+
+       * s-vaflop.adb: Add pragma Warnings (Off) to eliminate infinite
+       recursion warnings when compiled with -gnatdm.
+
+2005-02-09  Robert Dewar  <dewar@adacore.com>
+
+       * usage.adb: Add line for switch -gnat05 (allow Ada 2005 extensions)
+       Slight fix to documentation of -gnaty with no parameters
+
+       * xr_tabls.ads: Add ??? comment for missing overall comment
+
+       * xsinfo.adb: Make default file name be sinfo.h, since this is what
+       we now use by default.
+
+       * xsnames.adb: Adjust end of file test to look for five space followed
+       by '#' instead of six spaces. The format of xsnames.adb was modified
+       in the last update.
+
+       * a-numeri.ads: Add reference to AI-388 for greek letter pi
+       identifier.
+
+       * clean.adb: Minor reformatting.
+
+       * gnat1drv.adb, gnatfind.adb, gnatlink.adb, gnatmem.adb,
+       gnatname.adb: Minor reformatting
+       Add 2005 to copyright output when utility is run
+
+       * csets.adb: Eliminate obsolete comment
+
+       * debug.adb, g-socket.ads, i-cobol.adb: Minor reformatting throughout
+       Update comments.
+
+       * sem_eval.ads (Eval_Integer_Literal): Do not inline this, not useful.
+
+2005-02-09  Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Add to the gnatpp section the paragraph describing
+       the difference between compact and incompact layout and add the record
+       representation clause to the example illustrating different layouts.
+       Add the description of '-A5' gnatpp option ("align 'AT' keywords in
+       component clauses").
+
+2005-02-09  Florian Villoing  <villoing@adacore.com>
+
+       * gnat_ugn.texi: Fix typos.
+       Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
+       @file.
+       Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
+       in the generated documentation.
+
+2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn.texi: Remove all mentions of FSU threads, which are no
+       longer supported.
+       Update linker wrapper when linking with non GNU C++.
+
+2005-02-09  Pascal Obry  <obry@adacore.com>
+
+       * gnat_ugn.texi:
+       Document the procedure to debug the DllMain routine on Windows.
+       Add note about -funwind-tables and mixed Ada and C/C++ programming in
+       ZCX mode.
+       Document new BIND qualifer /RETURN_CODES=VMS.
+
+2005-02-09  Ben Brosgol  <brosgol@adacore.com>
+
+       * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+       Edited gnatmetric chapter
+
+2005-02-09  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi:
+       Changes to document new wide wide character support
+       For AI-285
+       Update documentation on Normalize_Scalars and Initialize_Scalars
+
+2005-02-09  Pascal Obry  <obry@adacore.com>
+
+       * s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.
+
+2005-02-09  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
+       from the VxWorks kernel) that is needed for getting the active
+       priority of the different tasks.
+
+       * s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
+       Use a pragma Elaborate_Body in the spec file instead.
+       Noticed by code reading.
+
+2005-02-09  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_util.ads: Minor correction in comment.
+
+2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
+       since this procedure is now too complex to be worth inlining.
+
+2005-02-09  Richard Henderson  <rth@redhat.com>
+
+       * utils.c (gnat_define_builtin): Remove.
+       (gnat_install_builtins): Use build_common_builtin_nodes.
+
+2005-02-09  Arnaud Charlet  <charlet@adacore.com>
+
+       * a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
+       a-crbtgk.adb, a-crbltr.ads, a-coprnu.ads, a-coprnu.adb,
+       a-coorse.ads, a-coorse.adb, a-convec.ads, a-convec.adb,
+       a-contai.ads, a-coinve.ads, a-coinve.adb, a-cohata.ads,
+       a-cohama.ads, a-cohama.adb, a-ciorse.ads, a-ciorse.adb,
+       a-cihama.ads, a-cihama.adb, a-cidlli.ads, a-cidlli.adb,
+       a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, a-cgcaso.adb,
+       a-cgarso.ads, a-cgarso.adb, a-cdlili.ads, a-cdlili.adb,
+       a-cgaaso.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb,
+       a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
+       a-coorma.ads, a-swunha.ads, a-stunha.ads, a-ciormu.ads,
+       a-coormu.ads, a-rbtgso.ads, a-swunha.adb, a-stunha.adb,
+       a-cgaaso.ads, a-ciorma.adb, a-coorma.adb, a-secain.adb,
+       a-secain.ads, a-slcain.ads, a-slcain.adb, a-shcain.ads,
+       a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads,
+       a-stwiha.adb, a-strhas.ads, a-strhas.adb, a-chzla1.ads,
+       a-chzla9.ads, a-lfztio.ads, a-liztio.ads, a-llfzti.ads,
+       a-llizti.ads, a-sfztio.ads, a-siztio.ads, a-ssizti.ads,
+       a-stzbou.adb, a-stzbou.ads, a-stzfix.adb, a-stzfix.ads,
+       a-stzhas.adb, a-stzhas.ads, a-stzmap.adb, a-stzmap.ads,
+       a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads,
+       a-stzunb.adb, a-stzunb.ads, a-swunau.adb, a-swunau.ads,
+       a-szmzco.ads, a-szunau.adb, a-szunau.ads, a-szunha.adb,
+       a-szunha.ads, a-szuzti.adb, a-szuzti.ads, a-tiunio.ads,
+       a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb,
+       a-ztcoio.ads, a-ztcstr.adb, a-ztcstr.ads, a-ztdeau.adb,
+       a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
+       a-ztedit.ads, a-ztenau.adb, a-ztenau.ads, a-ztenio.adb,
+       a-ztenio.ads, a-ztexio.adb, a-ztexio.ads, a-ztfiio.adb,
+       a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads, a-ztflio.adb,
+       a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
+       a-ztinau.ads, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb,
+       a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads, a-zttest.adb,
+       a-zttest.ads, a-zzunio.ads: New files. Part of new Ada 2005
+       library.
+
+2005-01-27  Laurent GUERBY <laurent@guerby.net>
+
+       * Makefile.in: Fix a-intnam.ads from previous commit,
+       add 2005 to copyright.
+       * a-intman-rtems.ads: Renamed to...
+       * a-intnam-rtems.ads:
+
+2005-01-27  Laurent GUERBY <laurent@guerby.net>
+
+       * Makefile.in: Rename GNAT RTEMS specific files.
+       * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
+       5rosinte.ads, 5rparame.adb: Replaced by files below.
+       * s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
+       s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
+
+2005-01-27  Joel Sherrill <joel.sherrill@oarcorp.com>
+           Laurent GUERBY <laurent@guerby.net>
+
+       PR ada/19488
+       * 5rosinte.ads: Add No_Key constant.
+       * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
+       * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
+
+2005-01-26  Laurent GUERBY <laurent@guerby.net>
+
+       PR ada/19414
+       * i-cobol.adb (Valid_Numeric): Handle zero length case.
+
+2005-01-20  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
+       a-intnam-linux.ads and system-linux-alpha.ads.
+       * a-intnam-linux-alpha.ads: Remove file.
+       * s-osinte-linux-alpha.ads (SIGUNUSED, SIGSTKFLT, SIGLOST): New.
+       * system-linux-alpha.ads: New file.
+
+2005-01-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR ada/13470
+       * a-stunau.adb (Get_String): Don't return U.Reference, but Ret that is
+       set to the new string.
+
+2005-01-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * system-linux-ppc.ads: Set ZCX_By_Default and GCC_ZCX_Support
+       to True.
+
+2005-01-18  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (LIBGNAT_TARGET_PAIRS, TOOLS_TARGET_PAIRS, MISCLIB,
+       THREADSLIB, GNATLIB_SHARED, PREFIX_OBJS, LIBRARY_VERSION): Specialize
+       for alpha-linux.
+       * s-osinte-linux-alpha.ads, a-intnam-linux-alpha.ads: New files.
+
+2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * system-darwin-ppc.ads (ZCX_By_Default): Change to True.
+       (GCC_ZCX_Support): Likewise.
+
+2005-01-11  Bastian Blank  <waldi@debian.org>
+
+       * system-linux-s390.ads: Define Preallocated_Stacks.
+       * system-linux-s390x.ads: Likewise.
+
+2005-01-04  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat_ugn.texi: Fix texi errors with null variables.
+
+2005-01-03  Thomas Quinot  <quinot@adacore.com>
+
+       * gen-soccon.c: New utility program to generate g-soccon.ads
+       automatically.
+
+       * socket.c, gsocket.h: Split inclusion of system header files into a
+       gsocket.h file separated from socket.c, to allow reuse in gen-soccon.c.
+
+       * g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads,
+       g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+       g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-mingw.ads,
+       g-soccon-vxworks.ads, g-soccon-freebsd.ads: Note that these files
+       should not be edited by hand anymore, but should be regenerated using
+       gen-soccon.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
+       on/off, since this is an obsolescent feature, for which we now generate
+       a warning.
+
+       * sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
+       warning mode is set and obsolescent usage of this attribute occurs.
+       (Resolve_Access, case 'Access): Note that GNAT uses the context type to
+       disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
+       predates, and partly motivates, the adoption of the AI.
+       Implement new Ada 2005 attribute Mod
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
+       attribute Mod.
+
+       * par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod
+
+       * snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
+       pragma restrictions.
+       New entry for Ada 2005 attribute Mod.
+
+       * par-prag.adb:
+       Add recognition of new pragma Restrictions No_Dependence
+       Recognize restriction No_Obsolescent_Features at parse time
+
+       * bcheck.adb: Add circuitry for checking for consistency of
+       No_Dependence restrictions.
+
+       * lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
+       restrictions.
+
+       * restrict.ads, restrict.adb: Add subprograms to deal with
+       No_Dependence restrictions.
+
+       * rtsfind.adb: Check that implicit with's do not violate No_Dependence
+       restrictions.
+
+       * sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
+       sem_attr.adb: Add check for new restriction No_Obsolescent_Features
+
+       * scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
+       dummy parameter to scng instantiation.
+       Needed for new restriction No_Obsolescent_Features
+
+       * scn.adb: (Obsolescent_Check): New procedure
+       Needed for new restriction No_Obsolescent_Features
+
+       * scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
+       specified by AI-285, needed for implementation of AI-388 (adding greek
+       pi to Ada.Numerics).
+       Add new generic formal to scng, needed for new restriction
+       No_Obsolescent_Features.
+
+       * s-rident.ads: Add new restriction No_Obsolescent_Features.
+
+       * ali.ads, ali.adb: Adjustments for reading new No_Dependence
+       restrictions lines.
+       (Scan_ALI): When finding an unexpected character on an R line, raise
+       exception Bad_R_Line, instead of calling Fatal_Error, so that, when
+       Ignore_Errors is True, default restrictions are set and scanning of the
+       ALI file continues with the next line. Also, when Bad_R_Line is raised
+       and Ignore_Errors is True, skip to the end of le line.
+
+       * sem_ch10.adb: Check that explicit with's do not violate
+       No_Dependence restrictions.
+       (Install_Withed_Unit): Add code to implement AI-377 and diagnose
+       illegal context clauses containing child units of instance.
+
+       * sem_prag.adb: Processing and checking for new No_Dependence
+       restrictions.
+       (Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
+       analyze and check the External argument.
+
+       * a-numeri.ads: Add greek letter pi as alternative spelling of Pi
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * atree.adb: Add a fifth component to entities
+       This allows us to add 32 flags and four new fields
+
+       * atree.ads: Add a fifth component to entities
+       This allows us to add 32 flags and four new fields
+
+       * einfo.ads, einfo.adb: Document new fields and new flags now available
+       Add routines for printing new fields
+
+       * treepr.adb: Call routines to print out additional fields if present
+
+2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * bld.ads, bld.adb, bld-io.ads, bld-io.adb, gprcmd.adb,
+       gpr2make.ads, gpr2make.adb: Remove gpr2make, replaced by gprmake.
+
+       * Makefile.in: Add support to build shared Ada libraries on solaris x86
+       Remove gpr2make, replaced by gprmake.
+       Remove references to gnatmem and libaddr2line.
+       Add indepsw.adb<indepsw-linux.adb to TOOLS_TARGET_PAIRS for IA64 linux.
+       (gnatlib-shared-darwin): Add "-fno-common" to GNATLIBCFLAGS.
+       Add support for specialized version of Ada.Numerics.Aux for Darwin: use
+       a-numaux-darwin.ads and a-numaux-darwin.adb
+       Enable mlib-tgt-lynxos.adb on lynxos.
+
+       * Make-lang.in: Remove rules for gpr2make.
+       When generating sdefault.adb, do not call Relocate_Path
+       on S3 for function Target_Name, as it is not a path.
+       Remove references to gnatmem and libaddr2line.
+
+       * a-numaux-darwin.ads, a-numaux-darwin.adb, g-soccon-darwin.ads: New
+       files.
+
+2005-01-03  Samuel Tardieu  <tardieu@adacore.com>
+
+       * checks.adb (Apply_Alignment_Check): Generate a warning if an object
+       address is incompatible with its base type alignment constraints when
+       this can be decided statically.
+
+2005-01-03  Olivier Hainque  <hainque@adacore.com>
+
+       * decl.c (compatible_signatures_p): New function. The intended purpose
+       is to check if two function signatures for a call-site and a callee are
+       compatible enough for the call to be valid. The underlying purpose is
+       to check if a call to a mapped builtin is using the right interface.
+       The current code actually does not check antyhing - this a placeholder
+       for future refinements.
+       (gnat_to_gnu_entity) <E_Subprogram_Call>: Add preliminary bits to handle
+       builtin calls for convention Intrinsic.
+
+       * gigi.h (builtin_decl_for): Declare (new function).
+
+       * utils.c (gnat_install_builtins): Install the target specific builtins.
+       (builtin_decl_for): New function, provide a dummy body for now.
+
+2005-01-03  Geert Bosch  <bosch@adacore.com>
+
+       * eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
+       (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+       (Pred): Implement in terms of Succ.
+
+       * trans.c (convert_with_check): Reimplement conversion of float to
+       integer.
+
+2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+           Vincent Celier  <celier@adacore.com>
+
+       * exp_aggr.adb (Packed_Array_Aggregate_Handled): The values of the
+       bounds can be negative, and must be declared Int, not Nat.
+
+       * sem_elim.adb (Line_Num_Match): Correct wrong code when index in an
+       array is checked after using the index in the array.
+
+       * makegpr.adb (Add_Switches): Check if there is a package for the
+       processor. If there is no package, do not look for switches.
+
+2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch3.adb (Stream_Operations_OK): Predicate to determine when the
+       generation of predefined stream operations (specs and bodies) should
+       proceed. Under various restrictions these subprograms must not be
+       generated.
+
+2005-01-03  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb:
+       Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
+       amount of PCS-specific code in RACW stubs generation.
+       (Copy_Specification): Set Etype on copied formal parameter entities, as
+       this information is needed for PolyORB stubs generation.
+       (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused
+       variable Dynamic_Async.
+       (Build_Subprogram_Receiving_Stubs): Make PCS-specific
+       (Build_RPC_Receiver_Specification): Make generic again, as recent
+       changes have allowed RPC receivers to have the same profile for both
+       variants of the PCS.
+       Reorganise RPC receiver generation to reduce differences between the
+       structure of GARLIC and PolyORB RPC receivers.
+       (Add_Receiving_Stubs_To_Declarations): Make this subprogram
+       PCS-specific.
+       Simplify elaboration code for RCI packages.
+
+       * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver
+       generation to reduce differences between the structure of GARLIC and
+       PolyORB RPC receivers.
+
+       * s-stratt.adb: Fix typo in comment.
+
+2005-01-03  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.ads (Make_Final_Call): Rewrite comment (was incorrectly
+       copied from Make_Init_Call).
+
+       * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do component
+       reads and assignments on a temporary variable declared with appropriate
+       discriminants.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * i-c.adb (To_C): Raise CE if string is null and Append_Null
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * i-cstrin.adb (Update): Do not append a null in form called with a
+       String. This avoids unintended behavior.
+
+2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/17527
+       * init.c: Fix warnings on Free BSD section.
+
+2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+
+       PR ada/16949
+       * sinfo.ads: Fix obsolete reference to xsinfo.spt (replaced by
+       xsinfo.adb).
+
+2005-01-03  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Collect_Arguments_And_Compile): Do not attempt to build
+       libraries when Unique_Compile is True (-u switch).
+       (Gnatmake): ditto.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * namet.adb (Get_Decoded_Name_With_Brackets): Fix case of not allowing
+       upper case letter or underscore after W, as allowed by spec.
+
+2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-osinte-darwin.ads, s-osinte-darwin.adb: Clean up
+       darwin port by using proper type definitions from header files.
+       Use SIGTERM instead of SIGABRT for SIGADAABORT.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * par.adb: Enhance error message handling for configuration file
+       pragmas.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * s-arit64.adb (Double_Divide): Put back changes that got accidentally
+       removed during the previous update (test properly for case of dividing
+       largest negative number by -1, which generates overflow).
+
+2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * sem_ch12.adb (Analyze_Package_Instantiation): Create a separate node
+       to use as the defining identifier for a formal package.
+       (Remove_Parent): If the instance takes place within (an instance of)
+       a sibling, preserve private declarations of common parent.
+
+2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Has_Fixed_Op): New predicate in Check_Arithmetic_Pair,
+       to determine whether one of the operands is a fixed-point type for
+       which a user-defined multiplication or division operation might be
+       defined.
+
+       * sem_res.adb (Valid_Conversion): The legality rules for conversions
+       of access types are symmetric in Ada 2005: either designated type can
+       be unconstrained.
+
+2005-01-03  Vincent Celier  <celier@adacore.com>
+
+       * s-fileio.adb (Temp_File_Record): Change length of string component
+       Name from L_tmpnam + 1 to max_path_len + 1.
+
+2005-01-03  Arnaud Charlet  <charlet@adacore.com>
+
+       * s-tasini.ads, s-tasini.adb (Undefer_Abortion): Handle case of
+       Self_Id.Deferral_Level = 0.
+       (Do_Pending_Action): Move this function to the spec.
+
+       * s-tasren.adb (Selective_Wait [Terminate_Selected]): Call
+       Do_Pending_Action explicitely when needed, in case we're using
+       No_Abort restrictions.
+
+       * s-tassta.adb (Create_Task): If Abort is not allowed, reset the
+       deferral level since it will not get changed by the generated code.
+       Keeping a default value of 1 would prevent some operations (e.g.
+       select or delay) to proceed successfully.
+
+2005-01-03  Ben Brosgol  <brosgol@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+           Cyrille Comar  <comar@adacore.com>
+
+       * ug_words, gnat_ugn.texi: Added alpha-ivms transitioning section to
+       porting guide chapter (vms version).
+       Revised doc title (removed "for native platforms") and subtitle.
+       Add discussion on warning flag for obsolescent features. First we
+       note that it applies to obsolete GNAT features, which was previously
+       omitted. Second we contrast the behavior with that of the new
+       Ada 2005 AI-368 restriction No_Obsolescent_Features.
+       Preliminary rewriting of GNAT & libraries chapter in order to take
+       into account default project locations & new project manager
+       capabilities.
+
+2005-01-03  Robert Dewar  <dewar@adacore.com>
+
+       * cstand.adb (Create_Operators): Clean up format and documentation of
+       unary and binary operator result tables. No change in code, just
+       reformatting and addition of comments.
+
+       * errout.ads, gnatfind.adb, s-maccod.ads, sem.adb,
+       sem_ch2.adb: Minor reformatting
+
+       * atree.ads, elists.ads, lib.ads, namet.ads, nlists.ads, repinfo.ads,
+       sinput.ads, stringt.ads, uintp.ads, urealp.ads: Minor clarification to
+       comments for Tree_Read and Tree_Write.
+
+2005-01-03  Pascal Obry  <obry@adacore.com>
+
+       * exp_attr.ads: Minor reformatting.
+
+2005-01-03  Romain Berrendonner  <berrendo@adacore.com>
+
+       * comperr.adb (Compiler_Abort): Add specialized message for GAP
+       versions.
+
+2005-01-03  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_pakd.adb (Create_Packed_Array_Type): Add a guard to check
+       whether the ancestor type is private, as may be the case with nested
+       instantiations.
+
+2004-12-30  Sohail Somani <sohail@sohailsomani.com>
+
+       PR ada/19128
+       * trans.c (gnat_to_gnu): Fix typo: Use correct return variable.
+
+2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference.
+       * utils2.c (build_unary_op): Likewise.
+
+2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
+
+2004-12-19  Richard Henderson  <rth@redhat.com>
+
+       * trans.c (gigi): Update gimplify_body call.
+
+2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * decl.c (gnat_substitute_in_type): Remove SET_TYPE case.
+
+2004-12-07  Ed Falis  <falis@adacore.com>
+
+       * s-intman-vxworks.adb (Notify_Exception): removed useless check for
+       current task being suspended.
+
+       * init.c (__gnat_clear_exception): added to reset VxWorks exception
+       count.
+       (__gnat_map_signal): removed test for current task being suspended.
+
+2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
+       from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
+       targets (such as AAMP).
+
+2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * atree.adb (Visit_Itype): Create a new name for the generated itype,
+       because the back-end may otherwise treat it as a redefinition of the
+       old symbol.
+
+2004-12-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * back_end.adb (Scan_Back_End_Switches): Accept --param.
+
+       * lang-specs.h: Accept --param.
+
+2004-12-07  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Check_Mains, Switches_Of): Adapt to name changes in
+       package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
+       Current_Body_Suffix => Ada_Body_Suffix).
+       Take into account Externally_Built attribute.
+
+       * clean.adb (In_Extension_Chain): Always return False when one of the
+       parameter is No_Project.
+       (Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
+       Ada_Language_Index).
+       (Gnatclean): Adapt to change in package Prj.Pars (no parameter
+       Process_Languages for procedure Parse).
+
+       * gnatcmd.adb (Carg_Switches): New table.
+       (GNATCmd): Put all switches following -cargs in the Carg_Switches table.
+       Adapt to name changes in package Prj (Current_Spec_Suffix =>
+       Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).
+
+       * mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
+       Header_Num and function Hash are now declared in package Prj,
+       not Prj.Com.
+
+       * prj.adb (Suffix_Of): New function.
+       (Set (Suffix)): New procedure.
+       (Hash): One function moved from Prj.Com
+       (Is_Present, Language_Processing_Data_Of): New functions
+       (Set): Two new procedures
+       (Add_Language_Name, Display_Language_Name): New procedures
+
+       * prj.ads: (Suffix_Of): New function
+       (Set (Suffix)): New procedure
+       Add several types and tables for multi-language support.
+       (Header_Num): Type moved from Prj.Com
+       (Hash): Two functions moved from Prj.Com
+       (Is_Present, Language_Processing_Data_Of): New functions
+       (Set): Two new procedures
+       (Add_Language_Name, Display_Language_Name): New procedures
+       (Naming): Component name changes:
+       Current_Spec_Suffix => Ada_Spec_Suffix,
+       Current_Body_Suffix => Ada_Body_Suffix. Add new components:
+       Impl_Suffixes, Supp_Suffixes.
+       (Project_Data): New components: Externally_Built, Supp_Languages,
+       First_Language_Processing, Supp_Language_Processing, Default_Linker,
+       Default_Linker_Path.
+
+       * prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
+       new package Language_Processing with its attributes (Compiler_Driver,
+       Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
+       Binder_Driver, Default_Linker).
+
+       * prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
+       (Header_Num): Type moved to package Prj
+
+       * prj-env.adb: Adapt to name changes in package Prj
+       (Current_Spec_Suffix => Ada_Spec_Suffix,
+       Current_Body_Suffix => Ada_Body_Suffix).
+
+       * prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
+       default to the project path, except the "-" is one of the directories
+       in env var ADA_PROJECT_PATH.
+       (Current_Project_Path): Global variable, replacing Project_Path
+       that was in the body of Prj.Part.
+       (Project_Path): New function
+       (Set_Project_Path): New procedure
+       Initialize Current_Project_Path during elaboration of the package
+       Remove dependency on Prj.Com, no longer needed
+
+       * prj-ext.ads (Project_Path): New function
+       (Set_Project_Path): New procedure
+
+       * prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
+       suffix is defined for language <lang>.
+       (Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
+       accessing directly the components of Naming.
+       (Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
+       Reorganise of this package.
+       Break procedure Check in several procedures.
+
+       * prj-nmsc.ads: Replace all procedures (Ada_Check,
+       Other_Languages_Check and Language_Independent_Check) with a single
+       procedure Check.
+
+       * prj-pars.ads, prj-pars.adb (Parse): Remove parameter
+       Process_Languages, no longer needed.
+
+       * prj-part.adb (Project_Path): Move to the body of Prj.Ext as
+       Current_Project_Path.
+       Remove elaboration code, moved to the body of Prj.Ext
+       Use new function Prj.Ext.Project_Path instead of old variable
+       Project_Path.
+       (Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
+       When comparing with project paths on the stack, first put the resolved
+       path in canonical case.
+       (Parse_Single_Project): Set the path name of the project file in the
+       tree to the normalized path.
+
+       * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
+       parameter Process_Languages, no longer needed.
+       (Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
+       Other_Languages_Check.
+
+       * prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
+       to store the resolved canonical path of the project file.
+       Remove dependency to Prj.Com, no longer needed
+
+       * prj-util.adb: Adapt to name changes in package Prj
+       (Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
+       Ada_Body_Suffix).
+
+       * snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
+       Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
+       Externally_Built, Include_Option, Language_Processing.
+
+       * makegpr.adb: Numerous changes due to changes in packages
+       Prj and Prj.Nmsc.
+
+       * gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
+       default to the project path, except whe "-" is one of the directories
+       in env var ADA_PROJECT_PATH.
+       (Gnatls): In verbose mode, add the new section "Project Search Path:"
+
+2004-12-07  Robert Dewar  <dewar@adacore.com>
+
+       * debug.adb: Document that -gnatdA automatically sets -gnatR3m
+
+       * gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
+       set -gnatR3m mode.
+
+       * repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
+       flag. No longer needed now that we handle this in gnat1drv.adb.
+
+       * repinfo.ads: Minor reformatting
+
+2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+           Olivier Hainque  <hainque@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
+       TYPE_SIZE_UNIT of result type if SIZE is not specified.
+       (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
+       of a bitfield, which we know is useless and causes trouble because of
+       alignment implications.
+
+       * utils.c (create_var_decl): Set DECL_COMMON again on targets without
+       BSS sections.
+       (process_attributes): Clear DECL_COMMON again when a section attribute
+       is present.
+       (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
+       SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
+       (create_field_decl): Special case ADDRESSABLE negative to mean
+       "no bitfield creation", to be used by make_aligning_type. Don't
+       restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
+       fields claimed addressable still have to be bitfields. Use
+       value_factor_p instead of a raw binop construction to check for the
+       position's alignment.
+
+2004-12-07  Geert Bosch  <bosch@adacore.com>
+
+       * eval_fat.adb: Revert previous change.
+
+2004-12-07  Thomas Quinot  <quinot@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
+       with an implicit dereference as its prefix, use
+       Insert_Explicit_Dereference instead of merely rewriting the prefix into
+       an explicit dereference. This ensures that a reference to the original
+       prefix is generated, if appropriate.
+
+       * sem_util.adb (Insert_Explicit_Dereference): When an implicit
+       dereference is rewritten to an explicit one, generate a reference to
+       the entity denoted by its prefix using the original prefix node, so
+       the dereference can be properly recorded as a read of the denoted
+       access value, if appropriate.
+
+       * sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
+       emitting 'assigned but never read' warning on a variable on the basis
+       that it has an access type.
+       (Check_References): Emit unreferenced warning when the scope is a
+       subprogram body.
+
+2004-12-07  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch6.adb (Expand_Call): Add comment on handling of back end
+       intrinsic
+
+       * exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
+       leaving call unchanged.
+       This deals with the case where the pragma Import specified
+       an external name, to be handled by the back end.
+
+       * sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
+       subprogram which is Imported with convention Intrinsic if an
+       External_Name argument is specified.
+       (Process_Import_Or_Interface): Properly diagnose link name argument.
+       (Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
+       with Sem_Ch6.Cannot_Inline.
+       (Process_Inline): Provide separate warning for inapplicable inline
+       pragma.
+       (Cannot_Inline): Reject subprograms that have an at_end handler, so that
+       treatment is uniform on different targets.
+
+2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
+       construct is rewritten, preserve end label to permit source navigation.
+
+2004-12-07  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Specific_Build_General_Calling_Stubs,
+       Specific_Build_Stub_Target): New subprograms.
+       (Build_Subprogram_Calling_Stubs): Make this procedure independent from
+       the PCS implementation used, using the above PCS-customized subprograms.
+       Minor reformatting.
+       (PolyORB_Support.Helpers): New subunit containing supporting subprograms
+       for generation of DSA code targeted to the PolyORB PCS.
+       (Add_Stub_Type): Rewrite to isolate the parts that are specific to one
+       implementation of the partition communication subsystem in ancillary
+       subprograms.
+       (Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
+       PolyORB_Support.Build_Stub_Type): New subrograms containing the
+       PCS-specific part of Add_Stub_Type.
+       (Insert_Partition_Check): Use runtime library function to perform
+       E.4(19) check.
+
+       * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
+       (RE_Same_Partition): New entity, from s-parint.
+
+       * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
+
+2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
+       Output the copyright message on a separate line from the version
+       message.
+
+2004-12-07  Joel Brobecker  <brobecker@adacore.com>
+
+       * g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
+       compile-time warning.
+
+2004-12-07  Robert Dewar  <dewar@adacore.com>
+
+       * g-regpat.adb: (Match): Change a misuse of or to or else
+
+2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * lib-xref.adb:
+       (Generate_Reference): Handle properly a reference to an entry formal,
+        when an accept statement has a pragma Unreferenced for it.
+
+       * sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
+       and the Has_Pragma_Unreferenced flag for each formal before analyzing
+       the body, to ensure that warnings are properly emitted for each accept
+       statement of a given task entry.
+
+2004-12-07  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * Makefile.in: Add support for foreign threads on VMS.
+
+2004-12-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
+       Remove.
+       (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.
+
+       * adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.
+
+       * trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
+       exception.
+       (call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.
+
+2004-12-07  Robert Dewar  <dewar@adacore.com>
+
+       * nlists.adb (Prepend_Debug): Remove parameters and nest within
+       Prepend.
+       (Remove_Next_Debug): Same fix
+
+       * nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
+       maintain back pointers now, though we did not used to, and comments
+       were out of date).
+       (Prepend): Remove pragma Inline.
+       (Remove_Next): Same cleanup
+
+2004-12-07  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
+       used to record an implicit dereference as a read operation on its
+       prefix when operating under -gnatc. Necessary to avoid spurious
+       'variable assigned but never read' warnings in that mode.
+       (Process_Indexed_Component, Analyze_Selected_Component): When the prefix
+       is a non-overloaded implicit dereference, call the above subprogram to
+       ensure proper recording of references.
+
+2004-12-07  Gary Dismukes  <dismukes@adacore.com>
+
+       * sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
+       to be resolved later as part of Analyze_Iteration_Scheme's call to
+       Make_Index.
+
+2004-12-07  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
+       prefix is not a scalar type, place error message on prefix, not on
+       type entity.
+
+2004-12-07  Bernard Banner  <banner@adacore.com>
+
+       * vxaddr2line.adb: Add support for x86 vxworks
+
+2004-12-07  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
+       documentation of the behaviour of these functions when passed an IP
+       address that has no record in the system hosts database and no reverse
+       record in the DNS.
+
+       * cstand.adb, a-tags.ads: Fix typos in comment.
+
+2004-12-07  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
+       exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
+       sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
+       s-poosiz.ads: Minor reformatting
+
+       * make.adb: Minor reformatting
+       Add some ??? comments asking for more comments
+
+       * s-poosiz.adb: Minor reformatting
+       Add comments on alignment requirement
+
+       * sinfo.ads: Remove obsolete comment and fix typo.
+
+2004-12-07  Vincent Celier  <celier@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi: Update the section "The GNAT Driver and Project
+       Files" with the new tool and package names.
+       Reformatting to suppress most of the warnings for line too long
+       Document the new section "Project Search Path:" in the output of
+       gnatls -v.
+       Add gnatmetric section
+
+2004-12-07  Vincent Celier  <celier@adacore.com>
+
+       * vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
+       -gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
+       and -eit to -ept. Added qualifier
+       /ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.
+
+2004-11-27  Andreas Schwab  <schwab@suse.de>
+
+       * Make-lang.in (ada/trans.o): Depend on $(EXPR_H).
+
+2004-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * g-socthi-mingw.ads, g-socthi-vms.ads: Remove C_Read and C_Write from
+       internal implementation unit GNAT.Sockets.Thin,
+       as their usage for sockets is non-portable (using the read and write
+       functions from the system runtime library is fine on UNIX but won't
+       work under Windows).
+
+       * mingw32.h: Update copyright notice.
+
+2004-11-25  Arnaud Charlet  <charlet@adacore.com>
+
+       * ada-tree.h: Minor reformatting of previous change to avoid lines
+       longer than 79 characters.
+
+2004-11-25  Olivier Hainque  <hainque@adacore.com>
+
+       * tb-gcc.c: GCC infrastructure based implementation of
+       __gnat_backtrace.
+
+2004-11-24  Steven Bosscher  <stevenb@suse.de>
+
+       * misc.c (gnat_post_options): Don't clear
+       flag_inline_functions.
+
+2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR ada/17986
+       * ada-tree.h (lang_tree_node): Set chain_next to be the chain of the
+       tree.
+
+2004-11-21  Andreas Jaeger  <aj@suse.de>
+
+       * stylesw.adb: Change Style_Check_Subprogram_Order to
+       Style_Check_Order_Subprograms.
+
+2004-11-18  Arnaud Charlet  <charlet@adacore.com>
+
+       * adaint.h, adaint.c
+       (__gnat_portable_spawn): Fix cast of spawnvp third parameter
+       to avoid warnings.
+       Add also a cast to kill another warning.
+       (win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
+       parameter with the priority class of the parent process instead of
+       always using the NORMAL_PRIORITY_CLASS.
+       (__gnat_dup): New function.
+       (__gnat_dup2): New function.
+       (__gnat_is_symbolic_link): Enable the effective body of this
+       function when __APPLE__ is defined.
+
+       * g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
+       Update comments.
+
+2004-11-18  Olivier Hainque  <hainque@adacore.com>
+
+       * a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
+       address of which may be used to represent "others" and "all others"
+       choices in exception tables, instead of the current harcoded
+       (void *)0 and (void *)1.
+       (Setup_Exception): Do nothing in the GNAT SJLJ case.
+
+       * gigi.h (others_decl, all_others_decl): New decls representing the
+       new Others_Value and All_Others_Value objects.
+       (struct attrib): Rename "arg" component as "args", since GCC expects a
+       list of arguments in there.
+
+       * raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
+       corresponding objects exported by a-exexpr, instead of hardcoded dummy
+       addresses.
+
+       * trans.c (Exception_Handler_to_gnu_zcx): Use the address of
+       others_decl and all_others_decl instead of hardcoded dummy addresses
+       to represent "others" and "all others" choices, which is cleaner and
+       more flexible with respect to the possible eh pointer encoding policies.
+
+       * utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
+       (process_attributes): Account for the naming change of the "args"
+       attribute list entry component.
+
+       * decl.c (build_attr_list): Rename into prepend_attributes to allow
+       cumulating attributes for different entities into a single list.
+       (gnat_to_gnu_entity): Use prepend_attributes to build the list of
+       attributes for the current entity and propagate first subtype
+       attributes to other subtypes.
+       <E_Procedure>: Attribute arguments are attr->args and not
+       attr->arg any more.
+       (build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
+       argument provided, as this is what GCC expects. Use NULL_TREE instead
+       of 0 for trees.
+
+2004-11-18  Robert Dewar  <dewar@adacore.com>
+
+       * a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
+       Minor reformatting througout (including new function specs)
+       Add ??? comments asking for clarification.
+
+2004-11-18  Thomas Quinot  <quinot@adacore.com>
+
+       * butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
+       incomplete duplicate implementation of this subprogram from butil.
+
+2004-11-18  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
+       procedures factors the common processing for building an RPC receiver
+       for an RCI package or an RACW type.
+       Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
+       Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
+       (Get_PCS_Name): New subprogram. Returns the name of the PCS currently
+       in use.
+       (Specific_Add_RACW_Features): New subprogram. PCS-specific part of
+       Add_RACW_Features.
+       (Specific_Add_RAST_Features): New subprogram. PCS-specific part of
+       Add_RAST_Features.
+       (Assign_Subprogram_Identifier): New subprogram. Provision for assigning
+       distribution subprogram identifiers that are either subprogram numbers
+       or strings.
+       (Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
+       string distribution identifiers assigned to a given subprogram.
+       (Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
+       (Add_RAS_Dereference_TSS): Add comments.
+       (Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
+       is not referenced yet because it will be used by the PolyORB DSA
+       implementation.
+       (Insert_Partition_Check): Remove fossile code.
+       (First_RCI_Subprogram_Id): Document this constant.
+       (Add_RAS_Access_TSS): Correct the setting of the Etype of the
+       RAS_Access TSS.
+       (Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
+       replaced with calls to Get_Library_Unit_Name_String. Previously there
+       were several instances of the same code in different locations in the
+       compiler; this checkin completes the replacement of all of these
+       instances with calls to a common subprogram.
+       Minor reformatting.
+
+       * sem_dist.adb: Remove comment noting that RPC receiver generation
+       should be disabled for RACWs that implement RASs.
+       (Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.
+
+       * sem_util.ads, sem_util.adb (Has_Stream): New function
+       (Get_Library_Unit_Name_String): New subprogram to retrieve the fully
+       qualified name of a library unit into the name buffer.
+       (Note_Possible_Modification): Generate a reference only
+       if the context comes from source.
+
+       * snames.ads (PCS_Names): New subtype corresponding to names of
+       supported implementations of the Partition Communication Subsystem
+       (PCS) (i.e. the runtime library support modules for the distributed
+       systems annex).
+
+2004-11-18  Robert Dewar  <dewar@adacore.com>
+           Ed Schonberg  <schonberg@adacore.com>
+
+       * einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
+       (Has_Rep_Pragma): New function
+       (Has_Attribute_Definition_Clause): New function
+       (Record_Rep_Pragma): Moved here from sem_ch13.adb
+       (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma
+
+       * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb
+
+       * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
+       (Expand_Pragma_Psect_Object): New procedure
+       These procedures contain the revised and cleaned up processing for
+       these two pragmas. This processing was formerly in Sem_Prag, but
+       is more appropriately moved here. The cleanup involves making sure
+       that the pragmas are properly attached to the tree, and that no
+       nodes are improperly shared.
+
+       * sem_prag.adb: Move expansion of Common_Object and Psect_Object
+       pragmas to Exp_Prag, which is more appropriate.
+       Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
+       check for duplicates Remove use of Is_Psected flag, no longer needed.
+       Use new Make_String_Literal function with string.
+
+       * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
+       that are functions return universal values, that have to be converted
+       to the context type.
+       Use new Make_String_Literal function with string.
+       (Get_Stream_Convert_Pragma): New function, replaces the use of
+       Get_Rep_Pragma, which had to be kludged to work in this case.
+
+       * freeze.adb: Use new Has_Rep_Pragma function
+
+       * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
+       function with string.
+       Use new Has_Rep_Pragma function.
+
+       * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
+       string argument.
+
+2004-11-18  Robert Dewar  <dewar@adacore.com>
+
+       * errout.ads, errout.adb: (First_Sloc): New function
+
+       * par-ch5.adb (P_Condition): Check for redundant parens is now a style
+       check (-gnatyx) instead of being included as a redundant construct
+       warning.
+
+       * sem_ch6.adb: Change name Style_Check_Subprogram_Order to
+       Style_Check_Order_Subprograms.
+
+       * style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
+       stylesw.adb: Add Style_Check_Xtra_Parens
+
+       * usage.adb: Add line for -gnatyx (check extra parens)
+
+       * vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx
+
+2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+           Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Selected_Component): If the component is the
+       discriminant of a constrained subtype, analyze the copy of the
+       corresponding constraint, because in some cases it may be only
+       partially analyzed.
+       Removes long-lived ??? comments.
+
+       * exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
+       handled controlled or secondary-stack expressions within the
+       iteration_scheme of a loop.
+
+       * sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
+       bounds that may contain functions calls, to prevent memory leaks when
+       the bound contains a call to a function that uses the secondary stack.
+       (Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
+       generate temporaries for loop bounds that might contain function calls
+       that require secondary stack and/or finalization actions.
+
+       * sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
+       selected component and the selector is overloadable (not just a
+       function) treat as function call, Analyze_Call will disambiguate if
+       necessary.
+       (Analyze_Selected_Component): Do not generate an actual subtype for the
+       selected component if expansion is disabled. The actual subtype is only
+       needed for constraint checks.
+       (Analyze_Allocator): If restriction No_Streams is set, then do
+       not permit objects to be declared of a stream type, or of a
+       composite type containing a stream.
+
+       * restrict.ads: Remove the a-stream entry from Unit_Array, since
+       No_Streams no longer prohibits with'ing this package.
+
+       * sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
+       discriminants, but the parent base has unknown discriminants, there is
+       no discriminant constraint to inherit. Such a discrepancy can arise
+       when the actual for a formal type with unknown discriminants is a
+       similar private type whose full view has discriminants.
+       (Analyze_Object_Declaration): If restriction No_Streams is set, then
+       do not permit objects to be declared of a stream type, or of a
+       composite type containing a stream.
+
+2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_dbug.ads: Update documentation to reflect simpler encoding for
+       protected operations.
+
+       * exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
+       generated name, it complicates decoding in gdb and hinders debugging
+       of protected operations.
+       (Build_Barrier_Function_Specification): Set the Needs_Debug_Info
+       flag for the protected entry barrier function.
+       (Build_Protected_Entry_Specification): Set the Needs_Debug_Info
+       flag for the protected entry function.
+
+2004-11-18  Nicolas Setton  <setton@adacore.com>
+
+       * expect.c: Define __unix__ when __APPLE__ is defined.
+
+       * Makefile.in: Inform the value of the variable GMEM_LIB in the
+       Darwin-specific section.
+
+       * lang-specs.h: Change the placement of the %1 marker.
+       Works around the fact that gcc adds -fPIC by default under Darwin.
+
+2004-11-18  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
+       type of the object with the packed array type, set the Analyzed flag
+       on the object if it is an entity or simple indexed component, to avoid
+       spurious type errors.
+
+2004-11-18  Gary Dismukes  <dismukes@adacore.com>
+
+       * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+       gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
+       separate line from the version message.
+
+2004-11-18  Ed Falis  <falis@adacore.com>
+
+       * init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
+       vthreads.
+       (init_float): Eliminate initialization of floating point status for
+       AE653. The instructions have no effect for vThreads.
+
+2004-11-18  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
+       gnatbind is invoked with -shared.
+
+2004-11-18  Jose Ruiz  <ruiz@adacore.com>
+
+       * s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
+       for Detect_Blocking which is redundant with the check done within the
+       procedure Protected_Single_Entry_Call.
+       (Lock_Read_Only_Entry): Remove the code for raising Program_Error for
+       Detect_Blocking which is redundant with the check done within the
+       procedure Protected_Single_Entry_Call.
+
+2004-11-18  Vincent Celier  <celier@adacore.com>
+
+       * makegpr.adb (Compile): Put the compiling switches (in package
+       Compiler and on the command line) immediately after "-c", instead of
+       at the end of the command line invocation of the compiler, when
+       compiling a non-Ada file.
+       (Build_Global_Archive): When there is no need to rebuild the archive,
+       set Global_Archive_Exists, so that the archive is passed to the linker
+       if one is needed.
+
+2004-11-18  Robert Dewar  <dewar@adacore.com>
+           Sergey Rybin  <rybin@adacore.com>
+
+       * gnat_ugn.texi:
+       Remove extra paren check from list of checks for redundant constructs
+       Add documentation of new -gnatyx style check (check extra parens)
+       Remove paragraph about gnatelim debug options.
+
+       * gnat_rm.texi: Document that Ada.Streams now forbids creating stream
+       objects rather than forbidding dependencies on the package Ada.Streams.
+
+       * sinfo.ads: Add ??? note that we should document pragmas passed to
+       back end.
+
+       * g-expect.ads: Fix a few typos in the comments.
+
+2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * misc.c (gnat_handle_option): Use %< and %> for quoting in
+       warning message.
+
+2004-11-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * a-numaux-x86.adb (Tan): Fix fdivp syntax.
+
+2004-11-07  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in (install-gnatlib): Remove spurious hyphen.
+
+2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR ada/18228
+       * Makefile.in (darwin): Set soext to .dylib.
+
+2004-10-26  Vincent Celier  <celier@gnat.com>
+           Thomas Quinot   <quinot@act-europe.fr>
+
+       * g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.ads:
+       (C_Writev): Change MSG_Forced_Flags to Constants.MSG_Forced_Flags as
+       there is no use of GNAT.Sockets.Constants.
+       Remove remaining pragma Import for C_Write
+       Remove C_Read and C_Write from internal implementation unit
+       GNAT.Sockets.Thin, as their usage for sockets is non-portable (using
+       the read and write functions from the system runtime library is fine
+       on UNIX but won't work under Windows).
+
+       * g-socket.adb: (Abort_Selector): Use C_Send instead of C_Write.
+       (Check_Selector): Use C_Recv instead of C_Read.
+       Selectors are the GNAT.Sockets abstraction to perform a select()
+       call on a set of descriptors. To allow abortion of an ongoing
+       select operation, some data is written to a dedicated socket that
+       is always monitored.
+       Under Windows, the write and read library functions cannot operate
+       on sockets, so we need to use send and recv instead, which is portable
+       across all supported platforms.
+
+       * g-socthi.ads: Remove C_Read and C_Write from internal implementation
+       unit GNAT.Sockets.Thin, as their usage for sockets is non-portable
+       (using the read and write functions from the system runtime library is
+       fine on UNIX but won't work under Windows).
+
+2004-10-26  Nicolas Setton  <setton@act-europe.fr>
+
+       * mlib-tgt-darwin.adb: New file.
+
+       * 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 (Archive_Indexer_Options): New
+       subprogram body.
+
+       * Makefile.in: Add support for building shared libraries under Darwin.
+       (EXTRA_GNATRTL_NONTASKING_OBJS, ppc-vxworks): Add s-vxwexc.o, containing
+       the low level EH init subprogram to be called from __gnat_initialize.
+
+       * mlib-tgt.ads, mlib-tgt.adb (Archive_Indexer_Options): New subprogram,
+       indicates which options to pass to the archive indexer.
+
+       * mlib-utl.adb: Add support for calling ranlib with additional
+       options. This is needed for instance under Mac OS X.
+       (Ranlib_Options): New global variable, used to store the potential
+       options to pass to ranlib.
+       (Ar): Use Ranlib_Options when spawning ranlib.
+       (Initialize): Set the value of ranlib option.
+
+2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
+
+       * s-parame-linux.adb (Minimum_Stack_Size): Adjust to return 12K
+       instead of 8K, to reflect the real potential needs for stack-checking
+       in the ZCX case.
+
+2004-10-26  Pascal Obry  <obry@gnat.com>
+
+       * s-parame-mingw.adb (Default_Stack_Size): Add some comments.
+
+       * s-taprop-mingw.adb (Create_Task): Set initial stack size to 1024. On
+       Windows only the initial thread stack size can be set so it is good to
+       start we a low stack size.
+       The OS will adjust the size as needed.
+
+2004-10-26  Olivier Hainque  <hainque@act-europe.fr>
+           Nicolas Setton  <setton@act-europe.fr>
+
+       * expect.c, adaint.c, link.c, sysdep.c (unix sections): Guard with
+       "__unix__" instead of "unix".
+       The latter is implicitly defined by gcc3.2 but not by gcc >= 3.4, so the
+       sections were just mistakenly ignored. The former is
+       implicitely defined by gcc2.8, gcc3.2 and gcc3.4.
+       Update #ifdef preprocessor macro to detect the symbol __hpux__ instead
+       of hpux. This prevents an unwanted definition of the symbol
+       convert_addresses in adaint.o.
+
+2004-10-26  Gary Dismukes  <dismukes@gnat.com>
+
+       * a-exexpr.adb (Setup_Key): Change initial value to 16#DEAD#, for
+       compatibility with type Unwind_Word on 16-bit targets such as AAMP.
+
+2004-10-26  Cyrille Comar  <comar@act-europe.fr>
+
+       * a-filico.ads, a-filico.adb: fix incorrect header.
+
+2004-10-26  Javier Miranda  <miranda@gnat.com>
+
+       * a-ststio.ads: Fix typo in identifier
+
+2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_ch4.adb: Minor reformatting.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * checks.adb (Expr_Known_Valid): If floating-point validity checks are
+       enabled, check the result of unary and binary operations when the
+       expression is the right-hand side of an assignment.
+
+2004-10-26  Vincent Celier  <celier@gnat.com>
+
+       * clean.adb (Delete): Do not output warnings when in quiet output and
+       not in verbose mode.
+       (Force_Deletions): New Boolean flag, defaulted to False
+       (Delete): Only delete a file if it is writable, and when
+       Force_Deletions is True.
+       (Parse_Cmd_Line): New switch -f: set Force_Deletions to True
+       (Usage): Line for new switch -f
+       (Clean_Directory): Use GNAT.OS_Lib.Set_Writable instead of rolling our
+       own.
+
+2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_field): Use the type of the inner object for a
+       JM type only if its size matches that of the wrapper.  When a size is
+       prescribed and the field is not aliased, remove the wrapper of a JM
+       type only if the size is not greater than that of the packed array.
+       (gnat_to_gnu_entity): Change the extension of packed array wrappers
+       from LJM to JM.
+
+2004-10-26  Geert Bosch  <bosch@gnat.com>
+
+       * eval_fat.adb (Eps_Model,Eps_Denorm): Remove, no longer used.
+       (Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
+       (Pred): Implement in terms of Succ.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_aggr.adb (Safe_Component): An aggregate component that is an
+       unchecked conversion is safe for in-place use if the expression of the
+       conversion is safe.
+       (Expand_Array_Aggregate): An aggregate that initializes an allocator may
+       be expandable in place even if the aggregate does not come from source.
+       (Convert_Array_Aggr_In_Allocator): New procedure to initialize the
+       designated object of an allocator in place, rather than building it
+       first on the stack. The previous scheme forces a full copy of the array,
+       and may be altogether unsusable if the size of the array is too large
+       for stack allocation.
+
+2004-10-26  Robert Dewar  <dewar@gnat.com>
+
+       * exp_ch4.adb (Expand_N_Op_Eq): Make sure we expand a loop for array
+       compares if the component is atomic.
+
+       * exp_ch5.adb (Expand_Assign_Array): Make sure we expand a loop for
+       array assignment if the component type is atomic.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+           Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * exp_ch6.adb (Expand_Actuals): If the actual for an in-out parameter
+       is aliased and is a by_reference type, do not pass by copy.
+       (Expand_N_Function_Call) <Rhs_Of_Assign_Or_Decl>: New function to
+       detect whether the call is in the right side of an assignment or
+       the expression of an object declaration.  Recurse on component
+       association within aggregates.
+       Call it in the condition that determines whether the temporary is
+       necessary for correct stack-checking.
+
+2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+
+       * exp_dist.adb (Build_General_Calling_Stubs): New formal parameter
+       RACW_Type, used in the PolyORB version.
+       Rename RCI_Info to RCI_Locator, for consistency between the PolyORB
+       version and the GARLIC version.
+
+       * snames.ads, snames.adb, s-parint.ads, s-parint.adb:
+       Rename RCI_Info to RCI_Locator for better consistency between the
+       GARLIC and PolyORB versions of the distributed systems annex.
+       (DSA_Implementation_Name): This enumeration lists the possible
+       implementations of the Partition Communication Subsystem for the
+       Distributed Systems Annex (DSA). The three available implementations
+       are the dummy stub implementation (No_DSA), and two versions based on
+       two different distribution runtime libraries: GARLIC and PolyORB. Both
+       the GARLIC PCS and the PolyORB PCS are part of the GLADE distribution
+       technology.
+       Change the literal GLADE_DSA to GARLIC_DSA to accurately describe
+       that organization.
+
+       * rtsfind.ads: Rename RCI_Info to RCI_Locator for better consistency
+       between the GARLIC and PolyORB versions of the distributed systems
+       annex.
+       Remove RE_Unbounded_Reclaim_Pool since it is unused.
+
+2004-10-26  Gary Dismukes  <dismukes@gnat.com>
+
+       * gnat1drv.adb: Suppress calling the back end when
+       Frontend_Layout_On_Target is true.
+
+2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+
+       * g-os_lib.ads, g-os_lib.adb (Set_Executable, Set_Writable,
+       Set_Read_Only): New subprograms.
+       These new routines allow the user to set or unset the Owner execute
+       and Owner write permission flags on a file.
+
+       * makegpr.adb, mlib.adb, mlib-prj.adb: Use
+       GNAT.OS_Lib.Set_Executable instead of rolling our own.
+
+2004-10-26  Matthew Gingell  <gingell@gnat.com>
+
+       * i-cpp.ads, i-cpp.adb: Change layout of VTable for new C++ ABI.
+
+2004-10-26  Pascal Obry  <obry@gnat.com>
+
+       * init.c (__gnat_error_handler) [Win32]: Instead of trying to read the
+       memory before the faulting page we properly test the process read
+       access for this address using appropriate Win32 routine.
+       (HPUX sections): guard with "__hpux__" instead of "hpux".
+
+2004-10-26  Robert Dewar  <dewar@gnat.com>
+
+       * lib-xref.adb (Generate_Reference): Don't complain about reference to
+       entry parameter if pragma Unreferenced set, since we do not properly
+       handle the case of multiple parameters.
+
+2004-10-26  Vincent Celier  <celier@gnat.com>
+
+       * prj-env.adb: (Contains_ALI_Files): New Boolean function
+       (Ada_Objects_Path.Add): For a library project, add to the object path
+       the library directory only if there is no object directory or if the
+       library directory contains ALI files.
+       (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+2004-10-26  Vincent Celier  <celier@gnat.com>
+
+       * prj-nmsc.adb (Language_Independent_Check): Do not forbid virtual
+       extension of library projects.
+
+       * prj-part.adb: If env var ADA_PROJECT_PATH is not defined, project
+       path defaults to ".:<prefix>/lib/gnat".
+       (Parse): For an extending all project, allow direct import of a project
+       that is virtually extended.
+
+       * prj-proc.adb (Imported_Or_Extended_Project_From): If a project with
+       the specified name is directly imported, return its ID. Otherwise, if
+       an extension of this project is imported, return the ID of the
+       extension.
+
+2004-10-26  Robert Dewar  <dewar@gnat.com>
+
+       * s-arit64.adb: (Le3): New function, used by Scaled_Divide
+       (Sub3): New procedure, used by Scaled_Divide
+       (Scaled_Divide): Substantial rewrite, avoid duplicated code, and also
+       correct more than one instance of failure to propagate carries
+       correctly.
+       (Double_Divide): Handle overflow case of largest negative number
+       divided by minus one.
+
+       * s-arit64.ads (Double_Divide): Document that overflow can occur in
+       the case of a quotient value out of range.
+       Fix comments.
+
+2004-10-26  Robert Dewar  <dewar@gnat.com>
+
+       * s-bitops.adb (Bit_Eq): Remove redundant check.
+
+       * s-bitops.ads: Minor comment updates
+       Change some occurrences of Address to System.Address
+
+       * s-carsi8.ads: Fix minor cut-and-paste error in comments
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_attr.adb (Resolve_Attribute, case 'Access): Apply proper
+       accessibility check to prefix that is a protected operation.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch10.adb (Optional_Subunit): If file of expected subunit is
+       empty, post message on stub.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+           Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch12.adb (In_Main_Context): Predicate to determine whether the
+       current instance appears within a unit that is directly in the context
+       of the main unit.
+       Used to determine whether the body of the instance should be analyzed
+       immediately after its spec, to make its subprogram bodies available
+       for front-end inlining.
+       (Analyze_Formal_Array_Type): Cleanup condition that checks that range
+       constraint is not allowed on the component type (AARM 12.5.3(3))
+
+2004-10-26  Cyrille Comar  <comar@act-europe.fr>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+       'Storage_Pool): enhance, document & limit detection of non-sharable
+       internal pools.
+
+       * impunit.adb: Make System.Pool_Global and System.Pool_Local visible.
+
+       * s-pooglo.ads: Add more documentation now that this pool is properly
+       documented.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch3.adb (Complete_Private_Subtype): If the full view is a task
+       or protected type with discriminants, do not constrain the
+       corresponding record type if the subtype declaration has no
+       discriminant constraints. This can be the case in source code, or in
+       the subtype declaration created to rename an actual type within an
+       instantiation.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): If body is a subunit for a
+       different kind of stub (possibly wrong name for file), do not check
+       for conformance.
+       (Uses_Secondary_Stack): New subsidiary to Build_Body_To_Inline. If body
+       includes call to some function that returns an unconstrained type, do
+       not inline.
+
+2004-10-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_elab.adb (Check_Elab_Call): Do not check a call that does not
+       appear in the code for the main unit. Dependencies among units in the
+       context of the main unit are established when those other units are
+       compiled. Otherwise spurious elaboration constraints can generate
+       incorrect elaboration circularities.
+
+2004-10-26  Thomas Quinot  <quinot@act-europe.fr>
+           Ed Schonberg   <schonberg@gnat.com>
+
+       * sem_util.adb (Is_Aliased_View): Defend against the case where this
+       subprogram is called with a parameter that is not an object name. This
+       situation arises for some cases of illegal code, which is diagnosed
+       later, and in this case it is wrong to call Is_Aliased, as that might
+       cause a compiler crash.
+       (Explain_Limited_Type): Refine previous fix to include
+       inherited components of derived types, to provide complete information.
+
+       * exp_ch9.adb (Set_Privals): Set the Ekind of the actual object that
+       is the prival for a protected object.
+       It is necessary to mark this entity as a variable, in addition to
+       flagging it as Aliased, because Sem_Util.Is_Aliased_View has been
+       modified to avoid checking the Aliased flag on entities that are not
+       objects. (Checking that flag for non-objects is erroneous and could
+       lead to a compiler crash).
+
+2004-10-26  Robert Dewar  <dewar@gnat.com>
+
+       * s-fatgen.adb (Pred): Fix redundant test for X > 0.0, since if
+       X_Frac = 0.5, then we know that the number X must be positive.
+       (Succ): Remove the same redundant test, and also fix the primary test
+       to test for X_Frac = -0.5 (used to be 0.5) which is clearly wrong.
+       Minor reformatting
+       (Decompose): Add fuller comments to spec
+
+2004-10-26  Pascal Obry  <obry@gnat.com>
+
+       * tracebak.c (IS_BAD_PTR): Use IsBadCodePtr on Win32 to check for ptr
+       validity (process must have read access). Set to 0 in all other cases.
+       (STOP_FRAME): Now check for ptr validity to avoid a segmentation
+       violation on Win32.
+       (VALID_STACK_FRAME): Check for ptr validity on Win32 to avoid a
+       segmentation violation.
+
+2004-10-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * trans.c (call_to_gnu): For an (in-)out parameter passed by reference
+       whose type is a constructed subtype of an aliased object with an
+       unconstrained nominal subtype, convert the actual to the constructed
+       subtype before taking its address.
+
+2004-10-26  Vincent Celier  <celier@gnat.com>
+
+       * a-dirval.ads, a-dirval.adb, a-dirval-vms.adb, a-dirval-mingw.adb
+       (Is_Path_Name_Case_Sensitive): New function
+
+       * a-direct.adb (To_Lower_If_Case_Insensitive): New procedure
+       (Base_Name, Simple_Name, Current_Directory, Compose,
+       Containing_Directory, Full_Name): Call To_Lower_If_Case_Insensitive on
+       the result.
+
+2004-10-26  Cyrille Comar    <comar@act-europe.fr>
+           Vasiliy Fofanov  <fofanov@act-europe.fr>
+           Vincent Celier   <celier@gnat.com>
+
+       * gnat_ugn.texi: Generalize "finding memory problems" section into a
+       "memory management issues" section and document some of the useful
+       memory pools provided as part of the GNAT library.
+       Remove "virtual" from declaration of A::method2 in
+       the simple example of Ada/C++ mixed system.
+       Library Projects may be virtually extended: their virtual extensions
+       are not Library Projects.
+       Added section on extending project hierarchies.
+
+2004-10-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+       * adaint.c (__gnat_get_libraries_from_registry): Cast value
+       to LPBYTE.
+       (__gnat_portable_spawn): Remove const.
+
+       * mingw32.h (MAXPATHLEN): Check for previous definition.
+
+2004-10-17  Matthias Klose  <doko@debian.org>
+
+       * gnatvsn.ads: Set gnat library version to 4.0.
+
+2004-10-05  Vincent Celier  <celier@gnat.com>
+
+       * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+
 2004-10-04  Laurent GUERBY <laurent@guerby.net>
 
        PR ada/15156
        * Makefile.in: Define and use RANLIB_FLAGS.
-       
+
 2004-10-04  Pascal Obry  <obry@gnat.com>
 
        * tracebak.c: Always set LOWEST_ADDR to 0 on Win32 (as done on all
 
 2004-10-04  Vincent Celier  <celier@gnat.com>
 
-       * 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-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, mlib-tgt.adb (Build_Dynamic_Library): New
        parameter Options_2.
 
        (Get_Target_Parameters): Including the processing for
        Preallocated_Stacks.
 
-       * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads, 
-       system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads, 
-       system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads, 
-       system-linux-x86_64.ads, system-tru64.ads, system-aix.ads, 
-       system-vxworks-sparcv9.ads, system-vxworks-xscale.ads, 
-       system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads, 
-       system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads, 
-       system-vxworks-mips.ads, system-os2.ads, system-interix.ads, 
-       system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
-       system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
+       * system.ads, system-vxworks-x86.ads, system-darwin-ppc.ads,
+       system-vms_64.ads, system-unixware.ads, system-linux-ia64.ads,
+       system-freebsd-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+       system-linux-x86_64.ads, system-tru64.ads, system-aix.ads,
+       system-vxworks-sparcv9.ads, system-vxworks-xscale.ads,
+       system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
+       system-hpux.ads, system-vxworks-m68k.ads, system-linux-x86.ads,
+       system-vxworks-mips.ads, system-os2.ads, system-interix.ads,
+       system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads,
+       system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads,
        system-vxworks-alpha.ads: Add the flag Preallocated_Stacks, that is
        used to signal whether the compiler creates the required stacks and
        descriptors for the different tasks (when True) or it is done by the
 2004-10-04  Thomas Quinot  <quinot@act-europe.fr>
 
        * g-socket.ads, g-socket.adb, g-socthi.adb, socket.c,
-       g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads, 
-       g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb, 
-       g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads, 
+       g-soccon-aix.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
+       g-soccon-interix.ads, g-soccon-solaris.ads, g-soccon-vms.adb,
+       g-soccon-mingw.ads, g-soccon-vxworks.ads, g-soccon-freebsd.ads,
        g-soccon.ads, g-soccon-unixware.ads, g-soccon-tru64.ads:  Add new
        sockets constant MSG_NOSIGNAL (Linux-specific).
        Add new sockets constant MSG_Forced_Flags, list of flags to be set on
 
        * decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
        and rest_of_type_compilation; add arg to create_*_decl.
-       (annotate_decl_with_node): Deleted.
+       (annotate_decl_with_node): Deleted.
        (gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
        * gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
        (get_current_block_context, gnat_pushdecl): New declarations.
        * decl.c: add_decl_stmt now add_decl_expr.
        * gigi.h: Likewise.
        * trans.c: Likewise.
-       (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+       (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
        (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
        (add_stmt): Only handle padded type here.
        (add_stmt_with_node): Allow gnat_node to not be present.
        (STMT_STMT, USE_STMT): New statement codes.
        (LOOP_STMT, EXIT_STMT): Make slight semantic changes.
        * ada-tree.h: Reflect above changes.
-       (struct tree_loop_id): Deleted.
+       (struct tree_loop_id): Deleted.
        (union lang_tree_node, struct lang_decl, struct lang_type):
        Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
        and DECL_LANGUAGE_SPECIFIC to reflect these changes.
        into Command, an array conversion is illegal here. Uncovered by
        ACATS B460005.
 
-2001/11/28  Geert Bosch <bosch@gnat.com>
+2001-11-28  Geert Bosch <bosch@gnat.com>
 
        * init.c: Minor whitespace changes.