OSDN Git Service

* config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index 328436c..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>
+           Laurent Guerby <laurent@guerby.net>
 
-        PR ada/20035
-        * system-linux-sparc.ads: New.
-        * Makefile.in: Add sparc linux entry.
+       PR ada/20035
+       * system-linux-sparc.ads: New.
+       * Makefile.in: Add sparc linux entry.
 
-2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>    
+2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
 
-       * seh_init.c (__gnat_SEH_error_handler): Mark third and fourth 
+       * 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.
+       * 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.
+       * 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.
+       * 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>
 
        (Structured Exception handling).
        (Gen_Main_C): Idem.
 
-       * bindgen.adb: 
+       * bindgen.adb:
        (Gen_Main_Ada): Set the default exit code if specified.
        (Gen_Main_C): Likewise.
        Part of *DC20-006.
 
 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-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.
 
        Fix for c330001 - PR ada/19386
 
-       * decl.c: 
+       * 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
 
 2005-02-09  Pascal Obry  <obry@adacore.com>
 
-       * gnat_ugn.texi: 
+       * 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.
 
 2005-02-09  Robert Dewar  <dewar@adacore.com>
 
-       * gnat_rm.texi: 
+       * gnat_rm.texi:
        Changes to document new wide wide character support
        For AI-285
        Update documentation on Normalize_Scalars and Initialize_Scalars
 2005-01-27  Laurent GUERBY <laurent@guerby.net>
 
        * Makefile.in: Rename GNAT RTEMS specific files.
-       * 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,  
+       * 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.
 
        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.
+       * 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
        pragma restrictions.
        New entry for Ada 2005 attribute Mod.
 
-       * par-prag.adb: 
+       * par-prag.adb:
        Add recognition of new pragma Restrictions No_Dependence
        Recognize restriction No_Obsolescent_Features at parse time
 
        * 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  Thomas Quinot  <quinot@adacore.com>
 
-       * exp_dist.adb: 
+       * 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
        (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.
+       * 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.
+       * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
 
 2004-12-07  Gary Dismukes  <dismukes@adacore.com>
 
 
 2004-10-05  Vincent Celier  <celier@gnat.com>
 
-        * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
+       * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
 
 2004-10-04  Laurent GUERBY <laurent@guerby.net>
 
        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.