OSDN Git Service

Fix commit date in previous set of changes.
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index dd6d33f..d170497 100644 (file)
+2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.
+
+       * trans.c (struct stmt_group): Delete field GLOBAL.
+       (gnat_init_stmt_group): Do not initialize it.
+       (call_to_gnu): Use save_expr, not protect_multiple_eval.
+       (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
+       (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
+       (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
+       (start_stmt_group): Likewise.
+       (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.
+
+       * utils2.c (ggc.h): Include.
+       (build_call_raise): Call build_int_cst, not build_int_2.
+
+       * utils.c (gnat_init_decl_processing): Fix arg to
+       build_common_tree_nodes.
+       (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
+       (gnat_define_builtin): Set built_in_decls.
+       (init_gigi_decls): Call build_int_cst, not build_int_2.
+
+       * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
+       (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
+       (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
+       (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
+       SET_TYPE_MODULE): Use them.
+       (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
+       (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
+       (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
+       SET_TYPE_ADA_SIZE): Likewise.
+       (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
+       (DECL_CONST_CORRESPONDING_VAR,
+       SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
+       (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
+       (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
+       (TYPE_RM_SIZE_NUM): New macro.
+       (TYPE_RM_SIZE): Modified to use above.
+
+       * cuintp.c: (build_cst_from_int): New function.
+       (UI_To_gnu): Use it.
+
+       * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
+       (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
+       (gnat_substitute_in_type, case ARRAY_TYPE): If old had a
+       MIN_EXPR for the size, copy it into new.
+
+2004-09-01  Robert Dewar  <dewar@gnat.com>
+
+       * exp_ch6.adb (Expand_Call): Properly handle validity checks for
+       packed indexed component where array is an IN OUT formal. This
+       generated garbage code previously.
+
+       * gnat_ugn.texi: Document -fverbose-asm
+
+       * gnat-style.texi: Minor updates (note that boolean constants and
+       variables are joined with AND/OR rather than short circuit forms).
+
+2004-09-01  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
+       it is an upward conversion of an untagged type with no representation
+       change.
+
+2004-09-01  Thomas Quinot  <quinot@act-europe.fr>
+
+       * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
+       System.Partition_Interface.
+
+       * checks.adb (Apply_Access_Checks): Do not generate checks when
+       expander is not active (but check for unset reference to prefix of
+       dereference).
+
+       * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
+       pragma Debug as an if statement with a constant condition, for
+       consistent treatment of entity references contained within the
+       enclosed procedure call.
+
+2004-09-01  Vincent Celier  <celier@gnat.com>
+
+       * bindgen.adb: (Set_EA_Last): New procedure
+       (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
+       Set_EA_Last.
+       (Gen_Adafinal_Ada): If no finalization, adafinal does nothing
+       (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
+       linked without errors.
+       (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
+       ST and EA.
+       (Gen_Exception_Table_C): Correct same bugs
+
+       * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches
+
+       * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
+       on Windows, make sure that the drive letter is in upper case.
+
+       * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
+       Windows, when the drive letter is added and Case_Sensitive is True, the
+       drive letter is forced to upper case.
+
+       * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
+       to Options_2 for the call to MLib.Utl.Gcc.
+
+       * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
+       directory separator when defining BASE_DIR.
+
+2004-09-01  Pascal Obry  <obry@gnat.com>
+
+       * gprcmd.adb (Extend): Do not output trailing directory separator. This
+       is not needed and it confuses Windows GNU/make which does not report
+       directory terminated by a slash as a directory.
+       (gprcmd): Idem for "pwd" internal command.
+
+       * Makefile.generic: Use __GPRCOLON__ instead of pipe character in
+       target names rewrite to fix regressions with recent version of
+       GNU/make. Starting with GNU/make 3.80 the pipe character was not
+       handled properly anymore.
+
+2004-09-01  Andreas Schwab  <schwab@suse.de>
+
+       * Make-lang.in (EXTRA_GNATBIND_OBJS): Revert last change.
+       * raise.c [!IN_RTS]: Undef abort.
+
+2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * utils2.c (build_allocator): Use ssize_int.
+
+       * utils.c (gnat_init_decl_processing): Ada has a signed sizetype.
+
+2004-08-27  Andreas Schwab  <schwab@suse.de>
+
+       * Make-lang.in (EXTRA_GNATBIND_OBJS): Add errors.o.
+
+2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
+           Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+       
+       * ada-tree.h (TYPE_RM_SIZE_INT): Use TYPE_LANG_SLOT_1.
+
+2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cuintp.c (UI_To_gnu): Adjust build_int_cst calls.
+       * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+       * utils.c (init_gigi_decls): Likewise.
+       * utils2.c (build_call_raise, build_allocator): Likewise.
+       
+2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * utils.c (gnat_init_decl_processing): Adjust
+       build_common_tree_nodes call.
+
+2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * utils2.c (build_allocator): Use build_int_cst for negative
+       size types.
+
+2004-08-18  Richard Henderson  <rth@redhat.com>
+
+       * misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
+
+2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cuintp.c (UI_To_gnu): Be more conservative with build_int_cst
+       call.s
+       * trans.c (Exception_Handler_to_gnu_sjlj): Likewise.
+       (gnat_to_gnu): Likewise.
+
+2004-08-16  Pascal Obry  <obry@gnat.com>
+
+       * adaint.c (__gnat_prj_add_obj_files): Set to 0 only on Win32 for GCC
+       backend prior to GCC 3.4. With GCC 3.4 we are using the GCC's shared
+       option and not mdll anymore. Update comment.
+
+2004-08-16  Pascal Obry  <obry@gnat.com>
+
+       * bld.adb (Put_Include_Project): Properly handle directory separators
+       on Windows.
+
+2004-08-16  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Try_Object_Operation): Restructure code. Optimize by
+       decreasing the number of allocated junk nodes while searching for the
+       appropriate subprogram.
+
+2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * cuintp.c (UI_To_gnu): Use build_int_cst..
+       * trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
+       * utils.c (init_gigi_decls): Likewise.
+       * utils2.c (build_call_raise): Likewise.
+
+2004-08-13  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
+       for a global aliased object with a variable size and an unconstrained
+       nominal subtype, pretend there is no initializer if the one we have is
+       incomplete, and avoid referencing an inexistant component in there. The
+       part we have will be rebuilt anyway and the reference may confuse
+       further operations.
+
+2004-08-13  Thomas Quinot  <quinot@act-europe.fr>
+
+       * einfo.ads: Minor reformatting
+
+       * lib-writ.adb (Output_Main_Program_Line): Do not set parameter
+       restrictions in the ALI if we only want to warn about violations.
+
+2004-08-13  Vincent Celier  <celier@gnat.com>
+
+       * ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
+       when creating a new Unit_Record in table Units.
+
+       * gnatls.adb (Output_Unit): In verbose mode, output the restrictions
+       that are violated, if any.
+
+       * prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
+       add directory separator if path already ends with a directory separator.
+
+2004-08-13  Ed Schonberg  <schonberg@gnat.com>
+
+       * rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
+       unit, this is an attempt to inline a construct that is not available in
+       the current restricted mode, so abort rather than trying to continue.
+
+       * sem_ch3.adb (Build_Underlying_Full_View): If the new type has
+       discriminants that rename those of the parent, recover names of
+       original discriminants for the constraint on the full view of the
+       parent.
+       (Complete_Private_Subtype): Do not create a subtype declaration if the
+       subtype is an itype.
+
+       * gnat_rm.texi: Added section on implementation of discriminated
+       records with default values for discriminants.
+
+2004-08-13  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15601
+       * sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
+       the second operand is overloaded.
+
+2004-08-10  Richard Henderson  <rth@redhat.com>
+
+       * utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
+       add __builtin_alloca.
+
+2004-08-10  Richard Henderson  <rth@redhat.com>
+
+       * config-lang.in (boot_language): Yes.
+
+2004-08-09  Thomas Quinot  <quinot@act-europe.fr>
+
+       * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
+       from complaining on potential uninitialized reference.
+       Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
+       new specification and test explicitly for non-zero return value.
+
+       * g-socthi.ads (Is_Socket_In_Set): Declare imported function as
+       returning C.int, to avoid using a derived boolean type.
+
+       * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
+       Duplicate_Subexpr_No_Checks in preference to direct use of
+       Remove_Side_Effects and New_Copy_Tree.
+       Clear Comes_From_Source on prefix of 'Size attribute reference.
+
+       * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
+       g-socthi-vxworks.adb: Change calls to
+       GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
+       and test explicitly for non-zero return value.
+
+       * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: 
+       (Is_Socket_In_Set): Declare imported function as returning C.int, to
+       avoid using a derived boolean type.
+
+2004-08-09  Albert Lee  <lee@gnat.com>
+
+       * system-irix-n32.ads: Refine tasking priority constants for IRIX.
+
+2004-08-09  Pascal Obry  <obry@gnat.com>
+
+       * gnat_ugn.texi: Document new way to build DLLs on Windows using
+       GCC's -shared option.
+
+       * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
+       Options_2 parameter (options put after object files).
+
+2004-08-09  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
+       ignore overflows on low and high bounds of an index to also account for
+       differences in signedness between sizetype and gnu_index_subtype.
+       These are as legitimate as the ones caused by a lower TYPE_PRECISION
+       on sizetype.
+
+2004-08-09  Robert Dewar  <dewar@gnat.com>
+
+       * s-solita.ads, s-solita.adb: Minor reformatting
+
+       * gnat_rm.texi: Add documentation for pragma Profile (Restricted)
+       Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
+       obsolescent section
+       Add note that No_Implicit_Conditionals does not suppress
+       run time constraint checks.
+
+       * vms_conv.ads: Minor reformatting
+
+       * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
+       and necessary for following change).
+       (Mark): Return new format Mark_Id containing sec stack address
+       (Release): Use sec stack address from Mark_Id avoiding Self call
+
+       * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
+       pointer (cleanup and necessary for following change).
+       Define Mark_Id as record containing address of secondary stack, that way
+       Release does not need to find the stack again, decreasing the number of
+       calls to Self and improving efficiency.
+
+       * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference
+
+       * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
+       case variable into the individual case branches when possible.
+
+       * sem_ch11.adb: Minor reformatting
+
+       * prj.ads: Correct spelling of suffixs
+
+       * prj-nmsc.adb: Minor reformatting
+       Correct spelling suffixs throughout (also in identifiers)
+
+       * freeze.adb: Minor spelling correction
+
+       * exp_ch2.adb: Cleanups to handling of Current_Value
+       (no functional effect).
+
+       * bld.adb: Correct spelling of suffixs
+
+       * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument
+
+2004-08-09  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15408
+
+       * sem_ch7.adb (Install_Private_Declarations): In the body of the
+       package or of a child, private entities are both immediately_visible
+       and not hidden.
+
+2004-08-09  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
+       there are no range checks on the value of the literal.
+
+       * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
+       wrapped is the triggering alternative of an asynchronous select, action
+       statements mustbe inserted before the select itself.
+
+       * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
+       case where the prefix is a protected function call.
+       (Resolve_Attribute, case 'Access): The attribute reference on a
+       subprogram is legal in a generic body if the subprogram is declared
+       elsewhere.
+
+2004-08-09  Vincent Celier  <celier@gnat.com>
+
+       * makegpr.adb (Build_Library): Link with g++ if C++ is one of the
+       languages, otherwise building the library may fail with unresolved
+       symbols.
+       (Compile_Sources): Do not build libraries if -c switch is used
+
+       * gnatlink.adb (Process_Args): New switches -M and -Mmap
+       (Write_Usage): If map file creation is supported, output new switches
+       -M and -Mmap.
+       (Gnatlink): When -M is specified, add the necessary switch(es) to the
+       gcc call, when supported.
+
+       * Makefile.in: Added indepsw.o to the object list for gnatlink
+       Specified the AIX, GNU/Linux and Windows versions of indepsw.adb
+
+       * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
+       indepsw.adb, indepsw.ads: New files.
+
+2004-08-09  Bernard Banner  <banner@gnat.com>
+
+       * system-vxworks-x86.ads, s-vxwork-x86.ads: New files.
+
+       * Makefile.in: add section for vxworks x86
+
+2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
+       per-object constrained components where the discriminant is of an
+       Access type.
+       (Build_Record_Init_Proc): Add condition to prevent the inheritance of
+       the parent initialization procedure for derived Unchecked_Unions.
+       Instead, derived Unchecked_Unions build their own initialization
+       procedure.
+       (Build_Variant_Record_Equality): Implement Unchecked_Union equality.
+       Check the body of the subprogram for details.
+       (Freeze_Record_Type): Prevent the inheritance of discriminant checking
+       functions for derived Unchecked_Union types by introducing a condition.
+       Allow the creation of TSS equality functions for Unchecked_Unions.
+       (Make_Eq_Case): Rename formal parameter Node to E in function signature.
+       Add formal parameter Discr to function signature. Discr is used to
+       control the generated case statement for Unchecked_Union types.
+       (Make_Eq_If): Rename formal parameter Node to E in function signature.
+
+       * exp_ch4.adb (Build_Equality_Call): Implement equality calls for
+       Unchecked_Unions.
+       Check the body of the subprogram for details.
+       (Expand_Composite_Equality): Augment composite type equality to include
+       correct handling of Unchecked_Union components.
+       (Expand_N_In): Add condition to detect illegal membership tests when the
+       subtype mark is a constrained Unchecked_Union and the expression lacks
+       inferable discriminants, and build a Raise_Program_Error node.
+       (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
+       to detect types that contain components of unconstrained Unchecked_Union
+       subtype. Add condition to detect equality between types that have an
+       unconstrained Unchecked_Union component, and build a Raise_Program_Error
+       node. Add condition to detect equality between Unchecked_Union types
+       that lack inferable discriminants, and build a Raise_Program_Error node.
+       Otherwise build a TSS equality function call.
+       (Expand_N_Type_Conversion): Add condition to detect illegal conversions
+       from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
+       with the operand lacking inferable discriminants, and build a Raise_
+       Program_Error node.
+       (Expand_Record_Equality): Remove guard that prevents Unchecked_Union
+       composite equality.
+       (Has_Inferable_Discriminants): Implement new predicate for objects and
+       expressions of Unchecked_Union type. Check the body of subprogram for
+       details.
+       (Has_Unconstrained_UU_Components): Add function
+       Component_Is_Unconstrained_UU. It is used to detect whether a single
+       component is of an unconstrained Unchecked_Union subtype. Add function
+       Variant_Is_Unconstrained_UU. It is used to detect whether a single
+       component inside a variant is of an unconstrained Unchecked_Union type.
+
+       * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
+       inferred discriminant values. Add condition to generate a case
+       statement with an inferred discriminant as the switch.
+       (Make_Component_List_Assign): Introduce a Boolean flag that determines
+       the behaviour of the subprogram in the presence of an Unchecked_Union.
+       Add condition to trigger the usage of the inferred discriminant value
+       as the generated case statement switch.
+       (Make_Field_Assign): Introduce a Boolean flag that determines the
+       behaviour of the subprogram in the presence of an Unchecked_Union. Add
+       condition to trigger the usage of the inferred discriminant value as
+       the right-hand side of the generated assignment.
+
+       * exp_ch6.adb (Expand_Call): Add condition to skip extra actual
+       parameter generation when dealing with Unchecked_Unions.
+
+       * checks.adb (Apply_Discriminant_Check): Do not apply discriminant
+       checks for Unchecked_Unions.
+
+       * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint
+
+       * exp_attr.adb (Expand_N_Attribute_Reference): Produce
+       Raise_Program_Error nodes for the execution of Read and Write
+       attributes of Unchecked_Union types and the execution of Input and
+       Output attributes of Unchecked_Union types that lack default
+       discriminant values.
+
+       * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
+       Unchecked_Union. Add procedure Check_Component. It is used to inspect
+       per-object constrained components of Unchecked_Unions for being
+       Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
+       check individual components withing a variant.
+
+       * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
+       comparison of Unchecked_Unions.
+       (Resolve_Equality_OP): Remove guard that prevents equality between
+       Unchecked_Unions.
+
+       * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
+       of component subtypes for Unchecked_Union components.
+       (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
+       since it is the actual subtype.
+
+       * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
+       pass of Unchecked_Union subtypes as generic actuals to formal types
+       that lack known_discriminant_parts or that are derived Unchecked_Union
+       types, and do nothing. In any other case, produce an error message.
+
+       * sem_ch3.adb (Analyze_Component_Declaration): Add function
+       Contains_POC. It determines whether a constraint uses the discriminant
+       of an enclosing record type.
+       Add condition to detect per-object constrained component and set the
+       appropriate flag.
+       (Derived_Type_Declaration): Remove guard that prevents derivation from
+       Unchecked_Union types.
+       (Process_Subtype): Remove quard that prevents the creation of Unchecked_
+       Union subtypes.
+
+       * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
+       references to Unchecked_Union discriminants.
+
+       * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
+       formal generation when dealing with Unchecked_Unions.
+       (Set_Actual_Subtypes): Add condition to prevent generation of actual
+       subtypes for Unchecked_Unions.
+
+       * sem_ch7.adb (Analyze_Package_Specification): Add procedure
+       Inspect_Unchecked_Union_Completion. It is used to detect incorrect
+       completions of discriminated partial views by Unchecked_Unions and
+       produce an error message.
+
+2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (struct stmt_group): New field, GLOBAL.
+       (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
+       (struct elab_info): New struct.
+       (elab_info_list, gnu_elab_proc_stack): New variables.
+       (Compilation_Unit_to_gnu): New procedure.
+       (gigi): Call it and also handle elaboration procs we've saved.
+       (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
+       global field from parent.
+       (gnat_to_gnu): Get decl from gnu_elab_proc_stack.
+       (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
+       (start_stmt_group): Initialize global field from parent.
+       (add_decl_expr): Set to global for current statement group.
+       (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
+       post.
+
+       * utils.c (global_bindings_p): True when no current_function_decl; no
+       longer check current_binding_level.
+
+2004-08-09  Ben Brosgol  <brosgol@gnat.com>
+
+       * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
+       choice.
+
+       * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.
+
+2004-08-06  Andreas Schwab  <schwab@suse.de>
+
+       * utils.c (gnat_define_builtin): Remove second parameter of
+       make_decl_rtl.
+       (begin_subprog_body): Likewise.
+
+2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * sem_util.adb (Requires_Transient_Scope): Temporarily disable
+       optimization, not supported by the tree-ssa back-end.
+
+2004-07-26  Olivier Hainque  <hainque@act-europe.fr>
+
+       * s-mastop-irix.adb: Update comments.
+
+       * a-except.adb (Exception_Information): Raise Constraint_Error if
+       exception Id is Null_Id.
+       This is required behavior, which is more reliably and clearly checked
+       at the top level interface level.
+
+2004-07-26  Javier Miranda  <miranda@gnat.com>
+
+       * exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
+       call if a component has no default_expression and the box is used.
+
+       * sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
+       default_expression and you use box, it behaves as if you had declared a
+       stand-alone object.
+       (Resolve_Record_Aggregate): If a component has no default_expression and
+       you use box, it behaves as if you had declared a stand-alone object.
+
+       * sem_ch10.adb (Install_Siblings): Do not make visible the private
+       entities of private-with siblings.
+
+2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
+       for a component of an itype, set the parent pointer for analysis,
+       there is no list in which to insert it.
+
+       * sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
+       bona-fide renamings, not for inherited operations.
+
+       * exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
+       actual for a formal that is an access parameter, create local
+       finalization list even if the expression is not an aggregate.
+
+2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/16213
+       * sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
+       Diagnose properly illegal subprogram renamings that are library units.
+
+2004-07-26  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15588
+       * sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
+       conversion rewritten as an unchecked conversion, check that original
+       expression is a variable.
+
+       * exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
+       unchecked_conversion, create new node rather than rewriting in place,
+       to preserve original construct.
+
+2004-07-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gigi.h (gnat_expand_body): Deleted.
+
+       * Make-lang.in: (trans.o): Depends on function.h.
+
+       * misc.c: (gnat_expand_body): Moved to here.
+
+       * trans.c (gnat_expand_body_1): Deleted.
+       (gnat_expand_body): Moved from here.
+       (gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
+       (add_stmt): Check for marked visited with global_bindings_p.
+       (gnat_gimplify_expr, case COMPONENT_REF): New case.
+       (gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.
+
+       * utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
+       VIEW_CONVERT_EXPR if not operation type.
+
+       * utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
+       fat pointer.
+
+       * decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
+       changes: reformatting of negation operators, removing unneeded
+       inequality comparison with zero, converting equality comparisons with
+       zero to negations, changing int/0/1 to bool/false/true, replace calls
+       to gigi_abort with abort, and various other similar changes.
+
+2004-07-26  Vincent Celier  <celier@gnat.com>
+
+       * gnatcmd.adb (GNATCmd): Add processing for new built-in command
+       "setup".
+
+       * make.adb (Gnatmake): Fail when a library is not present and there is
+       no object directory.
+
+       * mlib-prj.adb (Check_Library): No need to check if the library needs
+       to be rebuilt if there is no object directory, hence no object files
+       to build the library.
+
+       * opt.ads (Setup_Projects): New Boolean flag.
+
+       * prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
+       Location.
+       Create directory when Kind /= "" and in "gnat setup". Report error if
+       directory cannot be created.
+       (Ada_Check): Create library interface copy dir if it does not exist
+       and we are in "gnat setup".
+       (Find_Sources): No error if in "gnat setup" and no Ada sources were
+       found.
+       (Language_Independent_Check): Create object directory, exec directory
+       and/or library directory if they do not exist and we are in
+       "gnat setup".
+
+       * vms_conv.ads: (Command_Type): New command Setup.
+
+       * vms_conv.adb (Initialize): Add Setup component of Cammand_List.
+
+       * vms_data.ads: Add qualifiers/switches for new built-in command
+       "setup".
+
+2004-07-25  Richard Henderson  <rth@redhat.com>
+
+       * utils.c (create_subprog_decl): Set DECL_ARTIFICIAL and
+       DECL_IGNORED_P on RESULT_DECL.
+
+2004-07-20  Olivier Hainque  <hainque@act-europe.fr>
+
+       * a-elchha.adb (Last_Chance_Handler): Remove the bogus buffer dynamic
+       allocation and potentially overflowing update with
+       Tailored_Exception_Information. Use the sec-stack free procedural
+       interface to output Exception_Information instead.
+
+       * a-except.adb (To_Stderr): New subprogram for character, and string
+       version moved from a-exextr to be visible from other separate units.
+       (Tailored_Exception_Information): Remove the procedural version,
+       previously used by the default Last_Chance_Handler and not any more.
+       Adjust various comments.
+
+       * a-exexda.adb: Generalize the exception information procedural
+       interface, to minimize the use of secondary stack and the need for
+       local buffers when the info is to be output to stderr:
+       (Address_Image): Removed.
+       (Append_Info_Character): New subprogram, checking for overflows and
+       outputing to stderr if buffer to fill is of length 0.
+       (Append_Info_String): Output to stderr if buffer to fill is of length 0.
+       (Append_Info_Address, Append_Info_Exception_Name,
+       Append_Info_Exception_Message, Append_Info_Basic_Exception_Information,
+       Append_Info_Basic_Exception_Traceback,
+       Append_Info_Exception_Information): New subprograms.
+       (Append_Info_Nat, Append_Info_NL): Use Append_Info_Character.
+       (Basic_Exception_Info_Maxlength, Basic_Exception_Tback_Maxlength,
+       Exception_Info_Maxlength, Exception_Name_Length,
+       Exception_Message_Length): New subprograms.
+       (Exception_Information): Use Append_Info_Exception_Information.
+       (Tailored_Exception_Information): Use
+       Append_Info_Basic_Exception_Information.
+       Export services for the default Last_Chance_Handler.
+
+       * a-exextr.adb (To_Stderr): Remove. Now in a-except to be usable by
+       other separate units.
+
+2004-07-20  Vincent Celier  <celier@gnat.com>
+
+       * clean.adb, mlib-utl.adb, osint.adb, makegpr.adb: Minor reformatting.
+
+2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+
+       * freeze.adb (Freeze_Entity): If entity is a discriminated record type,
+       emit itype references for the designated types of component types that
+       are declared outside of the full record declaration, and that may
+       denote a partial view of that record type.
+
+2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15607
+       * sem_ch3.adb (Build_Discriminated_Subtype): Do not attach a subtype
+       which is the designated type in an access component declaration, to the
+       list of incomplete dependents of the parent type, to avoid elaboration
+       issues with out-of-scope subtypes.
+       (Complete_Private_Subtype): Recompute Has_Unknown_Discriminants from the
+       full view of the parent.
+
+2004-07-20  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15610
+       * sem_ch8.adb (Find_Expanded_Name): If name is overloaded, reject
+       entities that are hidden, such as references to generic actuals
+       outside an instance.
+
+2004-07-20  Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch4.adb (Try_Object_Operation): New subprogram that gives
+       support to the new notation.
+       (Analyze_Selected_Component): Add call to Try_Object_Operation.
+
+2004-07-20  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * s-taprob.adb: Adding the elaboration code required for initializing
+       the tasking soft links that are common to the full and the restricted
+       run times.
+
+       * s-tarest.adb (Init_RTS): Tasking soft links that are shared with the
+       restricted run time has been moved to the package
+       System.Soft_Links.Tasking.
+
+       * s-tasini.adb (Init_RTS): Tasking soft links that are shared with the
+       restricted run time has been moved to the package
+       System.Soft_Links.Tasking.
+
+       * Makefile.rtl: Add entry for s-solita.o in run-time library list.
+
+       * s-solita.ads, s-solita.adb: New files.
+
+2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (Identifier_to_gnu, Pragma_to_gnu, Attribute_to_gnu,
+       Case_Statement_to_gnu): Split off from gnat_to_gnu.
+       (Loop_Statement_to_gnu, Subprogram_Body_to_gnu, call_to_gnu,
+       Handled_Sequence_Of_Statements_to_gnu, Exception_Handler_to_gnu_sjlj,
+       Exception_Handler_to_gnu_zcx): Likewise.
+
+2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * gigi.h (builtin_function): Declare.
+
+2004-07-15  Robert Dewar  <dewar@gnat.com>
+
+       * makegpr.adb, s-secsta.ads, sem_ch3.adb, sem_case.adb: Minor
+       reformatting
+
+       * gnat_ugn.texi: Add instantiation of direct_io or sequential_io with
+       access values as an example of a warning.
+
+       * gnat_rm.texi: Document new attribute Has_Access_Values
+
+       * gnat-style.texi: Document that box comments belong on nested
+       subprograms
+
+       * sem_util.ads (Has_Access_Values): Improved documentation
+
+       * s-finimp.ads, s-finimp.adb: Fix spelling error in comment
+
+       * sem_prag.adb (Check_Duplicated_Export_Name): New procedure
+       (Process_Interface_Name): Call to this new procedure
+       (Set_Extended_Import_Export_External_Name): Call to this new procedure
+
+       * s-mastop-x86.adb, 9drpc.adb: Fix spelling error in comment
+
+       * a-direio.ads, a-sequio.ads: Warn if Element_Type has access values
+
+       * einfo.ads: Minor comment typo fixed
+
+2004-07-15  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * snames.adb: Add _atcb.
+
+       * snames.ads: Add Name_uATCB.
+
+       * s-tarest.adb (Create_Restricted_Task): ATCBs are always preallocated
+       (in the expanded code) when using the restricted run time.
+
+       * s-tarest.ads (Create_Restricted_Task): Created_Task transformed into
+       a in parameter in order to allow ATCBs to be preallocated (in the
+       expanded code).
+
+       * s-taskin.adb (Initialize_ATCB): T converted into a in parameter in
+       order to allow ATCBs to be preallocated. In case of error, the ATCB is
+       deallocated in System.Tasking.Stages.
+
+       * s-taskin.ads (Initialize_ATCB): T converted into a in parameter in
+       order to allow ATCBs to be preallocated.
+
+       * s-tassta.adb (Create_Task): In case of error the ATCB is deallocated
+       here. It was previously done in Initialize_ATCB.
+
+       * rtsfind.ads: Make the Ada_Task_Control_Block visible.
+
+       * exp_ch9.adb: Preallocate the Ada_Task_Control_Block when using the
+       Restricted run time.
+
+       * exp_ch3.adb: When using the Restricted run time, pass the
+       preallocated Ada_Task_Control_Block when creating a task.
+
+2004-07-15  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_util.adb (Normalize_Actuals): If there are no actuals on a
+       function call that is itself an actual in an enclosing call, diagnose
+       problem here rather than assuming that resolution will catch it.
+
+       * sem_ch7.adb (Analyze_Package_Specification): If the specification is
+       the local copy of a generic unit for a formal package, and the generic
+       is a child unit, install private part of ancestors before compiling
+       private part of spec.
+
+       * sem_cat.adb (Validate_Categorization_Dependency): Simplify code to
+       use scope entities rather than tree structures, to handle properly
+       parent units that are instances rewritten as bodies for inlining
+       purposes.
+
+       * sem_ch10.adb (Get_Parent_Entity, Implicit_With_On_Parent,
+       Remove_Parents): Handle properly a parent unit that is an
+       instantiation, when the unit has been rewritten as a body for inlining
+       purposes.
+
+       * par.adb (Goto_List): Global variable to collect goto statements in a
+       given unit, for use in detecting natural loops.
+
+       * par-ch5.adb (P_Goto_Statement): Add goto to global Goto_List, for
+       use in detecting natural loops.
+
+       * par-labl.adb (Find_Natural_Loops): Recognize loops create by
+       backwards goto's, and rewrite as a infinite loop, to improve locality
+       of temporaries.
+
+       * exp_util.adb (Force_Evaluation): Recognize a left-hand side
+       subcomponent that includes an indexed reference, to prevent the
+       generation of copies that would miscompile the desired assignment
+       statement.
+       (Build_Task_Image_Decls): Add a numeric suffix to
+       generated name for string variable, to avoid spurious conflicts with
+       the name of the type of a single protected object.
+
+       * exp_ch4.adb (Expand_Array_Equality): If indices are distinct, use a
+       loop with an explicit exit statement, to avoid generating an
+       out-of-range value with 'Succ leading to spurious constraint_errors
+       when compiling with -gnatVo.
+
+2004-07-15  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_ch4.adb (Analyze_Slice): Always call Analyze on the prefix: it
+       might not be analyzed yet, even if its Etype is already set (case of an
+       unchecked conversion built using Unchecked_Convert_To, for example).
+       If the prefix has already been analyzed, this will be a nop anyway.
+
+       * exp_ch5.adb (Make_Tag_Ctrl_Assignment): For an assignment of a
+       controller type, or an assignment of a record type with controlled
+       components, copy only user data, and leave the finalization chain
+       pointers untouched.
+
+2004-07-15  Vincent Celier  <celier@gnat.com>
+
+       * make.adb (Collect_Arguments): Improve error message when attempting
+       to compile a source not part of any project, when -x is not used.
+
+       * prj.ads: (Defined_Variable_Kind): New subtype
+
+       * prj-attr.adb (Register_New_Package): Two new procedures to register
+       a package with or without its attributes.
+       (Register_New_Attribute): Mew procedure to register a new attribute in a
+       package.
+       New attribute oriented subprograms: Attribute_Node_Id_Of,
+       Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+       Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+       Next_Attribute.
+       New package oriented subprograms: Package_Node_Id_Of,
+       Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+       * prj-attr.ads (Attribute_Node_Id): Now a private, self initialized
+       type.
+       (Package_Node_Id): Now a private, self initialized type
+       (Register_New_Package): New procedure to register a package with its
+       attributes.
+       New attribute oriented subprograms: Attribute_Node_Id_Of,
+       Attribute_Kind_Of, Set_Attribute_Kind_Of, Attribute_Name_Of,
+       Variable_Kind_Of, Set_Variable_Kind_Of, Optional_Index_Of,
+       Next_Attribute.
+       New package oriented subprograms: Package_Node_Id_Of,
+       Add_Unknown_Package, First_Attribute_Of, Add_Attribute.
+
+       * prj-dect.adb (Parse_Attribute_Declaration,
+       Parse_Package_Declaration): Adapt to new spec of Prj.Attr.
+
+       * prj-makr.adb (Make): Parse existing project file before creating
+       other files. Fail if there was an error during parsing.
+
+       * prj-proc.adb (Add_Attributes, Process_Declarative_Items): Adapt to
+       new spec of Prj.Attr.
+
+       * prj-strt.adb (Attribute_Reference, Parse_Variable_Reference): Adapt
+       to new spec of Prj.Attr.
+
+2004-07-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils2.c: Fix typo in comment.
+
+2004-07-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+       * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+
+2004-07-14  Andreas Schwab  <schwab@suse.de>
+
+       * trans.c (gnat_init_stmt_group): Remove duplicate definition.
+
+2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
+       object type.
+       (gnat_to_gnu_entity, case E_Record_Subtype): Properly set
+       TYPE_STUB_DECL.
+
+       * misc.c (gnat_types_compatible_p): New function.
+       (LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
+       (LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.
+
+       * trans.c (gigi): Move processing of main N_Compilation_Unit here.
+       (gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
+       (add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
+       (mark_visited): Don't mark dummy type.
+       (tree_transform <N_Procedure_Call_Statement>): Unless this is an In     
+       parameter, we must remove any LJM building from GNU_NAME.
+       (gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
+       (pos_to_constructor): Use int_const_binop.
+       (gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
+       PARM_DECL.
+
+       * utils.c (gnat_init_decl_processing): Don't make two "void" decls.
+       (gnat_pushlevel): Set TREE_USE on BLOCK node.
+       (gnat_install_builtins): Add __builtin_memset.
+
+2004-07-13  Olivier Hainque  <hainque@act-europe.fr>
+
+       * decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
+       for a renaming, stabilize the initialization expression if we are at a
+       local level.  At the local level, uses of the renaming may be performed
+       by a direct dereference of the initializing expression, and we don't
+       want possible variables there to be evaluated for every use.
+
+       * trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
+       Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
+       them on the way.  Account for the fact that we may introduce side
+       effects in the process.
+
+2004-07-13  Richard Henderson  <rth@redhat.com>
+
+       * misc.c (default_pass_by_ref): Use pass_by_reference.
+
+2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+       LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+
+2004-07-08  Richard Henderson  <rth@redhat.com>
+
+       * trans.c (gnat_to_gnu <N_Handled_Sequence_Of_Statements>): Update
+       commentary.
+
+2004-07-06  Vincent Celier  <celier@gnat.com>
+
+       * vms_conv.ads: Minor reformatting.
+       Alphabetical order for enumerated values of type Command_Type, to have
+       the command in alphabetical order for the usage.
+
+       * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
+       the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
+
+       * gnat_ugn.texi: Document new switch -dn for the GNAT driver.
+
+       * makegpr.adb (Global_Archive_Exists): New global Boolean variable
+       (Add_Archive_Path): Only add the global archive if there is one.
+       (Build_Global_Archive): Set Global_Archive_Exists depending if there is
+       or not any object file to put in the global archive, and don't build
+       a global archive if there is none.
+       (X_Switches): New table
+       (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
+       in the X_Switches table, if any.
+       (Initialize): Make sure the X_Switches table is empty
+       (Scan_Arg): Record -X switches in table X_Switches
+
+       * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
+
+       * make.adb: Minor comment fix
+
+       * gnatname.adb (Gnatname): When not on VMS, and gnatname has been
+       invoked with directory information, add the directory in front of the
+       path.
+
+       * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
+       invoked with directory information, add the directory in front of the
+       path.
+
+       * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
+       when Keep_Temporary_Files is False.
+       (GNATCmd): When not on VMS, and the GNAT driver has been invoked with
+       directory information, add the directory in front of the path.
+       When not on VMS, handle new switch -dn before the command to set
+       Keep_Temporary_Files to True.
+       (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
+       everywhere.
+
+       * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
+       invoked with directory information, add the directory in front of the
+       path.
+
+2004-07-06  Thomas Quinot  <quinot@act-europe.fr>
+
+       * snames.ads, snames.adb (Name_Stub): New name for the distributed
+       systems annex.
+
+       * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
+       New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
+
+       * g-socket.adb (To_Timeval): Fix incorrect conversion of
+       Selector_Duration to Timeval for the case of 0.0.
+
+       * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
+       documentation from Evolve_And_Then.
+
+2004-07-06  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * s-taprop-tru64.adb, s-taprop-os2.adb,
+       s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
+
+2004-07-06  Robert Dewar  <dewar@gnat.com>
+
+       * s-osinte-hpux.ads, s-osinte-freebsd.ads,
+       s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
+       s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
+       s-interr-sigaction.adb, s-taprop-irix-athread.adb,
+       s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
+       s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
+       s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
+       s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
+       a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
+       a-tags.ads, bindgen.ads, checks.adb, checks.adb,
+       csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
+       exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
+       g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
+       i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
+       sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
+       sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
+       sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
+       s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
+       s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
+       s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
+       vms_data.ads: Minor reformatting,
+       Fix bad box comment format.
+
+       * gnat_rm.texi: Fix minor grammatical error
+
+       * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
+
+       * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
+       more cases of discriminated records to be recognized as not needing a
+       secondary stack.
+       (Has_Access_Values): New function.
+
+       * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
+
+       * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
+       Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
+       with LRM terminology).
+       Change terminology in comments primitive type => elementary type.
+
+2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15602
+       * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
+       parameters do not impose any requirements on the presence of a body.
+
+2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15593
+       * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
+       compilation unit and is in an open scope at the point of instantiation,
+       assume that a body may be present later.
+
+2004-07-06  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
+       Improve error message when specified size is not supported.
+
+       * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
+       is never a primitive operation.
+
+2004-07-05  Andreas Schwab  <schwab@suse.de>
+
+       * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Use
+       RECORD_OR_UNION_CHECK.
+       (TYPE_CONTAINS_TEMPLATE_P): Likewise.
+
+2004-07-04  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Make-lang.in (doc/gnat_ugn_unw.texi): Eliminate explicit
+       dependency on xgnatugn, instead build it via a submake.
+       (ADA_INFOFILES): Add doc/gnat_ugn_unw.texi.
+
+2004-07-04  Richard Henderson  <rth@redhat.com>
+
+       * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
+
+2004-07-01  Richard Henderson  <rth@redhat.com>
+
+       * trans.c (gnat_stabilize_reference): Don't handle RTL_EXPR.
+       * utils.c (max_size): Likewise.
+
+2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * 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.
+       (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.
+       (gnat_init_stmt_group): Likewise.
+       (create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
+       * misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
+       (LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
+       (gnat_init): Call gnat_init_stmt_group.
+       * trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
+       (gnu_pending_elaboration_list): Deleted.
+       (mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
+       (gigi): Rearrange initialization calls and move some to last above.
+       (gnat_to_gnu): If statement and not in procedure, go into elab proc.
+       Delete calls to add_decl_expr; add arg to create_*_decl.
+       (gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
+       (gnat_to_gnu, case N_Subprogram_Body): Move some code to 
+       begin_subprog_body and call it.
+       Don't push and pop ggc context.
+       (gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
+       (add_stmt): Remove handling of DECL_EXPR from here.
+       If not in function, mark visited.
+       (add_decl_expr): Put global at top level.
+       Check for cases of DECL_INITIAL we have to handle here.
+       (process_type): Add extra arg to create_type_decl.
+       (build_unit_elab): Rework to just gimplify.
+       * utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
+       (block_has_vars, mark_visited, add_pending_elaborations): Likewise.
+       (get_pending_elaborations, pending_elaborations_p): Likewise.
+       (push_pending_elaborations, pop_pending_elaborations): Likewise.
+       (get_elaboration_location, insert_elaboration_list): Likewise.
+       (gnat_binding_level): Renamed from ada_binding_level.
+       (init_gnat_to_gnu): Don't clear pending_elaborations.
+       (global_bindings_p): Treat as global if no current_binding_level.
+       (set_current_block_context): New function.
+       (gnat_pushdecl): Renamed from pushdecl; major rework.
+       All callers changed.
+       (create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
+       (finish_record_type): Call call pushdecl for stub decl.
+       (function_nesting_depth): Deleted.
+       (begin_subprog_body): Delete obsolete code.
+       * utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.
+       
+2004-06-28  Robert Dewar  <dewar@gnat.com>
+
+       * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
+       mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
+       mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb,
+       mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
+       a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting
+
+       * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to
+       deal with problem of inefficient slices on machines with strict
+       alignment, when the slice is a component of a composite.
+
+       * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit
+       machines, we need the check there as well.
+
+2004-06-28  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch5.adb (Expand_Assign_Array): Use correct condition to
+       determine safe copying direction for overlapping slice assignments
+       when component is controlled.
+
+       * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a
+       formal derived type in the actual for a formal package are visible in
+       the enclosing instance.
+
+2004-06-28  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15600
+       * sem_util.adb (Trace_Components): Diagnose properly an illegal
+       circularity involving a private type whose completion includes a
+       self-referential component.
+       (Enter_Name): Use Is_Inherited_Operation to distinguish a source
+       renaming or an instantiation from an implicit derived operation.
+
+2004-06-28  Pascal Obry  <obry@gnat.com>
+
+       * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from
+       DLL.
+       (Library_File_Name_For): Idem.
+
+2004-06-28  Matthew Gingell  <gingell@gnat.com>
+
+       * g-traceb.ads: Add explanatory note on the format of addresses
+       expected by addr2line.
+
+2004-06-28  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: Force debugging information on s-tasdeb.adb,
+       a-except.adb and s-assert.adb needed by the debugger.
+
+2004-06-28  Vincent Celier  <celier@gnat.com>
+
+       * make.adb (Collect_Arguments_And_Compile): Change Flag1 to
+       Need_To_Build_Lib.
+       (Gnatmake): Ditto.
+
+       * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib
+
+       * prj.adb: Minor reformatting
+       (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2.
+
+       * prj.ads: Comment updates
+       Minor reformatting
+       (Project_Data): Change Flag1 to Need_To_Build_Lib.
+       Remove Flag2: not used.
+
+       * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a
+       declaration.
+
+       * gnat_ugn.texi: Put a "null;" declaration in one project file example
+
+       * gnat_rm.texi: Document Empty declarations "null;".
+
+       * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in
+       front of the linker options.
+       (Link_Foreign): Put the global archives and the libraries in front of
+       the linker options.
+
+2004-06-28  Javier Miranda  <miranda@gnat.com>
+
+       * rtsfind.adb: (Get_Unit_Name): Fix typo in comment
+       (RTU_Loaded): Code cleanup
+       (Set_RTU_Loaded): New procedure to register as *loaded* explicitly
+       withed predefined units.
+
+       * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded*
+       explicitly withed predefined units.
+       Fix typo in comment
+
+       * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded*
+       explicitly withed predefined units.
+
+2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ada-tree.def (DECL_STMT): Deleted.
+       * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
+       (DECL_STMT_VAR): Deleted.
+       * 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_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.
+       (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
+       (gnat_gimplify_stmt, case DECL_STMT): Deleted.
+       (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
+       make a SAVE_EXPR for the entire fat pointer.
+       * utils.c (pushdecl): Walk a DECL_EXPR in global case.
+       (create_index_type): Make a DECL_EXPR.
+       (end_subprog_body): Don't call allocate_struct_function here but
+       do clear cfun.
+
+2004-06-25  Pascal Obry  <obry@gnat.com>
+
+       * makegpr.adb (Build_Library): Remove parameter Lib_Address and
+       Relocatable from Build_Dynamic_Library call.
+
+       * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
+       Relocatable are now synonym.
+
+       * Makefile.in: Use s-parame-mingw.adb on MingW platform.
+
+       * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
+       Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
+       call.
+
+       * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
+       Lib_Address and Relocatable.
+       (Default_DLL_Address): Removed.
+
+       * 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-vxworks.adb:
+       (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
+       (Default_DLL_Address): Removed.
+
+       * mlib-tgt-mingw.adb: Ditto.
+       (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.
+
+       * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
+       the initial thread stack size.
+
+       * a-strmap.ads: Move package L to private part as it is not used in
+       the spec. Found while reading code.
+
+2004-06-25  Olivier Hainque  <hainque@act-europe.fr>
+
+       * tracebak.c: Introduce support for a GCC infrastructure based
+       implementation of __gnat_backtrace.
+
+       * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
+       any more. Use accessors instead. This eases maintenance and relaxes
+       some alignment constraints.
+       (_GNAT_Exception structure): Remove the Ada specific fields
+       (EID_For, Adjust_N_Cleanups_For): New accessors, exported by
+       a-exexpr.adb.
+       (is_handled_by, __gnat_eh_personality): Replace component references to
+       exception structure by use of the new accessors.
+
+       * init.c (__gnat_initialize): Adjust comments to match the just
+       reverted meaning of the -static link-time option.
+
+       * adaint.c (convert_addresses): Arrange not to define a stub for
+       mips-irix any more, as we now want to rely on a real version from a
+       recent libaddr2line.
+
+       * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
+       the personality routine can use them and not have to rely on a C
+       counterpart of the record anymore. This simplifies maintenance and
+       relaxes the constraint of having Standard'Maximum_Alignment match
+       BIGGEST_ALIGNMENT.
+       Update comments, and add a section on the common header alignment issue.
+
+2004-06-25  Geert Bosch  <bosch@gnat.com>
+
+       * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
+       polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.
+
+2004-06-25  Robert Dewar  <dewar@gnat.com>
+
+       * gnat_rm.texi: Fix section on component clauses to indicate that the
+       restriction on byte boundary placement still applies for bit packed
+       arrays.
+       Add comment on stack usage from Initialize_Scalars
+
+       * gnat_ugn.texi: Add documentation for -gnatyLnnn
+
+       * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
+       limiting nesting level.
+
+       * usage.adb: Add line for -gnatyLnnn switch
+
+       * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
+       sem_ch13.adb, exp_aggr.adb: Minor reformatting
+
+       * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
+       type as well as on the subtype. This corrects a problem in freeze in
+       setting alignments of atomic types.
+
+       * sem_eval.ads: Minor comment typo fixed
+
+       * par-util.adb (Push_Scope_Stack): Check for violation of max nesting
+       level.  Minor reformatting.
+
+       * fname.adb (Is_Predefined_File_Name): Require a letter after the
+       minus sign. This means that file names like a--b.adb will not be
+       considered predefined.
+
+       * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
+       record Test new flag and give diagnostic for bad component clause.
+       (Freeze_Entity): Set alignment of array from component alignment in
+       cases where this is safe to do.
+
+       * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
+       arrays.
+
+       * cstand.adb: (Create_Standard): Set alignment of String to 1
+
+       * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary
+
+       * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
+       code in the common constrained array cases.
+
+       * a-storio.adb: Change implementation to avoid possible alignment
+       problems on machines requiring strict alignment (data should be moved
+       as type Buffer, not type Elmt).
+
+       * checks.adb (Apply_Array_Size_Check): Improve these checks by
+       killing the overflow checks which we really do not need (64-bits is
+       enough).
+
+2004-06-25  Vincent Celier  <celier@gnat.com>
+
+       * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
+       (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
+       inconditionally for the main project.
+       (Recursive_Add_Archives.Add_Archive_Path): New procedure
+       (Link_Executables.Check_Time_Stamps): New procedure
+       (Link_Executables.Link_Foreign): New procedure
+       Changes made to reduce nesting level of this package
+       (Check): New procedure
+       (Add_Switches): When not in quiet output, check that a switch is not
+       the concatenation of several valid switches. If it is, issue a warning.
+       (Build_Global_Archive): If the global archive is rebuilt, linking need
+       to be done.
+       (Compile_Sources): Rebuilding a library archive does not imply
+       rebuilding the global archive.
+       (Build_Global_Archive): New procedure
+       (Build_Library): New name for Build_Archive, now only for library
+       project
+       (Check_Archive_Builder): New procedure
+       (Create_Global_Archive_Dependency_File): New procedure
+       (Gprmake): Call Build_Global_Archive before linking
+       * makegpr.adb: Use Other_Sources_Present instead of Sources_Present
+       throughout.
+       (Scan_Arg): Display the Copyright notice when -v is used
+
+       * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
+       for gnatls.
+
+       * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
+       COMPILE.
+       Add new GNAT LIST qualifier /FILES=
+       Added qualifier /DIRECTORY= to GNAT METRIC
+       Added qualifier /FILES= to GNAT METRIC
+       Added qualifier /FILES to GNAT PRETTY
+
+       * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
+       to take into account both versions of the switch.
+
+       * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
+       always be the last switch to the gcc driver. Disable switch storing so
+       that switches automatically added by the gcc driver are not put in the
+       ALI file.
+
+       * prj.adb (Project_Empty): Take into account changes in components of
+       Project_Data.
+
+       * prj.ads (Languages_Processed): New enumaration value All_Languages.
+
+       * prj.ads (Project_Data): Remove component Lib_Elaboration: never
+       used. Split Boolean component Ada_Sources_Present in two Boolean
+       components Ada_Sources_Present and Other_Sources_Present.
+       Minor reformatting
+
+       * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
+       instead of Sources_Present.
+       (Set_Ada_Paths.Add.Recursive_Add): Ditto
+
+       * prj-nmsc.adb: Minor reformatting
+       (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
+       (Check_Ada_Naming_Scheme_Validity): New name of previous procedure
+       Check_Ada_Naming_Scheme.
+       Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
+       throughout.
+
+       * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
+       In_Limited.
+       Make sure that all cycles where there is at least one "limited with"
+       are detected.
+       (Parse_Single_Project): New Boolean parameter In_Limited
+
+       * prj-proc.adb (Recursive_Check): When Process_Languages is
+       All_Languages, call first Prj.Nmsc.Ada_Check, then
+       Prj.Nmsc.Other_Languages_Check.
+
+       * prj-proc.adb (Process): Use Ada_Sources_Present or
+       Other_Sources_Present (instead of Sources_Present) depending on
+       Process_Languages.
+
+       * lang-specs.h: Keep -g and -m switches in the same order, and as the
+       last switches.
+
+       * lib.adb (Switch_Storing_Enabled): New global Boolean flag
+       (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
+       False.
+       (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
+       False.
+
+       * lib.ads (Disable_Switch_Storing): New procedure.
+
+       * make.adb: Modifications to reduce nesting level of this package.
+       (Check_Standard_Library): New procedure
+       (Gnatmake.Check_Mains): New procedure
+       (Gnatmake.Create_Binder_Mapping_File): New procedure
+       (Compile_Sources.Compile): Add switch -gnatez as the last option
+       (Display): Never display -gnatez
+
+       * Makefile.generic: 
+       When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)
+
+       * gnatcmd.adb (Check_Project): New function
+       (Process_Link): New procedure to reduce nesting depth
+       (Check_Files): New procedure to reduce the nesting depth.
+       For GNAT METRIC, include the inherited sources in extending projects.
+       (GNATCmd): When GNAT LS is invoked with a project file and no files,
+       add the list of files from the sources of the project file. If this list
+       is too long, put it in a temp text files and use switch -files=
+       (Delete_Temp_Config_Files): Delete the temp text file that contains
+       a list of source for gnatpp or gnatmetric, if one has been created.
+       (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
+       in the project file is too large, create a temporary text file that
+       list them and pass it to the tool with "-files=<temp text file>".
+       (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch
+
+       * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
+       generated file is in not in Ada.
+
+       * gnatls.adb: Remove all parameters And_Save that are no longer used.
+       (Scan_Ls_Arg): Add processing for -files=
+       (Usage): Add line for -files=
+
+       * g-os_lib.adb (On_Windows): New global constant Boolean flag
+       (Normalize_Pathname): When on Windows and the path starts with a
+       directory separator, make sure that the resulting path will start with
+       a drive letter.
+
+       * clean.adb (Clean_Archive): New procedure
+       (Clean_Project): When there is non-Ada code, delete the global archive,
+       the archive dependency files, the object files and their dependency
+       files, if they exist.
+       (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.
+
+2004-06-25  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sinfo.ads: Fix typo in comment.
+
+       * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
+       the TSS for remote access-to-subprogram types, since these TSS are
+       always present once the type has been analyzed.
+       (RAS_E_Dereference): Same.
+
+       * sem_attr.adb (Analyze_Attribute): When analysis of an attribute
+       reference raises Bad_Attribute, mark the reference as analyzed so the
+       node (and any children resulting from rewrites that could have occurred
+       during the analysis that ultimately failed) is not analyzed again.
+
+       * exp_ch7.ads (Find_Final_List): Fix misaligned comment.
+
+       * exp_dist.adb: Minor comment fix.
+
+       * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
+       type is an anonymous access type, no unchecked deallocation of the
+       allocated object can occur. If the object is controlled, attach it with
+       a count of 1. This allows attachment to the Global_Final_List, if
+       no other relevant list is available.
+       (Get_Allocator_Final_List): For an anonymous access type that is
+       the type of a discriminant or record component, the corresponding
+       finalisation list is the one of the scope of the type.
+
+2004-06-25  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch3.adb (Replace_Type): When computing the signature of an
+       inherited subprogram, use the first subtype if the derived type
+       declaration has no constraint.
+
+       * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
+       before applying previous optimization. Minor code cleanup.
+
+       * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
+       placed at the beginning of an unpacked record without explicit
+       alignment, a slice of it will be aligned and does not need a copy when
+       used as an actual.
+
+2004-06-25  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15591
+       PR ada/15592
+       * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
+       reference is written with expressions mimicking parameters.
+
+2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       PR ada/15589
+       * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
+       STEP 2a. The constraints of a full type declaration of a derived record
+       type are checked for conformance with those declared in the
+       corresponding private extension declaration. The message
+       "not conformant with previous declaration" is emitted if an error is
+       detected.
+
+2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * g-traceb.ads: Document the need for -E binder switch in the spec.
+
+       * g-trasym.ads: Document the need for -E binder switch in the spec.
+
+2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * sem_prag.adb: Add handling of pragma Detect_Blocking.
+
+       * snames.h, snames.ads, snames.adb: Add entry for pragma
+       Detect_Blocking.
+
+       * s-rident.ads: Change reference to pragma Detect_Blocking.
+
+       * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
+       system.ads.
+
+       * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
+       to indicate whether pragma Detect_Blocking is active.
+
+       * par-prag.adb: Add entry for pragma Detect_Blocking.
+
+       * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
+       of not handling WITH.
+       Note that this replaces the previous update which was incorrect.
+
+2004-06-25  Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
+       use-clauses to have a clean environment.
+
+       * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
+       the installation of the use-clauses to stablish a clean environment in
+       case of compilation of a separate unit; otherwise the call to
+       use_one_package is protected by the barrier Applicable_Use.
+
+       * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
+       the installation of the use-clauses to stablish a clean environment in
+       case of compilation of a separate unit.
+       (End_Use_Clauses): Minor comment cleanup.
+
+2004-06-25  Sergey Rybin  <rybin@act-europe.fr>
+
+       * gnat_ugn.texi: Add description of the gnatpp 'files' switch
+
+2004-06-23  Richard Henderson  <rth@redhat.com>
+
+       * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.
+
+2004-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (elaborate_expression, elaborate_expression_1): Arguments
+       now bool instead of int.
+       (gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
+       * trans.c (gnu_switch_label_stack): New function.
+       (gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
+       elaboration of renamed entity returns.
+       (gnat_to_gnu, case N_Case_Statement): Add branches to end label.
+       (add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
+       (gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
+       (gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
+       DECL_SIZE_UNIT and simplify variable-sized case.
+       (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
+       Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
+       (gnat_stabilize_reference): Add arg to COMPONENT_REF.
+       (build_unit_elab): Disable for now.
+       * utils.c (mark_visited): New function.
+       (pushdecl): Walk tree to call it for global decl.
+       (update_pointer_to): Update all variants of pointer and ref types.
+       Add arg to COMPONENT_REF.
+       (convert): Likewise.
+       Move check for converting between variants lower down.
+       * utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
+       (build_allocator): Don't force type of MODIFY_EXPR.
+       (gnat_mark_addressable, case VAR_DECL): Unconditionally call
+       put_var_into_stack.
+
+2004-06-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
+       * ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
+       * decl.c (gnat_to_gnu_entity): Also set force_global for imported
+       subprograms.
+       * trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
+       all callers changed.
+       (gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
+       the way that EXIT_STMT finds the loop label.
+       (gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
+       (gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
+       (add_stmt): Use annotate_with_locus insted of setting directly.
+       (pos_to_construct): Set TREE_PURPOSE of each entry to index.
+       (gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
+       * utils.c (gnat_install_builtins): Install __builtin_memcmp.
+       (build_vms_descriptor): Add extra args to ARRAY_REF.
+       (convert): Use VIEW_CONVERT_EXPR between aggregate types.
+       * utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
+       New cases.
+       (build_binary_op): Don't make explicit CONVERT_EXPR.
+       Add extra rgs to ARRAY_REF.
+
+2004-06-14  Pascal Obry  <obry@gnat.com>
+
+       * gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
+       Windows.  Fix minor typo.
+
+       * mlib-tgt-mingw.adb: New implementation using the GCC -shared option
+       which is now supported on Windows. With this implementation using the
+       Library Project feature is no different on Windows than on UNIX.
+
+2004-06-14  Vincent Celier  <celier@gnat.com>
+
+       * makegpr.adb (Compile_Sources): Nothing to do when there are no
+       non-Ada sources.
+
+       * mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment
+
+       * prj-part.adb (Parse_Single_Project): When a duplicate project name is
+       found, show the project name and the path of the previously parsed
+       project file.
+
+2004-06-14  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
+       array, avoid copying the actual before the call.
+
+2004-06-14  Thomas Quinot  <quinot@act-europe.fr>
+
+       * g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
+       Instead, allocate memory on worst-case alignment assumptions, and then
+       return an aligned address within the allocated zone.
+
+2004-06-14  Robert Dewar  <dewar@gnat.com>
+
+       * bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
+       elab entities in predefined units in No_Run_Time_Mode.
+       (Gen_Adainit_C): Same fix
+       (Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
+       units in No_Run_Time_Mode
+       (Gen_Elab_Calls_C): Same fix
+
+       * symbols-vms-alpha.adb: Minor reformatting
+
+       * g-debpoo.ads: Minor reformatting
+
+       * lib.adb (In_Same_Extended_Unit): Version working on node id's
+
+       * lib.ads (In_Same_Extended_Unit): Version working on node id's
+
+       * lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
+       working on nodes.
+
+       * make.adb: Minor reformatting
+
+       * par-ch12.adb: Minor reformatting
+
+       * par-prag.adb: Add dummy entry for pragma Profile_Warnings
+
+       * prj-strt.adb: Minor reformatting
+
+       * restrict.ads, restrict.adb: Redo handling of profile restrictions to
+       be more general.
+
+       * sem_attr.adb: Minor reformatting
+
+       * sem_ch7.adb: Minor reformatting
+
+       * sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
+       for type in the same unit as the object declaration.
+
+       * sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
+       static string expressions and not just string literals.
+       Minor reformatting
+       (Set_Warning): Reset restriction warning flag for restriction pragma
+       Implement pragma Profile_Warnings
+       Implement pragma Profile (Restricted)
+       Give obolescent messages for old restrictions and pragmas
+
+       * snames.h, snames.ads, snames.adb: Add new entry for pragma
+       Profile_Warnings.
+
+       * s-rident.ads: Add declarations for restrictions required by profile
+       Restricted and profile Ravenscar.
+
+       * targparm.ads, targparm.adb: Allow pragma Profile in system.ads
+
+       * gnat_ugn.texi: Correct some missing entries in the list of GNAT
+       configuration pragmas.
+
+2004-06-11  Vincent Celier  <celier@gnat.com>
+
+       * mlib-tgt-vms-alpha.adb (Build_Dynamic_Library): Issue switch -R to
+       gnatsym, when symbol policy is Restricted.
+
+       * mlib-tgt-vms-ia64.adb (Build_Dynamic_Library): Issue switch -R to
+       gnatsym, when symbol policy is Restricted.
+
+       * symbols-vms-alpha.adb (Initialize): When symbol policy is Restricted,
+       read the symbol file.
+       (Finalize): Fail in symbol policy Restricted if a symbol in the original
+       symbol file is not in the object files. Do not create a new symbol file
+       when symbol policy is Restricted.
+
+       * gnatbind.adb (Gnatbind): Initialize Snames, because Snames is used
+       in Scng.
+
+       * gnatsym.adb (Parse_Vmd_Line): Process new switch -R for symbol policy
+       Restricted.
+       (Usage): Line for new switch -R
+
+       * make.adb (Initialize): When the platform is not VMS, add the
+       directory where gnatmake is invoked in the front of the path, if
+       gnatmake is invoked with directory information.  Change the Scan_Args
+       while loop to a for loop.
+       (Recursive_Compute_Depth): Remove parameter Visited. Improve efficiency:
+       if Depth is equal or greater than the proposed depth, there is nothing
+       to do.
+       (Initialize): Call Recursive_Compute_Depth with initial Depth equal to 1
+       instead of 0.
+
+       * prj.ads: Add new symbol policy Restricted.
+
+       * prj-dect.adb (Parse_Case_Construction): Call End_Case_Construction
+       with the new parameters Check_All_Labels and Case_Location.
+
+       * prj-nmsc.adb (Ada_Check): Process new symbol policy Restricted
+       (Library_Symbol_File needs to be defined).
+
+       * prj-strt.adb (End_Case_Construction): New parameters Check_All_Labels
+       and Case_Location If Check_All_Labels is True, check that all values of
+       the string type are used, and output warning(s) if they are not.
+
+       * prj-strt.ads (End_Case_Construction): New parameters Check_All_Labels
+       and Case_Location.
+
+       * gnat_ugn.texi: Reorder subclauses in menus "Switches for gcc"
+
+       * gnat_ugn.texi: Update documentation about the library directory in
+       Library Projects.
+
+       * makegpr.adb (Display_Command): In verbose mode, also display the
+       value of the CPATH env var, when the compiler is gcc.
+       (Initialize): Change the Scan_Args while loop to a for loop
+       (Compile_Individual_Sources): Change directory to object directory
+       before compilations.
+
+       * symbols.ads: New symbol policy Restricted.
+
+2004-06-11  Olivier Hainque  <hainque@act-europe.fr>
+
+       * a-except.adb (Raise_After_Setup family): Remove. The responsibility
+       is now taken care of internally in the Exception_Propagation package
+       and does not require clients assistance any more.
+
+       * a-exexpr.adb (Is_Setup_And_Not_Propagated,
+       Set_Setup_And_Not_Propagated, and Clear_Setup_And_Not_Propagated): New
+       functions. Helpers to maintain a predicate required in the handling of
+       occurrence transfer between tasks.
+       This is now handled internally and does not require clients assistance
+       for the setup/propagate separation anymore.
+       (Setup_Exception, Propagate_Exception): Simplify the Private_Data
+       allocation strategy, handle the Setup_And_Not_Propagated predicate and
+       document.
+
+       * s-taenca.adb (Check_Exception): Use raise_with_msg instead of
+       raise_after_setup, now that everything is handled internally within the
+       setup/propagation engine.
+
+2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       * exp_ch6.adb (Expand_Inlined_Call): Add function Formal_Is_Used_Once.
+       Add additional conditions for the case of an actual being a simple
+       name or literal. Improve inlining by preventing the generation
+       of temporaries with a short lifetime (one use).
+
+2004-06-11  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       PR ada/15587
+
+       * einfo.ads: Minor comment updates for Has_Completion and
+       E_Constant list of flags.
+
+       * sem_ch3.adb (Analyze_Object_Declaration): Full constant declarations
+       and constant redeclarations now set the Has_Completion flag of their
+       defining identifiers.
+
+       * sem_ch7.adb (Analyze_Package_Spec): Add procedure
+       Inspect_Deferred_Constant_Completion.
+       Used to detect private deferred constants that have not been completed
+       either by a constant redeclaration or pragma Import. Emits error message
+       "constant declaration requires initialization expression".
+
+       * sem_prag.adb (Process_Import_Or_Interface): An Import pragma now
+       completes a deferred constant.
+
+2004-06-11  Geert Bosch  <bosch@gnat.com>
+
+       * eval_fat.adb (Decompose_Int): Fix rounding of negative numbers.
+
+       * s-fatgen.adb (Gradual_Scaling): Correct off-by-one error in
+       calculating exponent for scaling denormal numbers.
+       (Leading_Part): Properly raise Constraint_Error for zero or negative
+       Adjustment.
+       (Remainder): Properly raise Constraint_Error for zero divisor.
+
+2004-06-11  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_util.adb: Minor reformatting.
+
+       * exp_ch2.adb (Expand_Entry_Parameter): Generate an explicit
+       dereference when accessing the entry parameter record.
+       (Check_Array_Type): Always check for possible implicit dereference.
+       (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+       Abort if a pointer is still present (denoting that an implicit
+       dereference was left in the tree by the front-end).
+
+       * sem_attr.adb (Expand_Entry_Parameter): Generate an explicit
+       dereference when accessing the entry parameter record.
+       (Check_Array_Type): Always check for possible implicit dereference.
+       (maybe_implicit_dereference): Rename to check_no_implicit_derefence.
+       Abort if a pointer is still present (denoting that an implicit
+       dereference was left in the tree by the front-end).
+
+2004-06-11  Emmanuel Briot  <briot@act-europe.fr>
+
+       * g-debpoo.adb (Deallocate, Dereference): Add prefix "error:" to error
+       message, like the compiler itself does. Easier to parse the output.
+
+       * g-debpoo.ads: (Allocate, Deallocate, Dereference): Add comments.
+
+       * gnat_ugn.texi (gnatxref, gnatfind): Clarify that source names should
+       be base names, and not includes directories.
+
+2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * Makefile.generic ($(EXEC)): Depend on $(OBJECTS), not $(OBJ_FILES),
+       so that dependencies are properly taken into account by make.
+
+2004-06-11  Arnaud Charlet  <charlet@act-europe.fr>
+
+       PR ada/15622
+       * s-unstyp.ads, s-maccod.ads, sem_ch8.adb, s-auxdec.ads,
+       exp_intr.adb, s-auxdec-vms_64.ads: Fix typo: instrinsic -> intrinsic
+
+2004-06-11  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in (install-gnatlib): install target-specific run-time files.
+
+       * Make-lang.in: Remove obsolete targets.
+
+2004-06-11  Ed Schonberg  <schonberg@gnat.com>
+
+       * par-ch12.adb (P_Generic): Add scope before analyzing subprogram
+       specification, to catch misuses of program unit names.
+
+       * sem_res.adb (Resolve_Type_Conversion): Do not emit warnings on
+       superfluous conversions in an instance.
+
+2004-06-11  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15403
+
+       * sem_ch12.adb (Save_References): If operator node has been folded to
+       enumeration literal, associated_node must be discarded.
+
+2004-06-11  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * s-stchop-vxworks.adb: Add required pragma Convention to
+       Task_Descriptor because it is updated by a C function.
+
+2004-06-08  Arnaud Charlet  <charlet@act-europe.fr>
+
+       PR ada/15568
+
+       * Makefile.in: Remove target specific SO_OPT on IRIX
+
+2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
+       (GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
+       (BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
+       (ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
+       (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.
+       (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.
+       (DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
+       (IS_ADA_STMT): New macro.
+       * decl.c (annotate_decl_with_node): New function.
+       (gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
+       (gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
+       Call add_stmt_with_node to do needed assignments.
+       Add call to update setjmp buffer directly, not via EXPR_STMT.
+       (maybe_variable): Argment GNAT_NODE deleted.
+       * gigi.h (maybe_variable): Likewise.
+       (make_transform, add_stmt_with_node, set_block_for_group): New.
+       (gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
+       (set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
+       (discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
+       (set_lineno, set_lineno_from_sloc): Likewise.
+       (record_code_position, insert_code_for): Likewise.
+       (gnat_poplevel): Now returns void.
+       (end_subprog_body): Now takes argument.
+       * misc.c (cgraph.h, tree-inline.h): New includes.
+       (gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
+       (gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
+       (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
+       (LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
+       (gnat_parse_file): Don't set immediate_size_expand.
+       Call cgraph functions.
+       (gnat_expand_expr): Remove most cases.
+       (record_code_position, insert_code_for): Remove from here.
+       * trans.c (toplev.h, tree-gimple.h): Now included.
+       (discard_file_names): Deleted.
+       (gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
+       (first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
+       (struct stmt_group, current_stmt_group, stmt_group_free_list): New.
+       (gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
+       (add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
+       (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
+       (gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
+       (set_block_for_group, add_stmt_list): Likewise.
+       (start_stmt_group): Renamed from start_block_stmt.
+       (end_stmt_group): Likewise, from end_block_stmt.
+       (build_stmt_group): Likewise, from build_block_stmt, also add arg.
+       (gigi): Don't set discard_file_names or call set_lineno.
+       Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
+       (tree_transform): Deleted, now renamed to be gnat_to_gnu.
+       Numerous changes throughout to reflect new names and complete
+       function-at-a-time implementation.
+       (gnat_expand_stmt): Delete or comment out all cases.
+       (process_inlined_subprograms): Use add_stmt.
+       (process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
+       call set_lineno; also remove unneeded block handling.
+       (process_type): Remove unneeded block handling.
+       (build_unit_elab): Remove calls to deleted functions.
+       * utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
+       (tree-dump.h): Likewise.
+       (struct ada_binding_level): Add field jmpbuf_decl.
+       (gnat_define_builtin, gnat_install_builtins): New.
+       (gnat_gimplify_function, gnat_finalize): Likewise.
+       (gnat_poplevel): No longer return BLOCK, set it instead.
+       Remove code dealing with nested functions.
+       (gnat_init_decl_processing): Also set size_type_node.
+       Call gnat_install_builtins.
+       (create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
+       (create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
+       Remove special-case for "main".
+       (end_subprog_body): Add arg and rework for tree-ssa.
+       (convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
+       Add case for BOOLEAN_TYPE.
+       * utils2.c (rtl.h): Now include.
+       (build_call_raise): Test Debug_Flag_NN directly.
+       (build_call_alloc_dealloc): Don't use local stack allocation for now.
+       (gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
+       (gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.
+
+2004-06-07  Robert Dewar  <dewar@gnat.com>
+
+       * a-direct.ads, einfo.ads: Minor comment updates
+
+       * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
+       s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+       s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
+       s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
+       s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.
+
+       * s-interr-sigaction.adb: Remove unreferenced variable
+       (Attached_Interrupts).  Minor reformatting.
+       Avoid use of variable I (replace by J).
+
+       * par-ch10.adb: Fix text of one error message
+
+       * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
+       exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
+       exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
+       opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
+       par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
+       par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+        sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
+       sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+       sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
+       sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
+       snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
+       2005 support.
+
+2004-06-07  Doug Rupp  <rupp@gnat.com>
+
+       * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb
+
+       * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb
+
+       * mlib-tgt-vms-ia64.adb: New file.
+
+       * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
+       Add mlib-tgt-vms-ia64.adb
+       Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
+       Move to alpha specific ifeq section.
+       Add VMS specific versions of symbols.adb
+       Renaming of 5q vms files.
+
+       * 5qsystem.ads renamed to system-vms_64.ads.
+
+2004-06-07  Vincent Celier  <celier@gnat.com>
+
+       * a-calend.ads: Add a GNAT Note comment after function Time_Of to
+       explain that when a time of day corresponding to the non existing hour
+       on the day switching to DST is specified, Split may return a different
+       value for Seconds.
+
+       * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
+       to GNAT PRETTY.
+
+       * g-os_lib.adb (OpenVMS): New Boolean value imported from System.
+       (Normalize_Pathname): Only resolve VMS logical names when on VMS.
+
+       * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
+       to False.
+       If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
+       the linking options.
+       (Build_Library.Check_Libs): On VMS, if there is a dependency on
+       g-trasym.ads, set Gtrasymobj_Needed to True.
+
+       * prj-attr.adb: Add new package Metrics for gnatmetric
+
+       * prj-nmsc.adb (Record_Other_Sources): Put source file names in
+       canonical case to take into account files with upper case characters on
+       Windows.
+       (Ada_Check): Load the reference symbol file name in the name buffer to
+       check it, not the symbol file name.
+
+       * snames.ads, snames.adb: Add standard name Metrics (name of project
+       file package for gnatmetric).
+
+       * vms_conv.ads: Add Metric to Comment_Type
+
+       * vms_conv.adb (Initialize): Add component dor Metric in Command_List
+
+       * vms_data.ads: Add qualifiers for GNAT METRIC
+
+       * makegpr.adb (Link_Executables): Take into account the switches
+       specified in package Linker of the main project.
+
+2004-06-07  Thomas Quinot  <quinot@act-europe.fr>
+
+       * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
+       the index of the last element is Units.Last, not Units.Table'Last
+       (which is usually not a valid index within the actually allocated
+       storage for the table).
+
+       * exp_ch4.adb (Insert_Dereference_Action): Change predicate that
+       determines whether to generate a call to a checked storage pool
+       Dereference action.
+       Generate such a call only for a dereference that either comes from
+       source, or is the result of rewriting a dereference that comes from
+       source.
+
+2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>
+
+       * bindgen.adb (Gen_Output_File): Add support for GAP builds.
+
+2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
+       file level, elaborate the stride for inner dimensions in alignment
+       units, not bytes.
+
+       * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
+       in a comment.
+
+2004-06-07  Javier Miranda  <miranda@gnat.com>
+
+       * exp_ch6.adb: Correct wrong modification in previous patch
+
+2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * g-trasym.ads: Corrected comment to properly reflect level of support
+       on VMS.
+
+2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
+       includes case of a variable referenced on the left hand side of an
+       assignment, therefore remove redundant code. Variables and prefixes of
+       indexed or selected components are now marked as referenced on left
+       hand side. Warnings are now properly emitted when variables or prefixes
+       are assigned but not read.
+
+       * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
+       left hand side referenced variables. Private access types do not
+       produce the warning "variable ... is assigned but never read".
+       Add also additional checks to left hand side referenced variables.
+       Aliased, renamed objects and access types do not produce the warning
+       "variable ... is assigned but never read" since other entities may read
+       the memory location.
+
+2004-06-07  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: In the powerpc/vxworks-specific section, restore
+       EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
+       by mistake).
+
+2004-06-07  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
+       predefined operators.
+       Removes spurious type errors from g-trasym-vms.adb.
+
+       * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
+       distinct from the operator appearing in the source, call appropriate
+       routine to insert conversions when needed, and complete resolution of
+       node.
+       (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
+       interpretations for rewritten right operand.
+       (Set_Mixed_Mode_Operand): Handle properly a universal real operand when
+       the other operand is overloaded and the context is a type conversion.
+
+2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ada-tree.def (BLOCK_STMT): Now has two operands.
+       (BREAK_STMT): New.
+
+       * ada-tree.h: (BLOCK_STMT_BLOCK): New macro.
+
+       * gigi.h: (gnat_poplevel): Now returns a tree.
+
+       * trans.c (end_block_stmt): Add arg; all callers changed.
+       (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
+       (start_block_stmt): Clear BLOCK_STMT_BLOCK.
+       (add_stmt): Set TREE_TYPE.
+       (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
+       (gnat_expand_stmt, case BREAK_STMT): New case.
+
+       * utils.c (gnat_poplevel): Return a BLOCK, if we made one.
+
+2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
+       procedure Set_Stack_Size that is not needed.
+
+2004-06-07  Sergey Rybin  <rybin@act-europe.fr>
+
+       * gnat_ugn.texi: Clarify the case when non-standard naming scheme is
+       used for gnatpp input file and for the files upon which it depends
+
+2004-06-07  Ben Brosgol  <brosgol@gnat.com>
+
+       * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
+
+2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * gnatvsn.ads: Bump version numbers appropriately.
+       Add new build type.
+
+2004-06-07  Pascal Obry  <obry@gnat.com>
+
+       * gnat_ugn.texi: Improve comments about imported names and link names
+       on Windows. Add a note about the requirement to use -k gnatdll's option
+       when working with a DLL which has stripped stdcall symbols (no @nn
+       suffix).
+
+2004-05-27  Vincent Celier  <celier@gnat.com>
+
+       * vms_data.ads: Add new GNAT PRETTY qualifiers /NO_BACKUP and
+       COMMENTS_LAYOUT=UNTOUCHED
+
+       * symbols-vms.adb, symbols-vms-alpha.adb: Renamed symbols-vms.adb to
+       symbols-vms-alpha.adb
+
+2004-05-27  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem.ads: Clarify documentation on checks suppression.
+
+       * einfo.ads (Is_Known_Non_Null): Minor comment typo fix and rephrasing.
+
+2004-05-27  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_util.adb (Is_Descendent_Of): Examine properly all ancestors in
+       the case of multiple derivations.
+       (Is_Object_Reference): For a selected component, verify that the prefix
+       is itself an object and not a value.
+
+       * sem_ch12.adb (Same_Instantiated_Constant): New name for
+       Same_Instantiated_Entity.
+       (Same_Instantiated_Variable): Subsidiary to
+       Check_Formal_Package_Instance, to recognize actuals for in-out generic
+       formals that are obtained from a previous formal package.
+       (Instantiate_Subprogram_Body): Emit proper error when
+       generating code and the proper body of a stub is missing.
+
+       * sem_ch4.adb (Remove_Address_Interpretations): If the operation still
+       has a universal interpretation, do the disambiguation here.
+
+       * exp_ch4.adb (Expand_N_Type_Conversion,
+       Expand_N_Unchecked_Type_Conversion): Special handling when target type
+       is Address, to avoid typing anomalies when Address is a visible integer
+       type.
+
+       * exp_ch6.adb (Expand_N_Subprogram_Body): Use Is_Descendent_Of_Address
+       to determine whether a subprogram should not be marked Pure, even when
+       declared in a pure package.
+
+2004-05-27  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * gnat_ugn.texi: Replace pragma Ravenscar by pragma Profile.
+
+       * gnat_rm.texi: Replace Max_Entry_Queue_Depth by Max_Entry_Queue_Length
+       Document No_Dynamic_Attachment, that supersedes No_Dynamic_Interrupts.
+       Update the documentation about the Ravenscar profile, following the
+       definition found in AI-249.
+
+       * sem_prag.adb: Use FIFO_Within_Priorities and Ceiling_Locking when
+       setting the Profile (Ravenscar). This must be done in addition to
+       setting the required restrictions.
+
+       * rtsfind.ads: Add the set of operations defined in package
+       Ada.Interrupts.
+
+       * exp_ch6.adb: Check whether we are violating the No_Dynamic_Attachment
+       restriction.
+
+2004-05-27  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       lang-specs.h: Always require -c or -S and always redirect to /dev/null
+       if -gnatc or -gnats is passed.
+
+2004-05-27  Hristian Kirtchev  <kirtchev@gnat.com>
+
+       * sem_prag.adb (Sig_Flags): A Pragma_Unchecked_Union does not count as
+       a significant reference. Warnings are now properly emitted when a
+       discriminated type is not referenced.
+
+       * lib-xref.adb (Generate_Reference): A deferred constant completion,
+       record representation clause or record type discriminant does not
+       produce a reference to its corresponding entity. Warnings are now
+       properly emitted when deferred constants and record types are not
+       referenced.
+
+2004-05-27  Geert Bosch  <bosch@gnat.com>
+
+       * Makefile.in: Use long version of libm routines on ia64 gnu/linux.
+       Fixes ACATS Annex G tests.
+
+2004-05-27  Robert Dewar  <dewar@gnat.com>
+
+       * rtsfind.adb (RTU_Loaded): Temporary kludge to get past bug of not
+       handling WITH
+
+2004-05-27  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * s-interr.adb (Server_Task): Take into account case of early return
+       from sigwait under e.g. linux.
+
+2004-05-27  Sergey Rybin  <rybin@act-europe.fr>
+
+       * gnat_ugn.texi: Add description for the new gnatpp options:
+        -rnb - replace the original source without creating its backup copy
+        -c0 - do not format comments
+
+2004-05-24  Geert Bosch  <bosch@gnat.com>
+
+       * a-numaux-x86.adb (Reduce): Reimplement using an approximation of Pi
+       with 192 bits of precision, sufficient to reduce a double-extended
+       arguments X with a maximum relative error of T'Machine_Epsilon, for X
+       in -2.0**32 .. 2.0**32.
+       (Cos, Sin):  Always reduce arguments of 1/4 Pi or larger, to prevent
+       reduction by the processor, which only uses a 68-bit approximation of
+       Pi.
+       (Tan): Always reduce arguments and compute function either using
+       the processor's fptan instruction, or by dividing sin and cos as needed.
+
+2004-05-24  Doug Rupp  <rupp@gnat.com>
+
+       * adaint.c (__gnat_readdir): Cast CRTL function retun value to avoid
+       gcc error on 32/64 bit VMS.
+
+2004-05-24  Olivier Hainque  <hainque@act-europe.fr>
+
+       * init.c (__gnat_error_handler): Handle EEXIST as EACCES for SIGSEGVs,
+       since this is what we get for stack overflows although not documented
+       as such.
+       Document the issues which may require adjustments to our signal
+       handlers.
+
+2004-05-24  Ed Schonberg  <schonberg@gnat.com>
+
+       * inline.adb (Add_Scope_To_Clean): Do not add cleanup actions to the
+       enclosing dynamic scope if the instantiation is within a generic unit.
+
+2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * exp_dbug.ads: Fix typo.
+
+       * Makefile.in: s-osinte-linux-ia64.ads was misnamed.
+       Rename it to its proper name: system-linux-ia64.ads
+       (stamp-gnatlib1): Remove extra target specific run time files when
+       setting up the rts directory.
+
+2004-05-24  Javier Miranda  <miranda@gnat.com>
+
+       * einfo.ads, einfo.adb (Limited_Views): Removed.
+       (Limited_View): New attribute that replaces the previous one. It is
+       now a bona fide package with the limited-view list through the
+       first_entity and first_private attributes.
+
+       * sem_ch10.adb (Install_Private_With_Clauses): Give support to
+       limited-private-with clause.
+       (Install_Limited_Withed_Unit): Install the private declarations of a
+       limited-private-withed package. Update the installation of the shadow
+       entities according to the new structure (see Build_Limited_Views)
+       (Build_Limited_Views): Replace the previous implementation of the
+       limited view by a package entity that references the first shadow
+       entity plus the first shadow private entity (required for limited-
+       private-with clause)
+       (New_Internal_Shadow_Entity): Code cleanup.
+       (Remove_Limited_With_Clause): Update the implementation to undo the
+       new work carried out by Build_Limited_Views.
+       (Build_Chain): Complete documentation.
+       Replace Ada0Y by Ada 0Y in comments
+       Minor reformating
+
+       * sem_ch3.adb (Array_Type_Declaration): In case of anonymous access
+       types the level of accessibility depends on the enclosing type
+       declaration.
+
+       * sem_ch8.adb (Find_Expanded_Name): Fix condition to detect shadow
+       entities. Complete documentation of previous change.
+
+2004-05-24  Robert Dewar  <dewar@gnat.com>
+
+       * namet.adb: Minor reformatting
+       Avoid use of name I (replace by J)
+       Minor code restructuring
+
+       * sem_ch6.adb: Minor reformatting
+
+       * lib-writ.adb: Do not set restriction as active if this is a
+       Restriction_Warning case.
+
+       * sem_prag.adb: Reset restriction warning flag if real pragma
+       restriction encountered.
+
+       * s-htable.adb: Minor reformatting
+       Change rotate count to 3 in Hash (improves hash for small strings)
+
+       * 5qsystem.ads: Add comments for type Address (no literals allowed).
+
+       * gnat_ugn.texi: Add new section of documentation "Code Generation
+       Control", which describes the use of -m switches.
+
+2004-05-24  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       trans.c (tree_transform) <N_Identifier>: Do the dereference directly
+       through the DECL_INITIAL for renamed variables.
+
+2004-05-24  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * s-osinte-linux-ia64.ads: Renamed system-linux-ia64.ads
+
+2004-05-19  Joel Brobecker  <brobecker@gnat.com>
+
+       * exp_dbug.ads: Correct comments concerning handling of overloading,
+       since we no longer use $ anymore.
+
+2004-05-19  Sergey Rybin  <rybin@act-europe.fr>
+
+       * sem_ch10.adb (Optional_Subunit): When loading a subunit, do not
+       ignore errors if ASIS_Mode is set. This prevents creating ASIS trees
+       with illegal subunits.
+
+2004-05-19  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch6.adb (Check_Following_Pragma): When compiling a subprogram
+       body with front-end inlining enabled, check whether an inline pragma
+       appears immediately after the body and applies to it.
+
+       * sem_prag.adb (Cannot_Inline): Emit warning if front-end inlining is
+       enabled and the pragma appears after the body of the subprogram.
+
+2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       Part of function-at-a-time conversion
+
+       * misc.c (adjust_decl_rtl): Deleted.
+       (LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+       Define.
+
+       * gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
+       (add_decl_stmt, add_stmt, block_has_vars): New functions.
+       (gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
+
+       * decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
+       when making a decl.
+       (gnat_to_gnu_entity): Likewise.
+       Use add_stmt to update setjmp buffer.
+       Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
+       flush_addressof.
+       No longer call adjust_decl_rtl.
+       (DECL_INIT_BY_ASSIGN_P): New macro.
+       (DECL_STMT_VAR): Likewise.
+
+       * trans.c (gigi): Call start_block_stmt to make the outermost
+       BLOCK_STMT.
+       (gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
+       Call start_block_stmt and end_block_stmt temporarily.
+       Use gnat_expand_stmt instead of expand_expr_stmt.
+       (add_decl_stmt): New function.
+       (tree_transform): Call it.
+       (add_stmt): Also emit initializing assignment for DECL_STMT if needed.
+       (end_block_stmt): Set type and NULL_STMT.
+       (gnat_expand_stmt): Make recursize call instead of calling
+       expand_expr_stmt.
+       (gnat_expand_stmt, case DECL_STMT): New case.
+       (set_lineno_from_sloc): Do nothing if global.
+       (gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
+       (start_block_stmt, add_stmt, end_block_stmt): New functions.
+       (build_block_stmt): Call them.
+       (gnat_to_code): Don't expand NULL_STMT.
+       (build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
+       args.
+       (tree_transform): Likewise.
+       (tree_transform, case N_Null_Statement): Return NULL_STMT.
+       (gnat_expand_stmt, case NULL_STMT): New case.
+       (gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
+       IF_STMT_TRUE.
+
+       * utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
+       TREE_ADDRESSABLE.
+
+       * utils.c (create_var_decl): Do not call expand_decl or
+       expand_decl_init.
+       Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
+       Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
+       here.
+       (struct e_stack): Add chain_next to GTY.
+       (struct binding_level): Deleted.
+       (struct ada_binding_level): New struct.
+       (free_block_chain): New.
+       (global_binding_level, clear_binding_level): Deleted.
+       (global_bindings_p): Rework to see if no chain.
+       (kept_level_p, set_block): Deleted.
+       (gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
+       new data structure and work directly on BLOCK node.
+       (gnat_poplevel): Similarly.
+       (get_decls): Look at BLOCK_VARS.
+       (insert_block): Work directly on BLOCK node.
+       (block_has_var): New function.
+       (pushdecl): Rework for new binding structures.
+       (gnat_init_decl_processing): Rename and rework calls to pushlevel and
+       poplevel.
+       (build_subprog_body): Likewise.
+       (end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
+
+       * ada-tree.def (DECL_STMT, NULL_STMT): New codes.
+
+       * ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
+       (DECL_STMT_VAR): Likewise.
+
+2004-05-17  Robert Dewar  <dewar@gnat.com>
+
+       * restrict.ads, restrict.adb (Process_Restriction_Synonym): New
+       procedure
+
+       * sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
+       of restriction synonyums by using
+       Restrict.Process_Restriction_Synonyms.
+
+       * snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
+
+       * s-restri.ads (Tasking_Allowed): Correct missing comment
+
+       * s-rident.ads: Add entries for restriction synonyms
+
+       * ali.adb: Fix some problems with badly formatted ALI files that can
+       result in infinite loops.
+
+       * s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
+       s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
+       s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
+       s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
+       s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
+       s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
+       s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
+       s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
+       s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
+       a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
+       exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
+       s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
+       s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
+       s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
+       s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
+       s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
+       s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
+       s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
+       s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
+       s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
+       to Task_Id (minor cleanup).
+
+2004-05-17  Vincent Celier  <celier@gnat.com>
+
+       * g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
+       directory separator.
+
+       * prj-proc.adb (Recursive_Process): Inherit attribute Languages from
+       project being extended, if Languages is not declared in extending
+       project.
+
+2004-05-17  Javier Miranda  <miranda@gnat.com>
+
+       * sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
+       limited view of a visible sibling.
+
+2004-05-14  Robert Dewar  <dewar@gnat.com>
+
+       * gnat_ugn.texi: Minor change to -gnatS documentation
+
+       * sprint.adb: Remove some instances of Assert (False) and for this
+       purpose replace them by output of a ??? string.
+
+       * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma
+       Assert (False).
+
+       * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit
+       flag processing. This was suppressing required dependencies in
+       No_Run_Time mode and is not needed since the binder does not generate
+       references for things in libgnat anyway.
+
+       * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC
+       warning.
+
+2004-05-14  Thomas Quinot  <quinot@act-europe.fr>
+
+       * gnat_ugn.texi: Document AIX-specific issue with initialization of
+       resolver library.
+
+       * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference
+       action for the case of an actual parameter in an init proc call.
+
+2004-05-14  Ed Schonberg  <schonberg@gnat.com>
+
+       * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected
+       subtype, check visible entities in base type.
+
+       * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup
+       actions if the object is a renaming.
+
+       * sem_ch12.adb (Same_Instantiated_Entity): Predicate for
+       Check_Formal_Package_Instance, to determine more precisely when the
+       formal and the actual denote the same entity.
+
+2004-05-14  Javier Miranda  <miranda@gnat.com>
+
+       * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262
+
+       * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity
+       corresponding to a private_with must be removed from visibility; it
+       will be made visible later, just before we analyze the private part of
+       the package.
+       (Check_Private_Child_Unit): Allow private_with clauses in public
+       siblings.
+       (Install_Siblings): Make visible the private entities of private-withed
+       siblings.
+       (Install_Withed_Unit): Do not install the private withed unit if we
+       are compiling a package declaration and the Private_With_OK flag was
+       not set by the caller. These declarations will be installed later,
+       just before we analyze the private part of the package.
+
+       * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected
+       during the evaluation of the expression that initializes the object,
+       decorate it with the expected type to avoid cascade errors.
+       Code cleanup.
+
+       * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library
+       subprogram we have to install the private_with clauses after its
+       specification has been analyzed (as documented in AI-262.TXT).
+
+       * sem_ch8.adb (Has_Private_With): New function. Determines if the
+       current compilation unit has a private with on a given entity.
+       (Find_Direct_Name): Detect the Beaujolais problem described in
+       AI-262.TXT
+
+       * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It
+       provides the functionality of the function Is_Ancestor that was
+       previously available in sem_ch10. It has been renamed to avoid
+       overloading.
+
+       * sprint.adb (Sprint_Node_Actual): Print limited_with clauses
+
+2004-05-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * utils.c (build_vms_descriptor): Use SImode pointers.
+
+2004-05-14  Vasiliy Fofanov  <fofanov@act-europe.fr>
+
+       * gnat_ugn.texi: Revised chapter "GNAT and Libraries".
+
+2004-05-14  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-14  Arnaud Charlet  <charlet@act-europe.fr>
+
+       Renaming of target specific files for clarity
+
+        * Makefile.in: Rename GNAT target specific files.
+
+       * 31soccon.ads, 31soliop.ads 35soccon.ads, 3asoccon.ads,
+       3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3psoccon.ads,
+       3ssoccon.ads, 3ssoliop.ads, 3veacodu.adb, 3vexpect.adb,
+       3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb,
+       3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads,
+       3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 41intnam.ads,
+       42intnam.ads, 45intnam.ads, 4aintnam.ads, 4cintnam.ads,
+       4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads,
+       4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads,
+       4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads,
+       4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads,
+       4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads,
+       51osinte.adb, 51osinte.ads, 51system.ads,
+       52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+       55osinte.adb, 55osinte.ads, 55system.ads, 56osinte.adb,
+       56osinte.ads, 56system.ads, 56taprop.adb, 56taspri.ads,
+       56tpopsp.adb, 57system.ads, 58system.ads,
+       5amastop.adb, 5aml-tgt.adb, 5aosinte.adb, 5aosinte.ads,
+       5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
+       5atpopsp.adb, 5avxwork.ads, 5bml-tgt.adb, 5bosinte.adb,
+       5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5csystem.ads,
+       5dsystem.ads, 5esystem.ads, 5fintman.adb, 5fosinte.adb,
+       5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
+       5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gml-tgt.adb,
+       5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
+       5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb,
+       5hml-tgt.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads,
+       5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb,
+       5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads,
+       5ksystem.ads, 5kvxwork.ads, 5lml-tgt.adb, 5losinte.ads,
+       5lparame.adb, 5lsystem.ads, 5msystem.ads, 5mvxwork.ads,
+       5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5nsystem.ads,
+       5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb,
+       5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb,
+       5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads,
+       5posprim.adb, 5psystem.ads, 5pvxwork.ads, 5sintman.adb,
+       5sml-tgt.adb, 5sosinte.adb, 5sosinte.ads, 5sosprim.adb,
+       5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb,
+       5stasinf.ads, 5staspri.ads, 5stpopsp.adb, 5svxwork.ads,
+       5tosinte.ads, 5usystem.ads, 5vasthan.adb, 5vdirval.adb,
+       5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
+       5vmastop.adb, 5vml-tgt.adb, 5vosinte.adb, 5vosinte.ads,
+       5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsymbol.adb,
+       5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
+       5vtpopde.ads, 5vtraent.adb, 5vtraent.ads, 5vvaflop.adb,
+       5wdirval.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
+       5wml-tgt.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads,
+       5wtaprop.adb, 5wtaspri.ads, 5xparame.ads, 5xsystem.ads,
+       5xvxwork.ads, 5yparame.ads, 5ysystem.ads, 5zinterr.adb,
+       5zintman.adb, 5zintman.ads, 5zml-tgt.adb, 5zosinte.adb,
+       5zosinte.ads, 5zosprim.adb, 5zparame.ads, 5zstchop.adb,
+       5zsystem.ads, 5ztaprop.adb, 5ztaspri.ads, 5ztfsetr.adb,
+       5ztpopsp.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads,
+       7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb,
+       7staprop.adb, 7staspri.ads, 7stfsetr.adb, 7stpopsp.adb,
+       7straceb.adb, 7straces.adb, 7strafor.adb, 7strafor.ads,
+       7stratas.adb, 86numaux.adb, 86numaux.ads: Replaced by files below.
+
+       * a-caldel-vms.adb, a-calend-mingw.adb, a-calend-vms.adb,
+       a-calend-vms.ads, a-dirval-mingw.adb, a-dirval-vms.adb,
+       a-excpol-abort.adb, a-excpol-interix.adb, a-intnam-aix.ads,
+       a-intnam-dummy.ads, a-intnam-freebsd.ads, a-intnam-hpux.ads,
+       a-intnam-interix.ads, a-intnam-irix.ads, a-intnam-linux.ads,
+       a-intnam-lynxos.ads, a-intnam-mingw.ads, a-intnam-os2.ads,
+       a-intnam-solaris.ads, a-intnam-tru64.ads, a-intnam-unixware.ads,
+       a-intnam-vms.ads, a-intnam-vxworks.ads, a-numaux-libc-x86.ads,
+       a-numaux-vxworks.ads, a-numaux-x86.adb, a-numaux-x86.ads,
+       a-sytaco-vxworks.adb, a-sytaco-vxworks.ads, g-eacodu-vms.adb,
+       g-expect-vms.adb, g-soccon-aix.ads, g-soccon-freebsd.ads,
+       g-soccon-hpux.ads, g-soccon-interix.ads, g-soccon-irix.ads,
+       g-soccon-mingw.ads, g-soccon-solaris.ads, g-soccon-tru64.ads,
+       g-soccon-unixware.ads, g-soccon-vms.adb, g-soccon-vxworks.ads,
+       g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vms.adb,
+       g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
+       g-soliop-mingw.ads, g-soliop-solaris.ads, g-soliop-unixware.ads,
+       g-trasym-vms.adb, i-cpp-vms.adb, i-cstrea-vms.adb,
+       interfac-vms.ads, mlib-tgt-aix.adb, mlib-tgt-hpux.adb,
+       mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-mingw.adb,
+       mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb,
+       mlib-tgt-vxworks.adb, s-asthan-vms.adb, s-gloloc-mingw.adb,
+       s-inmaop-dummy.adb, s-inmaop-posix.adb, s-inmaop-vms.adb,
+       s-interr-dummy.adb, s-interr-sigaction.adb, s-interr-vms.adb,
+       s-interr-vxworks.adb, s-intman-dummy.adb, s-intman-irix.adb,
+       s-intman-irix-athread.adb, s-intman-mingw.adb, s-intman-posix.adb,
+       s-intman-solaris.adb, s-intman-vms.adb, s-intman-vms.ads,
+       s-intman-vxworks.adb, s-intman-vxworks.ads, s-mastop-irix.adb,
+       s-mastop-tru64.adb, s-mastop-vms.adb, s-mastop-x86.adb,
+       s-memory-mingw.adb, s-osinte-aix.adb, s-osinte-aix.ads,
+       s-osinte-aix-fsu.ads, s-osinte-dummy.ads, s-osinte-freebsd.adb,
+       s-osinte-freebsd.ads, s-osinte-fsu.adb, s-osinte-hpux.ads,
+       s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads, s-osinte-interix.ads,
+       s-osinte-irix.adb, s-osinte-irix.ads, s-osinte-irix-athread.ads,
+       s-osinte-linux.ads, s-osinte-linux-fsu.ads, s-osinte-linux-ia64.ads,
+       s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
+       s-osinte-lynxos.ads, s-osinte-mingw.ads, s-osinte-os2.adb,
+       s-osinte-os2.ads, s-osinte-posix.adb, s-osinte-solaris.adb,
+       s-osinte-solaris.ads, s-osinte-solaris-fsu.ads,
+       s-osinte-solaris-posix.ads, s-osinte-tru64.adb, s-osinte-tru64.ads,
+       s-osinte-unixware.adb, s-osinte-unixware.ads, s-osinte-vms.adb,
+       s-osinte-vms.ads, s-osinte-vxworks.adb,
+       s-osinte-vxworks.ads, s-osprim-mingw.adb,
+       s-osprim-os2.adb, s-osprim-posix.adb, s-osprim-solaris.adb,
+       s-osprim-unix.adb, s-osprim-vms.adb, s-osprim-vms.ads,
+       s-osprim-vxworks.adb, s-parame-ae653.ads, s-parame-hpux.ads,
+       s-parame-linux.adb, s-parame-os2.adb, s-parame-solaris.adb,
+       s-parame-vms.ads, s-parame-vms-restrict.ads, s-parame-vxworks.ads,
+       s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
+       s-stchop-vxworks.adb, s-taprop-dummy.adb,
+       s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+       s-taprop-irix-athread.adb, s-taprop-linux.adb, s-taprop-lynxos.adb,
+       s-taprop-mingw.adb, s-taprop-os2.adb, s-taprop-posix.adb,
+       s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+       s-taprop-vxworks.adb, s-tasinf-irix.ads, s-tasinf-irix-athread.adb,
+       s-tasinf-irix-athread.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads,
+       s-tasinf-tru64.ads, s-taspri-dummy.ads, s-taspri-hpux-dce.ads,
+       s-taspri-linux.ads, s-taspri-lynxos.ads, s-taspri-mingw.ads,
+       s-taspri-os2.ads, s-taspri-posix.ads, s-taspri-solaris.ads,
+       s-taspri-tru64.ads, s-taspri-vms.ads, s-taspri-vxworks.ads,
+       s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tpopde-vms.adb,
+       s-tpopde-vms.ads, s-tpopsp-lynxos.adb, s-tpopsp-posix.adb,
+       s-tpopsp-posix-foreign.adb, s-tpopsp-solaris.adb, s-tpopsp-vxworks.adb,
+       s-traceb-hpux.adb, s-traceb-mastop.adb, s-traces-default.adb,
+       s-traent-vms.adb, s-traent-vms.ads, s-trafor-default.adb,
+       s-trafor-default.ads, s-tratas-default.adb, s-vaflop-vms.adb,
+       s-vxwork-alpha.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
+       s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, s-vxwork-xscale.ads,
+       symbols-vms.adb, system-aix.ads, system-freebsd-x86.ads,
+       system-hpux.ads, system-interix.ads, system-irix-n32.ads,
+       system-irix-o32.ads, system-linux-x86_64.ads,
+       system-linux-x86.ads, system-lynxos-ppc.ads, system-lynxos-x86.ads,
+       system-mingw.ads, system-os2.ads, system-solaris-sparc.ads,
+       system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads,
+       system-unixware.ads, system-vms.ads, system-vms-zcx.ads,
+       system-vxworks-alpha.ads, system-vxworks-m68k.ads,
+       system-vxworks-mips.ads, system-vxworks-ppc.ads,
+       system-vxworks-sparcv9.ads, system-vxworks-xscale.ads: Replace files
+       above.
+
+2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * trans.c (gnat_stabilize_reference_1): Remove case 'b'.
+
+2004-05-13  Diego Novillo  <dnovillo@redhat.com>
+
+       Merge from tree-ssa-20020619-branch.
+
+       * config-lang.in (boot_language, build_by_default): Set
+       to no.
+       * utils.c (unchecked_convert): Use OEP_ONLY_CONST.
+       (max_size): Add static chain op for call_expr.
+
+2004-05-12  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/15331
+       * 5gmastop.adb (Roff): Choose between '4' and '0', not '4' and ' '.
+
+2004-05-11  Roger Sayle  <roger@eyesopen.com>
+
+       * utils.c (max_size): Use MIN_EXPR to find the minimum value of a
+       COND_EXPR.
+
+2004-05-10  Doug Rupp  <rupp@gnat.com>
+
+       * 5qsystem.ads: Remove Short_Address subtype declaration. Moved to
+       system.aux_dec.
+
+       * s-auxdec.ads: Add Short_Address subtype (moved here from System).
+
+       * Makefile.in: [VMS]: Add translation for 5qauxdec.ads.
+
+       * init.c: [VMS] Macroize LIB$ calls for IA64 and Alpha.
+       Fixes undefined symbols in IA64 gnatlib.
+
+       * 5vinmaop.adb: Reference s-auxdec for Short_Address.
+
+       * 5xsystem.ads, 5vsystem.ads: Back out last change (addition of subtype
+       Short_Address). This will be moved to system.auxdec.
+
+2004-05-10  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_util.adb: Replace test for presence of a node that is always
+       present with a call to Discard_Node.
+
+       * sem_ch10.adb (Analyze_Compilation_Unit): Remove superfluous call to
+       Analyze on the library unit node after generation of distribution stub
+       constructs.  The call was a no-op because Unit_Node has already been
+       Analyzed, and the tree fragments for the distribution stubs are
+       analyzed as they are inserted in Exp_Dist.
+       Update comment regarding to distribution stubs to reflect that we
+       do not generate stub in separate files anymore.
+
+       * einfo.ads: Clarify the fact that a tagged private type has the
+       E_Record_Type_With_Private Ekind.
+
+       * erroutc.adb: Minor reformatting
+
+       * erroutc.ads (Max_Msg_Length): Increase to cover possible larger
+       values if line length is increased using -gnatyM (noticed during code
+       reading).
+
+       * eval_fat.adb: Minor reformatting
+       Put spaces around exponentiation operator
+
+2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15005
+       * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): If prefix
+       has been rewritten as an explicit dereference, retrieve type of
+       original node to check for possibly unconstrained record type.
+
+2004-05-10  Ed Schonberg  <schonberg@gnat.com>
+
+       * exp_ch7.adb (Check_Visibly_Controlled): If given operation is not
+       overriding, use the operation of the parent unconditionally.
+
+       * sem_ch4.adb (Remove_Address_Interpretations): Remove address
+       operation when either operand is a literal, to avoid further
+       ambiguities.
+
+       * sem_ch6.adb (New_Overloaded_Entity): If new entity is inherited and
+       overridden by a previous explicit declaration, mark the previous entity
+       as overriding.
+
+       * sem_disp.adb (Check_Dispatching_Operation): New predicate
+       Is_Visibly_Controlled, to determine whether a declaration of a
+       primitive control operation for a derived type overrides an inherited
+       one. Add warning if the explicit declaration does not override.
+
+2004-05-10  Vincent Celier  <celier@gnat.com>
+
+       * gnatls.adb (Gnatls): Initialize Snames, to avoid assertion error in
+       some cases when the sources are no longer present.
+
+       * make.adb (Collect_Arguments): Fail if an external source, not part
+       of any project need to be compiled, when switch -x has not been
+       specified.
+
+       * makeusg.adb: Document new switch -x
+
+       * opt.ads (External_Unit_Compilation_Allowed): New Boolean flag,
+       defaulted to False.
+
+       * switch-m.adb (Scan_Make_Switches): New switch -x
+
+       * vms_data.ads: Add VMS qualifier /NON_PROJECT_UNIT_COMPILATION for
+       gnatmake switch -x.
+
+       * gnat_ugn.texi: Document new gnatmake switch -x
+
+2004-05-10  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * misc.c (gnat_init_options): Set flag_zero_initialized_in_bss to 0.
+
+       * utils.c (create_var_decl): Do not modify the DECL_COMMON flag.
+       (process_attributes): Likewise.
+
+2004-05-10  Joel Brobecker  <brobecker@gnat.com>
+
+       * s-inmaop.ads: Fix spelling mistake in one of the comments.
+
+2004-05-10  Robert Dewar  <dewar@gnat.com>
+
+       * gnat_ugn.texi: Document that for config pragma files, the maximum
+       line length is always 32767.
+
+       * gnat_rm.texi: For pragma Eliminate, note that concatenation of string
+       literals is now allowed.
+
+       * gnat-style.texi: Remove statement about splitting long lines before
+       an operator rather than after, since we do not follow this rule at all.
+       Clarify rule (really lack of rule) for spaces around exponentiation
+
+       * sem_elim.adb: Allow concatenation of string literals as well as a
+       single string literal for pragma arguments.
+
+       * sem_prag.ads, sem_prag.adb: (Is_Config_Static_String): New function
+
+       * a-textio.adb (Terminate_Line): Do not add line feed if nothing
+       written for append case.
+
+       * frontend.adb: Changes to avoid checking max line length in config
+       pragma files.
+
+       * g-os_lib.ads: Minor reformatting
+
+       * mlib-utl.adb: Do not define Max_Line_Length locally (definition was
+       wrong in any case. Instead use standard value. Noticed during code
+       reading.
+
+       * opt.ads (Max_Line_Length): New field, used to implement removal of
+       limitation on length of lines when scanning config pragma files.
+
+       * osint.ads, prj-dect.adb, prj-strt.adb, prj-tree.adb,
+       makeutl.ads, makeutl.adb: Minor reformatting
+
+       * scn.adb: Do not check line length while scanning config pragma files
+       Do not check line length while scanning out license information
+
+       * scng.adb: Changes to avoid line length checks while parsing config
+       pragma files.
+
+2004-05-10  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-05  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * osint.adb (Find_Program_Name): Fix handling of VMS version
+       number.
+
+2004-05-05  Emmanuel Briot  <briot@act-europe.fr>
+
+       * g-os_lib.ads (Invalid_Time): New constant
+
+       * adaint.h, adaint.c (__gnat_file_time_name, __gnat_file_time_fd): Now
+       return OS_Time instead of time_t to match what is imported by Ada.
+       Now return -1 if the file doesn't exist, instead of a random value
+
+2004-05-05  Robert Dewar  <dewar@gnat.com>
+
+       * usage.adb: Add line for -gnatR?s switch
+
+       * sem_ch13.adb, exp_ch2.adb: Minor reformatting
+
+       * g-regpat.ads, g-regpat.adb: Add documentation on handling of Size
+       and for Match (Data_First, Data_last)
+
+       * lib-writ.adb (Write_With_Lines): Ensure that correct index number is
+       written when we are dealing with multi-unit files.
+
+2004-05-05  Jerome Guitton  <guitton@act-europe.fr>
+
+       * Makefile.in: Remove unused targets and variables.
+
+2004-05-05  Vincent Celier  <celier@gnat.com>
+
+       * switch-m.adb: New gnatmake switch -eI
+
+       * vms_data.ads: Add VMS equivalents of new gnatclean swith -innn and
+       of new gnatmake switch -eInnn.
+
+       * makegpr.adb: Take into account new parameters Index and Src_Index in
+       Prj.Util.
+
+       * clean.adb: Implement support for multi-unit sources, including new
+       switch -i.
+
+       * gnatcmd.adb (GNATCmd): Call Prj.Util.Value_Of with new parameter
+       Src_Index.
+
+       * make.ads, make.adb (Insert_Q): New parameter Index, defaulted to 0
+       (Extract_From_Q): New out parameter Index
+       (Mark, Is_Marked): Subprograms moved to Makeutl
+       (Switches_Of): New parameter Source_Index
+       (Add_Switch): New parameter Index
+       (Check): New parameter Source_Index
+       (Collect_Arguments): New parameter Source_Index
+       (Collect_Arguments_And_Compile): New parameter Source_Index
+       (Compile): New parameter Source_Index
+       Put subprograms in alphabetical order
+       Add support for multi-source sources, including in project files.
+
+       * makeutl.ads, makeutl.adb (Unit_Index_Of): New function
+       (Mark, Is_Marked, Delete_All_Marks): New subprograms, moved from
+       Make.
+
+       * makeusg.adb: New gnatmake switch -eInnn
+
+       * mlib-prj.adb (Build_Library): Add new parameter Src_Index to call to
+       Prj.Util.Value_Of.
+
+       * opt.ads (Main_Index): New variable, defaulted to 0.
+
+       * osint.ads, osinte.adb (Add_File): New parameter Index
+       (Current_Source_Index): New function
+
+       * prj.adb: Take into account new components Index and Src_Index
+
+       * prj.ads (String_Element): New component Index
+       (Variable_Value): New component Index
+       (Array_Element): New component Src_Index
+
+       * prj-attr.adb: Indicate that optional index may be specified for
+       attributes Main, Executable, Spec, Body and some of Switches.
+
+       * prj-attr.ads (Attribute_Kind): New values for optional indexes
+       (Attribute_Record): New component Optional_Index
+
+       * prj-com.ads (File_Name_Data): New component Index
+
+       * prj-dect.adb (Parse_Attribute_Declaration): Process optional index
+
+       * prj-env.adb (Put): Output optional index
+
+       * prj-makr.adb: Put indexes for multi-unit sources in SFN pragmas and
+       attributes Spec and Body.
+
+       * prj-nmsc.adb: Process optional indexes
+
+       * prj-pp.adb: Ouput "at" for optional indexes
+
+       * prj-proc.adb: Take into account optional indexes
+
+       * prj-strt.ads, prj-strt.adb (Terms): New Boolean parameter
+       Optional_Index. For string literal,
+       process optional index when Optional_Index is True.
+       (Parse_Expresion): New Boolean parameter Optional_Index
+
+       * prj-tree.ads, prj-tree.adb (Source_Index_Of): New function
+       (Set_Source_Index_Of): New procedure
+
+       * prj-util.adb (Executable_Of, Value_Of): Take into account optional
+       index.
+
+       * prj-util.ads (Executable_Of): New parameter Index
+       (Value_Of (Name_Id, Array_Element_Id) returning Variable_Value):
+       New parameter Src_Index, defaulted to 0.
+
+2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15257
+       * sem_ch3.adb (Access_Definition): If this is an access parameter
+       whose designated type is imported through a limited_with clause, do
+       not add the enclosing subprogram to the list of private dependents of
+       the type.
+
+2004-05-05  Ed Schonberg  <schonberg@gnat.com>
+
+       PR ada/15258
+       * sem_ch6.adb (Base_Types_Match): True if one type is imported through
+       a limited_with clause, and the other is its non-limited view.
+
+2004-05-05  Thomas Quinot  <quinot@act-europe.fr>
+
+       * cstand.adb (Create_Standard): Initialize Stand.Boolean_Literals.
+
+       * exp_attr.adb, exp_ch5.adb, exp_ch9.adb, exp_disp.adb,
+       exp_fixd.adb, sem_attr.adb, sem_dist.adb, sem_util.adb: Use
+       Stand.Boolean_Literals to produce references to entities
+       Standard_False and Standard_True from compile-time computed boolean
+       values.
+
+       * stand.ads (Boolean_Literals): New variable, provides the entity
+       values for False and True, for use by the expander.
+
+2004-05-05  Doug Rupp  <rupp@gnat.com>
+
+       * 5vinmaop.adb, 5[vx]system.ads: Add Short_Address subtype
+       5vinmaop.adb: Unchecked convert Short_Address vice Address
+
+       * adaint.c, raise.c: Caste CRTL function return value
+       to avoid gcc error on 32/64 bit IVMS.
+
+       * Makefile.in [VMS]: Use iar archiver if host = Alpha/VMS and
+       target = IA64/VMS.
+
+       * init.c[VMS]: Only call Alpha specific __gnat_error_prehandler IN_RTS.
+
+       * 5qsystem.ads (Address): Declare as Long_Integer
+       (Short_Address): Declare as 32 bit subtype of Address
+       Declare  abstract address operations to avoid gratuitous ambiguities.
+
+2004-05-05  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * gnat_rm.texi: Use the new restriction Simple_Barriers (AI-249)
+       instead of the old Boolean_Entry_Barriers.
+       Ditto for No_Task_Attributes_Package instead of No_Task_Attributes.
+
+2004-05-05  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * 50system.ads, 59system.ads, s-thread.ads: Removed, no longer used.
+
+2004-05-03  Olivier Hainque  <hainque@act-europe.fr>
+
+       PR ada/15152
+
+       * exp_ch2.adb (Expand_Current_Value): Leave Machine_Code Asm arguments
+       alone. Replacing object references by literals is inappropriate in a
+       so low level context.
+
+2004-05-03  Arnaud Charlet  <charlet@act-europe.fr>
+
+       * a-exexpr.adb: Add comments
+
+2004-05-03  Joel Brobecker  <brobecker@gnat.com>
+
+       * a-tags.adb (Tag_Table): Add Index_Check pragma Suppress. Allows us to
+       declare the Ancestor_Tags array in Type_Specific_Data with a small size
+       without risking a bounds check error when accessing one of its
+       components.
+       (Type_Specific_Data): Define Ancestor_Tags as a small array.
+       This prevents us from hitting a limitation during the debug info
+       generation when using stabs.
+
+       * a-tags.adb (Dispatch_Table): Define the Prims_Ptr component as a
+       small array.
+       This prevents us from hitting a limitation during the debug info
+       generation when using stabs.
+
+2004-05-03  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       lang-specs.h: Remove -gnatz* from specs.
+
+2004-05-03  Vincent Celier  <celier@gnat.com>
+
+       * gprmake.adb, makegpr.ads, makegpr.adb: New files.
+
+       * Make-lang.in, Makefile.in: Add gprmake
+
+2004-05-03  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_aggr.adb: Fix typo in comment.
+
+2004-05-03  Robert Dewar  <dewar@gnat.com>
+
+       * make.adb: Minor reformatting
+
+       * rtsfind.ads, rtsfind.adb: (RTU_Loaded): New function
+
+       * sem_attr.adb (Eval_Attribute, case Type_Class): Fix check for address
+       so that it works when address is not a private type.
+
+       * sem_ch13.adb (Check_Expr_Constants, case N_Integer_Literal): Deal
+       properly with rewritten unchecked conversions. This prevents
+       order-of-elaboration issues that can otherwise arise.
+       (Minimum_Size): Don't check size of access types under VMS
+
+       * sem_ch4.adb (Remove_Address_Interpretation): New circuit to remove
+       interpretations of integer literals as type System.Address.
+
+       * sem_util.ads, sem_util.adb (Is_Descendent_Of_Address): New function
+       (Is_Descendent_Of): New function
+
+2004-05-03  Jose Ruiz  <ruiz@act-europe.fr>
+
+       * sem_prag.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+       Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length.
+       No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment.
+
+       * sem_res.adb: Use the new restriction Max_Entry_Queue_Length instead
+       of the old Max_Entry_Queue_Depth.
+
+       * snames.adb: Boolean_Entry_Barriers is a synonym of Simple_Barriers.
+       Max_Entry_Queue_Depth is a synonym of Max_Entry_Queue_Length
+       No_Dynamic_Interrupts is a synonym of No_Dynamic_Attachment
+
+       * snames.ads: New entry for proper handling of Boolean_Entry_Barriers.
+       New entry for proper handling of Max_Entry_Queue_Depth.
+       New entry for proper handling of No_Dynamic_Interrupts.
+
+       * s-rident.ads: Adding restriction Simple_Barriers (AI-00249) that
+       supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+       Adding restriction Max_Entry_Queue_Length (AI-00249) that supersedes
+       the GNAT specific restriction Max_Entry_Queue_Depth.
+       Adding restriction No_Dynamic_Attachment (AI-00249) that supersedes
+       the GNAT specific restriction No_Dynamic_Interrupts.
+
+       * restrict.ads, restrict.adb: Use the new restriction Simple_Barriers
+       instead of the old Boolean_Entry_Barriers.
+       Use the new restriction No_Dynamic_Attachment instead of the old
+       No_Dynamic_Interrupts.
+
+       * exp_ch9.adb: Check restriction Simple_Barriers (AI-00249) that
+       supersedes the GNAT specific restriction Boolean_Entry_Barriers.
+
+       * gnatbind.adb: Use the new restriction Max_Entry_Queue_Length instead
+       of the old Max_Entry_Queue_Depth.
+
+2004-05-03  GNAT Script  <nobody@gnat.com>
+
+       * Make-lang.in: Makefile automatically updated
+
+2004-04-29  Ed Schonberg  <schonberg@gnat.com>
+
+       * checks.adb (Enable_Range_Check): If the prefix of an index component
+       is an access to an unconstrained array, perform check unconditionally.
+
+2004-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * decl.c (gnat_to_gnu_field): Also call make_packable_type if
+       Component_Clause.
+
+2004-04-29  Olivier Hainque  <hainque@act-europe.fr>
+
+       * init.c (__gnat_install_handler, __gnat_error_handler): Remove
+       alternate stack setting. There was no support for the tasking cases
+       and the changes eventually caused a number of side-effect failures in
+       the non-tasking case too.
+
+2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
+       -gnats is passed.
+
+2004-04-29  Vincent Celier  <celier@gnat.com>
+
+       * make.adb (Gnatmake): Increase max size of argument array for
+       gnatbind for the potential addition of -F.
+       If there are Stand-Alone Library projects, invoke gnatbind with -F to
+       be sure that elaboration flags will be checked.
+
+       * switch-c.adb: Correct call to Scan_Pos for -gnateI
+
+2004-04-29  Thomas Quinot  <quinot@act-europe.fr>
+
+       * sem_warn.adb (Check_References): Move '<access-variable> may be
+       null' warning out of under Warn_On_No_Value_Assigned.
+
+2004-04-29  Ed Falis  <falis@gnat.com>
+
+       * gnat_ugn.texi: Fixed texi error
+
+2004-04-29  Robert Dewar  <dewar@gnat.com>
+
+       * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
+       abstract operations if they come from predefined files.
+
+       * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
+       Dynamic, not RM).
+
+       * s-addope.adb: Correct obvious error in mod function
+
+2004-04-28  Andrew W. Reynolds  <awreynolds@mac.com>
+
+       * Makefile.in: Add target pairs for powerpc darwin*
+       tasking support.
+
+       * a-intnam-darwin.ads, s-osinte-darwin.adb,
+       s-osinte-darwin.ads, system-darwin-ppc.ads: New files.
+
 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * Makefile.in: Add target macro definitions for s390*-linux*.
 
 2004-04-23  Laurent GUERBY <laurent@guerby.net>
 
-       * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after 
+       * Makefile.in: Remove RANLIB_TEST, use -$(RANLIB) including after
        install.
-       
+
 2004-04-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
        * Make-lang.in (GNATBIND_OBJS): Add s-addope.o.
        * Make-lang.in: Add entry for s-addope.o to GNAT1 objects
        * s-addope.ads, s-addope.adb: New files.
 
-       * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, 
-       s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb, 
+       * s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
+       s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
        s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
        System.Address to be non-private and signed.
 
 2004-04-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * trans.c (tree_transform, build_unit_elab): Don't call getdecls.
-        (tree_transform, case N_If_Statement): Remove non-determinism.
+       (tree_transform, case N_If_Statement): Remove non-determinism.
 
        * utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
 
 
        * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram
 
-       * sinfo.ads, sinfo.adb: 
+       * sinfo.ads, sinfo.adb:
        New field Access_To_Subprogram_Definition in Access_Definition nodes
 
        * sem_ch6.adb (Process_Formals): Move here the code that creates and
 
        PR ada/14988 (partial)
        * impunit.adb: Fix typo.
-       
+
 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * Make-lang.in: Remove obsolete rts-none, rts-cert, install-rts-none,
        duplication between normal entities and those declared as renamings.
        No functional change.
 
-       * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently     
+       * s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
        inline functions returning an unconstrained result.
 
 2004-04-08  Eric Botcazou  <ebotcazou@act-europe.fr>
 
 2004-03-19  Laurent Guerby <laurent@guerby.net>
 
-       * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of 
+       * sem_prag.adb (Suppress_Unsuppress_Echeck): use loop instead of
        aggregate, allows bootstrap from 3.3 on powerpc-darwin.
-       
+
 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
 
        * a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
        i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
-       5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb, 
+       5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
        5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
        unchecked conversion to spec to avoid warnings.
 
 
        PR ada/6637, PR ada/5911
        Merge with libada-branch:
-        * config-lang.in: Build libada only when ada is built.
+       * config-lang.in: Build libada only when ada is built.
 
 2004-02-09  Ed Schonberg  <schonberg@gnat.com>
 
 
 2004-02-04  Ed Schonberg  <schonberg@gnat.com>
 
-       * sem_prag.adb: 
+       * sem_prag.adb:
        (Analyze_Pragma, case Warnings): In an inlined body, as in an instance
         body, an identifier may be wrapped in an unchecked conversion.
 
 
 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
 
-       * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir). 
+       * Make-lang.in (doc/gnat_ug_unx.dvi): Use $(abs_docdir).
        (doc/gnat_ug_vms.dvi, doc/gnat_ug_unx.dvi): Likewise.
        (doc/gnat_ug_unx.dvi, doc/gnat-style.dvi): Likewise.
 
        (Wakeup): Likewise.
        (Exit_Task): Use Result.
        (Check_No_Locks): Mark Self_ID unreferenced.
-       
+
        * 5gtasinf.adb (New_Sproc): Make Attr constant.
        (Bound_Thread_Attributes): Make Sproc constant.
        (New_Bound_Thread_Attributes): Likewise.