+2004-04-06 Pascal Obry <obry@gnat.com>
+
+ * adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
+
+ * osint.adb (Program_Name): Do not look past a directory separator.
+
+2004-04-06 Thomas Quinot <quinot@act-europe.fr>
+
+ * atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
+
+ * exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
+ requirement for preserving a copy of the original assignment node.
+
+ * sinfo.ads: Update comment (Original_Tree -> Original_Node).
+
+2004-04-06 Olivier Hainque <hainque@act-europe.fr>
+
+ (__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
+ when supported.
+
+2004-04-06 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
+ operator calls in functional notation, and apply
+ Universal_Interpretation to operands, not to their type.
+
+2004-04-06 Robert Dewar <dewar@gnat.com>
+
+ * 5wdirval.adb: Minor reformatting
+
+2004-04-06 Ed Falis <falis@gnat.com>
+
+ * gnat_rm.texi: Improve a reference to the GCC manual
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ * adaint.h, adaint.c: Add function __gnat_named_file_length
+
+ * impunit.adb: Add Ada.Directories to the list
+
+ * Makefile.in: Add VMS and Windows versions of
+ Ada.Directories.Validity package body.
+
+ * Makefile.rtl: Add a-direct and a-dirval
+
+ * mlib-tgt.ads: Minor comment update.
+
+ * a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
+ a-direct.ads, a-direct.adb: New files.
+
+2004-04-05 Vincent Celier <celier@gnat.com>
+
+ PR ada/13620
+ * make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
+ just to the compiler.
+
+2004-04-05 Robert Dewar <dewar@gnat.com>
+
+ * a-except.adb (Exception_Name_Simple): Make sure lower bound of
+ returned string is 1.
+
+ * ali-util.adb: Use proper specific form for Warnings (Off, entity)
+
+ * eval_fat.ads: Minor reformatting
+
+ * g-curexc.ads: Document that lower bound of returned string values
+ is always one.
+
+ * gnatlink.adb: Add ??? comment for previous change
+ (need to document why this is VMS specific)
+
+ * s-stoele.ads: Minor reformatting
+
+ * tbuild.ads: Minor reformatting throughout (new function specs)
+
+ * par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
+ after WITH.
+
+ * scng.adb: Minor reformatting
+
+2004-04-05 Geert Bosch <bosch@gnat.com>
+
+ * eval_fat.adb (Machine): Remove unnecessary suppression of warning.
+ (Leading_Part): Still perform truncation to machine number if the
+ specified radix_digits is greater or equal to machine_mantissa.
+
+2004-04-05 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb: Complete documentation of previous change
+ Correct wrong syntax documentation of the OBJECT_DECLARATION rule
+ (aliased must appear before constant).
+
+ * par-ch4.adb: Complete documentation of previous change.
+
+ * par-ch6.adb: Complete documentation of previous change.
+
+ * sinfo.ads: Fix typo in commment.
+
+2004-04-05 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch3.adb (Inherit_Components): If derived type is private and has
+ stored discriminants, use its discriminants to constrain parent type,
+ as is done for non-private derived record types.
+
+ * sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
+ Ada 2005 AI-310: an abstract non-dispatching operation is not a
+ candidate interpretation in an overloaded call.
+
+ * tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
+ expression is Null and target type is not an access type (e.g. a
+ non-private address type).
+
+2004-04-05 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
+ statement whose right-hand side is an inlined call, save a copy of the
+ original assignment subtree to preserve enough consistency for
+ Analyze_Assignment to proceed.
+
+ * sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
+ complete assignment subtree which is now unnecessary, as the expansion
+ of inlined call has been improved to preserve a consistent assignment
+ tree. Note_Possible_Modification must be called only
+ after checks have been applied, or else unnecessary checks will
+ be generated.
+
+ * sem_util.adb (Note_Possible_Modification): Reorganise the handling
+ of explicit dereferences that do not Come_From_Source:
+ - be selective on cases where we must go back to the dereferenced
+ pointer (an assignment to an implicit dereference must not be
+ recorded as modifying the pointer);
+ - do not rely on Original_Node being present (Analyze_Assignment
+ calls Note_Possible_Modification on a copied tree).
+
+ * sem_warn.adb (Check_References): When an unset reference to a pointer
+ that is never assigned is encountered, prefer '<pointer> may be null'
+ warning over '<pointer> is never assigned a value'.
+
+2004-04-05 Ramon Fernandez <fernandez@gnat.com>
+
+ * tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
+ the ABI.
+
+2004-04-05 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
+ libexc. We currently don't reference anything in this library and
+ linking it in triggers linker warnings we don't want to see.
+
+ * init.c: Update comments.
+
+2004-04-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
+ * utils.c (create_field_decl): Likewise.
+ * utils2.c (build_unary_op, gnat_build_constructor): Likewise.
+
+2004-04-02 Arnaud Charlet <charlet@act-europe.fr>
+
+ * gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
+ Replace ifinfo by ifnottex, to make makeinfo --html happy again.
+ Add info directory entry and category.
+
+2004-04-02 Jan Hubicka <jh@suse.cz>
+
+ * utils.c: Include function.h
+ (end_subprog_body): Clear DECL_STRUCT_FUNCTION.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ PR ada/14150
+ * Make-lang.in: Clean up generation of documentation
+
+ * gnat-style.texi, gnat_rm.texi, ug_words: Resync with AdaCore version
+
+ * xgnatug.adb: Removed, replaced by xgnatugn.adb
+
+ * xgnatugn.adb: Replaces xgnatug.adb
+
+ * gnat_ug.texi: Removed, replaced by gnat_ugn.texi
+
+ * gnat_ugn.texi: Replaces gnat_ug.texi. Resync with AdaCore version
+
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Removed.
+
+2004-04-01 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils2.c: Update copyright notice.
+
+2004-04-01 Robert Dewar <dewar@gnat.com>
+
+ * checks.adb: Minor reformatting throughout
+ Note that prev checkin added RM reference to alignment warning
+
+2004-04-01 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_aggr.adb (Get_Component_Val): Treat a string literal as
+ non-static when building aggregate for bit-packed array.
+
+ * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a
+ function call that is itself the actual in a procedure call, build
+ temporary for it.
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is
+ a string literal, create a temporary for it, constant folding only
+ handles scalars here.
+
+2004-04-01 Vincent Celier <celier@gnat.com>
+
+ * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC,
+ Error_Msg_SP): New empty procedures to instantiate the Scanner.
+ (Style, Scanner): Instantiations of Styleg and Scng to be able to scan
+ tokens.
+ (Accumulate_Checksum, Initialize_Checksum): Remove procedures.
+ (Get_File_Checksum): Use the instantiated scanner to scan all the tokens
+ and get the checksum.
+
+ * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is
+ already in the Q.
+ Increase the Marking_Label at the end of the Multiple_Main_Loop,
+ instead of at the beginning.
+
+ * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~'
+ directly.
+ (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if
+ on VMS.
+
+ * osint.ads (Multi_Unit_Index_Character): New Character global variable
+
+ * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character,
+ not '~' directly.
+
+ * par.adb: Remove test on file name to detect language defined units.
+ Add test on unit name, after parsing, to detect language defined units
+ that are not compiled with -gnatg (except System.RPC and its children)
+
+ * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the
+ following units without style checking.
+
+ * switch-c.adb: Change -gnatC to -gnateI
+
+ * usage.adb: Document new switch -gnateInnn
+
+ * scng.adb (Accumulate_Token_Checksum): New procedure
+ (Scan): Call Accumulate_Token_Checksum after each identifier, reserved
+ word or literal number.
+ (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral
+ numbers.
+
+2004-04-01 Thomas Quinot <quinot@act-europe.fr>
+
+ * a-tasatt.adb,
+ g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb,
+ switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb,
+ 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb,
+ 5vtpopde.adb: Add missing 'constant' keywords.
+
+2004-04-01 Javier Miranda <miranda@gnat.com>
+
+ * par-ch4.adb: (P_Allocator): Code cleanup
+
+ * sem_ch3.adb (Access_Definition): Properly set the null-excluding
+ attribute.
+
+ * sinfo.ads: Complete documentation of previous change
+
+2004-04-01 Pascal Obry <obry@gnat.com>
+
+ * gnatlink.adb (Process_Binder_File): Remove duplicate linker options
+ only on VMS. This special handling was done because an old GNU/ld bug
+ on Windows which has been fixed.
+
+2004-04-01 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, make_type_from_size):
+ Use TYPE_UNSIGNED, not TREE_UNSIGNED.
+ * trans.c (tree_transform, convert_with_check): Likewise.
+ * utils.c (gnat_signed_or_unsigned_type): Likewise.
+ (build_vms_descriptor, unchecked_convert): Likewise.
+ * utils2.c (nonbinary_modular_operation): Likewise.
+
+2004-03-29 Javier Miranda <miranda@gnat.com>
+
+ * checks.adb (Null_Exclusion_Static_Checks): New subprogram
+ (Install_Null_Excluding_Check): Local subprogram that determines whether
+ an access node requires a runtime access check and if so inserts the
+ appropriate run-time check.
+ (Apply_Access_Check): Call Install_Null_Excluding check if required
+ (Apply_Constraint_Check): Call Install_Null_Excluding check if required
+
+ * checks.ads: (Null_Exclusion_Static_Checks): New subprogram
+
+ * einfo.ads: Fix typo in comment
+
+ * exp_ch3.adb (Build_Assignment): Generate conversion to the
+ null-excluding type to force the corresponding run-time check.
+ (Expand_N_Object_Declaration): Generate conversion to the null-excluding
+ type to force the corresponding run-time check.
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to
+ the null-excluding type to force the corresponding run-time check.
+
+ * exp_ch6.adb (Expand_Call): Do not generate the run-time check in
+ case of access types unless they have the null-excluding attribute.
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing
+ part.
+
+ * exp_util.ads: Fix typo in comment
+
+ * par.adb (P_Null_Exclusion): New subprogram
+ (P_Subtype_Indication): New formal that indicates if the null-excluding
+ part has been scanned-out and it was present
+
+ * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231
+
+ * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram
+ (Aggregate_Constraint_Checks): Generate conversion to the null-excluding
+ type to force the corresponding run-time check
+ (Resolve_Aggregate): Propagate the null-excluding attribute to the array
+ components
+ (Resolve_Array_Aggregate): Carry out some static checks
+ (Resolve_Record_Aggregate.Get_Value): Carry out some static check
+
+ * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null
+ attribute must be set only if specified by means of the null-excluding
+ part. In addition, we must also propagate the access-constant attribute
+ if present.
+ (Access_Subprogram_Declaration, Access_Type_Declaration,
+ Analyze_Component_Declaration, Analyze_Object_Declaration,
+ Array_Type_Declaration, Process_Discriminants,
+ Analyze_Subtype_Declaration): Propagate the null-excluding attribute
+ and carry out some static checks.
+ (Build_Derived_Access_Type): Set the null-excluding attribute
+ (Derived_Type_Declaration, Process_Subtype): Carry out some static
+ checks.
+
+ * sem_ch4.adb (Analyze_Allocator): Carry out some static checks
+
+ * sem_ch5.adb (Analyze_Assignment): Carry out some static checks
+
+ * sem_ch6.adb (Process_Formals): Carry out some static checks.
+ (Set_Actual_Subtypes): Generate null-excluding subtype if the
+ null-excluding part was present; it is not required to be done here in
+ case of anonymous access types.
+ (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null
+ value.
+
+ * sem_res.adb (Resolve_Actuals): Carry out some static check
+ (Resolve_Null): Allow null in anonymous access
+
+ * sinfo.adb: New subprogram Null_Exclusion_Present
+ All_Present and Constant_Present available on access_definition nodes
+
+ * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration,
+ object_declaration, derived_type_definition, component_definition,
+ discriminant_specification, access_to_object_definition,
+ access_function_definition, allocator, access_procedure_definition,
+ access_definition, parameter_specification, All_Present and
+ Constant_Present flags available on access_definition nodes.
+
+2004-03-29 Robert Dewar <dewar@gnat.com>
+
+ * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
+ gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb,
+ opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb,
+ par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb,
+ sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb,
+ sem_prag.adb: Updates to handle multiple units/file
+
+ * par.adb: Change test for s-rpc to s-rp for detecting rpc and children
+
+ * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb,
+ sem_util.adb: Minor reformatting
+
+ * sem_ch12.adb: Add comment for previous change
+
+2004-03-29 Laurent Pautet <pautet@act-europe.fr>
+
+ * osint.adb (Executable_Prefix): Set Exec_Name to the current
+ executable name when not initialized. Otherwise, use its current value.
+
+ * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to
+ initialize it to another executable name than the current one. This
+ allows to configure paths for an executable name (gnatmake) different
+ from the current one (gnatdist).
+
+2004-03-29 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): A call to a function declared in the
+ current unit cannot be inlined if it appears in the body of a withed
+ unit, to avoid order of elaboration problems in gigi.
+
+ * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging
+ information for protected (wrapper) operation as well, to simplify gdb
+ use.
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a
+ protected body, indicate that the entity for the generated spec comes
+ from source, to ensure that references are properly generated for it.
+ (Build_Body_To_Inline): Do not inline a function that returns a
+ controlled type.
+
+ * sem_prag.adb (Process_Convention): If subprogram is overloaded, only
+ apply convention to homonyms that are declared explicitly.
+
+ * sem_res.adb (Make_Call_Into_Operator): If the operation is a function
+ that renames an equality operator and the operands are overloaded,
+ resolve them with the declared formal types, before rewriting as an
+ operator.
+
+2004-03-29 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-25 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb: Log realloc calls, which are treated as free followed
+ by alloc.
+
+2004-03-25 Vincent Celier <celier@gnat.com>
+
+ * prj-makr.adb (Process_Directories): Detect when a file contains
+ several units. Do not include such files in the config pragmas or
+ in the naming scheme.
+
+ * prj-nmsc.adb (Record_Source): New parameter Trusted_Mode.
+ Resolve links only when not in Trusted_Mode.
+ (Find_Sources, Recursive_Find_Dirs, Find_Source_Dirs, Locate_Directory):
+ Do not resolve links for the display names.
+
+ * prj-part.adb (Parse_Single_Project, Project_Path_Name_Of): Do not
+ resolve links when computing the display names.
+
+2004-03-25 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_attr.adb (Check_Dereference): When the prefix of a 'Tag
+ attribute reference does not denote a subtype, it can be any
+ expression that has a classwide type, potentially after an implicit
+ dereference. In particular, the prefix can be a view conversion for
+ a classwide type (for which Is_Object_Reference holds), but it can
+ also be a value conversion for an access-to-classwide type. In the
+ latter case, there is an implicit dereference, and the original node
+ for the prefix does not verify Is_Object_Reference.
+
+ * sem_util.adb (Is_Dependent_Component_Of_Mutable_Object): A view
+ conversion of a discriminant-dependent component of a mutable object
+ is one itself.
+
+2004-03-25 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Entity): When an inherited subprogram is
+ inherited, has convention C, and has unconstrained array parameters,
+ place the corresponding warning on the derived type declaration rather
+ than the original subprogram.
+
+ * sem_ch12.adb (Instantiate_Formal_Subprogram): Set From_Default
+ indication on renaming declaration, if formal has a box and actual
+ is absent.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Use From_Default flag to
+ determine whether to generate an implicit or explicit reference to
+ the renamed entity.
+
+ * sinfo.ads, sinfo.adb: New flag From_Default, to indicate that a
+ subprogram renaming comes from a defaulted formal subprogram in an
+ instance.
+
+2004-03-25 Gary Dismukes <dismukes@gnat.com>
+
+ * sem_elab.adb (Check_Elab_Call): Refine loop that checks for default
+ value expressions to ensure that calls within a component definition
+ will be checked (since those are evaluated during the record type's
+ elaboration).
+
+2004-03-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-tpobop.adb: Code clean up:
+ (Requeue_Call): Extract from PO_Service_Entries to remove duplicated
+ code.
+ (PO_Do_Or_Queue): Remove duplicated code and use Requeue_Call.
+
+2004-03-25 Jose Ruiz <ruiz@act-europe.fr>
+
+ * Makefile.in: Clean up in the ravenscar run time.
+
+2004-03-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
+ of No_Strict_Aliasing to build_pointer_type_for_mode.
+ * utils.c (update_pointer_to): Walk pointer and ref chains.
+
+2004-03-22 Cyrille Comar <comar@act-europe.fr>
+
+ * ali.ads: Fix Comment about Dynamic_Elab.
+
+ * gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
+ Has_RACW, Is_Generic, etc.)
+ (Output_Object, Gnatls): Take into account ALI files not attached to
+ an object.
+
+2004-03-22 Vincent Celier <celier@gnat.com>
+
+ * gprep.adb: Change all String_Access to Name_Id
+ (Is_ASCII_Letter): new function
+ (Double_File_Name_Buffer): New procedure
+ (Preprocess_Infile_Name): New procedure
+ (Process_Files): New procedure
+ (Gnatprep): Check if output and input are existing directories.
+ Call Process_Files to do the real job.
+
+2004-03-22 Robert Dewar <dewar@gnat.com>
+
+ * prj-env.adb, prj-nmsc.ads, prj-proc.ads,
+ s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
+
+2004-03-22 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Contains): Add check for EOF, is needed for a degenerated
+ case when the source contains only comments.
+
+2004-03-22 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): When generating a
+ declaration for a child subprogram body that acts as a spec, indicate
+ that the entity in the declaration needs debugging information.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
+ full view if the subtype is created for a constrained record component;
+ gigi has enough information to construct the record, and there is no
+ place in the tree for the declaration.
+
+ * sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
+ serial number for the dummy body that is built for analysis, to avoid
+ inconsistencies in the generation of internal names when compiling
+ with -gnatN.
+
+2004-03-22 Thomas Quinot <quinot@act-europe.fr>
+
+ * sem_util.adb (Is_Object_Reference): A view conversion denotes an
+ object.
+
+2004-03-22 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ * trans.c (tree_transform, emit_index_check): Likewise.
+ * utils.c (build_template): Likewise.
+ (max_size, convert): Remove handling of WITH_RECORD_EXPR.
+ (maybe_unconstrained_array, unchecked_convert): Likewise.
+ * utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
+ (build_unary_op): Likewise.
+ (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ (fill_vms_descriptor): Likewise.
+ (build_call_alloc_dealloc): Likewise.
+ ALIGN is unsigned.
+ * gigi.h (build_call_alloc_dealloc): Alignment is unsigned.
+
+2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR other/14630
+ * gnat_ug.texi: Add info directory category and entry.
+ * gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
+ gnat_ug_wnt.texi: Regenerate.
+
+2004-03-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * ada-tree.h: Update copyright notice.
+ Minor reformatting.
+
+2004-03-19 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
+ as regular exception objects and not as mere integers representing the
+ condition code. The latter approach required some dynamics to mask off
+ severity bits, which did not fit well into the GCC table based model.
+ (gnat_to_gnu_entity, objects): Don't supply an external name for VMS
+ exception data objects. We don't it and it would conflict with the other
+ external symbol we have to generate for such exceptions.
+
+ * trans.c (tree_transform, case N_Exception_Handler): Remove part of
+ the special code for VMS exceptions, since these are now represented
+ as regular exceptions objects.
+
+2004-03-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (debug_no_type_hash): Remove.
+ (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
+ * misc.c (LANG_HOOK_HASH_TYPE): Redefine.
+
+2004-03-19 Laurent GUERBY <laurent@guerby.net>
+
+ * 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.
+ (TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
+ (TYPE_RM_SIZE_INT): Directly use type.values.
+ (TREE_LOOP_ID): Clean up check.
+ * decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
+ TYPE_VALUES, not TYPE_FIELDS.
+ * trans.c (convert_with_check): Delay access of bounds of basetype
+ until sure is numeric.
+
+2004-03-18 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5atpopsp.adb: Remove RTEMS from list of platforms using this file.
+
+ Code clean up:
+ * 5ataprop.adb, 5ftaprop.adb, 5htaprop.adb, 5itaprop.adb, 5staprop.adb,
+ 5vtaprop.adb, 5wtaprop.adb, 7staprop.adb (Finalize_TCB): Use
+ Specific.Set instead of direct call to e.g pthread_setspecific.
+
+2004-03-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * adaint.c: Update comments.
+
+ * Makefile.in: set PREFIX_OBJS, SYMLIB, THREADSLIB, and
+ GNATLIB_SHARED for FreeBSD.
+
+2004-03-18 Jose Ruiz <ruiz@act-europe.fr>
+
+ * init.c [VxWorks]: Do not fix the stack size for the environment task.
+ When needed (stack checking) the stack size is retrieved
+ from the VxWorks kernel.
+
+ * Makefile.in: Flag -nostdinc is required when building the run time
+ for avoiding looking for files in the base compiler.
+ Add the VxWorks specific version of the package body for
+ System.Stack_checking.Operations (5zstchop.adb).
+
+ * Make-lang.in: Add the object file for
+ System.Stack_Checking.Operations.
+
+ * Makefile.rtl: Add object file for the package
+ System.Stack_Checking.Operations.
+
+ * s-stchop.ads, s-stchop.adb, 5zstchop.adb: New files.
+
+ * s-stache.ads, s-stache.adb: Move the operations related to stack
+ checking from this package to package System.Stack_Checking.Operations.
+ This way, stack checking operations are only linked in the final
+ executable when using the -fstack-check flag.
+
+2004-03-18 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in [VMS]: Handle 64 bit specs (5qsystem.ads, 5xcrtl.ads).
+ Reorganize ifeq's.
+
+ * 5qsystem.ads, 5xcrtl.ads: New files.
+
+2004-03-18 Vincent Celier <celier@gnat.com>
+
+ * prj.adb (Reset): Reset hash table Files_Htable
+
+ * prj-env.adb (Source_Paths, Object_Paths): New tables.
+ (Add_To_Source_Path, Add_To_Object_Path): New procedures, to replace
+ the procedures Add_To_Path_File.
+ (Set_Ada_Paths): Accumulate source and object dirs in the tables,
+ making sure that each directory is present only once and, for object
+ dirs, when a directory already present is added, the duplicate is
+ removed and the directory is always put as the last in the table.
+ Write the path files at the end of these accumulations.
+
+ * prj-nmsc.adb (Record_Source): Add source file name in hash table
+ Files_Htable for all sources.
+
+ * prj-proc.adb (Process): Remove restrictions between not directly
+ related extending projects.
+
+2004-03-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * prj-nmsc.ads, prj-nmsc.adb (Ada_Check): New parameter Trusted_Mode.
+ (Find_Sources): Minor speed optimization.
+
+ * prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): New
+ parameter Trusted_Mode.
+
+2004-03-18 Sergey Rybin <rybin@act-europe.fr>
+
+ * scn.adb (Determine_License): Take into account a degenerated case
+ when the source contains only comments.
+
+2004-03-18 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_warn.adb (Check_References): For a warning on a selected
+ component that does not come from source, locate an uninitialized
+ component of the record type to produce a more precise error message.
+
+2004-03-15 Jerome Guitton <guitton@act-europe.fr>
+
+ * 3zsoccon.ads: Fix multicast options.
+
+ * s-thread.ads: Move unchecked conversion from ATSD_Access to Address
+ in the spec.
+
+2004-03-15 Robert Dewar <dewar@gnat.com>
+
+ * sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
+ pragma used for a private type.
+
+ * lib-xref.adb (Generate_Reference): Do not generate warning if
+ reference is in a different unit from the pragma Unreferenced.
+
+ * 5vtpopde.adb: Minor reformatting
+ Fix casing of To_Task_ID
+
+ * sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
+ flag if we have an unchecked conversion to an access type in the same
+ unit.
+
+2004-03-15 Geert Bosch <bosch@gnat.com>
+
+ * a-ngcoty.adb (Modulus): In alternate formula for large real or
+ imaginary parts, use Double precision throughout.
+
+ * a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
+ we want to be able to compile run-time with -gnata for testing, but
+ this may also be instantiated in user code that is compiled with -gnata.
+
+2004-03-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * s-stalib.ads (Exception_Code): New type, to represent Import/Export
+ codes. Having a separate type for this is useful to enforce consistency
+ throughout the various run-time units.
+ (Exception_Data): Use Exception_Code for Import_Code.
+
+ * s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
+ Natural and Integer in various places.
+ (Register_VMS_Exception): Use Base_Code_In to compute the exception code
+ with the severity bits masked off.
+ (Register_VMS_Exception): Handle the additional exception data pointer
+ argument.
+
+ * raise.c (_GNAT_Exception structure): Remove the handled_by_others
+ component, now reflected by an exported accessor.
+ (is_handled_by): New routine to compute whether the propagated
+ occurrence matches some handler choice specification. Extracted out of
+ get_action_description_for, and expanded to take care of the VMS
+ specifities.
+ (get_action_description_for): Use is_handled_by instead of an explicit
+ complex condition to decide if the current choice at hand catches the
+ propagated occurrence.
+
+ * raise.h (Exception_Code): New type for C.
+
+ * rtsfind.ads (RE_Id, RE_Unit_Table): Add
+ System.Standard_Library.Exception_Code, to allow references from the
+ pragma import/export expander.
+
+ * a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
+ New accessors to allow easy access to GNAT exception data
+ characteristics.
+ (GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
+ redundant Handled_By_Others component, helper for the personality
+ routine which will now be able to call the appropriate exception data
+ accessor instead.
+
+ * cstand.adb (Create_Standard): Adjust the type of the Import_Code
+ component of Standard_Exception_Type to be the closest possible to
+ Exception_Code in System.Standard_Library, that we cannot get at this
+ point. Expand a ??? comment to notify that this type node should
+ probably be rewritten later on.
+
+ * exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
+ registration call to include a pointer to the exception object in the
+ arguments.
+
+ * init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
+ instead of int and explicit bitmasks.
+
+2004-03-15 Vincent Celier <celier@gnat.com>
+
+ * vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
+ equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.
+
+ * a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
+ longer needed now that it is in the spec of
+ System.Tasking.Task_Attributes.
+
+ * adaint.h, adaint.c: (__gnat_create_output_file): New function
+
+ * gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =
+
+ * g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.
+
+ * make.adb (Gnatmake): Do not check the executable suffix; it is being
+ taken care of in Scan_Make_Arg.
+ (Scan_Make_Arg): Add the executable suffix only if the argument
+ following -o, in canonical case, does not end with the executable
+ suffix. When in verbose mode and executable file name does not end
+ with executable suffix, output the executable name, in canonical case.
+
+ * s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
+ to avoid warnings when instantiating Ada.Task_Attributes.
+ Minor reformating.
+
+ * mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
+ in the correct order.
+
+ * prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
+ redirect standard output and error to a file for the invocation of the
+ compiler, then read the file.
+
+ * prj-nmsc.adb (Find_Sources): Use the Display_Value for each
+ directory, instead of the Value.
+ (Find_Source_Dirs): Remove useless code & comments.
+
+2004-03-15 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
+ tagged type is inherited, and the parent operation is not frozen yet,
+ force generation of a freeze node for the inherited operation, so the
+ corresponding dispatch entry is properly initialized.
+ (Make_Predefined_Primitive_Specs): Check that return type is Boolean
+ when looking for user-defined equality operation.
+
+ * exp_ch4.adb (Expand_Composite_Equality): Check that return type is
+ boolean when locating primitive equality of tagged component.
+
+ * exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
+ bit-aligned field and the right-hand side a string literal, introduce
+ a temporary before expanding assignment into a loop.
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
+ priority in full, to ensure that any expanded subepxressions of it are
+ elaborated in the scope of the init_proc.
+
+ * exp_prag.adb (Expand_Pragma_Import): Search for initialization call
+ after object declaration, skipping over code that may have been
+ generated for validity checks.
+
+ * sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
+ discriminants, ignore the known discriminants of its full view, if
+ any, to check legality.
+
+ * sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
+ component if type has unknown discriminants.
+ (Analyze_Private_Extension_Declaration): Discriminant constraint is
+ null if type has unknown discriminants.
+
+ * sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
+ for end label when present.
+
+ * s-fileio.adb (Open): When called with a C_Stream, use given name for
+ temporary file, rather than an empty string.
+
+2004-03-15 Ed Falis <falis@gnat.com>
+
+ * s-thread.adb: Removed, no longer used.
+
+2004-03-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (target.h): Now include.
+ (gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
+ in new build_pointer_from_mode calls for non-fat/non-thin pointer.
+ (validate_size): For POINTER_TYPE, get smallest size permitted on
+ machine.
+
+ * fe.h: Sort Einfo decls and add Set_Mechanism.
+
+ * Makefile.in: (LIBGNAT_SRCS): Remove types.h.
+ (ada/decl.o): Depends on target.h.
+
+ * trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
+ FUNCTION_BOUNDARY; always use TYPE_ALIGN.
+
+2004-03-15 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.
+
+ * exp_ch4.adb (Expand_N_Indexed_Component): Do not call
+ Insert_Dereference_Action when rewriting an implicit dereference into
+ an explicit one, this will be taken care of during expansion of the
+ explicit dereference.
+ (Expand_N_Slice): Same. Always do the rewriting, even for the case
+ of non-packed slices, since the dereference action generated by
+ expansion of the explicit dereference is needed in any case.
+ (Expand_N_Selected_Component): When rewriting an implicit dereference,
+ analyze and resolve the rewritten explicit dereference so it is seen
+ by the expander.
+ (Insert_Dereference_Action): This procedure is now called only for the
+ expansion of an N_Explcit_Dereference_Node. Do insert a check even for
+ dereferences that do not come from source (including explicit
+ dereferences resulting from rewriting implicit ones), but do not
+ recursively insert a check for the dereference nodes contained within
+ the check.
+ (Insert_Dereference_Action): Clarify and correct comment.
+
+2004-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR ada/14131
+ Move language detection to the top level.
+ * config-lang.in: Build by default.
+
+2004-03-05 Robert Dewar <dewar@gnat.com>
+
+ * 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions
+
+ * 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,
+ 5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
+ unchecked conversion to spec to avoid warnings.
+
+ * s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
+ to Task_ID
+
+ * 7stpopsp.adb: Correct casing in To_Task_ID call
+
+ * a-strsea.ads, a-strsea.adb: Minor reformatting
+
+ * einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing
+
+ * errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
+ Adjust Max_Msg_Length to be clearly large enough.
+
+ * fe.h: Define In_Same_Source_Unit
+
+ * osint.adb: Add pragma Warnings Off to suppress warnings
+ * g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
+ aliasing warnings.
+
+ * opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing
+
+ * par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma
+
+ * sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.
+
+ * sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.
+
+ * sem_prag.adb: Implement pragma No_Strict_Aliasing.
+
+ * sinfo.ads: Remove obsolete comment on validate unchecked conversion
+ node. We now do generate them for gcc back end.
+
+ * table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
+ warning.
+
+ * sinput-c.adb: Fix bad name in header.
+ Add pragma Warnings Off to suppress aliasing warning.
+
+ * sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.
+
+ * snames.h, snames.ads, snames.adb: Add entry for pragma
+ No_Strict_Aliasing.
+
+2004-03-05 Vincent Celier <celier@gnat.com>
+
+ * prj-com.ads: Add hash table Files_Htable to check when a file name
+ is already a source of another project.
+
+ * prj-nmsc.adb (Record_Source): Before recording a new source, check
+ if its file name is not already a source of another project. Report an
+ error if it is.
+
+ * gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
+ source file name, call gnatpp with all the sources of the main project.
+
+ * vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
+ of file names.
+
+ * vms_data.ads: Correct documentation of new /OPTIMIZE keyword
+ NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
+ /RUNTIME_SYSTEM=, converted to --RTS=
+ /NOTABS, converted to -notabs
+
+2004-03-05 Pascal Obry <obry@gnat.com>
+
+ * make.adb: Minor reformatting.
+
+2004-03-05 Ed Schonberg <schonberg@gnat.com>
+
+ Part of implemention of AI-262.
+ * par-ch10.adb (P_Context_Clause): Recognize private with_clauses.
+
+ * sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
+ procedure.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Improve error message
+ when component type is a partially constrained class-wide subtype.
+ (Constrain_Discriminated_Type): If parent type has unknown
+ discriminants, a constraint is illegal, even if full view has
+ discriminants.
+ (Build_Derived_Record_Type): Inherit discriminants when deriving a type
+ with unknown discriminants whose full view is a discriminated record.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
+ flag, to handle properly derivations of tagged types with unknown
+ discriminants.
+ (Analyze_Package_Spec, Analyze_Package_Body): Install
+ Private_With_Clauses before analyzing private part or body.
+
+ * einfo.ads: Indicate that both Has_Unknown_Discriminants and
+ Has_Discriminants can be true for a given type (documentation).
+
+2004-03-05 Arnaud Charlet <charlet@act-europe.fr>
+
+ * s-restri.ads: Fix license (GPL->GMGPL).
+
+ * s-tassta.adb: Minor reformatting.
+
+ * s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+ * s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
+ by calls to Exit_One_ATC_Level, since additional clean up is performed
+ by this function.
+
+2004-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c: Reflect GCC changes to fix bootstrap problem.
+ Add warning for suspicious aliasing unchecked conversion.
+
+2004-03-05 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-03-02 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.adb (Read_Instantiation_Instance): Do not modify the
+ current_file_num when reading information about instantiations, since
+ this corrupts files in later references.
+
+2004-03-02 Vincent Celier <celier@gnat.com>
+
+ * bcheck.adb (Check_Consistency): Get the full path of an ALI file
+ before checking if it is read-only.
+
+ * bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
+ of SRC_DIRS and eliminate duplicates.
+
+ * gprcmd.adb: Replace command "path" with command "path_sep" to return
+ the path separator.
+ (Usage): Document path_sep
+
+ * Makefile.generic: For Ada and GNU C++ cases, link directly with the
+ C++ compiler. No need for a script.
+ Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
+ Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
+ subst.
+
+ * prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
+ where there are Ada sources.
+ (Set_Ada_Paths): Only add to the include path the source dirs of project
+ with Ada sources.
+ (Add_To_Path): Add the Display_Values of the directories, not their
+ Values.
+
+ * prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
+ data.
+
+ * prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
+ is not No_Name.
+ (Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
+ Value is canonicalized.
+ (Language_Independent_Check): Do not copy Value to Display_Value when
+ canonicalizing Value.
+
+ * prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
+ path to find limited with cycles.
+ (Parse_Single_Project): Use canonical cased path to find the end of a
+ with cycle.
+
+2004-03-02 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
+ and not a child unit.
+
+ * sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
+ appear in a with_clause.
+
+ * decl.c (gnat_to_gnu_type): If entity is a generic type, which can
+ only happen in type_annotate mode, do not try to elaborate it.
+
+ * exp_util.adb (Force_Evaluation): If expression is a selected
+ component on the left of an assignment, use a renaming rather than a
+ temporary to remove side effects.
+
+ * freeze.adb (Freeze_Entity): Do not freeze a global entity within an
+ inlined instance body, which is analyzed before the end of the
+ enclosing scope.
+
+2004-03-02 Robert Dewar <dewar@gnat.com>
+
+ * par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
+ sem_ch4.adb: Use new feature for substitution of keywords in VMS
+
+ * errout.ads, errout.adb: Implement new circuit for substitution of
+ keywords in VMS.
+
+ * sem_case.adb (Analyze_Choices): Place message properly when case is
+ a subtype reference rather than an explicit range.
+
+ * sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting
+
+2004-03-02 Doug Rupp <rupp@gnat.com>
+
+ * init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.
+
+2004-03-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * s-tporft.adb: Add missing locking around call to Initialize_ATCB.
+
+2004-03-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
+ BLKmode bitfield.
+
+2004-02-25 Robert Dewar <dewar@gnat.com>
+
+ * 51osinte.ads, 52osinte.ads, 53osinte.ads, 54osinte.ads,
+ 55osinte.ads, 56osinte.ads, 5aosinte.ads, 5bosinte.ads,
+ 5cosinte.ads, 5fosinte.ads, 5gosinte.ads, 5hosinte.ads,
+ 5iosinte.ads, 5losinte.ads, 5nosinte.ads, 5oosinte.ads,
+ 5posinte.ads, 5sosinte.ads, 5tosinte.ads, 5vosinte.ads,
+ 5wosinte.ads, 5zosinte.ads: Move instances of Unchecked_Conversion to
+ the defining instance of the type to avoid aliasing problems.
+ Fix copyright header. Fix bad comments in package header.
+
+ * exp_util.adb, prj-part.adb, prj-part.adb: Minor reformatting
+
+2004-02-25 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch2.adb (Param_Entity): Handle properly formals that have been
+ rewritten as references when aliased through an address clause.
+
+ * sem_ch4.adb (Try_Indirect_Call): Normalize actuals before checking
+ whether call can be interpreted as an indirect call to the result of a
+ parameterless function call returning an access subprogram.
+
+2004-02-25 Arnaud Charlet <charlet@act-europe.fr>
+
+ Code clean up:
+ * exp_ch7.adb (Make_Clean): Remove generation of calls to
+ Unlock[_Entries], since this is now done by Service_Entries directly.
+
+ * exp_ch9.adb (Build_Protected_Subprogram_Body): ditto.
+
+ * s-tpobop.ads, s-tpobop.adb (PO_Service_Entries): New nested procedure
+ Requeue_Call for better code readability. Change spec and update calls:
+ PO_Service_Entries now unlock the PO on exit.
+ (Protected_Entry_Call, Timed_Protected_Entry_Call): Update calls to
+ PO_Service_Entries.
+
+ * s-tposen.ads, s-tposen.adb (Service_Entry): Now unlock the PO on exit.
+
+ * s-taenca.adb, s-tasren.adb: Update calls to PO_Service_Entries.
+
+2004-02-25 Sergey Rybin <rybin@act-europe.fr>
+
+ * exp_ch9.adb (Build_Simple_Entry_Call): Prevent expanding the
+ protected subprogram call and analyzing the result of such expanding
+ in case when the called protected subprogram is eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Skip blocks when comparing scope
+ names.
+
+2004-02-25 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups.
+
+2004-02-23 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create
+ protected operations if original subprogram is flagged as eliminated.
+ (Expand_N_Subprogram_Body): For a protected operation, create
+ discriminals for next operation before checking whether the operation
+ is eliminated.
+
+ * exp_ch9.adb (Expand_N_Protected_Body,
+ Expand_N_Protected_Type_Declaration): Do not generate specs and bodies
+ for internal protected operations if the original subprogram is
+ eliminated.
+
+ * sem_elim.adb (Check_Eliminated): Handle properly protected operations
+ declared in a single protected object.
+
+2004-02-23 Vincent Celier <celier@gnat.com>
+
+ * prj-attr.adb: Make attribute Builder'Executable an associative array,
+ case insensitive if file names are case insensitive, instead of a
+ standard associative array.
+
+ * prj-attr.adb (Initialize): For 'b' associative arrays, do not set
+ them as case insensitive on platforms where the file names are case
+ sensitive.
+
+ * prj-part.adb (Parse_Single_Project): Make sure, when checking if
+ project file has already been parsed that canonical path are compared.
+
+2004-02-23 Robert Dewar <dewar@gnat.com>
+
+ * sinput-c.ads: Correct bad unit title in header
+
+ * freeze.adb: Minor reformatting
+
+2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (tree_transform, case N_Procedure_Call_Statement): For
+ nonaddressable COMPONENT_REF that is removing padding that we are
+ taking the address of, take the address of the padded record instead
+ if item is variable size.
+
+2004-02-20 Robert Dewar <dewar@gnat.com>
+
+ * bld.adb, exp_util.adb, gprcmd.adb: Minor reformatting
+
+2004-02-20 Ed Schonberg <schonberg@gnat.com>
+
+ * freeze.adb (Freeze_Record_Type): Generalize mechanism that generates
+ itype references for the constrained designated type of a component
+ whose base type is already frozen.
+
+2004-02-20 Arnaud Charlet <charlet@act-europe.fr>
+
+ * init.c (__gnat_error_handler [tru64]): Rewrite previous change to
+ avoid GCC warnings.
+
+2004-02-20 Sergey Rybin <rybin@act-europe.fr>
+
+ * sem_ch12.adb (Analyze_Formal_Package): Create a new defining
+ identifier for a phantom package that rewrites the formal package
+ declaration with a box. The Add semantic decorations for the defining
+ identifier from the original node (that represents the formal package).
+
+2004-02-19 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (ada/stamp-sdefault): Use the top level
+ move-if-change.
+
+2004-02-19 Richard Henderson <rth@redhat.com>
+
+ * misc.c (record_code_position): Add third build arg for RTL_EXPR.
+
+2004-02-18 Emmanuel Briot <briot@act-europe.fr>
+
+ * ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
+ Scan_ALI can be used for multiple ALI files without reinitializing
+ between calls.
+
+2004-02-18 Robert Dewar <dewar@gnat.com>
+
+ * debug.adb: Minor reformatting.
+
+2004-02-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
+ to zero if there is an address clause.
+
+2004-02-18 Thomas Quinot <quinot@act-europe.fr>
+
+ * exp_util.adb (Side_Effect_Free): Any literal is side effects free.
+
+2004-02-18 Gary Dismukes <dismukes@gnat.com>
+
+ * layout.adb (Layout_Component_List): Revise generation of call to
+ discriminant-checking function to pass selections of all of the type's
+ discriminants rather than just the variant-controlling discriminant.
+
+2004-02-18 Olivier Hainque <hainque@act-europe.fr>
+
+ * 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
+ fail in the current setup and triggers spurious system error messages.
+ Pretend it occurred and failed instead.
+
+2004-02-18 Vincent Celier <celier@gnat.com>
+
+ * bld.adb: Mark FLDFLAGS as saved
+ (Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
+ it is not the root project. Put each directory to be
+ extended between double quotes to prevent it to be expanded on Windows.
+ (Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
+ the project file. Set them back to their initial values if they have not
+ been set in the project file.
+
+ * gprcmd.adb: (Gprdebug, Debug): New global variables
+ (Display_Command): New procedure
+ (Usage): Document new command "linkopts"
+ Call Display_Command when env var GPRDEBUG has the value "TRUE"
+ Implement new command "linkopts"
+ Remove quotes that may be around arguments for "extend"
+ Always call Normalize_Pathname with arguments formatted for the platform
+
+ * Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
+ Change @echo to @$(display) in target clean to be able to clean silently
+
+ * Makefile.prolog: Save FLDFLAGS and give it an initial empty value
+
+ * prj-part.adb (Project_Path_Name_Of): Do not put final result in
+ canonical case.
+
+ * prj-part.adb (Parse_Single_Project): Always call with From_Extended
+ = Extending_All when current project is an extending all project.
+
+ * vms_conv.adb (Output_File_Expected): New Boolean global variable,
+ set to True only for LINK command, after Unix switch -o.
+ (Process_Arguments): Set Output_File_Expected to True for LINK command
+ after Unix switch -o. When Output_File_Expected is True, never add an
+ extension to a file name.
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
+ option file name, only to the --for-linker= switch.
+ (Option_File_Name): If option file name do not end with ".opt", append
+ "/OPTIONS".
+
+2004-02-18 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
+2004-02-17 Matt Kraai <kraai@alumni.cmu.edu>
+
+ * Make-lang.in (stamp-sdefault): Do not depend on
+ move-if-change.
+
+2004-02-12 Zack Weinberg <zack@codesourcery.com>
+
+ * config-lang.in: Disable Ada by default until probe logic for
+ a bootstrap Ada compiler can be moved to the top level configure
+ script.
+
+2004-02-12 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (components_to_record): Don't claim that the internal fields
+ we make to hold the variant parts are semantically addressable, because
+ they are not.
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
+ adjust the comment describing the modular type form when we can use it.
+ (Install_PAT): Account for the Esiz renaming.
+
+ * init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
+ sc_onstack context indication before raising the exception to which
+ the signal is mapped. Allows better handling of later signals possibly
+ triggered by the resumed user code if the exception is handled.
+
+2004-02-12 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5zinit.adb: Removed, no longer used.
+
+2004-02-12 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Remove separating space between parameters on R line. Makes
+ format consistent with format used by the binder for Set_Globals call.
+
+ * atree.ads, atree.adb: Minor reformatting (new function header format)
+
+ * bindgen.adb: Add Run-Time Globals documentation section containing
+ detailed documentation of the globals passed from the binder file to
+ the run time.
+
+ * gnatls.adb: Minor reformatting
+
+ * init.c (__gnat_set_globals): Add note pointing to documentation in
+ bindgen.
+
+ * lib-writ.ads, lib-writ.adb: Remove separating space between
+ parameters on R line.
+ Makes format consistent with format used by the binder for Set_Globals
+ call.
+
+ * osint.ads: Add 2004 to copyright notice
+ Minor reformatting
+
+ * snames.ads: Correct capitalization of FIFO_Within_Priorities
+ Noticed during code reading, documentation issue only
+
+ * usage.adb: Remove junk line for obsolete C switch
+ Noticed during code reading
+
+2004-02-12 Vincent Celier <celier@gnat.com>
+
+ * bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
+ extend for each directory, so that multiple /** directories are
+ extended individually.
+ (Recursive_Process): Set the default for LANGUAGES to ada
+
+ * gprcmd.adb: Define new command "ignore", to do nothing.
+ Implement new comment "path".
+
+ * Makefile.generic: Suppress output when SILENT is set
+ Make sure that when compiler for C/C++ is gcc, the correct -x switch is
+ used, so that the correct compiler is invoked.
+ When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
+ CXX_INCLUDE_PATH, to avoid failure with too long command lines.
+
+2004-02-12 Jerome Guitton <guitton@act-europe.fr>
+
+ * Makefile.in: Clean ups and remove obsolete targets.
+
+2004-02-12 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
+ predicate declared in exp_util.
+
+ * exp_util.adb: Add comments.
+
+ * sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
+ visibility before compiling context of the subunit.
+
+ * sem_res.adb (Check_Parameterless_Call): If the context expects a
+ value but the name is a procedure, do not attempt to analyze as a call,
+ in order to obtain more telling diagnostics.
+
+ * sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
+ 'Access on parameterless function calls.
+ (Normalize_Actuals): For a parameterless function call with missing
+ actuals, defer diagnostic until resolution of enclosing call.
+
+ * sem_util.adb (Wrong_Type): If the context type is an access to
+ subprogram and the expression is a procedure name, suggest a missing
+ 'attribute.
+
+2004-02-10 Arnaud Charlet <charlet@act-europe.fr>,
+ Nathanael Nerode <neroden@gcc.gnu.org>
+
+ PR ada/6637, PR ada/5911
+ Merge with libada-branch:
+ * config-lang.in: Build libada only when ada is built.
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
+ for a tagged type, verify that both formals have the same type.
+
+ * exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
+ temporary when the formal is an in-parameter and the actual a possibly
+ unaligned slice.
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
+ when expansion is disabled, to ensure proper name capture with
+ overloaded literals. Condition can be of any boolean type, resolve
+ accordingly.
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
+ renaming is for a formal subprogram with a default operator name, and
+ there is a usable operator that is visible at the point of
+ instantiation.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
+ rewrite to ignore errors in ali files, intended to allow tools downward
+ compatibility with new versions of ali files.
+
+ * ali.ads: Add new parameter Ignore_Errors
+
+ * bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
+ duplicating the error message giving the file with restrictions.
+
+ * debug.adb: Add debug flag I for gnatbind
+
+ * errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
+ operators for the case where the operator is a defining operator.
+
+ * exp_ch3.adb: Minor reformatting (new function spec format).
+
+ * exp_ch4.adb: Add comment for previous change, and make minor
+ adjustment to loop to always check for improper loop termination.
+ Minor reformatting throughout (new function spec format).
+
+ * gnatbind.adb: Implement -di debug flag for gnatbind
+
+ * gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * gnatls.adb: Call Scan_ALI with Ignore_Errors set to True
+
+ * lib-load.adb: Fix bad assertion.
+ Found by testing and code reading.
+ Minor reformatting.
+
+ * lib-load.ads: Minor reformatting.
+
+ * lib-writ.adb: There is only one R line now.
+
+ * lib-writ.ads: Add documentation on making downward compatible changes
+ to ali files so old tools work with new ali files.
+ There is only one R line now.
+ Add documentation on format incompatibilities (with special GPS note)
+
+ * namet.ads, namet.adb: (Is_Operator_Name): New procedure
+
+ * par-load.adb: Minor reformatting
+
+ * sem_ch8.adb: Fix to error message from last update
+ Minor reformatting and restructuring of code from last update
+
+ * par-prag.adb, snames.adb, snames.ads, snames.h,
+ sem_prag.adb: Implement pragma Profile.
+
+ * stylesw.adb: Implement -gnatyN switch to turn off all style check
+ options.
+
+ * usage.adb: Add line for -gnatyN switch
+
+ * vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN
+
+2004-02-09 Albert Lee <lee@gnat.com>
+
+ * errno.c: define _SGI_MP_SOURCE for task-safe errno on IRIX
+
+2004-02-09 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): Handle properly case of null
+ slices.
+
+ * exp_ch6.adb (Expand_Call): Do not inline a call when the subprogram
+ is nested in an instance that is not frozen yet, to avoid
+ order-of-elaboration problems in gigi.
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Within an inlined
+ body the attribute is legal.
+
+2004-02-09 Robert Dewar <dewar@gnat.com>
+
+ * s-rident.ads: Minor comment correction
+
+ * targparm.adb: Remove dependence on uintp completely. There was
+ always a bug in Make in that it called Targparm before initializing
+ the Uint package. The old code appeared to get away with this, but
+ the new code did not! This caused an assertion error in gnatmake.
+
+ * targparm.ads: Fix bad comment, restriction pragmas with parameters
+ are indeed fully supported.
+
+2004-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * misc.c (default_pass_by_ref): Update INIT_CUMULATIVE_ARGS call.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/utils.c (create_param_decl): Replace PROMOTE_PROTOTYPES
+ with targetm.calls.promote_prototypes.
+
+2004-02-04 Robert Dewar <dewar@gnat.com>
+
+ * 5gtasinf.adb, 5gtasinf.ads, 5gtaprop.adb, ali.adb,
+ ali.ads, gprcmd.adb: Minor reformatting
+
+ * bindgen.adb: Output restrictions string for new style restrictions
+ handling
+
+ * impunit.adb: Add s-rident.ads (System.Rident) and
+ s-restri (System.Restrictions)
+
+ * lib-writ.adb: Fix bug in writing restrictions string (last few
+ entries wrong)
+
+ * s-restri.ads, s-restri.adb: Change name Restrictions to
+ Run_Time_Restrictions to avoid conflict with package name.
+ Add circuit to read and acquire run time restrictions.
+
+2004-02-04 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.ads, restrict.adb: Use the new restriction
+ No_Task_Attributes_Package instead of the old No_Task_Attributes.
+
+ * sem_prag.adb: No_Task_Attributes is a synonym of
+ No_Task_Attributes_Package.
+
+ * snames.ads, snames.adb: New entry for proper handling of
+ No_Task_Attributes.
+
+ * s-rident.ads: Adding restriction No_Task_Attributes_Package
+ (AI-00249) that supersedes the GNAT specific restriction
+ No_Task_Attributes.
+
+2004-02-04 Ed Schonberg <schonberg@gnat.com>
+
+ * 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-02-04 Vincent Celier <celier@gnat.com>
+
+ * lib-writ.ads: Comment update for the W lines
+
+ * bld.adb: (Expression): An empty string list is static
+
+ * fname-uf.adb: Minor comment update
+
+ * fname-uf.ads: (Get_File_Name): Document new parameter May_Fail
+
+ * gnatbind.adb: Initialize Cumulative_Restrictions with the
+ restrictions on the target.
+
+2004-02-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ada/trans.c (gigi): Use gen_rtx_SYMBOL_REF instead of
+ gen_rtx.
+
+2004-02-02 Arnaud Charlet <charlet@gnat.com>
+
+ * Makefile.in: Remove setting of THREADSLIB on mips o32, unneeded.
+
+2004-02-02 Vincent Celier <celier@gnat.com>
+
+ * gprcmd.adb (Check_Args): If condition is false, print the invoked
+ comment before the usage.
+ Gprcmd: Fail when command is not recognized.
+ (Usage): Document command "prefix"
+
+ * g-md5.adb (Digest): Process last block.
+ (Update): Do not process last block. Store remaining characters and
+ length in Context.
+
+ * g-md5.ads (Update): Document that several call to update are
+ equivalent to one call with the concatenated string.
+ (Context): Add fields to allow new Update behaviour.
+
+ * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
+ defaulted to False.
+ When May_Fail is True and no existing file can be found, return No_File.
+
+ * 6vcstrea.adb: Inlined functions are now wrappers to implementation
+ functions.
+
+ * lib-writ.adb (Write_With_Lines): When body file does not exist, use
+ spec file name instead on the W line.
+
+2004-02-02 Robert Dewar <dewar@gnat.com>
+
+ * ali.adb: Read and acquire info from new format restrictions lines
+
+ * bcheck.adb: Add circuits for checking restrictions with parameters
+
+ * bindgen.adb: Output dummy restrictions data
+ To be changed later
+
+ * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
+ freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
+ sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
+ sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.
+
+ * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
+ the warning message on access to possibly uninitialized variable S)
+ Minor changes for new restrictions handling.
+
+ * gnatbind.adb: Minor reformatting
+ Minor changes for new restrictions handling
+ Move circuit for -r processing here from bcheck (cleaner)
+
+ * gnatcmd.adb, gnatlink.adb: Minor reformatting
+
+ * lib-writ.adb: Output new format restrictions lines
+
+ * lib-writ.ads: Document new R format lines for new restrictions
+ handling.
+
+ * s-restri.ads/adb: New files
+
+ * Makefile.rtl: Add entry for s-restri.ads/adb
+
+ * par-ch3.adb: Fix bad error messages starting with upper case letter
+ Minor reformatting
+
+ * restrict.adb: Major rewrite throughout for new restrictions handling
+ Major point is to handle restrictions with parameters
+
+ * restrict.ads: Major changes in interface to handle restrictions with
+ parameters. Also generally simplifies setting of restrictions.
+
+ * snames.ads/adb: New entry for proper handling of No_Requeue
+
+ * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
+ restriction counting.
+ Other minor changes for new restrictions handling
+
+ * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
+ Restriction_Warnings now allows full parameter notation
+ Major rewrite of Restrictions for new restrictions handling
+
+2004-02-02 Javier Miranda <miranda@gnat.com>
+
+ * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
+ syntax rule for object renaming declarations.
+ (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
+ component definitions.
+
+ * sem_ch3.adb (Analyze_Component_Declaration): Give support to access
+ components.
+ (Array_Type_Declaration): Give support to access components. In addition
+ it was also modified to reflect the name of the object in anonymous
+ array types. The old code did not take into account that it is possible
+ to have an unconstrained anonymous array with an initial value.
+ (Check_Or_Process_Discriminants): Allow access discriminant in
+ non-limited types.
+ (Process_Discriminants): Allow access discriminant in non-limited types
+ Initialize the new Access_Definition field in N_Object_Renaming_Decl
+ node. Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
+ equality operators.
+ Change Ada0Y to Ada 0Y in comments
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Give support to access
+ renamings Change Ada0Y to Ada 0Y in comments
+
+ * sem_type.adb (Find_Unique_Type): Give support to the equality
+ operators for universal access types
+ Change Ada0Y to Ada 0Y in comments
+
+ * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms
+
+ * sinfo.ads (N_Component_Definition): Addition of Access_Definition
+ field.
+ (N_Object_Renaming_Declaration): Addition of Access_Definition field
+ Change Ada0Y to Ada 0Y in comments
+
+ * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
+ component definition and object renaming nodes
+ Change Ada0Y to Ada 0Y in comments
+
+2004-02-02 Jose Ruiz <ruiz@act-europe.fr>
+
+ * restrict.adb: Use the new restriction identifier
+ No_Requeue_Statements instead of the old No_Requeue for defining the
+ restricted profile.
+
+ * sem_ch9.adb (Analyze_Requeue): Check the new restriction
+ No_Requeue_Statements.
+
+ * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
+ that supersedes the GNAT specific restriction No_Requeue. The later is
+ kept for backward compatibility.
+
+2004-02-02 Ed Schonberg <schonberg@gnat.com>
+
+ * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
+ 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
+ pragma and fix incorrect ones.
+
+ * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
+ warning if the pragma is redundant.
+
+2004-02-02 Thomas Quinot <quinot@act-europe.fr>
+
+ * 5staprop.adb: Add missing 'constant' keywords.
+
+ * Makefile.in: use consistent value for SYMLIB on
+ platforms where libaddr2line is supported.
+
+2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * utils.c (end_subprog_body): Do not call rest_of_compilation if just
+ annotating types.
+
+2004-02-02 Olivier Hainque <hainque@act-europe.fr>
+
+ * init.c (__gnat_install_handler): Setup an alternate stack for signal
+ handlers in the environment thread. This allows proper propagation of
+ an exception on stack overflows in this thread even when the builtin
+ ABI stack-checking scheme is used without support for a stack reserve
+ region.
+
+ * utils.c (create_field_decl): Augment the head comment about bitfield
+ creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
+ here, because the former is not accurate enough at this point.
+ Let finish_record_type decide instead.
+ Don't make a bitfield if the field is to be addressable.
+ Always set a size for the field if the record is packed, to ensure the
+ checks for bitfield creation are triggered.
+ (finish_record_type): During last pass over the fields, clear
+ DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
+ not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P
+ from DECL_BIT_FIELD.
+
+2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
+
+ * 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.
+
+2004-01-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in (mips-sgi-irix5): Remove -lathread from THREADSLIB.
+
+ * 5fsystem.ads (Functions_Return_By_DSP): Set to False.
+ (ZCX_By_Default): Likewise.
+ (Front_End_ZCX_Support): Likewise.
+
+ * 5gtaprop.adb (Stack_Guard): Mark T, On unreferenced.
+ (Initialize_Lock): Mark Level unreferenced.
+ (Sleep): Mark Reason unreferenced.
+ (Timed_Sleep): 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.
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch3.adb (Build_Slice_Assignment): New TSS procedure for
+ one-dimensional array an slice assignments, when component type is
+ controlled.
+
+ * exp_ch5.adb (Expand_Assign_Array): If array is one-dimensional,
+ component type is controlled, and control_actions are in effect, use
+ TSS procedure rather than generating inline code.
+
+ * exp_tss.ads (TSS_Slice_Assign): New TSS procedure for one-dimensional
+ arrays with controlled components.
+
+2004-01-26 Vincent Celier <celier@gnat.com>
+
+ * gnatcmd.adb (GNATCmd): Add specification of argument file on the
+ command line for the non VMS case.
+
+ * gnatlink.adb (Process_Binder_File): When building object file, if
+ GNU linker is used, put all object paths between quotes, to prevent ld
+ error when there are unusual characters (such as '!') in the paths.
+
+ * Makefile.generic: When there are sources in Ada and the main is in
+ C/C++, invoke gnatmake with -B, instead of -z.
+
+ * vms_conv.adb (Preprocess_Command_Data): New procedure, extracted
+ from VMS_Conversion.
+ (Process_Argument): New procedure, extracted from VMS_Conversion. Add
+ specification of argument file on the command line.
+
+2004-01-26 Bernard Banner <banner@gnat.com>
+
+ * Makefile.in: Enable GMEM_LIB and SYMLIB for x86_64
+
+2004-01-26 Ed Schonberg <schonberg@gnat.com>
+
+ * snames.adb: Update copyright notice.
+ Add info on slice assignment for controlled arrays.
+
+2004-01-23 Robert Dewar <dewar@gnat.com>
+
+ * exp_aggr.adb: Minor reformatting
+
+ * exp_ch9.adb: Minor code clean up
+ Minor reformatting
+ Fix bad character in comment
+
+ PR ada/13471
+ * targparm.adb (Get_Target_Parameters): Give clean abort error on
+ unexpected end of file, along with more detailed message.
+
+2004-01-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
+ PAT.
+
+ * decl.c (copy_alias_set): New function.
+ (gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.
+
+2004-01-23 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (install-gnatlib): Change occurrences of lib$$file to
+ lib$${file} in case subsequent character is not a separator.
+
+2004-01-23 Vincent Celier <celier@gnat.com>
+
+ * 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
+ when the GCC version is at least 3.
+
+ * make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
+ Remove all "Opt.", to prepare for opt split
+
+ * prj-part.adb (Parse_Single_Project): New Boolean out parameter
+ Extends_All. Set to True when the project parsed is an extending all
+ project. Fails for importing an extending all project only when the
+ imported project is an extending all project.
+ (Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
+ depending on the value of Extends_All returned.
+
+ * prj-proc.adb (Process): Check that no project shares its object
+ directory with a project that extends it, directly or indirectly,
+ including a virtual project.
+ Check that no project extended by another project shares its object
+ directory with another also extended project.
+
+ * prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
+ Kind = N_With_Clause
+
+ * prj-tree.ads: Minor reformatting
+ Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).
+
+2004-01-23 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
+ applies to a type with an incomplete view, use full view in Name of
+ clause, for consistency with uses of Get_Attribute_Definition_Clause.
+
+2004-01-23 Arnaud Charlet <charlet@act-europe.fr>
+
+ * 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
+ SCHED_RR, since other values are not supported by this policy.
+ (Initialize): Move initialization of mutex attribute to package
+ elaboration, to prevent early access to this variable.
+
+ * Makefile.in: Remove mention of Makefile.adalib, unused.
+
+ * Makefile.adalib, 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
+ 1ssecsta.ads: Removed, unused.
+
+2004-01-21 Javier Miranda <miranda@gnat.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
+ entity if already built in the current scope.
+
+ * exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
+ reminder in internal scopes. Required for nested limited aggregates.
+
+2004-01-21 Doug Rupp <rupp@gnat.com>
+
+ * Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
+ VMS. Replace all occurences of libgnat- and libgnarl- with
+ libgnat$(hyphen) and libgnarl$(hyphen).
+ Fixed shared library build problem on VMS.
+
+2004-01-21 Robert Dewar <dewar@gnat.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+2004-01-21 Thomas Quinot <quinot@act-europe.fr>
+
+ * prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
+ 'constant' keywords for declaration of pointers that are not modified.
+
+ * exp_pakd.adb: Fix English in comment.
+
+2004-01-21 Ed Schonberg <schonberg@gnat.com>
+
+ PR ada/10889
+ * sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
+ copy all attributes of the parent, including the foreign language
+ convention.
+
+2004-01-21 Sergey Rybin <rybin@act-europe.fr>
+
+ PR ada/10565
+ * sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
+ for 'delay until' statement.
+
+2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Make-lang.in: Replace $(docdir) with doc.
+ (doc/gnat_ug_unx.info, doc/gnat_ug_vwx.info, doc/gnat_ug_vms.info
+ doc/gnat_ug_wnt.info, doc/gnat_rm.info, doc/gnat-style.info): Update
+ to use consistent MAKEINFO rule.
+ (ada.man, ada.srcman): Dummy entry.
+ (ADA_INFOFILES): Define.
+ (ada.info, ada.srcinfo): New rules.
+
+2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
+
+ * utils.c: Update copyright notice, missed in previous change.
+
+2004-01-19 Vincent Celier <celier@gnat.com>
+
+ * mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
+ args if Bind is True. Set First_ALI, if not already done.
+ (Build_Library): For Stand Alone Libraries, extract from one ALI file
+ an eventual --RTS switch, for gnatbind, and all backend switches +
+ --RTS, for linking.
+
+2004-01-19 Robert Dewar <dewar@gnat.com>
+
+ * sem_attr.adb, memtrack.adb: Minor reformatting
+
+2004-01-19 Ed Schonberg <schonberg@gnat.com>
+
+ * exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
+ that rename enumeration literals. This is properly done in sem_eval.
+
+ * sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
+ to functions that rename enumeration literals.
+
+ * sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
+ functions that rename enumeration literals.
+
+2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * Make-lang.in (utils.o): Depend on target.h.
+ * utils.c: Include target.h.
+ (process_attributes): Use targetm.have_named_sections instead
+ of ASM_OUTPUT_SECTION_NAME.
+
+2004-01-16 Andreas Jaeger <aj@suse.de>
+
+ * Makefile.in: Add $(DESTDIR).
+
+2004-01-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
+ also when not defining if a Size clause applies. That information is
+ not to be ignored.
+
+2004-01-15 Arnaud Charlet <charlet@act-europe.fr>
+
+ * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
+ symbolic links for the shared gnat run time when needed.
+
+2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr>
+
+ * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
+ for writing, and terminate with an error message if not.
+
+2004-01-15 Ed Schonberg <schonberg@gnat.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
+ warning on an access to subprogram in an instance, when the target
+ type is declared in the same generic unit.
+ (Eval_Attribute): If 'access is known to fail accessibility check,
+ rewrite as a raise statement.
+
+2004-01-15 GNAT Script <nobody@gnat.com>
+
+ * Make-lang.in: Makefile automatically updated
+
2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (ada.srcextra): Dummy entry.
2004-01-05 Kelley Cook <kcook@gcc.gnu.org>
- * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
+ * Make-lang.in: Revert stamp-xgnatug change from 2003-12-18.
Update comment and copyright date.
* stamp-xgnatug: Delete.
* sprint.adb: Minor updates to avoid -gnatwa warnings
- * s-secsta.ads, s-secsta.adb:
+ * s-secsta.ads, s-secsta.adb:
(SS_Get_Max): New function to obtain high water mark for ss stack
Default_Secondary_Stack is not a constant since it may be modified by
the binder generated main program if the -D switch is used.
* switch-b.adb: New -Dnnn switch for binder
- * switch-c.adb:
+ * switch-c.adb:
Make -gnatg imply all warnings currently in -gnatwa
* vms_conv.adb: Minor reformatting
to __gnat_map_signal, imported from init.c to support
signal -> exception mappings that depend on the vxWorks version.
- * init.c:
+ * init.c:
Created and exported __gnat_map_signal to support signal -> exception
mapping that is dependent on the VxWorks version.
Change mapping of SIGBUS from Program_Error to Storage_Error on VxWorks
* sem_ch3.adb: Minor reformatting
- * sem_prag.adb:
+ * sem_prag.adb:
Fix bad prototype of Same_Base_Type in body (code reading cleanup)
Minor reformatting throughout
PR ada/11724
- * adaint.h, adaint.c, g-os_lib.ads:
+ * adaint.h, adaint.c, g-os_lib.ads:
Do not assume that the offset argument to lseek(2) is a 32 bit integer,
on some platforms (including FreeBSD), it is a 64 bit value.
Introduce a __gnat_lseek wrapper in adaint.c to allow for portability.
* gnatlbr.adb: Clean up: replace Library_Version by
Verbose_Library_Version.
- * make.adb, lib-writ.adb, exp_attr.adb:
+ * make.adb, lib-writ.adb, exp_attr.adb:
Clean up: replace Library_Version by Verbose_Library_Version.
* 5lintman.adb: Removed.
- * Makefile.in:
+ * Makefile.in:
Update and simplify computation of LIBRARY_VERSION.
Fix computation of GSMATCH_VERSION.
5lintman.adb is no longer used: replaced by 7sintman.adb.
2003-12-03 Robert Dewar <dewar@gnat.com>
- * exp_ch5.adb:
+ * exp_ch5.adb:
(Possible_Bit_Aligned_Component): Maybe_Bit_Aligned_Large_Component new
name. Modified to consider small non-bit-packed arrays as troublesome
and in need of component-by-component assigment expansion.
2003-12-03 Jose Ruiz <ruiz@act-europe.fr>
- * Makefile.in:
+ * Makefile.in:
When defining LIBGNAT_TARGET_PAIRS for bare board targets, remove the
redundant inclusion of EXTRA_HIE_NONE_TARGET_PAIRS, which is always
included in HIE_NONE_TARGET_PAIRS.
2003-12-03 Ed Schonberg <schonberg@gnat.com>
- * sem_attr.adb:
+ * sem_attr.adb:
(Legal_Formal_Attribute): Attribute is legal in an inlined body, as it
is legal in an instance, because legality is cheched in the template.
- * sem_prag.adb:
+ * sem_prag.adb:
(Analyze_Pragma, case Warnings): In an inlined body, the pragma may be
appplied to an unchecked conversion of a formal parameter.
- * sem_warn.adb:
+ * sem_warn.adb:
(Output_Unreferenced_Messages): Suppress "not read" warnings on imported
variables.
2003-11-26 Thomas Quinot <quinot@act-europe.fr>
- * g-socket.ads, g-socket.adb:
+ * g-socket.ads, g-socket.adb:
Clarify documentation of function Stream. Introduce a Free procedure
to release the returned Stream once it becomes unused.
2003-11-26 Ed Schonberg <schonberg@gnat.com>
- * exp_ch4.adb:
+ * exp_ch4.adb:
(Expand_N_Slice): Recognize all cases of slices that appear as actuals
in procedure calls and whose expansion must be deferred.
* exp_ch6.adb (Add_Call_By_Copy_Node): Remove previous fix. Proper fix
is in exp_ch4.
- * sem_ch3.adb:
+ * sem_ch3.adb:
(Build_Derived_Array_Type): Create operator for unconstrained type
if ancestor is unconstrained.
Change to object directory of main project before binding step.
(Initialize): Initialize Project_Object_Directory to No_Project
- * mlib-prj.adb:
+ * mlib-prj.adb:
(Build_Library): Take into account Builder'Default_Switches ("Ada") when
binding a Stand-Alone Library.
* sem_ch13.adb: (Check_Size): Reset size if size is too small
- * sem_ch13.ads:
+ * sem_ch13.ads:
(Check_Size): Fix documentation to include bit-packed array case
* sem_res.adb: Implement restriction No_Direct_Boolean_Operators
2003-11-24 Jose Ruiz <ruiz@act-europe.fr>
- * Makefile.in:
+ * Makefile.in:
Use 5zintman.ads for VxWorks targets. This file avoid confusion between
signals and interrupts.
* 5zintman.adb: Replace Exception_Interrupts by Exception_Signals, and
add exception signals to the set of unmasked signals.
- * 5ztaprop.adb:
+ * 5ztaprop.adb:
Use Abort_Task_Signal instead of Abort_Task_Interrupt to avoid confusion
between signals and interrupts.
Add to Unblocked_Signal_Mask the set of signals that are in
Keep_Unmasked.
- * 7sinmaop.adb:
+ * 7sinmaop.adb:
Adding a check to see whether the Interrupt_ID we want to unmask is in
the range of Keep_Unmasked (in procedure Interrupt_Self_Process). The
reason is that the index type of the Keep_Unmasked array is not always
2003-11-24 Gary Dismukes <dismukes@gnat.com>
- * exp_util.adb:
+ * exp_util.adb:
(Remove_Side_Effects): Condition constantness of object created for a
an unchecked type conversion on the constantness of the expression
to ensure the correct value for 'Constrained when passing components
2003-11-24 Vincent Celier <celier@gnat.com>
- * make.adb:
+ * make.adb:
(Gnatmake, Initialize): Call Usage instead of Makeusg directly
(Marking_Label): Label to mark processed source files. Incremented for
each executable.
2003-11-24 Jerome Guitton <guitton@act-europe.fr>
- * s-thread.ads:
+ * s-thread.ads:
Move the declaration of the TSD for System.Threads to System.Soft_Links.
Add some comments.
2003-11-24 Vasiliy Fofanov <fofanov@act-europe.fr>
- * Make-lang.in:
+ * Make-lang.in:
Use gnatls rather than gcc to obtain the location of GNAT RTL for
crosstools build.
2003-11-24 Ed Schonberg <schonberg@gnat.com>
- * sem_ch3.adb:
+ * sem_ch3.adb:
(New_Concatenation_Op): Proper name for New_Binary_Operator, only
used for implicit concatenation operators.
Code cleanup.
- * sem_elab.adb:
+ * sem_elab.adb:
(Check_Elab_Call): Set No_Elaboration_Check appropriately on calls in
task bodies that are in the scope of a Suppress pragma.
(Check_A Call): Use the flag to prevent spurious elaboration checks.
- * sinfo.ads, sinfo.adb:
+ * sinfo.ads, sinfo.adb:
New flag No_Elaboration_Check on function/procedure calls, to properly
suppress checks on calls in task bodies that are within a local suppress
pragma.
- * exp_ch4.adb:
+ * exp_ch4.adb:
(Expand_Concatenate_Other): Use the proper integer type for the
expression for the upper bound, to avoid universal_integer computations
when possible.
* snames.ads, snames.adbadb: New standard names
Library_Reference_Symbol_File and Library_Symbol_Policy
- * mlib-prj.adb:
+ * mlib-prj.adb:
(Build_Library): Call Build_Dinamic_Library with the Symbol_Data of the
project.
- * mlib-tgt.adb:
+ * mlib-tgt.adb:
(Build_Dynamic_Library): New parameter Symbol_Data (ignored)
* mlib-tgt.ads: (Build_Dynamic_Library): New parameter Symbol_Data
* prj.ads: (Policy, Symbol_Record): New types
(Project_Data): New component Symbol_Data
- * prj-attr.adb:
+ * prj-attr.adb:
New attributes Library_Symbol_File, Library_Symbol_Policy and
Library_Reference_Symbol_File.
- * prj-nmsc.adb:
+ * prj-nmsc.adb:
(Ada_Check): When project is a Stand-Alone library project, process
attribute Library_Symbol_File, Library_Symbol_Policy and
Library_Reference_Symbol_File.
gnatsym related to symbol file, symbol policy and reference symbol
file.
- * 5vsymbol.adb:
+ * 5vsymbol.adb:
Extensive modifications to take into account the reference symbol file,
the symbol policy, the library version and to put in the symbol file the
minor and major IDs.
(Flush): Remove last character of a line, if it is a back slash, to
avoid make problems.
- * gnatsym.adb:
+ * gnatsym.adb:
Implement new scheme with reference symbol file and symbol policy.
* g-os_lib.ads: (Is_Directory): Clarify comment
2003-11-19 Ed Schonberg <schonberg@gnat.com>
- * exp_ch6.adb:
+ * exp_ch6.adb:
(Add_Call_By_Copy_Node): Do not original node of rewritten expression
in the rewriting is the result of an inlined call.
post-call assignment, because expression may have been rewritten, e.g.
if it is a packed array.
- * sem_attr.adb:
+ * sem_attr.adb:
(Resolve_Attribute, case 'Constrained): Attribute is legal in an inlined
body, just as it is in an instance.
Categorization routines
2003-11-18 Thomas Quinot <quinot@act-europe.fr>
- * cstreams.c:
+ * cstreams.c:
Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.
* init.c: Initialization routines for FreeBSD
2003-11-14 Andreas Jaeger <aj@suse.de>
* lang.opt: Change -Wno-long-long to -Wlong-long since the latter
- is the canonical version.
+ is the canonical version.
* misc.c (gnat_handle_option): Likewise.
* Makefile.in (LIBGNAT_TARGET_PAIRS): Add rules for x86_64-linux.