Commit Graph

23 Commits

Author SHA1 Message Date
Bob Duff
05350ac648 exp_ch7.adb (Build_Array_Deep_Procs, [...]): Rename Is_Return_By_Reference_Type to be Is_Inherently_Limited_Type...
2006-10-31  Bob Duff  <duff@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs,
	Make_Deep_Record_Body): Rename Is_Return_By_Reference_Type to be
	Is_Inherently_Limited_Type, because return-by-reference has no meaning
	in Ada 2005.
	(Find_Node_To_Be_Wrapped): Use new method of determining the result
	type of the function containing a return statement, because the
	Return_Type field was removed. We now use the Return_Applies_To field.

        * exp_util.ads, exp_util.adb: Use new subtype N_Membership_Test
	(Build_Task_Image_Decl): If procedure is not called from an
	initialization procedure, indicate that function that builds task name
	uses the sec. stack. Otherwise the enclosing initialization procedure
	will carry the indication.
	(Insert_Actions): Remove N_Return_Object_Declaration. We now use
	N_Object_Declaration instead.
	(Kill_Dead_Code): New interface to implement -gnatwt warning for
	conditional dead code killed, and change implementation accordingly.
	(Insert_Actions): Add N_Return_Object_Declaration case.
	Correct comment to mention N_Extension_Aggregate node.
	(Set_Current_Value_Condition): Call Safe_To_Capture_Value to avoid bad
	attempts to save information for global variables which cannot be
	safely tracked.
	(Get_Current_Value_Condition): Handle conditions the other way round
	(constant on left). Also handle right operand of AND and AND THEN
	(Set_Current_Value_Condition): Corresponding changes
	(Append_Freeze_Action): Remove unnecessary initialization of Fnode.
	(Get_Current_Value_Condition): Handle simple boolean operands
	(Get_Current_Value_Condition): Handle left operand of AND or AND THEN
	(Get_Current_Value_Condition): If the variable reference is within an
	if-statement, does not appear in the list of then_statments, and does
	not come from source, treat it as being at unknown location.
	(Get_Current_Value_Condition): Enhance to allow while statements to be
	processed as well as if statements.
	(New_Class_Wide_Subtype): The entity for a class-wide subtype does not
	come from source.
	(OK_To_Do_Constant_Replacement): Allow constant replacement within body
	of loop. This is safe now that we fixed Kill_Current_Values.
	(OK_To_Do_Constant_Replacement): Check whether current scope is
	Standard, before examining outer scopes.

From-SVN: r118269
2006-10-31 18:57:36 +01:00
Ed Schonberg
59e54267fc re PR ada/18819 (ACATS cdd2a02 fail at runtime)
2006-02-13  Ed Schonberg  <schonberg@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.ads, exp_util.adb (Find_Prim_Op,
	Is_Predefined_Primitive_Operation): When
	searching for the predefined equality operator, verify that operands
	have the same type.
	(Is_Predefined_Dispatching_Operation): Remove the code that looks
	for the last entity in the list of aliased subprograms. This code
	was wrong in case of renamings.
	(Set_Renamed_Subprogram): New procedure
	(Remove_Side_Effects): Replace calls to Etype (Exp) with use of the
	Exp_Type constant computed when entering this subprogram.
	(Known_Null): New function
	(OK_To_Do_Constant_Replacement): New function
	(Known_Non_Null): Check scope before believing Is_Known_Non_Null flag
	(Side_Effect_Free): An attribute reference 'Input is not free of
	side effect, unlike other attributes that are functions. (from code
	reading).
	(Remove_Side_Effects): Expressions that involve packed arrays or records
	are copied at the point of reference, and therefore must be marked as
	renamings of objects.
	(Is_Predefined_Dispatching_Operation): Return false if the operation is
	not a dispatching operation.

	PR ada/18819
	(Remove_Side_Effects): Lift enclosing type conversion nodes for
	elementary types in all cases.

From-SVN: r111069
2006-02-15 10:40:13 +01:00
Robert Dewar
ea985d9542 exp_util.ads, [...] (Is_Ref_To_Bit_Packed_Slice): Handle case of type conversion.
2005-12-05  Robert Dewar  <dewar@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case
	of type conversion.
	(Find_Interface): New subprogram that given a tagged type and one of its
	component associated with the secondary table of an abstract interface
	type, return the entity associated with such abstract interface type.
	(Make_Subtype_From_Expr): If type has unknown discriminants, always use
	base type to create anonymous subtype, because entity may be a locally
	declared subtype or generic actual.
	(Find_Interface): New subprogram that given a tagged type and one of its
	component associated with the secondary table of an abstract interface
	type, return the entity associated with such abstract interface type.

	* sem_res.adb (Resolve_Type_Conversion): Handle the case in which the
	conversion cannot be handled at compile time. In this case we pass this
	information to the expander to generate the appropriate code.

From-SVN: r108294
2005-12-09 18:19:33 +01:00
Hristian Kirtchev
f4d379b8df rtsfind.ads, [...]: Complete support for Ada 2005 interfaces.
2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
	    Javier Miranda  <miranda@adacore.com>

	* rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
	exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
	exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
	einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.

	* a-tags.ads, a-tags.adb: Major rewrite and additions to implement
	properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
	assertions).

	* exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
	subprogram that generates the external name associated with a
	secondary dispatch table.
	(Get_Secondary_DT_External_Name): New subprogram that generates the
	external name associated with a secondary dispatch table.

From-SVN: r106965
2005-11-15 14:54:36 +01:00
Hristian Kirtchev
10b93b2ef0 a-tags.adb (IW_Membership): Give support to "Iface_CW_Typ in T'Class".
2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* a-tags.adb (IW_Membership): Give support to
	"Iface_CW_Typ in T'Class". For this purpose the functionality of this
	subprogram has been extended to look for the tag in the ancestors tag
	table.
	Update the structure of the GNAT Dispatch Table to reflect the
	additional two tables used in dispatching selects.
	Introduce appropriate array types and record components in
	Type_Specific_Data to reflect the two tables.
	(Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
	the TSD of a tag, indexed by position.
	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
	operation kind in the TSD of a tag, indexed by position.

	* a-tags.ads: Introduce an enumeration type to capture different
	primitive operation kinds. Define a constant reflecting the number of
	predefined primitive operations.
	(Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
	of an entry wrapper.
	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
	callable entity of a primitive operation.

	* exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
	primitive operations used in dispatching selects for limited
	interfaces, limited tagged, task and protected types what implement a
	limited interface.
	(Freeze_Type): Generate the bodies of the primitive operations used in
	dispatching selects for limited tagged, task and protected types that
	implement a limited interface. Generate statements to populate the two
	auxiliary tables used for dispatching in select statements.
	(Freeze_Record_Type): Add call to initialize the dispatch table entries
	associated with predefined interface primitive operations.
	(Build_Dcheck_Function): Change Set_Subtype_Mark to
	Set_Result_Definition.
	(Build_Variant_Record_Equality): Change Subtype_Mark to
	Result_Definition.
	(Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
	(Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
	(Build_Assignment): Simplify the code that adds the run-time-check.
	(Expand_N_Object_Declaration): Code cleanup.

	* exp_ch7.adb (Make_Clean): Select the appropriate type for locking
	entries when there is a protected type that implements a limited
	interface.

	* exp_ch9.adb: Add package Select_Expansion_Utilities that contains
	common routines used in expansion of dispatching selects.
	(Add_Private_Declarations): Select the appropriate protection type when
	there is a protected type that implements a limited interface.
	(Build_Parameter_Block): Generate a wrapped parameter block.
	(Build_Protected_Subprogram_Body): Select the appropriate type for
	locking entries when there is a protected type that implements a
	limited interface.
	(Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
	classified as entry wrappers.
	(Expand_N_Asynchronous_Select): Add support for expansion of dispatching
	asynchronous selects.
	(Expand_N_Conditional_Entry_Call): Add support for expansion of
	dispatching conditional selects.
	(Expand_N_Protected_Type_Declaration): Select the appropriate type for
	protection when there is a protected type that implements limited
	interfaces.
	(Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
	timed selects.
	(Extract_Dispatching_Call): Extract the entity of the name of a
	dispatching call, the object parameter, actual parameters and
	corresponding formals.
	(Make_Initialize_Protection): Correct logic of protection initialization
	when there is a protected type that implements a limited interface.
	(Parameter_Block_Pack): Populate a wrapped parameter block with the
	values of actual parameters.
	(Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
	block and assign them to the original actual parameters.

	* exp_ch9.ads (Subprogram_Protection_Mode): New type.
	(Build_Protected_Sub_Specification): Change the type and name of the
	last formal to account for the increased variety of protection modes.

	* einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
	entities. Used to save the value of the Is_Hidden attribute when the
	limited-view is installed.
	(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
	the attribute of procedures classified as entry wrappers.
	(Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
	entity of a primitive wrapper.
	(Write_Entity_Flags): Output the name and value of the
	Is_Primitive_Wrapper attribute.
	(Write_Field27_Name): Output the name and entity of the field Wrapped_
	Entity.
	(Underlying_Type): If we have an incomplete entity that comes from
	the limited view then we return the Underlying_Type of its non-limited
	view if it is already available.
	(Abstract_Interface_Alias): Flag applies to all subrogram kinds,
	including operators.
	(Write_Field26_Name): Add entry for Overridden_Operation
	(Overridden_Operation): New attribute of functions and procedures.

	* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
	predefined position in the dispatch table for the primitive operations
	used in dispatching selects.
	(Init_Predefined_Interface_Primitives): Remove the hardcoded number of
	predefined primitive operations and replace it with
	Default_Prim_Op_Count.
	(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
	Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
	the names of the generated primitive operations used in dispatching
	selects.
	(Init_Predefined_Interface_Primitives): No need to inherit primitives in
	case of abstract interface types. They will be inherit by the objects
	implementing the interface.
	(Make_DT): There is no need to inherit the dispatch table of the
	ancestor interface for the elaboration of abstract interface types.
	The dispatch table will be inherited by the object implementing the
	interface.
	(Copy_Secondary_DTs): Add documentation.
	(Validate_Position): Improve this static check in case of
	aliased subprograms because aliased subprograms must have
	the same position.
	(Init_Predefined_Interface_Primitives): New subprogram that initializes
	the entries associated with predefined primitives of all the secondary
	dispatch tables.
	(Build_Anonymous_Access_Type): Removed.
	(Expand_Interface_Actuals): With the previous cleanup there is no need
	to build an anonymous access type. This allows further cleanup in the
	code generated by the expander.
	(Expand_Interface_Conversion): If the actual is an access type then
	build an internal function to handle the displacement. If the actual
	is null this function returns null because no displacement is
	required; otherwise performs a type conversion that will be
	expanded in the code that returns the value of the displaced actual.
	(Expand_Interface_Actuals): Avoid the generation of unnecessary type
	conversions that have no effect in the generated code because no
	displacement is required. Code cleanup; use local variables to
	avoid repeated calls to the subprogram directly_designated_type().

	* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
	Classify the primitive operations used in dispatching selects as
	predefined.
	(Implements_Limited_Interface): Determine whether some type either
	directly implements a limited interface or extends a type that
	implements a limited interface.
	(Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
	(Expand_Subtype_From_Expr): Do not build actual subtype if the
	expression is limited.
	(Find_Interface_Tag): Add code to handle class-wide types and
	entities from the limited-view.

	* rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
	Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
	POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
	POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
	Set_Prim_Op_Kind.

	* sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
	of procedure name or prefix that appears as a trigger in a triggering
	alternative.

	* uintp.ads: Introduce constants Uint_11 and Uint_13.

From-SVN: r103850
2005-09-05 09:47:56 +02:00
R. Kelley Cook
cb5fee25cd Update FSF address
From-SVN: r101492
2005-07-01 01:29:17 +00:00
Gary Dismukes
758c442c13 exp_ch4.adb (Expand_Allocator_Expression): When an initialized allocator's designated type is a class-wide type...
2005-06-14  Gary Dismukes  <dismukes@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression): When an initialized
	allocator's designated type is a class-wide type, and compiling for
	Ada 2005, emit a run-time check that the accessibility level of the
	type given in the allocator's expression is not deeper than the level
	of the allocator's access type.

	(Tagged_Membership): Modified to gives support to abstract interface
	types.

	* a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
	Access_Level.
	(Descendant_Tag): New predefined function
	(Is_Descendant_At_Same_Level): New predefined function
	(Get_Access_Level): New private function
	(Set_Access_Level): New private procedure
	(IW_Membership): New function. Given the tag of an object and the tag
	associated with an interface, evaluate if the object implements the
	interface.
	(Register_Interface_Tag): New procedure used to initialize the table of
	interfaces used by the IW_Membership function.
	(Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
	of the dispatch table.
	(Inherit_TSD): Modified to copy the table of ancestor tags plus the
	table of interfaces of the parent.
	(Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
	(External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
	(Parent_Tag): Return No_Tag in the case of a root-level tagged type,
	and raise Tag_Error if the passed tag equalis No_Tag, to conform with
	Ada 2005 semantics for the new predefined function.

	* exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
	call to Descendant_Tag rather than Internal_Tag.
	(Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
	the accessibility level of the attribute's Item parameter is not deeper
	than the level of the attribute's prefix type. Tag_Error is raised if
	the check fails. The check is only emitted for Ada_05.
	(Find_Stream_Subprogram): If a TSS exists on the type itself for the
	requested stream attribute, use it.
	(Expand_N_Attribute_Reference): If the designated type is an interface
	then rewrite the referenced object as a conversion to force the
	displacement of the pointer to the secondary dispatch table.
	(Expand_N_Attribute_Reference, case 'Constrained): Return false if this
	is a dereference of an object with a constrained partial view.

	* exp_ch5.adb (Expand_N_Return_Statement): When a function's result
	type is a class-wide type, emit a run-time check that the accessibility
	level of the returned object is not deeper than the level of the
	function's master (only when compiling for Ada 2005).

	* exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
	Action_Nb_Arg): Add entries for new Get_Access_Level and
	Set_Access_Level routines in these tables.
	(Make_DT): Generate a call to set the accessibility level of the
	tagged type in its TSD.
	(Make_DT): Code cleanup. The functionality of generating all the
	secondary dispatch tables has been moved to freeze_record_type.
	(Make_Abstract_Interface_DT): Minor code cleanup.
	(Set_All_DT_Position): Code cleanup. As part of the code cleanup
	this subprogram implements a new algorithm that provides the
	same functionality and it is more clear in case of primitives
	associated with abstract interfaces.
	(Set_All_Interfaces_DTC_Entity): Removed. As part of the code
	clean up, the functionality of this subprogram is now provided
	by Set_All_DT_Position.
	(Write_DT): New subprogram: a debugging procedure designed to be called
	within gdb to display the dispatch tables associated with a tagged
	type.
	(Collect_All_Interfaces): New subprogram that collects the whole list
	of interfaces that are directly or indirectly implemented by a tagged
	type.
	(Default_Prim_Op_Position): New subprogram that returns the fixed
	position in the dispatch table of the default primitive operations.
	(Expand_Interface_Actuals): New subprogram to generate code that
	displaces all the actuals corresponding to class-wide interfaces to
	reference the interface tag of the actual object.
	(Expand_Interface_Conversion): New subprogram. Reference the base of
	the object to give access to the interface tag associated with the
	secondary dispatch table.
	(Expand_Interface_Thunk): New subprogram that generates the code of the
	thunk. This is required for compatibility with the C+ ABI.
	(Make_Abstract_Interface_DT): New subprogram that generate the
	declarations for the secondary dispatch tables associated with an
	abstract interface.
	(Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
	attribute for each primitive operation covering interface subprograms
	(Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
	These subprograms were upgraded to give support to abstract interfaces

	* rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
	RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
	RE_Set_Access_Level.
	(RE_Unit_Table): Add entries for new Ada.Tags operations.
	Add support to call the followig new run-time subprograms:
	IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top

	* sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
	match its full declaration when both have an access definition with
	statically matching designated subtypes.
	(Analyze_Component_Declaration): Delete commented out code that was
	incorrectly setting the scope of an anonymous access component's type.
	(Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
	an access discriminant when the containing type is nonlimited.
	(Make_Incomplete_Type_Declaration): Create an incomplete type
	declaration for a record type that includes self-referential access
	components.
	(Check_Anonymous_Access_Types): Before full analysis of a record type
	declaration, create anonymous access types for each self-referential
	access component.
	(Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
	an access component in this context is a Local_Anonymous_Access, for
	proper accessibility checks.
	(Access_Definition): Set properly the scope of the anonymous access type
	created for a stand-alone access object.
	(Find_Type_Of_Object): An object declaration may be given with an access
	definition.
	(Complete_Subprograms_Derivation): New subprogram used to complete
	type derivation of private tagged types implementing interfaces.
	In this case some interface primitives may have been overriden
	with the partial-view and, instead of re-calculating them, they
	are included in the list of primitive operations of the full-view.
	(Build_Derived_Record_Type): Modified to give support to private
	types implemening interfaces.
	(Access_Definition): Reject ALL on anonymous access types.
	(Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
	type derivation to occur at a deeper accessibility level than the
	parent type.
	For the case of derivation within a generic body however, disallow the
	derivation if the derived type has an ancestor that is a formal type
	declared in the formal part of an enclosing generic.
	(Analyze_Object_Declaration): For protected objects, remove the check
	that they cannot contain interrupt handlers if not declared at library
	level.
	(Add_Interface_Tag_Components): New subprogram to add the tag components
	corresponding to all the abstract interface types implemented by a
	record type or a derived record type.
	(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
	Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
	Process_Full_View, Record_Type_Declaration): Modified to give
	support to abstract interface types
	(Collect_Interfaces): New subprogram that collects the list of
	interfaces that are not already implemented by the ancestors
	(Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
	when partial view has no discriminants and full view has defaults.
	(Constrain_Access): Reject a constraint on a general access type
	if the discriminants of the designated type have defaults.
	(Access_Subprogram_Declaration): Associate the Itype node with the inner
	full-type declaration or subprogram spec. This is required to handle
	nested anonymous declarations.
	(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
	Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
	Process_Full_View, Record_Type_Declaration): Modified to give
	support to abstract interface types
	(Derive_Subprograms): Addition of a new formal to indicate if
	we are in the case of an abstact-interface derivation
	(Find_Type_Of_Subtype_Indic): Moved from the body of the package
	to the specification because it is requied to analyze all the
	identifiers found in a list of interfaces

	* debug.adb: Complete documentation of flag "-gnatdZ"

	* exp_ch3.adb: Implement config version of persistent_bss pragma
	(Check_Stream_Attributes): Use Stream_Attribute_Available instead of
	testing for TSS presence to properly enforce visibility rules.
	(Freeze_Record_Type): Code cleanup. Modified to call the subprogram
	Make_Abstract_Interfaces_DT to generate the secondary tables
	associated with abstract interfaces.
	(Build_Init_Procedure): Modified to initialize all the tags
	corresponding.
	(Component_Needs_Simple_Initialization): Similar to other tags,
	interface tags do not need initialization.
	(Freeze_Record_Type): Modified to give support to abstract interface
	types.
	(Expand_N_Object_Declaration): Do not generate an initialization for
	a scalar temporary marked as internal.

	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
	in-out parameter that is a component in an initialization procedure,
	whose constraint might depend on discriminants, and that may be
	misaligned because of packing or representation clauses.
	(Is_Legal_Copy): New predicate to determine whether a possibly
	misaligned in-out actual can actually be passed by copy/return. This
	is an error in case the type is by_reference, and a warning if this is
	the consequence of a DEC import pragma on the subprogram.
	(Expand_Call, Freeze_Subprogram): Modified to give support to abstract
	interface types
	(Expand_Inlined_Call): Mark temporary generated for the return value as
	internal, so that no useless scalar normalization is generated for it.
	(Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
	null procedure can always be inlined.
	(Expand_N_Subprogram_Declaration): If this is the declaration of a null
	procedure, generate an explicit empty body for it.

	* exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
	Given a type implementing an interface, returns the corresponding
	access_disp_table value.
	(Find_Interface_Tag): New subprogram. Given a type implementing an
	interface, returns the record component containing the tag of the
	interface.
	(Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
	previous ones that return the corresponding tag and access_disp_table
	entities.
	(Is_Predefined_Dispatching_Operation): Determines if a subprogram
	is a predefined primitive operation.
	(Expand_Subtype_From_Expr): If the expression is a selected component
	within an initialization procedure, compute its actual subtype, because
	the component may depend on the discriminants of the enclosing record.

	* i-cpp.ads, i-cpp.adb:
	This package has been left available for compatibility with previous
	versions of the frontend. As part of the new layout this is now a
	dummy package that uses declarations available at a-tags.ads

	* par-ch3.adb (P_Identifier_Declarations): Give an error for use of
	"constant access" and "aliased [constant] access" when not compiling
	with -gnat05.
	Suppress Ada 2005 keyword warning if -gnatwY used
	(P_Identifier_Declarations): Add support for object declarations with
	access definitions.
	(Private_Extension_Declaration): Complete the documentation
	(P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
	attribute in case of private extension declaration
	(P_Type_Declaration): Mark as "abstract" the type declarations
	corresponding with protected, synchronized and task interfaces
	(P_Declarative_Items): "not" and "overriding" are overriding indicators
	for a subprogram or instance declaration.

	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
	instantiation that is a dispatching operation has controlling access
	parameters that are null excluding.
	Save and restore Ada_Version_Explicit, for implementation of AI-362
	(Validate_Derived_Type_Instance): Add check for abstract interface
	types.
	(Analyze_Formal_Package): Establish Instantiation source for the copy of
	the generic that is created to represent the formal package.
	(Analyze_Package_Instantiation): Instantiate body immediately if the
	package is a predefined unit that contains inlined subprograms, and
	we are compiling for a Configurable_Run_Time.
	(Instantiate_Formal_Subprogram): Indicate that null default subprogram
	If the program has a null default, generate an empty body for it.

	* sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
	error message condition, null procedures are correctly detected now.
	(New_Overloaded_Entity): Bypass trivial overriding indicator check
	for subprograms in the context of protected types. Instead, the
	indicator is examined in Sem_Ch9 while analysing the subprogram
	declaration.
	(Check_Overriding_Indicator): Check consistency of overriding indicator
	on subprogram stubs as well.
	(Analyze_Subprogram_Declaration): Diagnose null procedures declared at
	the library level.
	(Analize_Subprogram_Specification): When analyzing a subprogram in which
	the type of the first formal is a concurrent type, replace this type
	by the corresponding record type.
	(Analyze_Subprogram_Body): Undo the previous work.
	(Analyze_Procedure_Call): If the call has the form Object.Op, the
	analysis of the prefix ends up analyzing the call itself, after which
	we are done.
	(Has_Interface_Formals): New subprogram subsidiary to analyze
	subprogram_specification that returns true if some non
	class-wide interface subprogram is found
	(New_Overloaded_Entity): Modified to give support to abstract
	interface types
	(Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
	access to subprograms must be recursive.
	(Is_Unchecked_Conversion): Improve the test that recognizes
	instantiations of Unchecked_Conversion, and allows them in bodies that
	are to be inlined by the front-end. When the body comes from an
	instantiation, a reference to Unchecked_Conversion will be an
	Expanded_Name, even though the body has not been analyzed yet.
	Replace Is_Overriding and Not_Overriding in subprogram_indication with
	Must_Override and Must_Not_Override, to better express intent of AI.
	(Analyze_Subprogram_Body): If an overriding indicator is given, check
	that it is consistent with the overrinding status of the subprogram
	at this point.
	(Analyze_Subprogram_Declaration): Indicate that a null procedure is
	always inlined.
	If the subprogram is a null procedure, indicate that it does not need
	a completion.

	* sem_disp.adb (Check_Controlling_Type): Give support to entities
	available through limited-with clauses.
	(Check_Dispatching_Operation): A stub acts like a body, and therefore is
	allowed as the last primitive of a tagged type if it has no previous
	spec.
	(Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
	to give support to abstract interface types

	* sem_res.adb (Valid_Conversion): Perform an accessibility level check
	in the case where the target type is an anonymous access type of an
	object or component (that is, when Is_Local_Anonymous_Access is true).
	Prevent the special checks for conversions of access discriminants in
	the case where the discriminant belongs to a nonlimited type, since
	such discriminants have their accessibility level defined in the same
	way as a normal component of an anonymous access type.
	(Resolve_Allocator): When an allocator's designated type is a class-wide
	type, check that the accessibility level of type given in the
	allocator's expression or subtype indication is not statically deeper
	than the level of the allocator's access type.
	(Check_Discriminant_Use): Diagnose discriminant given by an expanded
	name in a discriminant constraint of a record component.
	(Resolve_Explicit_Dereference): Do not check whether the type is
	incomplete when the dereference is a use of an access discriminant in
	an initialization procedure.
	(Resolve_Type_Conversion): Handle conversions to abstract interface
	types.
	(Valid_Tagged_Conversion): The conversion of a tagged type to an
	abstract interface type is always valid.
	(Valid_Conversion): Modified to give support to abstract interface types
	(Resolve_Actuals): Enable full error reporting on view conversions
	between unrelated by_reference array types.
	The rule for view conversions of arrays with aliased components is
	weakened in Ada 2005.
	Call to obsolescent subprogram is now considered to be a violation of
	pragma Restrictions (No_Obsolescent_Features).
	(Check_Direct_Boolean_Operator): If the boolean operation has been
	constant-folded, there is nothing to check.
	(Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
	check on possible violation of restriction No_Direct_Boolean_Operators
	until after expansion of operands, to prevent spurious errors when
	operation is constant-folded.

	* sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
	Has_Compatible_Type): Modified to give support to abstract interface
	types.
	(Interface_Present_In_Ancestor): New function to theck if some ancestor
	of a given type implements a given interface

	* sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
	prefix is a parameterless function that returns an access_to_procedure.
	(Transform_Object_Operation): Handle properly function calls of the
	form Obj.Op (X), which prior to analysis appear as indexed components.
	(Analyze_One_Call): Complete the error notification to help new Ada
	2005 users.
	(Analyze_Allocator): For an allocator without an initial value, where
	the designated type has a constrained partial view, a discriminant
	constraint is illegal.

From-SVN: r101024
2005-06-16 10:32:47 +02:00
Robert Dewar
f44fe43027 re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1)
2005-03-08  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	PR ada/19900

	* exp_pakd.adb (Create_Packed_Array_Type): Do not set
	Must_Be_Byte_Aligned for cases where we do not need to use a
	System.Pack_nn unit.

	* exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
	as procedures.
	Needed now that we do some processing for IN parameters as well. This
	may well fix some unrelated errors.
	(Expand_Call): Handle case of unaligned objects (in particular those
	that come from packed arrays).
	(Expand_Inlined_Call): If the subprogram is a renaming as body, and the
	renamed entity is an inherited operation, re-expand the call using the
	original operation, which is the one to call.
	Detect attempt to inline parameterless recursive subprogram.
	(Represented_As_Scalar): Fix to work properly with private types
	(Is_Possibly_Unaligned_Object): Major rewrite to get a much more
	accurate estimate. Yields True in far fewer cases than before,
	improving the quality of code that depends on this test.
	(Remove_Side_Effects): Properly test for Expansion_Delayed and handle
	case when it's inside an N_Qualified_Expression.

	* exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
	over both visible and private declarations to remove them from tree,
	and mark subprograms declared in package as eliminated, to prevent
	spurious use in subsequent compilation of generic units in the context.

	* exp_util.ads: Minor cleanup in variable names

	* sem_eval.ads, sem_eval.adb: Minor reformatting
	(Compile_Time_Known_Bounds): New function

From-SVN: r96493
2005-03-15 17:00:26 +01:00
Arnaud Charlet
984a64bcf3 [multiple changes]
2005-02-09  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Add to the gnatpp section the paragraph describing
	the difference between compact and incompact layout and add the record
	representation clause to the example illustrating different layouts.
	Add the description of '-A5' gnatpp option ("align 'AT' keywords in
	component clauses").

2005-02-09  Florian Villoing  <villoing@adacore.com>

	* gnat_ugn.texi: Fix typos.
	Use @command to display 'gcc', 'gnatbind', etc. insted of @code or
	@file.
	Make proper use of @ref, @xref and @pxref to avoid duplication of "see"
	in the generated documentation.

2005-02-09  Arnaud Charlet  <charlet@adacore.com>

	* gnat_ugn.texi: Remove all mentions of FSU threads, which are no
	longer supported.
	Update linker wrapper when linking with non GNU C++.

2005-02-09  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi:
	Document the procedure to debug the DllMain routine on Windows.
	Add note about -funwind-tables and mixed Ada and C/C++ programming in
	ZCX mode.
	Document new BIND qualifer /RETURN_CODES=VMS.

2005-02-09  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter
	Edited gnatmetric chapter

2005-02-09  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi:
	Changes to document new wide wide character support
	For AI-285
	Update documentation on Normalize_Scalars and Initialize_Scalars

2005-02-09  Pascal Obry  <obry@adacore.com>

	* s-taprop-mingw.adb, s-soflin.ads: Minor reformatting.

2005-02-09  Jose Ruiz  <ruiz@adacore.com>

	* s-osinte-vxworks.ads (taskPriorityGet): Add this function (imported
	from the VxWorks kernel) that is needed for getting the active
	priority of the different tasks.

	* s-atacco.ads, s-atacco.adb (Nothing): Remove this dummy procedure.
	Use a pragma Elaborate_Body in the spec file instead.
	Noticed by code reading.

2005-02-09  Thomas Quinot  <quinot@adacore.com>

	* exp_util.ads: Minor correction in comment.

2005-02-09  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop.ads (Initialize): Update comments. Remove pragma Inline,
	since this procedure is now too complex to be worth inlining.

From-SVN: r94826
2005-02-10 14:57:23 +01:00
Arnaud Charlet
bebbff91ba a-stmaco.ads, [...]: Minor reformatting througout (including new function specs) Add ??? comments...
* a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
	Minor reformatting througout (including new function specs)
	Add ??? comments asking for clarification.

From-SVN: r90901
2004-11-19 11:55:09 +01:00
Arnaud Charlet
15ce9ca22b [multiple changes]
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.

From-SVN: r84152
2004-07-06 15:57:33 +02:00
Arnaud Charlet
7324bf49ce [multiple changes]
2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>

	* 5isystem.ads: Removed, unused.

	* gnat_rm.texi: Redo 1.13 change.

2004-04-19  Robert Dewar  <dewar@gnat.com>

	* s-stoele.ads: Clean up definition of Storage_Offset (the new
	definition is cleaner, avoids the kludge of explicit Standard operator
	references, and also is consistent with a visible System.Address with
	no visible operations.

	* s-geveop.adb: Add declarations to avoid assumption of visible
	operations on type System.Address (since these might not be available
	if Address is a non-private type for which the operations
	are made abstract).

	* sem_eval.adb: Minor reformatting

	* s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads,
	s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor
	reformatting (new function spec format).

	* s-auxdec.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: Add declarations to avoid assumption of visible
	operations on type System.Address (since these might not be available
	if Address is a non-private type for which the operations are made
	abstract).

	* lib.ads, lib.adb (Synchronize_Serial_Number): New procedure.

	* exp_intr.adb: Minor comment update

	* exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting.

	* 5omastop.adb: Add declarations to avoid assumption of visible
	operations on type System.Address (since these might not be available
	if Address is a non-private type for which the operations
	are made abstract).

2004-04-19  Vincent Celier  <celier@gnat.com>

	* switch-m.adb: (Scan_Make_Switches): Process new switch -eL

	* prj-pars.ads (Parse): New Boolean parameter Process_Languages,
	defaulted to Ada.

	* prj-proc.adb (Process): New Boolean parameter Process_Languages,
	defaulted to Ada.
	Call Check with Process_Languages.
	(Check): New Boolean parameter Process_Languages. Call Recursive_Check
	with Process_Languages.
	(Recursive_Check): New Boolean parameter Process_Languages. Call
	Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to
	Process_Languages.

	* prj-proc.ads (Process): New Boolean parameter Process_Languages,

	* prj-util.ads, prj-util.adb (Executable_Of): New Boolean
	parameter Ada_Main, defaulted to True.
	Check for Ada specific characteristics only when Ada_Main is True.

	* opt.ads: (Follow_Links): New Boolean flag for gnatmake

	* prj.adb: (Project_Empty): Add new Project_Data components.

	* prj.ads: New types and tables for non Ada languages.
	(Project_Data): New components Languages, Impl_Suffixes,
	First_Other_Source, Last_Other_Source, Imported_Directories_Switches,
	Include_Path, Include_Data_Set.

	* prj-env.ads, prj-env.adb: Minor reformatting

	* prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure
	Put subprograms in alphabetical order

	* prj-pars.adb (Parse): New Boolean parameter Process_Languages,
	defaulted to Ada; Call Prj.Proc.Process with Process_Languages and
	Opt.Follow_Links.

	* mlib-prj.adb: Back out modification in last version, as they are
	incorrect.
	(Build_Library.Check_Libs): Remove useless pragma Warnings (Off)

	* make.adb: (Mains): Moved to package Makeutl
	(Linker_Opts): Moved to package Makeutl
	(Is_External_Assignment): Moved to package Makeutl
	(Test_If_Relative_Path): Moved to package Makeutl
	(Gnatmake): Move sorting of linker options to function
	Makeutl.Linker_Options_Switches.

	* Makefile.in: Add makeutl.o to the object files for gnatmake

	* makeusg.adb: Add line for new switch -eL.

	* gnatls.adb (Image): New function.
	(Output_Unit): If in verbose mode, output the list of restrictions
	specified by pragmas Restrictions.

	* 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use
	Text_IO.

	* a-calend.adb (Split): Shift the date by multiple of 56 years, if
	needed, to put it in the range 1970 (included) - 2026 (excluded).
	(Time_Of): Do not shift Unix_Min_Year (1970).
	Shift the date by multiple of 56 years, if needed, to put it in the
	range 1970 (included) - 2026 (excluded).

	* adaint.h, adaint.c (__gnat_set_executable): New function.

2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c (tree_transform, case N_Subprogram_Body): Temporarily push
	and pop GC context.
	(tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE.
	(tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH.
	(tree_transform, case N_Procedure_Call_Statement): Build a tree.
	(tree_transform, case N_Code_Statement): Likewise.
	(gnat_expand_stmt, case LABEL_STMT): Don't look at
	LABEL_STMT_FIRST_IN_EH.
	(gnat_expand_stmt, case ASM_STMT): New case.

	* utils2.c (build_unary_op): Properly set TREE_READONLY of
	UNCONSTRAINED_ARRAY_REF.

	* utils.c (poplevel): Temporarily push/pop GC context around inline
	function expansion.

	* decl.c (maybe_variable): Properly set TREE_READONLY of
	UNCONSTRAINED_ARRAY_REF.
	(make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE.

	* ada-tree.def: (ASM_STMT): New.

	* ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted.
	(ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT,
	ASM_STMT_INPUT): New.
	(ASM_STMT_CLOBBER): Likewise.

2004-04-19  Thomas Quinot  <quinot@act-europe.fr>

	* a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use
	general rcheck mechanism to raise Program_Error for E.4(18), instead
	of a custom raiser in System.Partition_Interface.
	Part of general cleanup work before PolyORB integration.

	* snames.ads, snames.adb: Add new runtime library entities and names
	for PolyORB DSA.

	* sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to
	exp_dist.
	(Build_Subprogram_Id): New subprogram provided by exp_dist
	Code reorganisation in preparation for PolyORB integration.

	* exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to
	exp_dist.
	(Build_Subprogram_Id): New subprogram provided by exp_dist

	* sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in
	actual parameter types for call to dereference of an
	access-to-subprogram type.

	* rtsfind.ads: Add new runtime library entities and names for PolyORB
	DSA.

	* gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value
	instead, which has the same behaviour here since we never pass it a
	NULL pointer.

	* link.c (run_path_option, Solaris case): Use -Wl, as for other
	platforms.

	* Makefile.in: adjust object file lists for gnatlink and gnatmake
	to account for new dependency upon Interfaces.C.Strings + link.o
	For x86 FreeBSD, use 86numaux.

	* make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up
	from Mlib.Tgt to Mlib.

	* mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now
	target-independent.

	* mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove
	target-specific versions of this subprogram, now implemented as a
	target-independent function in Mlib.

	* 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb,
	5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb
	(Linker_Library_Path_Option): Remove target-specific versions of this
	subprogram, now implemented as a target-independent function in Mlib.

	* atree.adb: (Allocate_Initialize_Node): New subprogram.
	Factors out node table slots allocation.
	(Fix_Parents): New subprogram.
	Encapsulate the pattern of fixing up parent pointers for syntactic
	children of a rewritten node.
	(New_Copy_Tree): Use New_Copy to copy non-entity nodes.
	(Rewrite): Use New_Copy when creating saved copy of original node.
	(Replace): Use Copy_Node to copy nodes.

2004-04-19  Javier Miranda  <miranda@gnat.com>

	* sprint.adb (Sprint_Node_Actual): Give support to the new
	Access_To_Subprogram node available in Access_Definition nodes. In
	addition, give support to the AI-231 node fields: null-exclusion,
	all-present, constant-present.

	* sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram

	* 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
	decorates internal subtype declaration corresponding to the
	null-excluding formal. This code was previously in Set_Actual_Subtypes.
	In addition, carry out some code cleanup on this code. In case of
	access to protected subprogram call
	Replace_Anonymous_Access_To_Protected_Subprogram.
	(Set_Actual_Subtypes): Code cleanup.

	* sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to
	Find_Type in case of anonymous access renamings. Add warning in case of
	null-excluding attribute used in anonymous access renaming.

	* sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
	subprogram

	* sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New
	subprogram.
	(Access_Definition): In case of anonymous access to subprograms call
	the corresponding semantic routine to decorate the node.
	(Access_Subprogram_Declaration): Addition of some comments indicating
	some code that probably should be added here. Detected by comparison
	with the access_definition subprogram.
	(Analyze_Component_Declaration): In case of access to protected
	subprogram call Replace_Anonymous_Access_To_Protected.
	(Array_Type_Declaration): In case of access to protected subprogram call
	Replace_Anonymous_Access_To_Protected_Subprogram.
	(Process_Discriminants): In case of access to protected subprogram call
	Replace_Anonymous_Access_To_Protected_Subprogram.

	* par.adb (P_Access_Definition): New formal that indicates if the
	null-exclusion part was present.
	(P_Access_Type_Definition): New formal that indicates if the caller has
	already parsed the null-excluding part.

	* par-ch3.adb (P_Subtype_Declaration): Code cleanup.
	(P_Identifier_Declarations): Code cleanup and give support to renamings
	of anonymous access to subprogram types.
	(P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup.
	(P_Array_Type_Definition): Give support to AI-254.
	(P_Component_Items): Give support to AI-254.
	(P_Access_Definition): New formal that indicates if the header was
	already parsed by the caller.
	(P_Access_Type_Definition): New formal that indicates if the caller has
	already parsed the null-excluding part.

	* par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the
	call to P_Access_Definition.

2004-04-19  Geert Bosch  <bosch@gnat.com>

	* checks.adb (Apply_Float_Conversion_Check): New procedure to implement
	the delicate semantics of floating-point to integer conversion.
	(Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check.

	* eval_fat.adb (Machine_Mantissa): Moved to spec.
	(Machine_Radix): New function.

	* eval_fat.ads (Machine_Mantissa): Moved from body for use in
	conversion checks.
	(Machine_Radix): New function also for use in conversion checks.

2004-04-19  Ed Schonberg  <schonberg@gnat.com>

	* par-prag.adb (Source_File_Name_Project): Fix typo in error message.

	* exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze
	to decorate the access-to-protected subprogram and the equivalent type.

	* checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support
	to anonymous access to subprogram types.

	* exp_ch4.adb (Expand_N_In): Preserve Static flag before
	constant-folding, for legality checks in contexts that require an RM
	static expression.

	* exp_ch6.adb (Expand_N_Function_Call): If call may generate large
	temporary but stack checking is not enabled, increment serial number
	to so that symbol generation is consistent with and without stack
	checking.

	* exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is
	independent on whether stack checking is enabled, caller must check
	the corresponding flag.

	* sem_ch3.adb (Constrain_Index): Index bounds given by attributes need
	range checks.
	(Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from
	parent if it has discriminants.
	(Build_Derived_Private_Type): Constructed full view does
	not come from source.
	(Process_Discriminants): Default discriminants on a tagged type are
	legal if this is the internal completion of a private untagged
	derivation.

	* sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs
	no constraint checks, because it corresponds to an existing object.

	* sem_prag.adb (Process_Convention): Pragma applies
	only to subprograms in the same declarative part, i.e. the same unit,
	not the same scope.

	* sem_res.adb (Valid_Conversion): In an instance or inlined body,
	ignore type mismatch on a numeric conversion if expression comes from
	expansion.

2004-04-19  Sergey Rybin  <rybin@act-europe.fr>

	* sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for
	Homonym_Number parameter, add processing for Source_Location parameter
	corresponding.
	(Check_Eliminated): Remove the check for homonym numbers, add the check
	for source location traces.

	* sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number
	with Arg_Source_Location corresponding to the changes in the format of
	the pragma.

	* sem_prag.adb: (Analyze_Pragma): Changes in the processing of
	Eliminate pragma corresponding to the changes in the format of the
	pragma: Homonym_Number is replaced with Source_Location, two ways of
	distinguishing homonyms are mutially-exclusive.

2004-04-19  Joel Brobecker  <brobecker@gnat.com>

	* get_targ.ads (Get_No_Dollar_In_Label): Remove.

	* exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of
	No_Dollar_In_Label, no longer necessary, as it is always True.
	(Strip_Suffixes): Likewise.

2004-04-19  Gary Dismukes  <dismukes@gnat.com>

	* s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of
	modulus for compatibility with size clause on targets with 16-bit
	Integer.

	* layout.adb (Discrimify): In the case of private types, set Vtyp to
	full type to fix type mismatches on calls to size functions for
	discriminant-dependent array components.

2004-04-19  Jerome Guitton  <guitton@act-europe.fr>

	* Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time
	lib.

2004-04-19  Pascal Obry  <obry@gnat.com>

	* mdll-utl.adb (Locate): New version is idempotent.

From-SVN: r80856
2004-04-19 17:20:16 +02:00
Arnaud Charlet
2820d22058 [multiple changes]
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

From-SVN: r80055
2004-03-29 14:03:27 +02:00
Arnaud Charlet
91b1417d44 [multiple changes]
2004-01-05  Robert Dewar  <dewar@gnat.com>

	* 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may
	be modified by the binder generated main program if the -D switch is
	used.

	* 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all
	imported functions (since now we expect this to be done for imported
	functions)

	* 5vtaprop.adb: Add several ??? for sections requiring more comments
	Minor reformatting throughout

	* 5zinit.adb: Minor reformatting
	Add 2004 to copyright date
	Minor changes to avoid -gnatwa warnings
	Correct some instances of using OR instead of OR ELSE (noted while
	doing reformatting)

	* sprint.adb: Minor updates to avoid -gnatwa warnings

	* 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:
	Make -gnatg imply all warnings currently in -gnatwa

	* vms_conv.adb: Minor reformatting
	Add 2004 to copyright notice
	Add 2004 to printed copyright notice

	* 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb,
	3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb,
	5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb,
	5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb,
	5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb,
	5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb,
	5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb,
	5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb,
	5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb,
	5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb,
	6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb,
	vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb,
	xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads,
	sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb,
	checks.adb, clean.adb, cstand.adb, einfo.ads,
	einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb,
	exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb,
	prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb,
	sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb,
	g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb,
	lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb:
	Minor reformatting and code clean ups.
	Minor changes to prevent -gnatwa warnings

	* ali.adb: Minor reformatting and cleanup of code
	Acquire new SS indication of secondary stack use from ali files

	* a-numaux.ads: Add Pure_Function pragmas for all imported functions
	(since now we expect this to be done for imported functions)

	* bindgen.adb: Generate call to modify default secondary stack size if
	-Dnnn switch given

	* bindusg.adb: Add line for new -D switch

	* exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate
	replacement name for Type_May_Have_Non_Bit_Aligned_Components!
	Add circuitry for both records and arrays to avoid gigi
	processing if the type involved has non-bit-aligned components

	* exp_ch5.adb (Expand_Assign_Array): Avoid assumption that
	N_String_Literal node always references an E_String_Literal_Subtype
	entity. This may not be true in the future.
	(Possible_Bit_Aligned_Component): Move processing of
	Component_May_Be_Bit_Aligned from exp_ch5 to exp_util

	* exp_ch6.adb (Expand_Thread_Body): Pick up
	Default_Secondary_Stack_Size as variable so that we get value modified
	by possible -Dnnn binder parameter.

	* exp_util.adb (Component_May_Be_Bit_Aligned): New function.
	(Type_May_Have_Bit_Aligned_Components): New function.

	* exp_util.ads (Component_May_Be_Bit_Aligned): New function.
	(Type_May_Have_Bit_Aligned_Components): New function.

	* fe.h: (Set_Identifier_Casing): Fix prototype.
	Add declaration for Sem_Elim.Eliminate_Error_Msg.
	Minor reformatting.

	* freeze.adb (Freeze_Entity): Add RM reference to error message about
	importing constant atomic/volatile objects.
	(Freeze_Subprogram): Reset Is_Pure indication for imported subprogram
	unless explicit Pure_Function pragma given, to avoid insidious bug of
	call to non-pure imported function getting eliminated.

	* gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb,
	gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb,
	gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting
	Add 2004 to printed copyright notice

	* lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary
	stack used.

	* Makefile.rtl: Add entry for g-sestin.o
	g-sestin.ads: New file.

	* mdll.adb: Minor changes to avoid -gnatwa warnings

	* mlib-tgt.adb: Minor reformatting

	* opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND)
	New switch Sec_Stack_Used (GNAT, GNATBIND)
	Make Default_Secondary_Stack_Size a variable instead of a constant,
	so that it can be modified by the new -Dnnn bind switch.

	* rtsfind.adb (Load_Fail): Give full error message in configurable
	run-time mode if all_errors mode is set. This was not done in the case
	of a file not found, which was an oversight.
	Note if secondary stack unit is used by compiler.

	* sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put
	ineffective elaborate all pragmas on non-visible packages (this
	happened when a renamed subprogram was called). Now the elaborate all
	always goes on the package containing the renaming rather than the one
	containing the renamed subprogram.

	* sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure
	(Process_Eliminate_Pragma): Add parameter to capture pragma location.

	* sem_eval.adb (Eval_String_Literal): Do not assume that string literal
	has an Etype that references an E_String_Literal.
	(Eval_String_Literal): Avoid assumption that N_String_Literal node
	always references an E_String_Literal_Subtype entity. This may not
	be true in the future.

	* sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture
	pragma location.

	* sem_res.adb (Resolve): Specialize msg for function name used in proc
	call.

2004-01-05  Ed Falis  <falis@gnat.com>

	* g-debuti.adb: Replaced direct boolean operator with short-circuit
	form.

2004-01-05  Vincent Celier  <celier@gnat.com>

	* bld.adb: Minor comment updates
	(Process_Declarative_Items): Correct incorrect name (Index_Name instead
	of Item_Name).

	* make.adb (Gnatmake): Special process for files to compile/check when
	-B is specified. Fail when there are only foreign mains in attribute
	Main of the project file and -B is not specified. Do not skip bind/link
	steps when -B is specified.

	* makeusg.adb: Document new switch -B

	* opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag

	* switch-m.adb: (Scan_Make_Switches): Process -B switch

	* vms_data.ads: Add new GNAT PRETTY qualifier
	/FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff

2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c (tree_transform, case N_Free_Statement): Handle thin pointer
	case.

	* misc.c (gnat_printable_name): If VERBOSITY is 2, call
	Set_Identifier_Casing.

	* decl.c (gnat_to_gnu_entity, E_Function): Give error if return type
	has size that overflows.

2004-01-05  Gary Dismukes  <dismukes@gnat.com>

	* exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid
	-gnatwa warning on static condition.

2004-01-05  Doug Rupp  <rupp@gnat.com>

	* link.c: (shared_libgnat_default) [VMS]: Change to STATIC.

2004-01-05  Arnaud Charlet  <charlet@act-europe.fr>

	* Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve
	all attributes, including read-only attribute.

2004-01-05  Pascal Obry  <obry@gnat.com>

	* bindgen.adb (Gen_Object_Files_Options): Generate the new shared
	library naming scheme.

	* mlib-prj.adb (Build_Library): Generate different names for the static
	or dynamic version of the GNAT runtime. This is needed to support the
	new shared library naming scheme.
	(Process_Binder_File): Add detection of shared library in binder file
	based on the new naming scheme.

	* gnatlink.adb (Process_Binder_File): Properly detect the new naming
	scheme for the shared runtime libraries.

	* Makefile.in:
	(LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming
	scheme.
	(install-gnatlib): Do not create symlinks for shared libraries.
	(gnatlib-shared-default): Idem.
	(gnatlib-shared-dual-win32): New target. Not used for now as the
	auto-import feature does not support arrays/records.
	(gnatlib-shared-win32): Do not create copy for the shared libraries.
	(gnatlib-shared-vms): Fix shared runtime libraries names.

	* osint.ads, osint.adb (Shared_Lib): New routine, returns the target
	dependent runtime shared library name.

2004-01-05  Vasiliy Fofanov  <fofanov@act-europe.fr>

	* osint.adb (Read_Library_Info): Remove bogus check if ALI is older
	than the object.

2004-01-05  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic
	protected objects when allocator has a subtype indication, not a
	qualified expression. Note that qualified expressions may have to be
	checked when limited aggregates are implemented.

	* sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is
	pure, emit warning.
	(Analyze_Pragma, case Pure_Function): If enclosing package is pure and
	subprogram is imported, remove warning.

2004-01-05  Geert Bosch  <bosch@gnat.com>

	* s-poosiz.adb: Update copyright notice.
	(Allocate): Use Task_Lock to protect against concurrent access.
	(Deallocate): Likewise.

2004-01-05  Joel Brobecker  <brobecker@gnat.com>

	* s-stalib.adb (Elab_Final_Code): Add missing year in date inside ???
	comment.

From-SVN: r75432
2004-01-05 16:20:47 +01:00
Arnaud Charlet
fbf5a39b3e 3psoccon.ads, [...]: Files added.
2003-10-21  Arnaud Charlet  <charlet@act-europe.fr>

	* 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads,
	3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads,
	3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads,
	55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb,
	56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads,
	59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads,
	5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb,
	5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads,
	5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads,
	5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb,
	5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads,
	5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb,
	5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb,
	5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb,
	7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb,
	a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb,
	a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb,
	a-stwisu.ads, bld.adb, bld.ads, bld-io.adb,
	bld-io.ads, clean.adb, clean.ads, ctrl_c.c,
	erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
	err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads,
	g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb,
	g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads,
	g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb,
	g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb,
	g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb,
	g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads,
	gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb,
	g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads,
	g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb,
	i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl,
	prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
	prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb,
	s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb,
	s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb,
	s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb,
	s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
	s-caun64.ads, scng.adb, scng.ads, s-exnint.adb,
	s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb,
	s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb,
	s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads,
	socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb,
	s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads,
	s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads,
	s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb,
	styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb,
	s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads,
	tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads,
	vms_conv.ads, vms_conv.adb, vms_data.ads,
	vxaddr2line.adb: Files added. Merge with ACT tree.

	* 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads,
	5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb,
	5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads,
	5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c,
	g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb,
	s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads,
	s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
	s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads,
	s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads,
	s-expssi.ads, style.adb: Files removed. Merge with ACT tree.

	* 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
	3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
	3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
	3wsoliop.ads, 41intnam.ads, 42intnam.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,
	4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads,
	51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads,
	53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads,
	5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads,
	5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads,
	5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb,
	5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads,
	5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads,
	5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads,
	5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads,
	5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb,
	5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads,
	5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads,
	5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.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, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb,
	5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads,
	5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb,
	5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads,
	5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb,
	5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb,
	5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb,
	5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads,
	5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
	5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb,
	6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb,
	7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb,
	7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb,
	a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads,
	a-comlin.adb, adaint.c, adaint.h, ada-tree.def,
	a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb,
	a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads,
	a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads,
	ali.adb, ali.ads, ali-util.adb, ali-util.ads,
	a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb,
	a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb,
	a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb,
	a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb,
	a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads,
	a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
	a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb,
	a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb,
	a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb,
	a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb,
	a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads,
	a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads,
	atree.adb, atree.ads, a-witeio.adb, a-witeio.ads,
	a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb,
	a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb,
	bcheck.adb, binde.adb, bindgen.adb, bindusg.adb,
	checks.adb, checks.ads, cio.c, comperr.adb,
	comperr.ads, csets.adb, cstand.adb, cstreams.c,
	debug_a.adb, debug_a.ads, debug.adb, decl.c,
	einfo.adb, einfo.ads, errout.adb, errout.ads,
	eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb,
	expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb,
	exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb,
	exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
	exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb,
	exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c,
	exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
	exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb,
	exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb,
	fe.h, fmap.adb, fmap.ads, fname.adb,
	fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb,
	freeze.ads, frontend.adb, g-awk.adb, g-awk.ads,
	g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
	g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
	g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
	g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
	g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads,
	g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads,
	g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads,
	g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb,
	g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb,
	g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h,
	g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
	g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads,
	gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb,
	gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb,
	gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb,
	gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb,
	gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb,
	g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb,
	g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads,
	g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads,
	g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads,
	g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads,
	g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb,
	g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb,
	g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads,
	i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads,
	i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c,
	inline.adb, interfac.ads, i-pacdec.ads, itypes.adb,
	itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h,
	layout.adb, lib.adb, lib.ads, lib-list.adb,
	lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb,
	lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
	link.c, live.adb, make.adb, make.ads,
	Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb,
	mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
	mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb,
	misc.c, mkdir.c, mlib.adb, mlib.ads,
	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads,
	mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads,
	namet.adb, namet.ads, namet.h, nlists.ads,
	nlists.h, nmake.adt, opt.adb, opt.ads,
	osint.adb, osint.ads, osint-b.adb, osint-c.adb,
	par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb,
	par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
	par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
	par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb,
	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
	prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads,
	prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads,
	prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
	prj-util.adb, prj-util.ads, raise.c, raise.h,
	repinfo.adb, repinfo.h, restrict.adb, restrict.ads,
	rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads,
	s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb,
	s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb,
	scans.ads, scn.adb, scn.ads, s-crc32.adb,
	s-crc32.ads, s-direio.adb, sem.adb, sem.ads,
	sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
	sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
	sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb,
	sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb,
	sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
	sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb,
	sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb,
	sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads,
	sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads,
	sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb,
	s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads,
	s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads,
	s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
	s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb,
	s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb,
	s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads,
	s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb,
	sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb,
	sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads,
	sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads,
	s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads,
	s-memory.adb, s-memory.ads, snames.adb, snames.ads,
	snames.h, s-osprim.ads, s-parame.ads, s-parint.ads,
	s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb,
	s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads,
	s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads,
	s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads,
	s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads,
	s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads,
	s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads,
	s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
	s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb,
	s-tasdeb.ads, s-tasinf.adb, s-tasinf.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-tasres.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-tpoben.ads, s-tpobop.adb, s-tpobop.ads,
	s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
	stringt.adb, stringt.ads, stringt.h, style.ads,
	stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads,
	s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb,
	s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb,
	switch.ads, switch-b.adb, switch-c.adb, switch-m.adb,
	s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads,
	table.adb, table.ads, targparm.adb, targparm.ads,
	targtyps.c, tbuild.adb, tbuild.ads, tracebak.c,
	trans.c, tree_io.adb, treepr.adb, treeprs.adt,
	ttypes.ads, types.ads, types.h, uintp.adb,
	uintp.ads, uintp.h, uname.adb, urealp.adb,
	urealp.ads, urealp.h, usage.adb, utils2.c,
	utils.c, validsw.adb, validsw.ads, widechar.adb,
	xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads,
	xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb,
	einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb,
	gnatvsn.ads: Merge with ACT tree.

	* gnatvsn.adb: Rewritten in a simpler and more efficient way.

From-SVN: r72751
2003-10-21 15:42:24 +02:00
Geert Bosch
bcea76b65d 1aexcept.adb, [...]: Merge header, formatting and other trivial changes from ACT.
* 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,
	1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads,
	3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads,
	3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads,
	3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads,
	4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb,
	4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads,
	4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads,
	4sintnam.ads, 4uintnam.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, 52osinte.adb,
	52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads,
	5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads,
	5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb,
	5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads,
	5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb,
	5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb,
	5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb,
	5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads,
	5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.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, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads,
	5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb,
	5nintman.adb, 5nosinte.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, 5pvxwork.ads,
	5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb,
	5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb,
	5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb,
	5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads,
	5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads,
	5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb,
	5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb,
	5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads,
	5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads,
	5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb,
	5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb,
	5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads,
	5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads,
	5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb,
	6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb,
	7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads,
	7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads,
	9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb,
	a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb,
	a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads,
	a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
	a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
	a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads,
	a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads,
	a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads,
	a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb,
	a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads,
	a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads,
	a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads,
	a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
	a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads,
	a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads,
	a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads,
	a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
	a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads,
	a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads,
	a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads,
	a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb,
	a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads,
	a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads,
	a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads,
	a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads,
	a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
	a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads,
	a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads,
	a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads,
	a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
	a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads,
	a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads,
	a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb,
	a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb,
	a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb,
	a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb,
	a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb,
	a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb,
	a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb,
	a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb,
	a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
	a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb,
	a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb,
	a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads,
	a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb,
	a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb,
	a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb,
	a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb,
	a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb,
	a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb,
	a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb,
	a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb,
	a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb,
	a-wttest.ads, ada-tree.h, ada.ads, ada.h,
	adadecode.c, adadecode.h, ali-util.adb, ali-util.ads,
	ali.adb, ali.ads, alloc.ads, argv.c,
	atree.adb, atree.ads, atree.h, aux-io.c,
	back_end.adb, back_end.ads, bcheck.adb, bcheck.ads,
	binde.adb, binde.ads, binderr.adb, binderr.ads,
	bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads,
	butil.adb, butil.ads, cal.c, calendar.ads,
	casing.adb, casing.ads, ceinfo.adb, checks.adb,
	checks.ads, cio.c, comperr.adb, comperr.ads,
	config-lang.in, csets.adb, csets.ads, csinfo.adb,
	cstand.adb, cstand.ads, cuintp.c, debug.adb,
	debug.ads, debug_a.adb, debug_a.ads, dec-io.adb,
	dec-io.ads, dec.ads, deftarg.c, directio.ads,
	einfo.adb, einfo.ads, elists.adb, elists.ads,
	elists.h, errno.c, errout.adb, errout.ads,
	eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb,
	exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads,
	exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads,
	exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads,
	exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads,
	exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
	exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads,
	exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads,
	exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads,
	exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
	exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads,
	exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads,
	exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads,
	exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
	exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads,
	fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads,
	fname-uf.adb, fname-uf.ads, fname.adb, fname.ads,
	freeze.adb, freeze.ads, frontend.adb, frontend.ads,
	g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads,
	g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
	g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads,
	g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads,
	g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads,
	g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb,
	g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb,
	g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb,
	g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb,
	g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads,
	g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads,
	g-htable.adb, g-htable.ads, g-io.adb, g-io.ads,
	g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb,
	g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb,
	g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads,
	g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb,
	g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads,
	g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb,
	g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads,
	g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads,
	g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads,
	g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads,
	get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads,
	gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads,
	gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads,
	gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
	gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb,
	gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb,
	gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads,
	gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb,
	hlo.adb, hlo.ads, hostparm.ads, i-c.adb,
	i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads,
	i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads,
	i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads,
	i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb,
	i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb,
	i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads,
	inline.adb, inline.ads, interfac.ads, ioexcept.ads,
	itypes.adb, itypes.ads, krunch.adb, krunch.ads,
	layout.adb, layout.ads, lib-list.adb, lib-load.adb,
	lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads,
	lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads,
	lib.adb, lib.ads, live.adb, live.ads,
	machcode.ads, make.adb, make.ads, makeusg.adb,
	makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads,
	mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads,
	memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb,
	mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
	mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb,
	mlib.ads, namet.adb, namet.ads, nlists.adb,
	nlists.ads, opt.adb, opt.ads, osint-b.adb,
	osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb,
	osint-l.ads, osint-m.adb, osint-m.ads, osint.adb,
	osint.ads, output.adb, output.ads, par-ch10.adb,
	par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb,
	par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb,
	par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
	par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb,
	par-tchk.adb, par-util.adb, par.adb, par.ads,
	prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads,
	prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
	prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads,
	prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
	prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads,
	prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads,
	prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads,
	prj.adb, prj.ads, repinfo.adb, repinfo.ads,
	restrict.adb, restrict.ads, rident.ads, rtsfind.adb,
	rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb,
	s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb,
	s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb,
	s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads,
	s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads,
	s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb,
	s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads,
	s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads,
	s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads,
	s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads,
	s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads,
	s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
	s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb,
	s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads,
	s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads,
	s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads,
	s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads,
	s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads,
	s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads,
	s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads,
	s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads,
	s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads,
	s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
	s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads,
	s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads,
	s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads,
	s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb,
	s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb,
	s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads,
	s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads,
	s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
	s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
	s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads,
	s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads,
	s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads,
	s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
	s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
	s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads,
	s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads,
	s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads,
	s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
	s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
	s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads,
	s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads,
	s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads,
	s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
	s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
	s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads,
	s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads,
	s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads,
	s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
	s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
	s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads,
	s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads,
	s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads,
	s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
	s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads,
	s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads,
	s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads,
	s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb,
	s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads,
	s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads,
	s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads,
	s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads,
	s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads,
	s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads,
	s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb,
	s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb,
	s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb,
	s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads,
	s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
	s-tasinf.adb, s-tasinf.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-tasres.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-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb,
	s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb,
	s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads,
	s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads,
	s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads,
	s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads,
	s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads,
	s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads,
	s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads,
	s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads,
	s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads,
	s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb,
	s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
	s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb,
	s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb,
	s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
	s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb,
	s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb,
	scn-slit.adb, scn.adb, scn.ads, sdefault.ads,
	sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads,
	sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads,
	sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads,
	sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads,
	sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads,
	sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads,
	sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads,
	sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads,
	sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads,
	sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads,
	sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
	sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads,
	sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads,
	sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads,
	sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads,
	sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb,
	sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb,
	sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb,
	sinput-p.ads, sinput.adb, sinput.ads, snames.adb,
	snames.ads, sprint.adb, sprint.ads, stand.adb,
	stand.ads, stringt.adb, stringt.ads, style.adb,
	style.ads, stylesw.adb, stylesw.ads, switch-b.adb,
	switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
	switch-m.ads, switch.adb, switch.ads, system.ads,
	table.adb, table.ads, targparm.adb, targparm.ads,
	tbuild.adb, tbuild.ads, text_io.ads, trans.c,
	tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads,
	tree_io.adb, tree_io.ads, treepr.adb, treepr.ads,
	ttypef.ads, ttypes.ads, types.adb, types.ads,
	uintp.adb, uintp.ads, uname.adb, uname.ads,
	unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads,
	usage.adb, usage.ads, validsw.adb, validsw.ads,
	widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb,
	xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads,
	xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header,
	formatting and other trivial changes from ACT.

From-SVN: r66044
2003-04-24 19:54:20 +02:00
Nathanael Nerode
71ff80dc28 Nathanael Nerode <neroden@gcc.gnu.org> PR ada/6919 (forward port of patch for PR ada/5904)
Nathanael Nerode  <neroden@gcc.gnu.org>
	PR ada/6919 (forward port of patch for PR ada/5904)
	* 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads
	4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb
	4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads
	4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads
	4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb
	4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb
	4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb
	52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads
	5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads
	5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads
	5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads
	5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb
	5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads
	5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads
	5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads
	5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads
	5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads
	5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads
	5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb
	5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads
	5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads
	5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb
	5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads
	5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb
	5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb
	5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb
	5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb
	5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb
	7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb
	a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb
	a-chahan.ads a-colien.adb a-colien.ads a-colire.adb
	a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads
	a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads
	a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads
	a-except.adb a-except.ads a-excpol.adb a-exctra.adb
	a-exctra.ads a-filico.adb a-filico.ads a-finali.adb
	a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads
	a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb
	a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads
	a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb
	a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb
	a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb
	a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads
	a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads
	a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads
	a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads
	a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb
	a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb
	a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads
	a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads
	a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads
	a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads
	a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads
	a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads
	a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads
	a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads
	a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads
	a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads
	a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads
	a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb
	a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads
	a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads
	a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads
	a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads
	a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads
	a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads
	a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb
	a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h
	adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads
	alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb
	back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads
	binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb
	bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads
	ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads
	csets.adb csets.ads csinfo.adb cstand.adb cstand.ads
	cstreams.c cuintp.c debug.adb debug.ads debug_a.adb
	debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c
	einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h
	errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c
	exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads
	exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb
	exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads
	exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb
	exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads
	exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb
	exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb
	exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb
	exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb
	exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb
	exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb
	exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads
	exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h
	final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads
	fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb
	freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb
	g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads
	g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h
	gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb
	gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb
	gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb
	gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads
	gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads
	gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads
	i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb
	i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads
	i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads
	i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads
	impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c
	itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h
	lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb
	lib-load.ads lib-sort.adb lib-util.adb lib-util.ads
	lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb
	lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb
	makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c
	namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h
	nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb
	osint.ads output.adb output.ads par-ch10.adb par-ch11.adb
	par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb
	par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb
	par-endh.adb par-labl.adb par-load.adb par-prag.adb
	par-sync.adb par-tchk.adb par-util.adb par.adb par.ads
	prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb
	prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads
	prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads
	prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads
	prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads
	prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h
	repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads
	rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads
	s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads
	s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb
	s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads
	s-direio.adb s-direio.ads s-except.ads s-exctab.adb
	s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads
	s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads
	s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads
	s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads
	s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads
	s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads
	s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb
	s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads
	s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads
	s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads
	s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb
	s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb
	s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb
	s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb
	s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb
	s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb
	s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb
	s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb
	s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads
	s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb
	s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads
	s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads
	s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads
	s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads
	s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads
	s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads
	s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads
	s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads
	s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads
	s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads
	s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads
	s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads
	s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads
	s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads
	s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads
	s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads
	s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads
	s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads
	s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads
	s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads
	s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads
	s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads
	s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads
	s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads
	s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads
	s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads
	s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads
	s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads
	s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads
	s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads
	s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads
	s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads
	s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads
	s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb
	s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb
	s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb
	s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb
	s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb
	s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb
	s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads
	s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads
	s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads
	s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads
	s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads
	s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads
	s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads
	s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads
	s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads
	s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads
	s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads
	s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads
	s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb
	s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb
	s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb
	s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb
	s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb
	s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb
	s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads
	scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb
	sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads
	sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb
	sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb
	sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads
	sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb
	sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads
	sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb
	sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb
	sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb
	sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb
	sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb
	sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads
	sem_type.adb sem_type.ads sem_util.adb sem_util.ads
	sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads
	sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb
	sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb
	sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads
	snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb
	stringt.ads stringt.h style.adb style.ads stylesw.adb
	stylesw.ads switch.adb switch.ads sysdep.c system.ads
	table.adb table.ads targparm.adb targparm.ads targtyps.c
	tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads
	tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb
	treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads
	types.adb types.ads types.h uintp.adb uintp.ads uintp.h
	uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb
	usage.ads utils.c utils2.c validsw.adb validsw.ads
	widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb
	xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb
	xtreeprs.adb: Correct statements in comments about maintainership
	of GNAT.

From-SVN: r58442
2002-10-23 07:33:35 +00:00
Matthew Gingell
8cbb664efd * checks.ads:
(Remove_Checks): New procedure

	* checks.adb:
	(Remove_Checks): New procedure

	* exp_util.adb:
	Use new Duplicate_Subexpr functions
	(Duplicate_Subexpr_No_Checks): New procedure
	(Duplicate_Subexpr_No_Checks_Orig): New procedure
	(Duplicate_Subexpr): Restore original form (checks duplicated)
	(Duplicate_Subexpr): Call Remove_Checks

	* exp_util.ads:
	(Duplicate_Subexpr_No_Checks): New procedure
	(Duplicate_Subexpr_No_Checks_Orig): New procedure
	Add 2002 to copyright notice

	* sem_util.adb: Use new Duplicate_Subexpr functions

	* sem_eval.adb:
	(Eval_Indexed_Component): This is the place to call
	Constant_Array_Ref and to replace the value. We simply merge
	the code of this function in here, since it is now no longer
	used elsewhere. This fixes the problem of the back end not
	realizing we were clever enough to see that this was
	constant.
	(Expr_Val): Remove call to Constant_Array_Ref
	(Expr_Rep_Val): Remove call to Constant_Array_Ref
	Minor reformatting
	(Constant_Array_Ref): Deal with string literals (patch
	suggested by Zack Weinberg on the gcc list)

	* exp_util.adb: Duplicate_Subexpr_No_Checks_Orig =>
	Duplicate_Subexpr_Move_Checks.

	* exp_util.ads: Duplicate_Subexpr_No_Checks_Orig =>
	Duplicate_Subexpr_Move_Checks.

	* sem_eval.adb: (Constant_Array_Ref): Verify that constant
	value of array exists before retrieving it (it may a private
	protected component in a function).

From-SVN: r51513
2002-03-28 15:33:09 +00:00
Geoffrey Keating
6cbcc54138 Delete all lines containing "$Revision:".
* xeinfo.adb: Don't look for revision numbers.
	* xnmake.adb: Likewise.
	* xsinfo.adb: Likewise.
	* xsnames.adb: Likewise.
	* xtreeprs.adb: Likewise.

From-SVN: r50768
2002-03-14 11:00:22 +00:00
Geert Bosch
07fc65c47c 41intnam.ads, [...]: Merge in ACT changes.
* 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,
	4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads,
	4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads,
	4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads,
	5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb,
	5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads,
	5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb,
	5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads,
	5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb,
	5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb,
	5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads,
	5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb,
	5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads,
	5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb,
	5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb,
	5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb,
	5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb,
	5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb,
	5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb,
	5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb,
	7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb,
	Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads,
	a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb,
	a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads,
	a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb,
	a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb,
	a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb,
	a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb,
	a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h,
	adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb,
	atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb,
	bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb,
	csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c,
	einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads,
	eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
	exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads,
	exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads,
	exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads,
	exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb,
	exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads,
	expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb,
	freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb,
	g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads,
	g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb,
	g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb,
	g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb,
	g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb,
	g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c,
	gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb,
	gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads,
	gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb,
	i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads,
	impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb,
	lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
	lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb,
	memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads,
	mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb,
	nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads,
	output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb,
	par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb,
	prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb,
	prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb,
	prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads,
	rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb,
	s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads,
	s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb,
	s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb,
	s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb,
	s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb,
	s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb,
	s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads,
	s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads,
	s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb,
	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-tasuti.adb, s-tasuti.ads, s-tataat.adb,
	s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb,
	s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads,
	s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb,
	sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb,
	sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb,
	sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads,
	sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb,
	sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb,
	sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb,
	sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb,
	sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb,
	sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb,
	sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads,
	snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads,
	stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads,
	table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb,
	tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb,
	treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads,
	types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb,
	utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb,
	xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes.

	* 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads,
	g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads,
	mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads,
	osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files

	* 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb,
	5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed

	* mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed
	to mdll-fil.ad[bs] and mdll-util.ad[bs]

	* mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed
	from mdllfile.ad[bs] and mdlltool.ad[bs]

From-SVN: r50451
2002-03-08 21:11:04 +01:00
Joseph Myers
44d6a70684 5ataprop.adb, [...]: Fix spelling errors.
* 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5gmastop.adb,
	5gtaprop.adb, 5htaprop.adb, 5itaprop.adb, 5lintman.adb,
	5omastop.adb, 5oosinte.adb, 5otaprop.adb, 5staprop.adb,
	5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5wintman.adb,
	5wtaprop.adb, 5zinterr.adb, 5ztaprop.adb, 6vcstrea.adb,
	7sintman.adb, 7staprop.adb, 9drpc.adb, ChangeLog, Makefile.in,
	a-except.adb, a-tags.ads, a-tasatt.adb, a-teioed.adb,
	a-textio.ads, a-witeio.ads, a-wtedit.adb, ali.ads, comperr.adb,
	cstand.adb, einfo.ads, errout.adb, exp_ch11.adb, exp_ch2.adb,
	exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb,
	exp_util.adb, exp_util.ads, fname-uf.adb, g-cgi.ads, g-exctra.ads,
	g-expect.ads, g-regist.adb, g-spipat.adb, gnatchop.adb,
	gnatlink.adb, gnatls.adb, gnatmain.adb, gnatmem.adb, init.c,
	make.adb, make.ads, mdlltool.adb, nlists.ads, osint.ads,
	par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par.adb,
	repinfo.adb, s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads,
	s-fatsfl.ads, s-finimp.adb, s-finimp.ads, s-interr.adb,
	s-secsta.ads, s-shasto.ads, s-stalib.adb, s-stalib.ads,
	s-tarest.ads, s-tasdeb.adb, s-tassta.adb, s-tassta.ads,
	s-vaflop.ads, scans.ads, scn.adb, sem.ads, sem_aggr.adb,
	sem_attr.adb, sem_case.ads, sem_ch10.adb, sem_ch12.adb,
	sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, sem_ch7.adb,
	sem_ch8.adb, sem_ch8.ads, sem_type.adb, sem_util.ads, sinfo.ads,
	sprint.adb, tbuild.ads, types.ads, utils.c, xeinfo.adb: Fix
	spelling errors.

From-SVN: r48055
2001-12-16 01:13:56 +00:00
Geert Bosch
de76a39c6e s-stalib.adb: Add more comments on with statements being needed
* s-stalib.adb: Add more comments on with statements being needed

	* par-ch12.adb: Minor reformatting

	* prj-dect.ads: Fix copyright header

	* s-arit64.adb (Multiply_With_Ovflo_Check): Fix case where both
	inputs fit in 32 bits, but the result still overflows.

	* s-fatgen.ads: Minor comment improvement

	* sem_ch4.adb (Analyze_Selected_Component): If the prefix is of a
	formal derived type, look for an inherited component from the full
	view of the parent, if any.

	* checks.ads (Apply_Alignment_Check): New procedure.

	* exp_ch13.adb (Expand_N_Freeze_Entity): Generate dynamic check to
	ensure that the alignment of objects with address clauses is
	appropriate, and raise PE if not.

	* exp_util.ads (Must_Be_Aligned): Removed, replaced by
	Exp_Pakd.Known_Aligned_Enough

	* mdllfile.ads: Minor reformatting

	* mlib-fil.ads: Minor reformatting

	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Extend previous
	fix to any component reference if enclosing record has non-standard
	representation.

	* g-dirope.ads (Find, Wildcard_Iterator): Moved to child package
	Iteration

	* freeze.ads: Make Freeze_Fixed_Point_Type visible, for use in
	sem_attr.

	* impunit.adb: Add entry for GNAT.Directory_Operations.Iteration

	* g-regexp.adb: Remove all debug code, since it isn't required anymore,
	and it adds dependencies to system.io.

	* g-dirope.adb (Expand_Path.Var): Correctly detect end of
	variable name.

*** s-stalib.adb	2001/09/03 15:24:33	1.17
--- s-stalib.adb	2001/10/16 13:14:46	1.18
***************
*** 46,59 ****
  --  elaboration circularities with Ada.Exceptions if polling is on.

  with System.Soft_Links;
! --  Referenced directly from generated code
! --  Also referenced from exception handling routines.
  --  This is needed for programs that don't use exceptions explicitely but
  --  direct calls to Ada.Exceptions are generated by gigi (for example,
  --  by calling __gnat_raise_constraint_error directly).

  with System.Memory;
! --  Referenced directly from generated code

  package body System.Standard_Library is

--- 46,62 ----
  --  elaboration circularities with Ada.Exceptions if polling is on.

  with System.Soft_Links;
! --  Referenced directly from generated code using external symbols so it
! --  must always be present in a build, even if no unit has a direct with
! --  of this unit. Also referenced from exception handling routines.
  --  This is needed for programs that don't use exceptions explicitely but
  --  direct calls to Ada.Exceptions are generated by gigi (for example,
  --  by calling __gnat_raise_constraint_error directly).

  with System.Memory;
! --  Referenced directly from generated code using external symbols, so it
! --  must always be present in a build, even if no unit has a direct with
! --  of this unit.

  package body System.Standard_Library is


*** par-ch12.adb	2001/10/19 15:22:18	1.48
--- par-ch12.adb	2001/10/19 15:24:48	1.49
***************
*** 452,466 ****
        if Def_Node /= Error then
           Set_Formal_Type_Definition (Decl_Node, Def_Node);
           TF_Semicolon;
        else
           Decl_Node := Error;

           if Token = Tok_Semicolon then
-             --   Avoid further cascaded errors.
              Scan;
           end if;
        end if;
-

        return Decl_Node;
     end P_Formal_Type_Declaration;
--- 452,467 ----
        if Def_Node /= Error then
           Set_Formal_Type_Definition (Decl_Node, Def_Node);
           TF_Semicolon;
+
        else
           Decl_Node := Error;

+          --  If we have semicolon, skip it to avoid cascaded errors
+
           if Token = Tok_Semicolon then
              Scan;
           end if;
        end if;

        return Decl_Node;
     end P_Formal_Type_Declaration;

*** prj-dect.ads	2001/10/20 10:28:13	1.4
--- prj-dect.ads	2001/10/20 11:43:56	1.5
***************
*** 8,14 ****
  --                                                                          --
  --                            $Revision$
  --                                                                          --
! --          Copyright (C) 2000-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 8,14 ----
  --                                                                          --
  --                            $Revision$
  --                                                                          --
! --             Copyright (C) 2001 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --

*** s-arit64.adb	2001/02/09 15:10:29	1.16
--- s-arit64.adb	2001/10/20 14:50:39	1.17
***************
*** 325,337 ****
              T2 := Xhi * Ylo;
           end if;

!       else
!          if Yhi /= 0 then
!             T2 := Xlo * Yhi;
!          else
!             return X * Y;
!          end if;
        end if;

        T1 := Xlo * Ylo;
        T2 := T2 + Hi (T1);
--- 325,339 ----
              T2 := Xhi * Ylo;
           end if;

!       elsif Yhi /= 0 then
!          T2 := Xlo * Yhi;
!
!       else -- Yhi = Xhi = 0
!          T2 := 0;
        end if;
+
+       --  Here we have T2 set to the contribution to the upper half
+       --  of the result from the upper halves of the input values.

        T1 := Xlo * Ylo;
        T2 := T2 + Hi (T1);

*** s-fatgen.ads	2001/07/20 00:59:34	1.9
--- s-fatgen.ads	2001/10/20 18:37:39	1.10
***************
*** 89,97 ****

     function Unbiased_Rounding (X : T)                       return T;

!    function Valid             (X : access T)                return Boolean;
!    --  The argument must be passed by reference here, as T may be
!    --  an abnormal value that can be passed in a floating point register.

  private
     pragma Inline (Machine);
--- 89,100 ----

     function Unbiased_Rounding (X : T)                       return T;

!    function Valid (X : access T) return Boolean;
!    --  This function checks if the object of type T referenced by X
!    --  is valid, and returns True/False accordingly. The parameter is
!    --  passed by reference (access) here, as the object of type T may
!    --  be an abnormal value that cannot be passed in a floating-point
!    --  register, and the whole point of 'Valid is to prevent exceptions.

  private
     pragma Inline (Machine);

*** sem_ch4.adb	2001/09/24 22:32:31	1.511
--- sem_ch4.adb	2001/10/21 17:41:52	1.512
***************
*** 2691,2696 ****
--- 2691,2708 ----

              Check_Misspelled_Selector (Entity_List, Sel);

+          elsif Is_Generic_Type (Prefix_Type)
+            and then Ekind (Prefix_Type) = E_Record_Type_With_Private
+            and then Is_Record_Type (Etype (Prefix_Type))
+          then
+             --  If this is a derived formal type, the parent may have a
+             --  different visibility at this point. Try for an inherited
+             --  component before reporting an error.
+
+             Set_Etype (Prefix (N), Etype (Prefix_Type));
+             Analyze_Selected_Component (N);
+             return;
+
           else
              if Ekind (Prefix_Type) = E_Record_Subtype then


*** checks.ads	2001/07/16 01:26:04	1.55
--- checks.ads	2001/10/28 15:13:02	1.56
***************
*** 83,88 ****
--- 83,95 ----
     --  the object denoted by the access parameter is not deeper than the
     --  level of the type Typ. Program_Error is raised if the check fails.

+    procedure Apply_Alignment_Check (E : Entity_Id; N : Node_Id);
+    --  E is the entity for an object. If there is an address clause for
+    --  this entity, and checks are enabled, then this procedure generates
+    --  a check that the specified address has an alignment consistent with
+    --  the alignment of the object, raising PE if this is not the case. The
+    --  resulting check (if one is generated) is inserted before node N.
+
     procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id);
     --  N is the node for an object declaration that declares an object of
     --  array type Typ. This routine generates, if necessary, a check that

*** exp_ch13.adb	2001/07/16 21:21:29	1.76
--- exp_ch13.adb	2001/10/28 15:13:25	1.77
***************
*** 27,32 ****
--- 27,33 ----
  ------------------------------------------------------------------------------

  with Atree;    use Atree;
+ with Checks;   use Checks;
  with Einfo;    use Einfo;
  with Exp_Ch3;  use Exp_Ch3;
  with Exp_Ch6;  use Exp_Ch6;
***************
*** 236,245 ****
        Decl           : Node_Id;

     begin
!       if not Is_Type (E) and then not Is_Subprogram (E) then
           return;
        end if;

        E_Scope := Scope (E);

        --  If we are freezing entities defined in protected types, they
--- 237,256 ----
        Decl           : Node_Id;

     begin
!       --  For object, with address clause, check alignment is OK
!
!       if Is_Object (E) then
!          Apply_Alignment_Check (E, N);
!
!       --  Only other items requiring any front end action are
!       --  types and subprograms.
!
!       elsif not Is_Type (E) and then not Is_Subprogram (E) then
           return;
        end if;

+       --  Here E is a type or a subprogram
+
        E_Scope := Scope (E);

        --  If we are freezing entities defined in protected types, they
***************
*** 304,314 ****

        elsif Is_Subprogram (E) then
           Freeze_Subprogram (N);
-
-       --  No other entities require any front end freeze actions
-
-       else
-          null;
        end if;

        --  Analyze actions generated by freezing. The init_proc contains
--- 315,320 ----

*** exp_util.ads	2001/07/23 10:05:17	1.112
--- exp_util.ads	2001/10/28 15:14:04	1.113
***************
*** 372,386 ****
     --  routine is to help avoid generating troublesome temporaries that
     --  intefere with the stack checking mechanism.

-    function Must_Be_Aligned (Obj : Node_Id) return Boolean;
-    --  Given an object reference, determines whether or not the object
-    --  is required to be aligned according to its type'alignment value.
-    --  Normally, objects are required to be aligned, and the result will
-    --  be True. The situation in which this is not the case is if the
-    --  object reference involves a component of a packed array, where
-    --  the type of the component is not required to have strict alignment.
-    --  In this case, false will be returned.
-
     procedure Remove_Side_Effects
       (Exp          : Node_Id;
        Name_Req     : Boolean := False;
--- 372,377 ----

*** mdllfile.ads	2001/10/29 02:06:24	1.2
--- mdllfile.ads	2001/10/29 02:50:12	1.3
***************
*** 26,52 ****
  --                                                                          --
  ------------------------------------------------------------------------------

! --  Simple services used by GNATDLL to deal with Filename extension.

  package MDLL.Files is

     No_Ext : constant String := "";

!    function Get_Ext (Filename : in String)
!                      return String;
!    --  return filename's extension.
!
!    function Is_Ali (Filename : in String)
!                     return Boolean;
!    --  test if Filename is an Ada library file (.ali).
!
!    function Is_Obj (Filename : in String)
!                     return Boolean;
!    --  test if Filename is an object file (.o or .obj).
!
!    function Ext_To (Filename : in String;
!                     New_Ext  : in String := No_Ext)
!                     return String;
!    --  return Filename with the extension change to New_Ext.

  end MDLL.Files;
--- 26,51 ----
  --                                                                          --
  ------------------------------------------------------------------------------

! --  Simple services used by GNATDLL to deal with Filename extension

  package MDLL.Files is

     No_Ext : constant String := "";
+    --  Used to mark the absence of an extension

!    function Get_Ext (Filename : String) return String;
!    --  Return extension of Filename
!
!    function Is_Ali (Filename : String) return Boolean;
!    --  Test if Filename is an Ada library file (.ali).
!
!    function Is_Obj (Filename : String) return Boolean;
!    --  Test if Filename is an object file (.o or .obj)
!
!    function Ext_To
!      (Filename : String;
!       New_Ext  : String := No_Ext)
!       return     String;
!    --  Return Filename with the extension change to New_Ext

  end MDLL.Files;

*** mlib-fil.ads	2001/10/29 02:06:26	1.3
--- mlib-fil.ads	2001/10/29 02:51:28	1.4
***************
*** 36,51 ****
        return     String;
     --  Return Filename with the extension change to New_Ext.

!    function Get_Ext (Filename : in String) return String;
     --  Return extension of filename.

     function Is_Archive (Filename : String) return Boolean;
     --  Test if filename is an archive

!    function Is_C (Filename : in String) return Boolean;
     --  Test if Filename is a C file

!    function Is_Obj (Filename : in String) return Boolean;
     --  Test if Filename is an object file

  end MLib.Fil;
--- 36,51 ----
        return     String;
     --  Return Filename with the extension change to New_Ext.

!    function Get_Ext (Filename : String) return String;
     --  Return extension of filename.

     function Is_Archive (Filename : String) return Boolean;
     --  Test if filename is an archive

!    function Is_C (Filename : String) return Boolean;
     --  Test if Filename is a C file

!    function Is_Obj (Filename : String) return Boolean;
     --  Test if Filename is an object file

  end MLib.Fil;

*** exp_ch8.adb	2001/10/03 02:17:32	1.30
--- exp_ch8.adb	2001/10/29 17:32:24	1.31
***************
*** 59,65 ****
     --  of the renamed object. The cases in which this is not true are when
     --  this address is not computable, since it involves extraction of a
     --  packed array element, or of a record component to which a component
!    --  clause applies (that can specify an arbitrary bit boundary).

     --  In these two cases, we pre-evaluate the renaming expression, by
     --  extracting and freezing the values of any subscripts, and then we
--- 59,66 ----
     --  of the renamed object. The cases in which this is not true are when
     --  this address is not computable, since it involves extraction of a
     --  packed array element, or of a record component to which a component
!    --  clause applies (that can specify an arbitrary bit boundary), or where
!    --  the enclosing record itself has a non-standard representation.

     --  In these two cases, we pre-evaluate the renaming expression, by
     --  extracting and freezing the values of any subscripts, and then we
***************
*** 211,228 ****
              end if;

           elsif Nkind (Nam) = N_Selected_Component then
!             if Present (Component_Clause (Entity (Selector_Name (Nam)))) then
!                return True;

!             elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
!               and then Is_Record_Type (Etype (Prefix (Nam)))
!               and then not Is_Concurrent_Record_Type (Etype (Prefix (Nam)))
!             then
!                return True;

!             else
!                return Evaluation_Required (Prefix (Nam));
!             end if;

           else
              return False;
--- 212,236 ----
              end if;

           elsif Nkind (Nam) = N_Selected_Component then
!             declare
!                Rec_Type : Entity_Id := Etype (Prefix (Nam));

!             begin
!                if Present (Component_Clause (Entity (Selector_Name (Nam))))
!                  or else Has_Non_Standard_Rep (Rec_Type)
!                then
!                   return True;
!
!                elsif Ekind (Entity (Selector_Name (Nam))) = E_Discriminant
!                  and then Is_Record_Type (Rec_Type)
!                  and then not Is_Concurrent_Record_Type (Rec_Type)
!                then
!                   return True;

!                else
!                   return Evaluation_Required (Prefix (Nam));
!                end if;
!             end;

           else
              return False;

*** g-dirope.ads	2001/08/27 09:48:38	1.12
--- g-dirope.ads	2001/10/29 19:18:13	1.13
***************
*** 38,43 ****
--- 38,47 ----
  --  can be treated as a file, using open and close routines, and a scanning
  --  routine is provided for iterating through the entries in a directory.

+ --  See also child package GNAT.Directory_Operations.Iteration
+
+ with Ada.Strings.Maps;
+
  package GNAT.Directory_Operations is

     subtype Dir_Name_Str is String;
***************
*** 187,248 ****
     --  returned in target-OS form. Raises Directory_Error if Dir has not
     --  be opened (Dir = Null_Dir).

-    generic
-       with procedure Action
-         (Item  :        String;
-          Index :        Positive;
-          Quit  : in out Boolean);
-    procedure Wildcard_Iterator (Path : Path_Name);
-    --  Calls Action for each path matching Path. Path can include wildcards '*'
-    --  and '?' and [...]. The rules are:
-    --
-    --     *       can be replaced by any sequence of characters
-    --     ?       can be replaced by a single character
-    --     [a-z]   match one character in the range 'a' through 'z'
-    --     [abc]   match either character 'a', 'b' or 'c'
-    --
-    --  Item is the filename that has been matched. Index is set to one for the
-    --  first call and is incremented by one at each call. The iterator's
-    --  termination can be controlled by setting Quit to True. It is by default
-    --  set to False.
-    --
-    --  For example, if we have the following directory structure:
-    --     /boo/
-    --        foo.ads
-    --     /sed/
-    --        foo.ads
-    --        file/
-    --          foo.ads
-    --     /sid/
-    --        foo.ads
-    --        file/
-    --          foo.ads
-    --     /life/
-    --
-    --  A call with expression "/s*/file/*" will call Action for the following
-    --  items:
-    --     /sed/file/foo.ads
-    --     /sid/file/foo.ads
-
-    generic
-       with procedure Action
-         (Item  :        String;
-          Index :        Positive;
-          Quit  : in out Boolean);
-    procedure Find
-      (Root_Directory : Dir_Name_Str;
-       File_Pattern   : String);
-    --  Recursively searches the directory structure rooted at Root_Directory.
-    --  This provides functionality similar to the UNIX 'find' command.
-    --  Action will be called for every item matching the regular expression
-    --  File_Pattern (see GNAT.Regexp). Item is the full pathname to the file
-    --  starting with Root_Directory that has been matched. Index is set to one
-    --  for the first call and is incremented by one at each call. The iterator
-    --  will pass in the value False on each call to Action. The iterator will
-    --  terminate after passing the last matched path to Action or after
-    --  returning from a call to Action which sets Quit to True.
-    --  Raises GNAT.Regexp.Error_In_Regexp if File_Pattern is ill formed.
-
     function Read_Is_Thread_Safe return Boolean;
     --  Indicates if procedure Read is thread safe. On systems where the
     --  target system supports this functionality, Read is thread safe,
--- 191,196 ----
***************
*** 259,263 ****
--- 207,215 ----
     Null_Dir : constant Dir_Type := null;

     pragma Import (C, Dir_Separator, "__gnat_dir_separator");
+
+    Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
+                 Ada.Strings.Maps.To_Set ("/\");
+    --  UNIX and DOS style directory separators.

  end GNAT.Directory_Operations;

*** freeze.ads	2001/10/29 02:06:04	1.15
--- freeze.ads	2001/10/30 01:36:24	1.16
***************
*** 205,210 ****
--- 205,215 ----
     --  so need to be similarly treated. Freeze_Expression takes care of
     --  determining the proper insertion point for generated freeze actions.

+    procedure Freeze_Fixed_Point_Type (Typ : Entity_Id);
+    --  Freeze fixed point type. For fixed-point types, we have to defer
+    --  setting the size and bounds till the freeze point, since they are
+    --  potentially affected by the presence of size and small clauses.
+
     procedure Freeze_Itype (T : Entity_Id; N : Node_Id);
     --  This routine is called when an Itype is created and must be frozen
     --  immediately at the point of creation (for the sake of the expansion

*** impunit.adb	2001/09/26 07:14:11	1.14
--- impunit.adb	2001/10/30 04:33:45	1.15
***************
*** 195,200 ****
--- 195,201 ----
       "g-curexc",    -- GNAT.Current_Exception
       "g-debpoo",    -- GNAT.Debug_Pools
       "g-debuti",    -- GNAT.Debug_Utilities
+      "g-diopit",    -- GNAT.Directory_Operations.Iteration
       "g-dirope",    -- GNAT.Directory_Operations
       "g-dyntab",    -- GNAT.Dynamic_Tables
       "g-exctra",    -- GNAT.Exception_Traces

*** g-regexp.adb	2001/10/21 11:04:16	1.28
--- g-regexp.adb	2001/10/30 15:25:04	1.29
***************
*** 32,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------

- with System.IO;
  with Unchecked_Deallocation;
  with Ada.Exceptions;
  with GNAT.Case_Util;
--- 32,37 ----
***************
*** 73,82 ****
     end record;
     --  Deterministic finite-state machine

-    Debug : constant Boolean := False;
-    --  When True, the primary and secondary tables will be printed.
-    --  Gnat does not generate any code if this variable is False;
-
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 72,77 ----
***************
*** 188,199 ****
        pragma No_Return (Raise_Exception);
        --  Raise an exception, indicating an error at character Index in S.

-       procedure Print_Table
-         (Table      : Regexp_Array;
-          Num_States : State_Index;
-          Is_Primary : Boolean := True);
-       --  Print a table for debugging purposes
-
        --------------------
        -- Create_Mapping --
        --------------------
--- 183,188 ----
***************
*** 1225,1309 ****
                 end loop;
              end loop;

-             if Debug then
-                System.IO.New_Line;
-                System.IO.Put_Line ("Secondary table : ");
-                Print_Table (R.States, Nb_State, False);
-             end if;
-
              return (Ada.Finalization.Controlled with R => R);
           end;
        end Create_Secondary_Table;

-       -----------------
-       -- Print_Table --
-       -----------------
-
-       procedure Print_Table
-         (Table      : Regexp_Array;
-          Num_States : State_Index;
-          Is_Primary : Boolean := True)
-       is
-          function Reverse_Mapping (N : Column_Index) return Character;
-          --  Return the character corresponding to a column in the mapping
-
-          ---------------------
-          -- Reverse_Mapping --
-          ---------------------
-
-          function Reverse_Mapping (N : Column_Index) return Character is
-          begin
-             for Column in Map'Range loop
-                if Map (Column) = N then
-                   return Column;
-                end if;
-             end loop;
-
-             return ' ';
-          end Reverse_Mapping;
-
-       --  Start of processing for Print_Table
-
-       begin
-          --  Print the header line
-
-          System.IO.Put ("   [*]  ");
-
-          for Column in 1 .. Alphabet_Size  loop
-             System.IO.Put
-               (String'(1 .. 1 => Reverse_Mapping (Column)) & "   ");
-          end loop;
-
-          if Is_Primary then
-             System.IO.Put ("closure....");
-          end if;
-
-          System.IO.New_Line;
-
-          --  Print every line
-
-          for State in 1 .. Num_States loop
-             System.IO.Put (State'Img);
-
-             for K in 1 .. 3 - State'Img'Length loop
-                System.IO.Put (" ");
-             end loop;
-
-             for K in 0 .. Alphabet_Size loop
-                System.IO.Put (Table (State, K)'Img & "  ");
-             end loop;
-
-             for K in Alphabet_Size + 1 .. Table'Last (2) loop
-                if Table (State, K) /= 0 then
-                   System.IO.Put (Table (State, K)'Img & ",");
-                end if;
-             end loop;
-
-             System.IO.New_Line;
-          end loop;
-
-       end Print_Table;
-
        ---------------------
        -- Raise_Exception --
        ---------------------
--- 1214,1223 ----
***************
*** 1345,1356 ****
                (Table, Num_States, Start_State, End_State);
           end if;

-          if Debug then
-             Print_Table (Table.all, Num_States);
-             System.IO.Put_Line ("Start_State : " & Start_State'Img);
-             System.IO.Put_Line ("End_State   : " & End_State'Img);
-          end if;
-
           --  Creates the secondary table

           R := Create_Secondary_Table
--- 1259,1264 ----
***************
*** 1451,1467 ****
           New_Table := new Regexp_Array (Table'First (1) .. New_Lines,
                                          Table'First (2) .. New_Columns);
           New_Table.all := (others => (others => 0));
-
-          if Debug then
-             System.IO.Put_Line ("Reallocating table: Lines from "
-                                 & State_Index'Image (Table'Last (1))
-                                 & " to "
-                                 & State_Index'Image (New_Lines));
-             System.IO.Put_Line ("   and columns from "
-                                 & Column_Index'Image (Table'Last (2))
-                                 & " to "
-                                 & Column_Index'Image (New_Columns));
-          end if;

           for J in Table'Range (1) loop
              for K in Table'Range (2) loop
--- 1359,1364 ----

*** g-dirope.adb	2001/10/31 21:36:04	1.20
--- g-dirope.adb	2001/11/01 16:39:33	1.21
***************
*** 371,387 ****
                 E := E + 1;

                 Var_Name : loop
!                   exit Var_Name when E = Path'Last;

                    if Characters.Handling.Is_Letter (Path (E))
                      or else Characters.Handling.Is_Digit (Path (E))
                    then
                       E := E + 1;
                    else
-                      E := E - 1;
                       exit Var_Name;
                    end if;
                 end loop Var_Name;

                 declare
                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
--- 371,388 ----
                 E := E + 1;

                 Var_Name : loop
!                   exit Var_Name when E > Path'Last;

                    if Characters.Handling.Is_Letter (Path (E))
                      or else Characters.Handling.Is_Digit (Path (E))
                    then
                       E := E + 1;
                    else
                       exit Var_Name;
                    end if;
                 end loop Var_Name;
+
+                E := E - 1;

                 declare
                    Env : OS_Lib.String_Access := OS_Lib.Getenv (Path (K .. E));
2001-12-11  Ed Schonberg <schonber@gnat.com>

	* sem_ch10.adb (Install_Withed_Unit): If the unit is a generic instance
	that is the parent of other generics, the instance body replaces the
	instance node.  Retrieve the instance of the spec, which is the one
	that is visible in clients and within the body.

2001-12-11  Vincent Celier <celier@gnat.com>

	* gnatmain.adb: Initial version.

	* gnatmain.ads: Initial version.

	* prj-attr.adb (Initialisation_Data): Add package Gnatstub.

	* snames.adb: Updated to match snames.ads.

	* snames.ads: Added Gnatstub.

2001-12-11  Vincent Celier <celier@gnat.com>

	* prj-attr.adb (Initialization_Data): Change name from
	Initialisation_Data.

2001-12-11  Emmanuel Briot <briot@gnat.com>

	* g-regpat.adb (Parse_Literal): Properly handle simple operators ?,
	+ and * applied to backslashed expressions like \r.

2001-12-11  Vasiliy Fofanov <fofanov@gnat.com>

	* g-os_lib.ads: String_List type added, Argument_List type is now
	subtype of String_List.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* g-os_lib.ads: Change copyright to FSF
	Add comments for String_List type

2001-12-11  Vincent Celier <celier@gnat.com>

	* g-dirope.adb (Expand_Path): Fix bug. (wrong length when adding a
	string to the buffer).

2001-12-11  Ed Schonberg <schonber@gnat.com>

	* freeze.adb: Make Freeze_Fixed_Point_Type visible, for use in
	sem_attr.

	* sem_attr.adb: Simplify previous fix for Address.
	(Set_Bounds): If prefix is a non-frozen fixed-point type, freeze now,
	to avoid anomalies where the bound of the type appears to raise
	constraint error.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* lib-xref.adb (Output_Refs): Make sure pointers are always properly
	handled.

2001-12-11  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Check for a
	renamed unit before checking for recursive instantiations.

2001-12-11  Emmanuel Briot <briot@gnat.com>

	* prj.ads: Add comments for some of the fields.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* lib-xref.adb (Output_Refs): Don't output type references outside
	the main unit if they are not otherwise referenced.

2001-12-11  Ed Schonberg <schonber@gnat.com>

	* sem_attr.adb (Analyze_attribute, case Address and Size): Simplify
	code and diagnose additional illegal uses

	* sem_util.adb (Is_Object_Reference): An indexed component is an
	object only if the prefix is.

2001-12-11  Vincent Celier <celier@gnat.com>

	* g-diopit.adb: Initial version.

	* g-diopit.ads: Initial version.

	* g-dirope.adb:
	(Expand_Path): Avoid use of Unbounded_String
	(Find, Wildcard_Iterator): Moved to child package Iteration

	* Makefile.in: Added g-diopit.o to GNATRTL_NONTASKING_OBJS

2001-12-11  Robert Dewar <dewar@gnat.com>

	* sem_attr.adb: Minor reformatting

2001-12-11  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb: Clarify some ???.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* exp_util.adb (Must_Be_Aligned): Removed, replaced by
	Exp_Pakd.Known_Aligned_Enough

	* sem_ch13.adb (Check_Address_Alignment): Removed, extended
	version is moved to Exp_Ch13.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* einfo.ads: Minor reformatting

	* exp_ch5.adb: Add comment for previous.change

	* ali.adb: New interface for extended typeref stuff.

	* ali.ads: New interface for typeref stuff.

	* checks.adb (Apply_Alignment_Check): New procedure.

	* debug.adb: Add -gnatdM for modified ALI output

	* exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough.

	* lib-xref.adb: Extend generation of <..> notation to cover
	subtype/object types. Note that this is a complete rewrite,
	getting rid of the very nasty quadratic algorithm previously
	used for derived type output.

	* lib-xref.ads: Extend description of <..> notation to cover
	subtype/object types. Uses {..} for these other cases.
	Also use (..) for pointer types.

	* sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup.

	* exp_pakd.adb: Minor reformatting.  Note that prevous RH should say:
	(Known_Aligned_Enough): Replaces Must_Be_Aligned.

2001-12-11  Vincent Celier <celier@gnat.com>

	* gnatcmd.adb:
	Changed /COMPILE_ONLY to /ACTIONS=COMPILE
	Changed /BIND_ONLY to /ACTIONS=BIND
	Changed /LINK_ONLY to /ACTIONS=LINK

2001-12-11  Ed Schonberg  <schonber@gnat.com>

	* sem_ch8.adb (Find_Selected_Component): improved search for a
	candidate package in case of error.

	* sem_ch12.adb (Inline_Instance_Body): place head of use_clause
	chain back on scope stack before reinstalling use clauses.

	* exp_ch5.adb (Expand_N_If_Statement): if Constant_Condition_Warnings
	is enabled, do not kill the code for the condition, to preserve
	warning.

2001-12-11  Robert Dewar <dewar@gnat.com>

	* checks.adb (Insert_Valid_Check): Apply validity check to expression
	of conversion, not to result of conversion.

2001-12-11  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag
	before freezing parent. If the declarations are mutually recursive,
	an access to the current record type may be frozen before the
	derivation is complete.

2001-12-05  Vincent Celier <celier@gnat.com>

	* gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
	-c /COMPILE_ONLY, -l /LINK_ONLY

	* opt.ads:
	(Bind_Only): New Flag
	(Link_Only): New flag

	* switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
	and -l (Link_Only)

	* makeusg.adb: Add new switches -b and -l. Update Copyright notice.

	* make.adb:
	(Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
	(Gnatmake): Set the step flags. Only perform a step if the
	corresponding step flag is True.
	(Scan_Make_Arg): Reset the bind and link step flags when -u
	or -gnatc has been specified.

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_eval.adb (Eval_Concatenation): If left operand is a null string,
	get bounds from right operand.

	* sem_eval.adb: Minor reformatting

	* exp_util.adb (Make_Literal_Range): use bound of literal rather
	than Index'First, its lower bound may be different from 1.

	* exp_util.adb: Undo earlier change, fixes ACVC regressions C48009B
	and C48009J

2001-12-05  Vincent Celier <celier@gnat.com>

	* prj-nmsc.adb Minor reformatting

	* prj-nmsc.adb (Language_Independent_Check): Reset Library flag if
	set and libraries are not supported.

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb (Build_Derived_Private_Type): set Public status of
	private view explicitly, so the back-end can treat as a global
	when appropriate.

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb (Instantiate_Package_Body): if instance is a compilation
	 unit, always replace instance node with new body, for ASIS use.

2001-12-05  Vincent Celier <celier@gnat.com>

	* prj-nmsc.adb (Language_Independent_Check): Issue a warning if
	libraries are not supported and both attributes Library_Name and
	Library_Dir are specified.

	* prj-proc.adb (Expression): Set location of Result to location of
	first term.

	* Makefile.in: Add mlib.o, mlib-fil.o, mlib-tgt and mlib-utl to GNATLS.
	(prj-nmsc is now importing MLib.Tgt)

	* prj-proc.adb: Put the change indicated above that was forgotten.

2001-12-05  Robert Dewar <dewar@gnat.com>

	* Makefile.in: Add dependencies for System.IO for GNAT.Regexp

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb (Build_Derived_Concurrent_Type): If derivation imposes a
	constraint, introduce explicit subtype declaration and derive from it.

	* sem_ch3.adb: Minor reformatting

2001-12-05  Robert Dewar <dewar@gnat.com>

	* checks.adb (Determine_Range): Increase cache size for checks.
	Minor reformatting

	* exp_ch6.adb: Minor reformatting
	(Expand_N_Subprogram_Body): Reset Is_Pure for any subprogram that has
	a parameter whose root type is System.Address, since treating such
	subprograms as pure in the code generator is almost surely a mistake
	that will lead to unexpected results.

	* exp_util.adb (Remove_Side_Effects): Clean up old ??? comment and
	change handling of conversions.

	* g-regexp.adb: Use System.IO instead of Ada.Text_IO.

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb (Analyze_Object_Declaration): If expression is an
	aggregate with static wrong size, attach generated Raise node to
	declaration.

2001-12-05  Robert Dewar <dewar@gnat.com>

	* sem_attr.adb (Analyze_Attribute): Defend against bad Val attribute.
	Fixes compilation abandoned bomb in B24009B.

2001-12-05  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb:
	Document use of Associated_Node on Selected_Components.
	(Save_Global_Operand_Descendants): Change to Save_Entity_Descendants,
	to clarify use of untyped descendant fields.

2001-12-05  Robert Dewar <dewar@gnat.com>

	* prj-dect.ads: Add ??? comment
	Add 2001 to copyright notice (was not done in after all)

	* prj-part.adb: Minor reformatting. Reword one awkward error message.

	* prj.ads: Minor reformatting throughout, and add some ??? comments

	* snames.ads: Minor reformatting

2001-12-05  Geert Bosch <bosch@gnat.com>

	* snames.adb: Autoupdate

2001-12-05  Vincent Celier <celier@gnat.com>

	* prj-dect.adb (Parse): Rename parameter Modifying to Extends.

	* prj-dect.ads (Parse): Rename parameter Modifying to Extends.

	* prj-env.adb: Minor comment changes (modifying -> extends).

	* prj-nmsc.adb: Minor comment changes (modifying -> extends).

	* prj-part.adb (Parse_Single_Project): Change Tok_Modifying to
	Tok_Extends.

	* prj.adb (Initialize): Change Modifying to Extends.

	* scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends.

	* prj.ads: Minor comment change (Modifying -> extending).

	* snames.ads: Change modifying to extends.

2001-12-05  Robert Dewar <dewar@gnat.com>

	* sem_warn.adb: Remove stuff for conditionals, we are not going to
	do this after all.

	* sem_warn.ads: Remove stuff for conditionals, we are not going to
	do this after all.  Add 2001 to copyright notice

2001-12-04  Geert Bosch <bosch@gnat.com>

	*  einfo.h, sinfo.h, treeprs.ads: Regenerate.

2001-12-04  Robert Dewar <dewar@gnat.com>

	* errout.adb (Error_Msg): Ignore attempt to put error msg at junk
	location if we already have errors. Stops some cases of cascaded
	errors.

	* errout.adb: Improve comment.

2001-12-04  Robert Dewar <dewar@gnat.com>

	* sem_ch12.adb:
	(Analyze_Formal_Type_Definition): Defend against Error.
	(Analyze_Formal_Subprogram): Defend against Error.

	* par-ch12.adb (F_Formal_Type_Declaration): In case of error,
	remove following semicolon if present. Removes cascaded error.

2001-12-04  Douglas B. Rupp <rupp@gnat.com>

	* bindgen.adb:
	(Gen_Exception_Table_Ada): Write "begin" and then return if Num
	 exceptions equals 0.
	(Gen_Exception_Table_C): Return if Num exceptions equals 0.
	Fixes PIWG E tests (which have to be run with -gnatL).

2001-12-04  Robert Dewar <dewar@gnat.com>

	* einfo.ads: Minor reformatting

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* einfo.ads: Block_Node points to the identifier of the block, not to
	the block node itself, to preserve the link when the block is
	rewritten, e.g. within an if-statement with a static condition.

	* inline.adb (Cleanup_Scopes): recover block statement from block
	entity using new meaning of Block_Node.

	* sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to
	identifier of block node, rather than to node itself.

2001-12-04  Gary Dismukes <dismukes@gnat.com>

	* layout.adb:
	(Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size.
	(Discrimify): Go back to setting the Etypes of the selected component
	because the Vname component does not exist at this point and will
	fail name resolution. Also set Analyzed.
	Remove with and use of Sem_Res.

2001-12-04  Arnaud Charlet <charlet@gnat.com>

	* Makefile.in: (HIE_SOURCES): add s-fat*.

2001-12-04  Robert Dewar <dewar@gnat.com>

	* sem_attr.adb:
	(Compile_Time_Known_Attribute): New procedure.
	(Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure
	 proper range check.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before
	processing discriminants to diagnose illegal default values.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide
	access discriminant within a type extension that constrains its
	parent discriminants.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication
	is malformed, use instance of Any_Id to allow analysis to proceed.

	* par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if
	type definition is illegal.
	(P_Formal_Derived_Type_Definition): Better recovery when TAGGED is
	misplaced.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to
	constants.

2001-12-04  Robert Dewar <dewar@gnat.com>

	* errout.adb: Minor reformatting

2001-12-04  Robert Dewar <dewar@gnat.com>

	* exp_util.adb: Minor reformatting from last change

	* errout.adb (Check_For_Warning): For a Raised_Constraint_Error node
	which is a rewriting of an expression, traverse the original
	expression to remove warnings that may have been posted on it.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* exp_util.adb (Must_Be_Aligned): Return false for a component of a
	record that has other packed components.

2001-12-04  Douglass B. Rupp <rupp@gnat.com>

	* adaint.c: Minor cleanups.

2001-12-04  Douglass B. Rupp <rupp@gnat.com>

	* adaint.c: Do not use utime.h on vxworks.

2001-12-04  Arnaud Charlet <charlet@gnat.com>

	* Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes
	more confusion than it solves.

2001-12-04  Geert bosch <bosch@gnat.com>

	* einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate.

2001-12-04  Geert Bosch  <bosch@gnat.com>

	* Makefile.in (update-sources): New target.
	For use by gcc_release script.

2001-12-04  Ed Schonberg <schonber@gnat.com>

	* sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
	a configuration pragma, it is now legal wherever a pragma can appear.

2001-12-04  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in: Don't set ALL.  Delete @cross_defines@,
	@cross_overrides@, @build_overrides@ stanzas.  INTERNAL_CFLAGS
	is now @CROSS@ -DIN_GCC; update comment.

2001-12-04  Robert Dewar <dewar@gnat.com>

	* einfo.adb (Has_Pragma_Pure_Function): New flag.
	Fix problem that stopped ceinfo from working

	* einfo.ads (Has_Pragma_Pure_Function): New flag.

	* sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.

2001-12-04  Douglas B. Rupp <rupp@gnat.com>

	* gnatchop.adb:
	(File_Time_Stamp): New procedure.
	(Preserve_Mode): New boolean.
	(Write_Unit): Pass time stamp.
	Implement -p switch (preserve time stamps).

	* gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).

	* gnatchop.adb: Do usage info for -p switch

	* adaint.h (__gnat_set_file_time_name): New function

	* adaint.c (__gnat_set_file_time_name): Implement

	* adaint.h: Fix typo

2001-12-03  Robert Dewar <dewar@gnat.com>

	* sinfo.ads: Minor reformatting. N_Freeze_Entity node does not
        have Associated_Node.

2001-12-03  Robert Dewar <dewar@gnat.com>

	* prj-proc.adb: Minor reformatting

	* make.adb: Minor reformatting

2001-12-03  Geert Bosch <bosch@gnat.com>

	* make.adb: Minor reformatting.

2001-12-03 Robert Dewar  <dewar@gnat.com>

	* sem_ch12.adb: Minor reformatting

2001-12-03  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
	push Standard on the stack before analyzing the instance body,
	in order to have a clean visibility environment.

	* sem_ch12.adb (Inline_Instance_Body): Remove redundant code.

2001-12-03  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb (Instantiate_Package_Body): Protect against double
	instantiation of a body that contains an inlined body.

2001-12-03  Ed Schonberg <schonber@gnat.com>

	* sem_ch12.adb:
	(Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
	to prevent freezing within formal packages.
	(Freeze_Subprogram_Body): If body comes from another instance that
	appeared before its own body, place freeze node at end of current
	declarative part, to prevent a back-end crash.
	(Inline_Instance_Body): Handle properly a package instance within
	a subprogram instance that is a child unit.

2001-12-01  Graham Stott  <grahams@redhat.com>

	* Makefile.in (misc.o): Add missing $(srcdir) prefix
	and add optabs.h dependency.

	* misc.c: Include optabs.h
	(gnat_tree_code_type): Make static and const.
	(gnat_tree_code_length): Likewise.
	(gnat_tree_code_name): Likewise.
	(update_setjmp_buf): Obtain operands mode from insn_data.

2001-11-29  Richard Henderson  <rth@redhat.com>

	* init.c: Remove obsolete dwarf2 frame.h section.

2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>

	* Make-lang.in (ada.generated-manpages): New dummy target.

2001-11-29  Ed Schonberg <schonber@gnat.com>

	* g-os_lib.adb (Add_To_Command): use explicit loop to move string
	into Command, an array conversion is illegal here. Uncovered by
	ACATS B460005.

2001/11/28  Geert Bosch <bosch@gnat.com>

	* init.c: Minor whitespace changes.

2001-11-28  Doug Rupp <rupp@gnat.com>

	* init.c: (__gnat_install_handler,VMS): Increase size of alternate
	signal stack.

2001-11-28  Zack Weinberg  <zack@codesourcery.com>

	* misc.c (gnat_expand_constant): Move declaration above
	definition of lang_hooks.
	(LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant.
	(gnat_init): lang_expand_constant no longer exists.

	(internal_error_function): Remove #ifdef HAVE_VPRINTF.  We
	always have vprintf.
	(gnat_init): Always call set_internal_error_function.

2001-11-27  Andreas Jaeger  <aj@suse.de>

	* Makefile.in (stamp-tool_src_dir): Use symbolic link.

2001-11-27  Laurent Guerby  <guerby@acm.org>

	* Makefile.in: Regenerate Ada dependencies.

2001-11-26  Richard Henderson  <rth@redhat.com>

	* Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd,
	gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys,
	gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o.

2001-11-25  Laurent Guerby  <guerby@acm.org>

	* sysdep.c (rts_get_*): Fix style.

2001-11-19  Laurent Guerby  <guerby@acm.org>

	* Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include
	since it is of no apparent use and cause warnings.

2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>

	* misc.c (gnat_decode_option, gnat_init_options): Make definitions
	static too.
	(gnat_init): Don't return NULL.
	(finish_parse): Remove.

2001-11-17  Laurent Guerby  <guerby@acm.org>

	* Make-lang.in (GNATLIBFLAGS): Add -W -Wall.
	* gigi.h (init_decl_processing): Rename to gnat_init_decl_processing.
	* io-aux.c: Provide K&R prototypes to all functions, reformat code.
	* lang-spec.h: Add missing struct field to silence warnings.
	* sysdep.c (rts_get_*): Provide K&R prototype.
	* sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype.
	* traceback.c (Unlock_Task, Lock_Task): Likewise.
	* tracebak.c (__gnat_backtrace): Remove unused variable.
	* utils.c (end_subprog_body): Move to K&R style.

Thu Nov 15 18:16:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference.

2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* misc.c (gnat_init): Change prototype.  Include the
	functionality of the old init_parse and init_decl_processing.
	(gnat_init_decl_processing): New prototype.
	(init_parse): Remove.
	* utils.c (init_decl_processing): Rename gnat_init_decl_processing.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

	* misc.c (gnat_print_decl, gnat_print_type): Renamed.
	(LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
	(print_lang_statistics, lang_print_xnode, print_lang_identifier,
	set_yydebug): Remove.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

	* misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
	(struct lang_hooks): Constify.
	(language_string, lang_identify): Remove.
	* utils.c (init_decl_processing): Update.

2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* misc.c: Include langhooks-def.h.
	* Makefile.in: Update.

2001-10-30  Robert Dewar <dewar@gnat.com>

	* style.adb:
	(Check_Identifier): Rewrite circuit to be compatible with use of letters
	in the upper half of ASCII.
	(Check_Identifier): Minor reformatting

2001-10-30  Geert Bosch <bosch@gnat.com>

	* (Associated_Node, Set_Associated_Node): Do not check for
	Freeze_Entity.

2001-10-30  Robert Dewar <dewar@gnat.com>

	* a-reatim.ads: Minor reformatting

2001-10-30  Robert Dewar <dewar@gnat.com>

	* gnatdll.adb: Minor reformatting throughout. Many ??? added for
	undocumented declarations.

2001-10-30  Pascal Obry <obry@gnat.com>

	* gnatdll.adb (Parse_Command_Line): handle -g option to be passed
	to the binder and linker.
	Minor style fix.

	* mdll.ads: Fix layout.  Update copyright notice.

	* mdll.adb: Fix layout.  Update copyright notice.

2001-10-30  Robert Dewar <dewar@gnat.com>

	* usage.adb: Minor fix to output for -gnaty.

2001-10-30  Ed Schonberg <schonber@gnat.com>

	* a-reatim.ads: Makes Seconds_Count into a 64-bit integer,
	to accommodate all its possible values.

	* a-reatim.adb (Split): Special-case handling of Time_Span_First
	and of small absolute values of T.

2001-10-30  Richard Kenner <kenner@gnat.com>

	* misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to
	set_mem_attributes since not needed and wrong if RESULT if a REG;
	fixes ACATS failures.

2001-10-30  Geert Bosch <bosch@gnat.com>

	* 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads,
	s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice.

2001-10-30  Robert Dewar <dewar@gnat.com>

	* bindusg.adb: Undocument -f switch.

	* gnatcmd.adb: Remove /FULL_ELABORATION.

	* opt.ads (Force_RM_Elaboration_Order): Document that this is
	obsolescent.

	* gnatbind.adb: Output new warning for use of obsolescent -f switch.

	* gnatbind.adb: Minor update of warning msg.

2001-10-30  Vincent Celier <celier@gnat.com>

	* gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations
	for project file switches (-P (/PROJECT_FILE=),
	 -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT
	or MEDIUM or HIGH)

2001-10-30  Geert Bosch <bosch@gnat.com>

	* decl.c: Minor whitespace fixes.

2001-10-30  Richard Kenner <kenner@gnat.com>

	* utils2.c (build_allocator): Test for SIZE overflow in array case too

2001-10-30  Geert Bosch <bosch@gnat.com>

	* ali-util.adb (Initialize_Checksum): Use out-mode instead of in out.
	Found due to GCC 3.0 warning of using uninitialized value.

	* layout.adb:
	(Get_Max_Size): Use variant record for tracking value/expression.
	 Makes logic clearer and prevents warnings for uninitialized variables.
	(Layout_Array_Type): Use variant record for tracking value/expression.
	 Makes logic clearer and prevents warnings for uninitialized variables.

2001-10-30  Robert Dewar <dewar@gnat.com>

	* lib.adb: Minor reformatting

	* s-taprop.ads: Minor reformatting

2001-10-29  Laurent Guerby  <guerby@acm.org>

	* init.c:
	(Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg
	const.
	(_gnat_error_handler): Make MSG const.

2001-10-29  Richard Kenner <kenner@gnat.com>

	* sysdep.c: Fix localtime_r problem on LynxOS.
	Also remove #elif to avoid warnings.

	* misc.c (yyparse): Don't set up and register jmpbuf; remove decls
	used by this.

	* decl.c (annotate_value): Make SIZE unsigned to avoid warning.

2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>

	* 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb,
	exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb,
	g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads,
	g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c,
	layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads,
	s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads,
	sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb,
	sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb,
	sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads,
	types.ads, urealp.adb: Fix spelling errors.

2001-10-27  Laurent Guerby <guerby@acm.org>

	* trans.c (gigi): Fix non determinism leading to bootstrap
	comparison failures for debugging information.

2001-10-26  Florian Weimer  <fw@deneb.enyo.de>

	* gnat_rm.texi: Use @./@: where appropriate.

2001-10-26  Robert Dewar <dewar@gnat.com>

	* sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup.

2001-10-26  Richard Kenner <kenner@gnat.com>

	* gmem.c (__gnat_gmem_read_next): Properly check for EOF

2001-10-26  Richard Kenner <kenner@gnat.com>

	* decl.c (validate_size): Modify message for bad size to avoid
	implication that compiler is modifying the size.

2001-10-26  Robert Dewar <dewar@gnat.com>

	* prj-util.adb: Minor reformatting. Fix bad header format.

2001-10-26  Robert Dewar <dewar@gnat.com>

	* sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup.

	* sinfo.ads: Clarify use of Associated_Node (documentation only).

	* sem_ch12.adb: Change Node4 to Associated_Node. Change
	Associated_Node to Get_Associated_Node. Put use of Unchecked_Access
	much more narrowly in places where needed. These are cleanups.

2001-10-26  Joel Brobecker <brobecke@gnat.com>

	* 5zosinte.ads (null_pthread): new constant.

	* 5ztaprop.adb:
	(Initialize_TCB): Initialize thread ID to null, to be able to verify
	 later that this field has been set.
	(Finalize_TCB): ditto.
	(Suspend_Task): Verify that the thread ID is not null before using it.
	(Resume_Task): ditto.

	* s-tasdeb.adb:
	(Resume_All_Tasks): Lock the tasks list before using it.
	(Suspend_All_Tasks): ditto.

2001-10-26  Richard Kenner <kenner@gnat.com>

	* decl.c (gnat_to_gnu_entity, case E_General_Access_Type):
	Make constant variant of designated type for Is_Access_Constant.
	Call update_pointer_to with main variant.

	* trans.c (process_freeze_entity, process_type):
	Call update_pointer_to on main variant.

	* utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE.
	If main variant, update all other variants.

	* utils2.c (build_unary_op, case INDIRECT_REF): No longer set
	TREE_STATIC.

2001-10-26  Robert Dewar <dewar@gnat.com>

	* prj-util.adb: Minor reformatting

2001-10-26  Robert Dewar <dewar@gnat.com>

	* prj-util.adb: Minor reformatting

2001-10-26  Robert Dewar <dewar@gnat.com>

	* prj-attr.adb: Minor reformatting throughout

2001-10-26  Robert Dewar <dewar@gnat.com>

	* prj-attr.ads: Minor reformatting
	Add ??? comment (this whole spec has almost no comments)

2001-10-26  Vincent Celier <celier@gnat.com>

	* g-os_lib.adb (Normalize_Pathname): Preserve the double slash
        ("//") that precede the drive letter on Interix.

2001-10-26  Geert Bosch <bosch@gnat.com>

	* gnat_rm.texi: Add GNAT Reference Manual.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name
        is Error. Similar change for other renaming cases.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* s-atacco.ads: Add pragma Inline_Always for functions.
	Fix header format. Add copyright 2001

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array
        return Error rather than Empty so that analysis can proceed.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_util.adb (Enter_Name): better handling of cascaded error
        messages when a unit appears in its own context.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_util.adb (Defining_Entity): in case of error, attach created
        entity to specification, so that semantic analysis can proceed.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* sem_util.adb
        (Defining_Entity): Deal with Error.
	(Process_End_Label): Deal with bad end label for.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_elab.adb (Check_A_Call): refine message when call is in an
	instance but callee is not declared in the generic unit.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_elab.adb (Check_A_Call): check for renaming before finding the
	enclosing unit, which may already be different from the calling unit.

2001-10-25  Geert Bosch <bosch@gnat.com>

	* 4gintnam.ads: fix header format.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_res.adb (Resolve_Call): if the call is actually an indexing
        operation on the result of a parameterless call, perform elaboration
        check after the node has been properly rewritten.

	* sem_ch12.adb (Copy_Generic_Node): after the proper body has been
        inlined within the generic tree, the defining identifier is not a
        compilation_unit.

2001-10-25  Ed Schonberg <schonber@gnat.com>

	* sem_res.adb (Resolve): special-case resolution of Null in an
         instance or an inlined body to avoid view conflicts.

	* sem_ch12.adb (Copy_Generic_Node): for allocators, check for view
         compatibility by retrieving the access type of the generic copy.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* sem_ch3.adb:
	(Analyze_Number_Declaration): Handle error expression.
	(Signed_Integer_Type_Declaration): Handle error bound.
	(Analyze_Subtype_Indication): Handle error range.

	* sem_util.adb (Get_Index_Bounds): Check for Error.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default
	in no run time mode.

2001-10-25  Pascal Obry <obry@gnat.com>

	* gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet
        mode case for ALLOC case.

	* gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on
        all platforms. Improvement of last change.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* exp_ch4.adb (Expand_N_Allocator): Minor reformatting.

2001-10-25  Geert Bosch  <bosch@gnat.com>

	* osint.adb (Is_Relative): Remove duplicate.

2001-10-25  Pascal Obry <obry@gnat.com>

	* osint.adb (Read_Default_Search_Dirs): correctly detect relative
        pathnames in UNIX and DOS style with drive letter.
	(Is_Relative): new routine.

	* osint.adb: Minor reformatting

	* osint.adb (Is_Relative): implementation using
        GNAT.OS_Lib.Is_Absolute_Path. Better fix.

2001-10-25  Pascal Obry <obry@gnat.com>

	* g-dirope.adb (Basename): correctly compute offset between the
        original Path and the translated one.

	* g-dirope.adb: (Base_Name): add some comments.

2001-10-25  Robert Dewar <dewar@gnat.com>

	* exp_imgv.adb (Expand_Image_Attribute): Defend against bad use
        in HIE mode, avoids compilation abandoned message

	* exp_imgv.adb: Correct typo in previous change

	* exp_imgv.adb: Correct typo in previous change (not my day!)

2001-10-25  Robert Dewar <dewar@gnat.com>

	* s-tpinop.ads: Add 2001 to copyright notice. Fix header format.

2001-10-25  Pascal Obry <obry@gnat.com>

	* g-awk.ads: Move all pragma inlines next to the routine
	 declarations. This is more uniform with other GNAT spec.

2001-10-22  Geert Bosch  <bosch@gnat.com>

	* Make-lang.in (gnattools, cross-gnattools): Remove gnatmem.

2001-10-19  Geert Bosch  <bosch@gnat.com>

	* Makefile.in (tools, gnattools): Remove gnatmem.

2001-10-17  Richard Henderson  <rth@redhat.com>

	* Makefile.in (misc.o): Depend on langhooks.h.
	* misc.c: Include it.
	(LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New.
	(LANG_HOOKS_DECODE_OPTION): New.
	(lang_hooks): Use LANG_HOOKS_INITIALIZER.

2001-10-16  Florian Weimer  <fw@deneb.enyo.de>

	* trans.c (tree_transform): Adjust to recent change in
	expand_asm_operands to implement named asm operands.

2001-10-11  Ed Schonberg  <schonber@gnat.com>

	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in
	renaming of discriminant for mutable record type.

2001-10-11  Robert Dewar  <dewar@gnat.com>

	* validsw.adb: Properly save -gnatVn status.

2001-10-11  Robert Dewar <dewar@gnat.com>

	* usage.adb: Add lines for V switch.

	* gnatcmd.adb (COMPILE): Revise translations for -gnatV
	(/VALIDITY_CHECKING).

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* sem_type.adb (Add_One_Interp): an operator for a type declared in
	an extension of System is known to be visible.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal
	properly. Fixes regression on ACATS C34005G.

2001-10-11  Robert Dewar <dewar@gnat.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null
	loop in generic instance, since this is likely not very useful.

2001-10-11  Robert Dewar <dewar@gnat.com>

	* restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize
	the error message for high integrity mode.

	* rtsfind.adb (RTE): Give message if we try to find an entity that
	is not available in high integrity mode.

	* rtsfind.ads:
	(OK_To_Use_In_HIE_Mode): New array.
	(RTE): May return Empty in high integrity mode.

	* rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for
	OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx.

	* sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined
	unit if not inlined always and in no runtime mode. Fixes problem
	caused by new Rtsfind changes.

	* sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if
	body is deleted.

	* rtsfind.adb (RTE): Make sure we do not try to load unit after
	giving message for entity not available in high integrity mode.

2001-10-11  Pascal Obry <obry@gnat.com>

	* impunit.adb: Add GNAT.CRC32.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle
	properly the case where one universal operand in a non-static
	exponentiation of a real literal.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_ch7.adb (Find_Final_List): for a type appearing in a with_type
	clause, return the gobal finalization list, for lack of anthing else.

2001-10-11  Ed Schonberg <schonber@gnat.com>

	* exp_ch7.adb (Make_Transient_Block): if statement is within
	exception handler, always use new transient scope to place Clean
	procedure.

2001-10-11  Pascal Obry <obry@gnat.com>

	* Makefile.in:
	(GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o
	(GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o
	(GNATLS_RTL_OBJS): add g-crc32.o
	(GNATMAKE_RTL_OBJS): add g-crc32.o

	* ali-util.adb:
	(CRC_Match): new function.
	(Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit
	instead of the previous simple checksum algorithm.
	(Time_Stamp_Mismatch): use CRC_Match for comparison.
	(Set_Source_Table): idem.

	* ali-util.ads:
	(Get_File_Checksum): renamed Get_File_CRC as now we compute CRC
	instead of simple checksum.
	(CRC_Match): new function.
	(CRC_Error): new constant.

	* ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling
	a CRC now and not a simple checksum. A CRC uses lower-case hex
	letters, fixes ambiguity in parsing.

	* ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this
	is what this variable will store.

	* bcheck.adb: Change reference to chechsum in comments by CRC.
	(Check_Consistency): Rename Get_File_Checksum to Get_File_CRC.
	rename All_Checksum_Match to All_CRC_Match. Change due to API
	renaming since now GNAT does not use a simple checksum but a
	CRC using GNAT.CRC32.

	* gnatls.adb: Rename Checksum to CRC in many places, we use a CRC
	now and not anymore a simple checksum.

	* lib-load.adb: Use Source_CRC instead of Source_Checksum in many
	places.

	* lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum.

	* scans.adb:
	(Restore_Scan_State): rename Checksum to CRC.
	(Save_Scan_State): idem.

	* scans.ads:
	With GNAT.CRC32.
	(Checksum): rename to CRC.
	(Saved_Scan_State): Save_Checksum field renamed to Save_CRC

	* scn-nlit.adb: Rename many Accumulate_Checksum to Update (from
	GNAT.CRC32).  Update copyright notice.

	* scn-slit.adb: Rename many Accumulate_Checksum to Update (from
	GNAT.CRC32).  Update copyright notice.

	* scn.adb:
	(Accumulate_Checksum): removed.
	(Update): new procedure. Add a wide-character into the CRC.

	* sinput-l.adb:
	(Complete_Source_File_Entry): use CRC32 instead of simple checksum.
	(Load_File): fix initialization of S (change Source_Checksum to
	Source_CRC)

	* sinput-p.adb (Load_Project_File): rename Source_Checksum to
	Source_CRC in S initialization.

	* sinput.adb (Source_Checksum): renamed to Source_CRC.

	* sinput.ads (Source_Checksum): renamed to Source_CRC.
	Update comments for the CRC.

	* types.adb (Hex): Use lowercase for the letter part.

	* types.ads (Get_Hex_String): Returns the hexadecimal representation
	for a word. This is currently used only for CRC. In previous version,
	the checksum was using a representation with all letter being
	upper-case. With the new implementation (using CRC) we do not remove
	the 32th bit of the CRC, so we can have an upper-case starting letter
	in the CRC. This is not possible to parse in Scan_ALI (ali.adb).
	It is ambigous since the CRC was optional and could be followed by
	options like EB, EE. So now this routines uses lower-case letter for
	the hexadecimal representation. Strange enough only lower case letters
	where checked in Scan_ALI (even if this was not a possible case).

	* gnatvsn.ads (Library_Version): changed to 3.15a.

	* s-crc32.ads: Initial version from GNAT.CRC32. This is the version
	for the compiler.

	* s-crc32.adb: Initial version from GNAT.CRC32. This is the version
	for the compiler.

	* ali-util.adb: Redo previous change to avoid using word CRC everywhere
	Add 2001 to copyright notice
	(Accumulate_Checksum): Modify to use System.CRC32.

	* ali-util.ads: Redo changes of previous revision to continue to use
	the word Checksum. Add 2001 to copyright notice.

	* ali.adb: Undo some of previous changes, not needed.
	Keep the change for lower case letters in the checksum.

	* ali.ads: Undo previous change not needed.

	* bcheck.adb: Undo most of previous change, not needed.
	But do use Checksums_Match for checksum comparison.

	* gnatls.adb: Undo most of previous change, not needed.
	But do use Checksums_Match for comparing checksums.

	* lib-load.adb: Undo previous change, not needed.

	* lib-writ.adb: Undo previous change, not needed.

	* lib-writ.ads: Document that checksums use lower case,
	not upper case letters.

	* scans.adb: Undo previous change, not needed

	* scans.ads: Undo previous change, not needed.

	* scn-nlit.adb: Undo previous changes, not needed.

	* scn-slit.adb: Undo previous change, not needed.  Fix header format.

	* scn.adb:
	(Accumulate_Checksum): Use System.CRC32.
	(Initialize_Checksum): New procedure.
	Remove other changes of previous revision.

	* sinput-p.adb: Undo previous change, not needed.

	* sinput.adb: Undo previous change, not needed.

	* sinput-l.adb: Undo previous change, not needed.

	* sinput.ads: Undo previous change, not needed.  Keep only comment
	on new checksum algorithm

	* Makefile.in: Add s-crc32 as needed, remove g-crc32.
	Also remove a-tags and a-stream from GNAT sources.

	* ali.adb (Scan_ALI): fix typo introduce in latest check-in.

	* Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o.

2001-10-11  Geert Bosch  <bosch@gnat.com>

	* einfo.h: Regenerate.

	* nmake.ads: Regenerate.

	* nmake.adb: Regenerate.

	* sinfo.h: Regenerate.

	* treeprs.adb: Regenerate.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* gnat-style.texi: New file describing coding guidelines for Ada.

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required
	is Flag174.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* snames.ads: Add new names for project facility.

	* snames.adb: Update to reflect snames.ads changes.

	* snames.h: Update to reflect snames.ads changes.

2001-10-10  Vincent Celier <celier@gnat.com>

	* make.adb:
	(Add_Switches): reflect the changes for the switches attributes
	Default_Switches indexed by the programming language,
	Switches indexed by the file name.
	(Collect_Arguments_And_Compile): Idem.
	Reflect the attribute name changes.

	* prj-attr.adb:
	(Initialisation_Data): Change the names of some packages and
	attributes.
	(Initialize): process case insensitive associative arrays.

	* prj-attr.ads:
	(Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array.

	* prj-dect.adb:
	(Parse_Attribute_Declaration): For case insensitive associative
	 arrays, set the index string to lower case.

	* prj-env.adb:
	Reflect the changes of the project attributes.

	* prj-nmsc.adb:
	Replace Check_Naming_Scheme by Ada_Check and
	Language_Independent_Check.

	* prj-nmsc.ads:
	Replaced Check_Naming_Scheme by 2 procedures:
	Ada_Check and Language_Independent_Check.

	* prj-proc.adb:
	(Process_Declarative_Items): For case-insensitive associative
	arrays, set the index string to lower case.
	(Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of
	Prj.Nmsc.Check_Naming_Scheme.

	* prj-tree.adb:
	(Case_Insensitive): New function
	(Set_Case_Insensitive): New procedure

	* prj-tree.ads:
	(Case_Insensitive): New function
	(Set_Case_Insensitive): New procedure
	(Project_Node_Record): New flag Case_Insensitive.

	* prj-util.adb:
	(Value_Of): new function to get the string value of a single
	string variable or attribute.

	* prj-util.ads:
	(Value_Of): new function to get the string value of a single
	string variable or attribute.

	* prj.adb:
	(Ada_Default_Spec_Suffix): New function
	(Ada_Default_Impl_Suffix): New function
	Change definitions of several constants to reflect
	new components of record types.

	* prj.ads:
	(Naming_Data): Change several components to reflect new
	elements of naming schemes.
	(Project_Data): New flags Sources_Present and
	Language_Independent_Checked.
	(Ada_Default_Spec_Suffix): New function.
	(Ada_Default_Impl_Suffix): New function.

	* snames.ads:
	Modification of predefined names for project manager: added
	Implementation, Specification_Exceptions, Implementation_Exceptions,
	Specification_Suffix, Implementation_Suffix, Separate_Suffix,
	Default_Switches, _Languages, Builder, Cross_Reference,
	Finder. Removed Body_Part, Specification_Append, Body_Append,
	Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind,
	Gnatlink.

	* prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix):
	Add comments.

	* prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted,
	not that it is Nil_Variable_Value.

	* prj.ads: Add ??? for uncommented declarations

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* sem_prag.adb: (Analyze_Pragma, case External): If entity is a
	constant, do not indicate possible modification, so that gigi can
	treat it as a bona fide constant.

2001-10-10  Robert Dewar <dewar@gnat.com>

	* sem_prag.adb: Add processing for pragma External.

	* snames.ads: Add entry for pragma External.

	* par-prag.adb: Add pragma External.

	* snames.adb: Updated to match snames.ads.

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for
	a dynamic task if the allocator appears in an indexed assignment
	or selected component assignment.

	* exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image):
	For a dynamic task in an assignment statement, use target of
	assignment to generate meaningful name.

2001-10-10  Ed Schonberg <schonber@gnat.com>

	* einfo.adb (Write_Field19_Name): Body_Entity is also defined for
	a generic package.

	* einfo.ads: Body_Entity is also defined for generic package.
	Documentation change only

	* exp_aggr.adb (Build_Array_Aggr_Code): When expanding an
	others_choice for a discriminated component initialization,
	convert discriminant references into the corresponding discriminals.

	* exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate
	only if original type is private and expression has to be wrapped
	in a conversion.

	* checks.adb:
	(Apply_Constraint_Check): Do not perform length check
	if expression is an aggregate with only an others_choice.
	(Length_N_Cond): two references to the same in_parameter
	(typically the discriminal in an init_proc) denote the same value.
	Two useful optimization uncovered by bugfixes above.

2001-10-10  Robert Dewar <dewar@gnat.com>

	* xeinfo.adb: Change int to char in translation of enumeration types.
	This fixes a problem in the C representation of component alignment.
	Add 2001 to copyright notice

2001-10-10  Richard Kenner <kenner@gnat.com>

	* decl.c: (validate_size): Do check size of object of integral type
	if it is a packed array type.

2001-10-10  Richard Kenner <kenner@gnat.com>

	* decl.c: (gnat_to_gnu_entity, case object): Also materialize
	VAR_DECL for constant if not Is_Public but -O0.

2001-10-10  Richard Kenner  <kenner@gnat.com>

	* misc.c (struct lang_hooks): Add new initializer to match GCC change.

2001-10-10  Geert Bosch  <bosch@gnat.com>

	* xnmake.adb (XNmake): Fix handling of -s/-b options.  No longer
	use '/' as switch character, allowing for absolute file names.

2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>

	* 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update
	FSF address.

2001-10-08  Geert Bosch  <bosch@gnat.com>

	* Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads):
	Automatically build utilities when files need to be regenerated.

2001-10-08  Geert Bosch  <bosch@gnat.com>

	* xsnames.adb: New utility for updating snames.ads and snames.adb

2001-10-08  Zack Weinberg  <zack@codesourcery.com>

	* Make-lang.in (ADAFLAGS): Add -W -Wall.
	(ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also.
	(gnat1): Also depend on attribs.o.
	(gnatlib, gnatlib-shared): Set CC and ADAC in recursive make.
	* Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New.
	(ADAC): Set to @ADAC@ in stage1, $(CC) later.
	(ADAFLAGS): Add -W -Wall.
	(ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS;
	take out CFLAGS.

	(.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o,
	s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o,
	s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o):
	Use $(ADAC), not $(CC), as compilation command.

	(gnattools): Depend directly on tools to build, don't use
	recursive make.
	(gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make.

	* einfo.h, sinfo.h: New files (autogenerated).

2001-10-08  Richard Henderson  <rth@redhat.com>

	* comperr.adb (Abort_In_Progress): New.
	(Compiler_Abort): Use it to prevent recursion.

2001-10-08  Robert Dewar <dewar@gnat.com>

	* atree.adb: Set Error_Posted in Error node, helps error recovery.

	* par-endh.adb (Output_End_Expected): We should also not test
	Error_Posted on the Error node, since now it is always set.

	* cstand.adb (Create_Standard): Set Etype of Error to Any_Type
	to help error recovery. Part of general work on 9407-004.

	* par.adb: Add ??? for misuse of error

	* sem_res.adb:
	(Resolve): Defend against Error, fixes 9407-003.
	(Resolve_Discrete_Subtype_Indication): Defend against Error.

	* sinfo.ads (N_Error): Now has Etype field (which will be set
	to Any_Type to help error recovery).

2001-10-08  Richard Kenner (kenner@gnat.com)

	* misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR):
	Consistently set MEM attributes from expression; fixes
	bootstrap failure on x86.

2001-10-08  Geert Bosch  (bosch@gnat.com)

	* 5oosinte.adb: Add 2001 to copyright notice.

2001-10-08  Geert Bosch  (bosch@gnat.com)

	* ceinfo.adb: Add utility for consistency checking of einfo.ad[bs].

	* csinfo.adb: Add utility for consistency checking of sinfo.ad[bs].

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* 5oosinte.adb: Fix spelling error of "separate" as "seperate".

2001-10-05  Geert Bosch  (bosch@gnat.com)

	* adaint.h: Small formatting fix.

2001-10-04  Geert Bosch  <bosch@gnat.com>

	* sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *, in dummy version of functions.

	* adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *.

2001-10-04  Geert Bosch  <bosch@gnat.com>

	* 3lsoccon.ads: Added file, missed with initial check ins.

	* 4lintnam.ads: Fix header format.
	Change Linux to GNU/Linux.

	* 5iosinte.adb: Change Linux to GNU/Linux.

	* 5iosinte.ads: Change Linux to GNU/Linux.

	* 5itaprop.adb: Change Linux to GNU/Linux.

	* 5itaspri.ads: Change Linux to GNU/Linux.
	Update copyright notice.

	* 5lintman.adb: Change Linux to GNU/Linux.

	* 5lml-tgt.adb: Change Linux to GNU/Linux.

	* 5losinte.ads: Change Linux to GNU/Linux.

	* 5lsystem.ads: Change Linux to GNU/Linux.

	* 5qosinte.adb: Change Linux to GNU/Linux.

	* 5qosinte.ads: Change Linux to GNU/Linux.

	* 5qparame.ads: Change Linux to GNU/Linux.

	* 5qtaprop.adb: Change Linux to GNU/Linux.

	* 5qtaspri.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* 5vintman.ads: Change Linux to GNU/Linux.
	Fix header format.  Add 2001 to copyright notice.

	* g-soccon.ads: Change Linux to GNU/Linux.

	* g-trasym.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* memtrack.adb: Change Linux to GNU/Linux.

	* s-intman.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.  Fix header format.

	* s-stache.adb: Change Linux to GNU/Linux.

	* adaint.c: Change Linux to GNU/Linux.

	* cio.c: Change Linux to GNU/Linux.

	* cstreams.c: Change Linux to GNU/Linux.

	* init.c: Change Linux to GNU/Linux.

	* gmem.c: Change Linux to GNU/Linux.

	* tracebak.c: Change Linux to GNU/Linux.


2001-10-02  Geert Bosch  <bosch@gnat.com>

	* misc.c (insert_default_attributes): Add dummy version.

From-SVN: r47950
2001-12-12 22:26:45 +01:00
Richard Kenner
70482933d8 New Language: Ada
From-SVN: r45954
2001-10-02 10:08:34 -04:00