Commit Graph

23 Commits

Author SHA1 Message Date
Robert Dewar
e3da30b2ef sinfo.ads, sinfo.adb (Set_Synchronized_Present, [...]): Add Formal_Derived_Type_Definition and Private_Extension_Declaration to the...
2006-10-31  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Bob Duff  <duff@adacore.com>

	* sinfo.ads, sinfo.adb (Set_Synchronized_Present,
	Synchronized_Present): Add Formal_Derived_Type_Definition and
	Private_Extension_Declaration to the list of assertions.
	(Is_Entry_Barrier_Function): New flag
	(Has_Self_Reference): New flag on aggregates, to indicate that they
	contain a reference to the enclosing type, inserted through a default
	initialization.
	(Next_Rep_Item): Move from Node4 to Node5.
	(Entity): Add this field for N_Attribute_Definition_Clause.
	(Comes_From_Extended_Return_Statement): New flag on N_Return_Statement
	(N_Return_Object_Declaration): Remove this node kind. We now use
	N_Object_Declaration instead.
	(Actual_Designated_Subtype): Move to a different place to make room in
	N_Extended_Return_Statement.
	(Procedure_To_Call): Move to a different place to make room in
	N_Extended_Return_Statement.
	(Return_Type): Removed this field to make room in return statements
	(both kinds).
	(Return_Statement_Entity): New field in return statements, in part to
	replace Return_Type, and in part to support the fact that return
	statements are now pushed on the scope stack during semantic analysis.
	(Return_Object_Declarations): New field to support extended return
	statements.
	(N_Extended_Return_Statement): New node for extended_return_statement
	nonterminal.
	(N_Return_Object_Declaration): New node for part of
	extended_return_statement nonterminal. Needed because all the necessary
	fields won't fit in N_Extended_Return_Statement.
	Generic_associations now carry the Box_Present flag, to indicate a
	default for an actual in a partially parametrized formal package.

        * snames.h, snames.ads, snames.adb: Add definition for Validity_Check
	(Preset_Names): Add entries for Priority_Specific_Dispatching pragma
	and for the new predefined dispatching policies: EDF_Across_Priorities,
	Non_Preemptive_Within_Priorities, and Round_Robin_Within_Priorities.
	Introduce new name Stub_Type for implementation defined attribute.
	Add pragma Preelaborable_Initialization
	Add entry for Priority attribute.
	Add Pragma_Wide_Character_Encoding
	(Get_Convention_Name): Given a convention id, this function returns the
	corresponding name id from the names table.

From-SVN: r118313
2006-10-31 19:10:46 +01:00
Thomas Quinot
68e2ea2757 ali-util.adb (Get_File_Checksum): Update to account for change in profile of Initialize_Scanner.
2006-02-13  Thomas Quinot  <quinot@adacore.com>
	    Vincent Celier  <celier@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* ali-util.adb (Get_File_Checksum): Update to account for change in
	profile of Initialize_Scanner.

	* gprep.adb (Gnatprep): Update to account for change in profile of
	Initialize_Scanner.
	(Process_One_File): Same.

	* lib.adb (Get_Code_Or_Source_Unit): New subprogram factoring the
	common code between Get_Code_Unit and Get_Source_Unit. Reimplement
	that behaviour using the new Unit information recorded in the source
	files table, rather than going through all units every time.
	(Get_Code_Unit): Reimplement in terms of Get_Code_Or_Source_Unit.
	(Get_Source_Unit): Same.

	* prepcomp.adb (Parse_Preprocessing_Data_File): Update to account for
	change in profile of Initialize_Scanner.
	(Prepare_To_Preprocess): Same.

	* lib.ads: Fix typo in comment (templace -> template).

	* prj-part.adb (Parse_Single_Project): Update to account for change in
	profile of Initialize_Scanner.

	* scn.adb (Initialize_Scanner): Account for change in profile of
	Scng.Initialize_Scanner: set Current_Source_Unit in Scn instead of Scng.
	Also record the association of the given Source_File_Index to the
	corresponding Unit_Number_Type.

	* scng.ads, scng.adb (Initialize_Scanner.Set_Reserved): Remove
	procedure.
	(Initialize_Scanner): Call Scans.Initialize_Ada_Keywords.
	Remove Unit formal for generic scanner: this formal
	is only relevant to Scn (the scanner instance used to parse Ada source
	files), not to other instances. Update comment accordingly.
	(Scan): Use new function Snames.Is_Keyword_Name.

	* sinfo-cn.adb: Fix typo in comment.

	* sinput.adb (Unit, Set_Unit): Accessors for new source file attribute
	Unit.

	* sinput.ads (Source_File_Record): New component Unit, used to capture
	the unit identifier (if any) associated to a source file.

	* sinput-c.adb, sinput-l.adb (Load_File): Initialize new component
	Unit in Source_File_Record.

	* sinput-p.adb (Source_File_Is_Subunit): Update to account for change
	in profile of Initialize_Scanner.

	* scans.adb (Initialize_Ada_Keywords): New procedure

	* scans.ads (Initialize_Ada_Keywords): New procedure to initialize the
	Ada keywords in the Namet table, without the need to call
	Initialize_Scanner.

	* snames.adb: Add pragma Ada_2005 (synonym for Ada_05)
	(Is_Keyword_Name): New function

	* snames.ads: Add subtype Configuration_Pragma_Names
	Add pragma Ada_2005 (synonym for Ada_05)
	(Is_Keyword_Name): New function

	* snames.h: Add pragma Ada_2005 (synonym for Ada_05)

From-SVN: r111032
2006-02-15 10:32:12 +01:00
Robert Dewar
c3217dac82 sem_prag.adb: Processing for new pragma Complete_Representation (Analyze_Pragma...
2005-12-05  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Processing for new pragma Complete_Representation
	(Analyze_Pragma, case Debug): Implement two argument form.

	* par-prag.adb: Entry for new pragma Complete_Representation
	(Prag, case Debug): Recognize two argument form of pragma Debug
	New interface for Set_Style_Check_Options.

	* sem_ch13.adb: Implement new pragma Complete_Representation.

	* snames.adb, snames.ads, snames.h: Entry for new pragma
	Complete_Representation.

From-SVN: r108299
2005-12-09 18:20:41 +01:00
Robert Dewar
65f01153ab sem_attr.adb: Implement Machine_Rounding attribute
2005-11-14  Robert Dewar  <dewar@adacore.com>
	    Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_attr.adb: Implement Machine_Rounding attribute
	(Analyze_Access_Attribute): The access attribute may appear within an
	aggregate that has been expanded into a loop.
	(Check_Task_Prefix): Add semantic check for attribute 'Callable and
	'Terminated whenever the prefix is of a task interface class-wide type.
	(Analyze_Attribute): Add semantic check for attribute 'Identity whenever
	the prefix is of a task interface class-wide type.

	* s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
	to avoid warnings.

	* s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
	Remove pragma Inline for [Unaligned_]Valid.
	Add comments that Valid routines do not work for Vax_Float

	* exp_attr.adb: Implement Machine_Rounding attribute

	* snames.h: Add entry for Machine_Rounding attribute

From-SVN: r106970
2005-11-15 14:56:51 +01:00
Robert Dewar
6e18b0e511 opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
2005-09-01  Robert Dewar  <dewar@adacore.com>

	* opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]

	* par-prag.adb: Implement new pragma Debug_Policy

	* sem_prag.adb Implement new pragma Debug_Policy
	(Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
	Component_Size attribute specification. Give warning for ignored pragma
	Pack.

	* snames.h, snames.ads, snames.adb: Introduce entries in
	Preset_Names for Name_Disp_Asynchronous_Select,
	Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
	Name_Disp_Timed_Select.
	New pragma Debug_Policy

	* switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
	explicitly.
	Switch -gnata also sets Debug_Pragmas_Enabled

	* sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
	handle an explicit -gnata when compiling predefined files.

From-SVN: r103873
2005-09-05 09:56:02 +02:00
Eric Botcazou
d9e0a58787 decl.c (prepend_attributes): New case.
2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>

	* decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
	<Pragma_Linker_Destructor>: Likewise.

	* einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
	Pragma_Linker_Destructor.

	* gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
	ATTR_LINK_DESTRUCTOR.
	(static_ctors, static_dtors): New variables.

	* misc.c (gnat_expand_body): Output current function as constructor
	and destructor if requested.

	* par-prag.adb: Add processing for pragma Linker_Constructor and
	Linker_Destructor.

	* sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
	extracted from Check_Interrupt_Or_Attach_Handler.
	(Check_Interrupt_Or_Attach_Handler): Invoke it.
	Implement pragma Linker_Constructor and Linker_Destructor with the
	help of Find_Unique_Parameterless_Procedure.
	Replace Name_Alias with Name_Target for pragma Linker_Alias.

	* snames.h, snames.ads, snames.adb:
	Add Name_Linker_Constructor and Name_Linker_Destructor.
	Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
	* snames.adb: Remove Name_Alias.

	* trans.c: Include cgraph.h.
	(build_global_cdtor): New function.
	(Compilation_Unit_to_gnu): Build global constructor and destructor if
	needed.
	(tree_transform) <N_Identifier>: Substitute renaming of view-conversions
	of objects too.
	(addressable_p) <COMPONENT_REF>: Unconditionally test
	DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.

	* utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
	variable if it is external.

	(static_ctors, static_dtors): New global variables.
	(process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
	<ATTR_LINK_DESTRUCTOR>: Likewise.
	(end_subprog_body): Chain function as constructor and destructor
	if requested.

	* exp_util.adb (Force_Evaluation): Unconditionally invoke
	Remove_Side_Effects with Variable_Ref set to true.
	(Remove_Side_Effects): Handle scalar types first. Use a renaming
	for non-scalar types even if Variable_Ref is true and for class-wide
	expressions.

From-SVN: r101576
2005-07-04 15:27:21 +02:00
R. Kelley Cook
cb5fee25cd Update FSF address
From-SVN: r101492
2005-07-01 01:29:17 +00:00
Robert Dewar
59e5fbe064 re PR ada/10671 (improve error message for named notation used in pragma)
2005-06-14  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	PR ada/10671

	* sem_prag.adb: Implement pragma Persistent_BSS
	Remove obsolete pragma Persistent_Data, Persistent_Object
	Set Ada_Version_Explicit, for implementation of AI-362
	Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
	Add processing for pragma Pure_05 and Preelaborate_05
	Add processing for Assertion_Policy pragma
	Add pragma identifiers for Assert
	(Analyze_Pragma, case Assert): Check number of arguments
	(Process_Inline): Additional guard against an illegal program, where the
	argument of the pragma is undefined, and warnings on redundant
	constructs are enabled.
	(Analyze_Pragma, case Obsolescent): Allow an optional second argument
	Ada_05 to this pragma, specifying that the pragma is only active in
	Ada_05 mode.
	(Check_Arg_Order): New procedure
	Add appropriate calls to this procedure throughout
	Also throughout, check entity name before doing any other checks

	* snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
	Remove obsolete pragma Persistent_Data, Persistent_Object
	Add entries for pragma Pure_05 and Preelaborate_05
	Add entries for Assertion_Policy pragma and associated names
	Add some names for pragma argument processing

	* tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function

From-SVN: r101060
2005-06-16 10:46:36 +02:00
Robert Dewar
82c8073471 g-zstspl.ads: New file.
2005-02-09  Robert Dewar  <dewar@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>
	    Javier Miranda  <miranda@adacore.com>
	    Pascal Obry  <obry@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>
	    Doug Rupp  <rupp@adacore.com>
	    Gary Dismukes  <dismukes@adacore.com>
	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* g-zstspl.ads: New file.

	* a-chahan.ads, a-chahan.adb: Add declarations from AI-285

	* a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in
	Ada 95 mode
	Add definition of Wide_Wide_Space for AI-285

	* impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new
	interface (to support Ada 95 and Ada 2005 units).
	Add Unbounded_IO files
	Add entries for Wide_Wide packages for AI-285
	Add list of containers packages to Ada 2005 unit list

	* a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to
	support new Unbounded_IO package cleanly.

	* g-utf_32.ads, g-utf_32.adb: New files.

	* Makefile.rtl: Add entry for g-utf_32
	Add new files for Unbounded_IO
	Adjust make file for new AI-285 wide wide packages
	Add AI-302 containers to the run time.

	* a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads,
	a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New
	subprograms for AI-301.

	* a-stwiun.adb, a-stwiun.ads: Minor reformatting.

	* a-stunau.ads: Minor comment correction

	* rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes
	etc.
	Also extend Text_IO_Kludge to support Wide_Wide_Text_IO
	(Check_RPC): Update to match changes in expanded code.
	Clean up unused entity.

	* exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String
	was not taken into account.
	This includes proper initialization with Normalize_Scalars.
	(Get_Simple_Init_Val): Major rewrite for initialize scalars and
	normalize scalars cases (particularly the latter) to do a better job
	of finding invalid representations.

	* s-scaval.ads, s-scaval.adb: Add values for zero invalid values

	* s-strops.ads, s-strops.adb: Remove string normalize routines, never
	used

	* exp_dist.adb: Add support for wide wide character type
	(Expand_Receiving_Stubs_Bodies): For a package declaration that has a
	private part, generate stub bodies at the end of the private part,
	not the visible part.
	(Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for
	PolyORB support.
	(Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and
	generic wrapper to execute final processing after completing the
	expansion of the RPC receiver for an RACW.

	* snames.h, snames.ads, snames.adb: Add definitions for wide_wide
	packages and attributes.
	(Preset_Names): Addition of the new reserved words of Ada 2005,
	that is interface, overriding and synchronized.
	(Get_Pragma_Id): Give support to the use of the new reserved word
	"interface" as a pragma name.
	(Is_Pragma_Name): Give support to the use of the new reserved word
	"interface" as a pragma name.
	(Preset_Names): Add stream_size string for the Stream_Size Ada2005
	attribute implementation.

	* exp_attr.adb (Expand_Attribute_Reference): Do not apply validity
	checks to entities that are output parameters of Asm operations.
	Handle the Stream_Size attribute.
	Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width

	* exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type

	* sem_attr.adb (Eval_Attribute): Raise compile-time constraint error
	for second parameter being 0.0.
	Add support for wide wide character type.
	(Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute.

	* s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb,
	s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads,
	s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads,
	s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support
	for wide wide character cases.

	* cstand.adb: Create entities for Wide_Wide_Character and
	Wide_Wide_String.

	* i-c.ads, i-c.adb: Fix not raising CE for null wide strings in
	accordance with AI-258.
	Add new declarations for 16/32 bit C character types (Part of AI285)

	* einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag
	(Obsolescent_Warning): New field
	(Rep_Clause): New local subprogram used to share code. Returns the rep
	clause for which the name is given in parameter.
	(Has_Stream_Size_Clause): New routine.
	(Stream_Size_Clause): Idem. Implementation is based on Rep_Clause.
	(Address_Clause): Implementation is now using Rep_Clause.
	(Alignment_Clause): Idem.
	(Size_Clause): Idem.

	* lib-xref.adb (Generate_Reference): Test for reference to Ada 2005
	entity in non-Ada 2005 mode and generate warning.

	* par-prag.adb: Add handling of one argument form for pragma Ada_05.
	(Prag): Code cleanup. Remove old gnat pragma "overriding"

	* sem_prag.adb: Add handling of one argument form for pragma Ada_05
	(Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings
	on the named unit if the pragma is not in the current compilation unit,
	so that elaboration calls in the current unit can set up an elaboration
	dependency on the named unit, as needed.
	(Analyze_Pragma, case Obsolescent): Allow pragma to be used for library
	subprogram as well as for subprograms declared within a package.
	(Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT
	pragma overriding.

	* krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched
	to z) to avoid some instances of duplication for Wide_Wide packages.

	* namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide
	characters.

	* scn.adb: Char_Literal_Value field is now a Uint

	* scng.adb: Significant rewrite to handle new Ada 2005 features
	allowing wide and wide wide characters in program text, e.g. for
	identifiers, as described in AI-285.
	(Set_Reserved): New procedure, makes setting up keywords cleaner.
	(Initialize_Scanner): Register the new reserved words of Ada 2005.
	(Scan): Give support to the new reserved words.

	* par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a
	warning notifying that interface, overriding, and synchronized are
	new reserved words.
	(P_Pragma): Allow the use of the new reserved word "interface" as
	a pragma name.

	* gnatls.adb, gnatbind.adb,
	ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename
	identifiers named "interface" to "SAL_Interface".

	* bindgen.adb (Gen_Main_Ada): Add support for the new SEH
	(Structured Exception handling).
	(Gen_Main_C): Idem.

	* bindgen.adb:
	(Gen_Main_Ada): Set the default exit code if specified.
	(Gen_Main_C): Likewise.
	Part of *DC20-006.
	(Gen_Output_File_C): Remove redundant output of gnat_exit_status.
	Code cleanup. Rename identifiers named "interface" to "SAL_Interface"

	* switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of
	new -Xnnn switch.

	* mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that
	has a collision with the new Ada 2005 "interface" reserved word.

	* par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode,
	generate a warning notifying that interface, overriding, and
	synchronized are new reserved words.

	* scans.ads (Token_Type): Addition of the tokens corresponding to the
	new reserved words of Ada 2005: Tok_Interface, Tok_Overriding
	and Tok_Synchronized.

	* sem_res.adb (Resolve_Actuals): Change error messages to refer to
	"dispatching" rather than "primitive" operations, since dispatching
	calls are now allowed to abstract formal subprograms (which are not
	primitive).
	Char_Literal_Value field is now a Uint
	(Resolve_Slice): If the prefix is an access to an unconstrained array,
	compute the actual subtype of the designated object to impose the proper
	index constraints.
	(Resolve_Selected_Component): Do not insert an access check if the
	prefix is an access type: such a node is expanded into an explicit
	dereference, on which the access check is performed anyway. Removes
	expensive duplicate checks.
	(Resolve_Call): Use new flag Is_Obsolescent and field
	Obsolescent_Warning so that pragma Obsolescent works on library
	subprograms.
	Add support for wide wide character type
	(Resolve_Allocator): Replace the error message on wrong null-exclusion
	value by a warning message.
	(Resolve_Type_Conversion): If the mixed-mode expression is interpreted
	as fixed-point, and one of the operands is non-static and universal, it
	can only be an illegal exponentiation operation, in which case there is
	no real value to retrieve.

	* exp_strm.adb: Add support for wide wide character type
	(Build_Elementary_Input_Call): Compute the size of the stream element by
	querying the rep chain to find the Stream_Attribute attribute value.
	(Build_Elementary_Write_Call): Ditto.

	* sem_aggr.adb: Char_Literal_Value field is now a Uint
	Add support for wide wide character type
	Replace the error messages on wrong null-exclusion value by warnings
	as described in Ada 2005.
	(Resolve_Extension_Aggregate): Document the fact that the error
	message on class-wide expressions in extensions aggregates.

	* sem_case.adb: Add support for wide wide character type

	* sem_ch13.adb: Add support for wide wide character type
	(Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute.

	* sem_ch3.adb: Add support for wide wide character type
	(Process_Subtype): If constraint is illegal for the type, set Ekind of
	now-useless Itype, to prevent cascaded errors on a compiler built
	without -gnatp.

	* sem_ch8.adb: Add with and use of Sem_Disp.
	(Analyze_Subprogram_Renaming): Replace unclean uses of
	Corresponding_Spec with Corresponding_Formal_Spec (and delete setting
	of Corresponding_Spec to Empty).
	(Attribute_Renaming): Replace use of Corresponding_Spec with
	Corresponding_ Formal_Spec and simplify condition.
	(Use_One_Package): Check that scope of homonym of identifier is defined,
	before checking whether it is a wrapper package.
	Add support for wide wide character type

	* sem_eval.adb: Add support for wide wide character type.
	(Eval_Arithmetic_Op): Check for compile time known signed integer
	overflow in the non-static case.
	(Subtypes_Statically_Match): A formal scalar type and its base type do
	not statically match.

	* sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to
	"not in" for test of N_Formal_Subprogram_Declaration (which is now a
	subtype).
	(Unit_Declaration_Node): Ditto.
	(Is_Variable_Prefix):  For the case of an indexed component whose prefix
	has a packed array type, the prefix has been rewritten into a type
	conversion. Determine variable-ness from the converted expression.
	Handle wide wide character cases.

	* stand.ads: Add types Wide_Wide_Character and Wide_Wide_String

	* stringt.ads, stringt.adb: Handle full UTF-32 range.
	Remove ["0A"] from comment, since it can look like a line terminator.
	Currently we don't permit this, but this is under discussion by the
	ARG, and it is easy enough to use a different example.

	* s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for
	handling UTF-32 encoding for wide wide character.
	Implement new brackets coding ["hhhhhhhh"]
	Add UTF-8 encodings for full UTF-32 range

	* ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size

	* types.h, types.ads, types.adb: Wide_Wide_Character now has full 31
	bit range Add full UTF-32 support.
	(RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to
	notify that constraint error will be raised at run-time
	because a null value is assigned to a null-excluding object.
	Remove some obsolete declarations and make Char_Code
	unsigned.

	* a-except.adb (Rcheck_30): New subprogram. Addition of the message
	corresponding to CE_Null_Not_Allowed, and adjust the output of all the
	Rcheck subprograms.

	* checks.adb (Check_Null_Not_Allowed): Replace the error message on
	wrong null-exclusion value by a warning message.
	(Enable_Range_Check): Do range check if the prefix is an
	explicit dereference whose designated object is an unconstrained array.
	Current algorithm for removing duplicate checks is over-eager in this
	case.

	* sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong
	null-exclusion value by a warning message

	* atree.h, atree.ads, atree.adb: Remove Char_Code field support
	completely. Add support for Uint2 field

	sem_ch2.adb, exp_ch11.adb, exp_dbug.adb,
	exp_prag.adb: Char_Literal_Value field is now a Uint.

	* exp_util.adb (Insert_Actions): Replace
	N_Formal_Subprogram_Declaration by
	N_Formal_{Abstract|Concrete}_Subprogram_Declaration.
	Char_Literal_Value field is now a Uint.

	* sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function
	defined for subprogram renaming declarations. When set, the field
	indicates the defining entity of a corresponding formal subprogram
	when the renaming corresponds to a formal subprogram association in an
	instantiation.
	(Set_Corresponding_Formal_Spec): New procedure to return
	Corresponding_Formal_Spec field.
	Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration
	(which is now a subtype).
	Char_Literal_Value field is now a Uint

	* exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the
	pointer to the base of the dispatch table.
	Minor changes to comments.
	(Controlling_Type): New function for determining the tagged type
	associated with a tagged primitive subprogram.
	(Expand_Dispatching_Call): Add support for a controlling actual that is
	directly a value of type Ada.Tag rather than a tagged object.

	* i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation
	describing the new layout.
	(Dispatch_Table): The expander computes the actual array size, allocates
	the Dispatch_Table record accordingly, and generates code that displaces
	the base of the record after the Typeinfo_Ptr component. The access to
	these components is done by means of local functions.
	(Offset_To_Top): New function.
	(Typeinfo_Ptr): New function.
	(Get_TSD): Modified to access the new position of the TSD.
	(Set_TSD): Modified to save the TSD in its new position.

	* par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the
	case of formal abstract subprograms. Add check and message for -gnat05.
	Update comments.

	* sem_ch12.adb: Add with and use for Sem_Disp.
	(Analyze_Associations): Minor change from "=" to "in" for use of
	N_Formal_Subtype_Declaration (which is now a subtype).
	(Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of
	N_Formal_Subtype_Declaration (which is now a subtype).
	(Analyze_Formal_Subprogram): Add handling for
	N_Formal_Abstract_Subprogram, marking the formal as abstract and
	dispatching, setting the controlling status of the formal parameters
	and result, and issuing an error if there is no controlling type for
	the formal subprogram.
	(Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec,
	which is an unclean use of that field, we set the new field
	Corresponding_Formal_Spec to make the formal subprogram available to
	processing in Analyze_Subprogram_Declaration.
	(Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point,
	Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type
	Constrained, so that it is is does not statically match its anonymous
	base type.

	* sem_ch6.adb (Analyze_Subprogram_Specification): Include test for
	abstract formal subprograms in error check for functions returning
	abstract types. Set scope of new designator for
	a parameterless subprogram, so that it is available when checking the
	body for nested subprograms, before full analysis of said body.
	(Analyze_Subprogram_Body): Warn on inlining bodies with nested
	subprogram only if inner one comes from source.
	(Analyze_Function_Call): If the call is given in object notation, the
	analysis of the name rewrites the node and analyzes it with the proper
	argument list. After analyzing the name, if the call has been rewritten
	and the result type is set, no further analysis is needed.
	(Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype
	mark in function specification, in a context where the formals are
	visible and hide outer homographs.

	* sem_disp.adb (Check_Controlling_Type): Relax the check for same scope
	as the tagged type for the cases of abstract formal subprograms and
	renamings of those.  Clean up spec comments.
	(Check_Dispatching_Context): Add error message to indicate "abstract
	procedure", covering the case of a call to a formal abstract procedure
	that has statically tagged operands.
	(Check_Dispatching_Call): Check for the case of an actual given by
	a tag-indeterminate function call whose type is an ancestor of the
	containing call's associated tagged type. This situation can occur
	for inherited primitives with function defaults. In this case we
	use the tagged type's tag directly as the controlling argument for
	the calls.
	(Expand_Call): Name change on call to Expand_Dispatch_Call.

	* sprint.adb (Sprint_Node_Actual): Split
	N_Formal_Subprogram_Declaration into two alternatives for the new
	cases N_Formal_Abstract_Subprogram_Declaration and
	N_Formal_Concrete_Subprogram_Declaration.
	Char_Literal_Value field is now a Uint.

	* trans.c: Get rid of junk Uint2 reference.
	Char_Literal_Value field is now a Uint.
	(gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P.
	(gigi): Correct third arg to gimplify_body.

	* ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag.
	(TYPE_LANG_FLAG_0): Check for record or union.

	* treepr.adb: Char_Literal_Value field is now a Uint

	* uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and
	UI_From_CC.

	* widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function
	Add full UTF-32 support
	Char_Code is now 32 bits

	* sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with
	wide character UTF_32 line terminators.
	Initialize Main_Source_File to avoid error when no main
	source is loaded.

	* errout.adb (Finalize): Do not check Num_SRef_Pragmas
	(Main_Source_File) when no main source has been loaded, to avoid
	potential crash.

From-SVN: r94809
2005-02-10 14:50:48 +01:00
Arnaud Charlet
5f3ab6fbf0 s-atacco.ads, [...]: Protect use of 'Constrained by warnings on/off...
* s-atacco.ads, a-direio.adb: Protect use of 'Constrained by warnings
	on/off, since this is an obsolescent feature, for which we now generate
	a warning.

	* sem_attr.adb (Analyze_Attribute, case Constrained): Issue warning if
	warning mode is set and obsolescent usage of this attribute occurs.
	(Resolve_Access, case 'Access): Note that GNAT uses the context type to
	disambiguate overloaded prefixes, in accordance with AI-235. GNAT code
	predates, and partly motivates, the adoption of the AI.
	Implement new Ada 2005 attribute Mod

	* exp_attr.adb (Expand_N_Attribute_Reference): Implement Ada 2005
	attribute Mod.

	* par-ch4.adb (P_Name): In Ada 2005 mode, recognize new attribute Mod

	* snames.h, snames.ads, snames.adb: Add entry for No_Dependence for
	pragma restrictions.
	New entry for Ada 2005 attribute Mod.

	* par-prag.adb:
	Add recognition of new pragma Restrictions No_Dependence
	Recognize restriction No_Obsolescent_Features at parse time

	* bcheck.adb: Add circuitry for checking for consistency of
	No_Dependence restrictions.

	* lib-writ.ads, lib-writ.adb: Output new R lines for No_Dependence
	restrictions.

	* restrict.ads, restrict.adb: Add subprograms to deal with
	No_Dependence restrictions.

	* rtsfind.adb: Check that implicit with's do not violate No_Dependence
	restrictions.

	* sem_ch3.adb, sem_ch11.adb, sem_ch13.adb, lib-xref.adb,
	sem_attr.adb: Add check for new restriction No_Obsolescent_Features

	* scn.ads, prj-err.ads, prj-err.adb, ali-util.adb, gprep.adb: Add new
	dummy parameter to scng instantiation.
	Needed for new restriction No_Obsolescent_Features

	* scn.adb: (Obsolescent_Check): New procedure
	Needed for new restriction No_Obsolescent_Features

	* scng.ads, scng.adb: Always allow wide characters in Ada 2005 mode, as
	specified by AI-285, needed for implementation of AI-388 (adding greek
	pi to Ada.Numerics).
	Add new generic formal to scng, needed for new restriction
	No_Obsolescent_Features.

	* s-rident.ads: Add new restriction No_Obsolescent_Features.

	* ali.ads, ali.adb: Adjustments for reading new No_Dependence
	restrictions lines.
	(Scan_ALI): When finding an unexpected character on an R line, raise
	exception Bad_R_Line, instead of calling Fatal_Error, so that, when
	Ignore_Errors is True, default restrictions are set and scanning of the
	ALI file continues with the next line. Also, when Bad_R_Line is raised
	and Ignore_Errors is True, skip to the end of le line.

	* sem_ch10.adb: Check that explicit with's do not violate
	No_Dependence restrictions.
	(Install_Withed_Unit): Add code to implement AI-377 and diagnose
	illegal context clauses containing child units of instance.

	* sem_prag.adb: Processing and checking for new No_Dependence
	restrictions.
	(Analyze_Pragma, case Psect_Object): Call Check_Arg_Is_External_Name to
	analyze and check the External argument.

	* a-numeri.ads: Add greek letter pi as alternative spelling of Pi

From-SVN: r92829
2005-01-03 16:32:19 +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
0da2c8ac77 revert: [multiple changes]
2004-06-25  Pascal Obry  <obry@gnat.com>

	* makegpr.adb (Build_Library): Remove parameter Lib_Address and
	Relocatable from Build_Dynamic_Library call.

	* gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and
	Relocatable are now synonym.

	* Makefile.in: Use s-parame-mingw.adb on MingW platform.

	* mlib-prj.adb (Build_Library): Remove DLL_Address constant definition.
	Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library
	call.

	* mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter
	Lib_Address and Relocatable.
	(Default_DLL_Address): Removed.

	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
	mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb:
	(Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable.
	(Default_DLL_Address): Removed.

	* mlib-tgt-mingw.adb: Ditto.
	(Build_Dynamic_Library): Do not add "lib" prefix to the DLL name.

	* s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute
	the initial thread stack size.

	* a-strmap.ads: Move package L to private part as it is not used in
	the spec. Found while reading code.

2004-06-25  Olivier Hainque  <hainque@act-europe.fr>

	* tracebak.c: Introduce support for a GCC infrastructure based
	implementation of __gnat_backtrace.

	* raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record
	any more. Use accessors instead. This eases maintenance and relaxes
	some alignment constraints.
	(_GNAT_Exception structure): Remove the Ada specific fields
	(EID_For, Adjust_N_Cleanups_For): New accessors, exported by
	a-exexpr.adb.
	(is_handled_by, __gnat_eh_personality): Replace component references to
	exception structure by use of the new accessors.

	* init.c (__gnat_initialize): Adjust comments to match the just
	reverted meaning of the -static link-time option.

	* adaint.c (convert_addresses): Arrange not to define a stub for
	mips-irix any more, as we now want to rely on a real version from a
	recent libaddr2line.

	* a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that
	the personality routine can use them and not have to rely on a C
	counterpart of the record anymore. This simplifies maintenance and
	relaxes the constraint of having Standard'Maximum_Alignment match
	BIGGEST_ALIGNMENT.
	Update comments, and add a section on the common header alignment issue.

2004-06-25  Geert Bosch  <bosch@gnat.com>

	* a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in
	polynomial approximation. Fixes inconsistency with Cody/Waite algorithm.

2004-06-25  Robert Dewar  <dewar@gnat.com>

	* gnat_rm.texi: Fix section on component clauses to indicate that the
	restriction on byte boundary placement still applies for bit packed
	arrays.
	Add comment on stack usage from Initialize_Scalars

	* gnat_ugn.texi: Add documentation for -gnatyLnnn

	* stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for
	limiting nesting level.

	* usage.adb: Add line for -gnatyLnnn switch

	* g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads,
	sem_ch13.adb, exp_aggr.adb: Minor reformatting

	* sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base
	type as well as on the subtype. This corrects a problem in freeze in
	setting alignments of atomic types.

	* sem_eval.ads: Minor comment typo fixed

	* par-util.adb (Push_Scope_Stack): Check for violation of max nesting
	level.  Minor reformatting.

	* fname.adb (Is_Predefined_File_Name): Require a letter after the
	minus sign. This means that file names like a--b.adb will not be
	considered predefined.

	* freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing
	record Test new flag and give diagnostic for bad component clause.
	(Freeze_Entity): Set alignment of array from component alignment in
	cases where this is safe to do.

	* exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed
	arrays.

	* cstand.adb: (Create_Standard): Set alignment of String to 1

	* einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary

	* exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated
	code in the common constrained array cases.

	* a-storio.adb: Change implementation to avoid possible alignment
	problems on machines requiring strict alignment (data should be moved
	as type Buffer, not type Elmt).

	* checks.adb (Apply_Array_Size_Check): Improve these checks by
	killing the overflow checks which we really do not need (64-bits is
	enough).

2004-06-25  Vincent Celier  <celier@gnat.com>

	* makegpr.adb (Is_Included_In_Global_Archive): New Boolean function
	(Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path
	inconditionally for the main project.
	(Recursive_Add_Archives.Add_Archive_Path): New procedure
	(Link_Executables.Check_Time_Stamps): New procedure
	(Link_Executables.Link_Foreign): New procedure
	Changes made to reduce nesting level of this package
	(Check): New procedure
	(Add_Switches): When not in quiet output, check that a switch is not
	the concatenation of several valid switches. If it is, issue a warning.
	(Build_Global_Archive): If the global archive is rebuilt, linking need
	to be done.
	(Compile_Sources): Rebuilding a library archive does not imply
	rebuilding the global archive.
	(Build_Global_Archive): New procedure
	(Build_Library): New name for Build_Archive, now only for library
	project
	(Check_Archive_Builder): New procedure
	(Create_Global_Archive_Dependency_File): New procedure
	(Gprmake): Call Build_Global_Archive before linking
	* makegpr.adb: Use Other_Sources_Present instead of Sources_Present
	throughout.
	(Scan_Arg): Display the Copyright notice when -v is used

	* gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=)
	for gnatls.

	* vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT
	COMPILE.
	Add new GNAT LIST qualifier /FILES=
	Added qualifier /DIRECTORY= to GNAT METRIC
	Added qualifier /FILES= to GNAT METRIC
	Added qualifier /FILES to GNAT PRETTY

	* switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS,
	to take into account both versions of the switch.

	* switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should
	always be the last switch to the gcc driver. Disable switch storing so
	that switches automatically added by the gcc driver are not put in the
	ALI file.

	* prj.adb (Project_Empty): Take into account changes in components of
	Project_Data.

	* prj.ads (Languages_Processed): New enumaration value All_Languages.

	* prj.ads (Project_Data): Remove component Lib_Elaboration: never
	used. Split Boolean component Ada_Sources_Present in two Boolean
	components Ada_Sources_Present and Other_Sources_Present.
	Minor reformatting

	* prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present
	instead of Sources_Present.
	(Set_Ada_Paths.Add.Recursive_Add): Ditto

	* prj-nmsc.adb: Minor reformatting
	(Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme
	(Check_Ada_Naming_Scheme_Validity): New name of previous procedure
	Check_Ada_Naming_Scheme.
	Change Sources_Present to Ada_Sources_Present or Other_Sources_Present
	throughout.

	* prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter
	In_Limited.
	Make sure that all cycles where there is at least one "limited with"
	are detected.
	(Parse_Single_Project): New Boolean parameter In_Limited

	* prj-proc.adb (Recursive_Check): When Process_Languages is
	All_Languages, call first Prj.Nmsc.Ada_Check, then
	Prj.Nmsc.Other_Languages_Check.

	* prj-proc.adb (Process): Use Ada_Sources_Present or
	Other_Sources_Present (instead of Sources_Present) depending on
	Process_Languages.

	* lang-specs.h: Keep -g and -m switches in the same order, and as the
	last switches.

	* lib.adb (Switch_Storing_Enabled): New global Boolean flag
	(Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to
	False.
	(Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is
	False.

	* lib.ads (Disable_Switch_Storing): New procedure.

	* make.adb: Modifications to reduce nesting level of this package.
	(Check_Standard_Library): New procedure
	(Gnatmake.Check_Mains): New procedure
	(Gnatmake.Create_Binder_Mapping_File): New procedure
	(Compile_Sources.Compile): Add switch -gnatez as the last option
	(Display): Never display -gnatez

	* Makefile.generic:
	When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT)

	* gnatcmd.adb (Check_Project): New function
	(Process_Link): New procedure to reduce nesting depth
	(Check_Files): New procedure to reduce the nesting depth.
	For GNAT METRIC, include the inherited sources in extending projects.
	(GNATCmd): When GNAT LS is invoked with a project file and no files,
	add the list of files from the sources of the project file. If this list
	is too long, put it in a temp text files and use switch -files=
	(Delete_Temp_Config_Files): Delete the temp text file that contains
	a list of source for gnatpp or gnatmetric, if one has been created.
	(GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources
	in the project file is too large, create a temporary text file that
	list them and pass it to the tool with "-files=<temp text file>".
	(GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch

	* gnatlink.adb (Gnatlink): Do not compile with --RTS= when the
	generated file is in not in Ada.

	* gnatls.adb: Remove all parameters And_Save that are no longer used.
	(Scan_Ls_Arg): Add processing for -files=
	(Usage): Add line for -files=

	* g-os_lib.adb (On_Windows): New global constant Boolean flag
	(Normalize_Pathname): When on Windows and the path starts with a
	directory separator, make sure that the resulting path will start with
	a drive letter.

	* clean.adb (Clean_Archive): New procedure
	(Clean_Project): When there is non-Ada code, delete the global archive,
	the archive dependency files, the object files and their dependency
	files, if they exist.
	(Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only.

2004-06-25  Thomas Quinot  <quinot@act-europe.fr>

	* sinfo.ads: Fix typo in comment.

	* sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses
	the TSS for remote access-to-subprogram types, since these TSS are
	always present once the type has been analyzed.
	(RAS_E_Dereference): Same.

	* sem_attr.adb (Analyze_Attribute): When analysis of an attribute
	reference raises Bad_Attribute, mark the reference as analyzed so the
	node (and any children resulting from rewrites that could have occurred
	during the analysis that ultimately failed) is not analyzed again.

	* exp_ch7.ads (Find_Final_List): Fix misaligned comment.

	* exp_dist.adb: Minor comment fix.

	* exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected
	type is an anonymous access type, no unchecked deallocation of the
	allocated object can occur. If the object is controlled, attach it with
	a count of 1. This allows attachment to the Global_Final_List, if
	no other relevant list is available.
	(Get_Allocator_Final_List): For an anonymous access type that is
	the type of a discriminant or record component, the corresponding
	finalisation list is the one of the scope of the type.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch3.adb (Replace_Type): When computing the signature of an
	inherited subprogram, use the first subtype if the derived type
	declaration has no constraint.

	* exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array
	before applying previous optimization. Minor code cleanup.

	* exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is
	placed at the beginning of an unpacked record without explicit
	alignment, a slice of it will be aligned and does not need a copy when
	used as an actual.

2004-06-25  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15591
	PR ada/15592
	* sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute
	reference is written with expressions mimicking parameters.

2004-06-25  Hristian Kirtchev  <kirtchev@gnat.com>

	PR ada/15589
	* sem_ch3.adb (Build_Derived_Record_Type): Add additional check to
	STEP 2a. The constraints of a full type declaration of a derived record
	type are checked for conformance with those declared in the
	corresponding private extension declaration. The message
	"not conformant with previous declaration" is emitted if an error is
	detected.

2004-06-25  Vasiliy Fofanov  <fofanov@act-europe.fr>

	* g-traceb.ads: Document the need for -E binder switch in the spec.

	* g-trasym.ads: Document the need for -E binder switch in the spec.

2004-06-25  Jose Ruiz  <ruiz@act-europe.fr>

	* sem_prag.adb: Add handling of pragma Detect_Blocking.

	* snames.h, snames.ads, snames.adb: Add entry for pragma
	Detect_Blocking.

	* s-rident.ads: Change reference to pragma Detect_Blocking.

	* targparm.ads, targparm.adb: Allow pragma Detect_Blocking in
	system.ads.

	* opt.ads (Detect_Blocking): New Boolean variable (defaulted to False)
	to indicate whether pragma Detect_Blocking is active.

	* par-prag.adb: Add entry for pragma Detect_Blocking.

	* rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug
	of not handling WITH.
	Note that this replaces the previous update which was incorrect.

2004-06-25  Javier Miranda  <miranda@gnat.com>

	* sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the
	use-clauses to have a clean environment.

	* sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force
	the installation of the use-clauses to stablish a clean environment in
	case of compilation of a separate unit; otherwise the call to
	use_one_package is protected by the barrier Applicable_Use.

	* sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force
	the installation of the use-clauses to stablish a clean environment in
	case of compilation of a separate unit.
	(End_Use_Clauses): Minor comment cleanup.

2004-06-25  Sergey Rybin  <rybin@act-europe.fr>

	* gnat_ugn.texi: Add description of the gnatpp 'files' switch

From-SVN: r83658
2004-06-25 18:39:33 +02:00
Arnaud Charlet
cc335f4371 [multiple changes]
2004-06-14  Pascal Obry  <obry@gnat.com>

	* gnat_ugn.texi: Document relocatable vs. dynamic Library_Kind on
	Windows.  Fix minor typo.

	* mlib-tgt-mingw.adb: New implementation using the GCC -shared option
	which is now supported on Windows. With this implementation using the
	Library Project feature is no different on Windows than on UNIX.

2004-06-14  Vincent Celier  <celier@gnat.com>

	* makegpr.adb (Compile_Sources): Nothing to do when there are no
	non-Ada sources.

	* mlib-tgt-vxworks.adb (Library_Exists_For): Remove incorrect comment

	* prj-part.adb (Parse_Single_Project): When a duplicate project name is
	found, show the project name and the path of the previously parsed
	project file.

2004-06-14  Ed Schonberg  <schonberg@gnat.com>

	* exp_ch6.adb (Add_Call_By_Copy_Code): For an out-parameter that is an
	array, avoid copying the actual before the call.

2004-06-14  Thomas Quinot  <quinot@act-europe.fr>

	* g-debpoo.adb: Remove alignment assumptions from GNAT.Debug_Pools.
	Instead, allocate memory on worst-case alignment assumptions, and then
	return an aligned address within the allocated zone.

2004-06-14  Robert Dewar  <dewar@gnat.com>

	* bindgen.adb (Gen_Adainit_Ada): Do not generate external references to
	elab entities in predefined units in No_Run_Time_Mode.
	(Gen_Adainit_C): Same fix
	(Gen_Elab_Calls_Ada): Do not generate calls to elaborate predefined
	units in No_Run_Time_Mode
	(Gen_Elab_Calls_C): Same fix

	* symbols-vms-alpha.adb: Minor reformatting

	* g-debpoo.ads: Minor reformatting

	* lib.adb (In_Same_Extended_Unit): Version working on node id's

	* lib.ads (In_Same_Extended_Unit): Version working on node id's

	* lib-xref.adb: Minor cleanup, use new version of In_Same_Extended_Unit
	working on nodes.

	* make.adb: Minor reformatting

	* par-ch12.adb: Minor reformatting

	* par-prag.adb: Add dummy entry for pragma Profile_Warnings

	* prj-strt.adb: Minor reformatting

	* restrict.ads, restrict.adb: Redo handling of profile restrictions to
	be more general.

	* sem_attr.adb: Minor reformatting

	* sem_ch7.adb: Minor reformatting

	* sem_elab.adb (Check_A_Call): Deal with problem of calling init proc
	for type in the same unit as the object declaration.

	* sem_prag.adb (Check_Arg_Is_External_Name): New procedure, allows
	static string expressions and not just string literals.
	Minor reformatting
	(Set_Warning): Reset restriction warning flag for restriction pragma
	Implement pragma Profile_Warnings
	Implement pragma Profile (Restricted)
	Give obolescent messages for old restrictions and pragmas

	* snames.h, snames.ads, snames.adb: Add new entry for pragma
	Profile_Warnings.

	* s-rident.ads: Add declarations for restrictions required by profile
	Restricted and profile Ravenscar.

	* targparm.ads, targparm.adb: Allow pragma Profile in system.ads

	* gnat_ugn.texi: Correct some missing entries in the list of GNAT
	configuration pragmas.

From-SVN: r83099
2004-06-14 15:19:14 +02:00
Arnaud Charlet
0ab80019b6 [multiple changes]
2004-06-07  Robert Dewar  <dewar@gnat.com>

	* a-direct.ads, einfo.ads: Minor comment updates

	* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
	s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
	s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb,
	s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb,
	s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting.

	* s-interr-sigaction.adb: Remove unreferenced variable
	(Attached_Interrupts).  Minor reformatting.
	Avoid use of variable I (replace by J).

	* par-ch10.adb: Fix text of one error message

	* checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads,
	exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb,
	exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb,
	opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb,
	par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb,
	par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
        sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb,
	sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb,
	sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb,
	snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada
	2005 support.

2004-06-07  Doug Rupp  <rupp@gnat.com>

	* mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb

	* s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb

	* mlib-tgt-vms-ia64.adb: New file.

	* Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb
	Add mlib-tgt-vms-ia64.adb
	Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb.
	Move to alpha specific ifeq section.
	Add VMS specific versions of symbols.adb
	Renaming of 5q vms files.

	* 5qsystem.ads renamed to system-vms_64.ads.

2004-06-07  Vincent Celier  <celier@gnat.com>

	* a-calend.ads: Add a GNAT Note comment after function Time_Of to
	explain that when a time of day corresponding to the non existing hour
	on the day switching to DST is specified, Split may return a different
	value for Seconds.

	* gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar
	to GNAT PRETTY.

	* g-os_lib.adb (OpenVMS): New Boolean value imported from System.
	(Normalize_Pathname): Only resolve VMS logical names when on VMS.

	* mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize
	to False.
	If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to
	the linking options.
	(Build_Library.Check_Libs): On VMS, if there is a dependency on
	g-trasym.ads, set Gtrasymobj_Needed to True.

	* prj-attr.adb: Add new package Metrics for gnatmetric

	* prj-nmsc.adb (Record_Other_Sources): Put source file names in
	canonical case to take into account files with upper case characters on
	Windows.
	(Ada_Check): Load the reference symbol file name in the name buffer to
	check it, not the symbol file name.

	* snames.ads, snames.adb: Add standard name Metrics (name of project
	file package for gnatmetric).

	* vms_conv.ads: Add Metric to Comment_Type

	* vms_conv.adb (Initialize): Add component dor Metric in Command_List

	* vms_data.ads: Add qualifiers for GNAT METRIC

	* makegpr.adb (Link_Executables): Take into account the switches
	specified in package Linker of the main project.

2004-06-07  Thomas Quinot  <quinot@act-europe.fr>

	* bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so
	the index of the last element is Units.Last, not Units.Table'Last
	(which is usually not a valid index within the actually allocated
	storage for the table).

	* exp_ch4.adb (Insert_Dereference_Action): Change predicate that
	determines whether to generate a call to a checked storage pool
	Dereference action.
	Generate such a call only for a dereference that either comes from
	source, or is the result of rewriting a dereference that comes from
	source.

2004-06-07  Romain Berrendonner  <berrendo@act-europe.fr>

	* bindgen.adb (Gen_Output_File): Add support for GAP builds.

2004-06-07  Eric Botcazou  <ebotcazou@act-europe.fr>

	(gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at
	file level, elaborate the stride for inner dimensions in alignment
	units, not bytes.

	* exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned
	in a comment.

2004-06-07  Javier Miranda  <miranda@gnat.com>

	* exp_ch6.adb: Correct wrong modification in previous patch

2004-06-07  Vasiliy Fofanov  <fofanov@act-europe.fr>

	* g-trasym.ads: Corrected comment to properly reflect level of support
	on VMS.

2004-06-07  Hristian Kirtchev  <kirtchev@gnat.com>

	* lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It
	includes case of a variable referenced on the left hand side of an
	assignment, therefore remove redundant code. Variables and prefixes of
	indexed or selected components are now marked as referenced on left
	hand side. Warnings are now properly emitted when variables or prefixes
	are assigned but not read.

	* sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to
	left hand side referenced variables. Private access types do not
	produce the warning "variable ... is assigned but never read".
	Add also additional checks to left hand side referenced variables.
	Aliased, renamed objects and access types do not produce the warning
	"variable ... is assigned but never read" since other entities may read
	the memory location.

2004-06-07  Jerome Guitton  <guitton@act-europe.fr>

	* Makefile.in: In the powerpc/vxworks-specific section, restore
	EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed
	by mistake).

2004-06-07  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of
	predefined operators.
	Removes spurious type errors from g-trasym-vms.adb.

	* sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is
	distinct from the operator appearing in the source, call appropriate
	routine to insert conversions when needed, and complete resolution of
	node.
	(Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of
	interpretations for rewritten right operand.
	(Set_Mixed_Mode_Operand): Handle properly a universal real operand when
	the other operand is overloaded and the context is a type conversion.

2004-06-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* ada-tree.def (BLOCK_STMT): Now has two operands.
	(BREAK_STMT): New.

	* ada-tree.h: (BLOCK_STMT_BLOCK): New macro.

	* gigi.h: (gnat_poplevel): Now returns a tree.

	* trans.c (end_block_stmt): Add arg; all callers changed.
	(tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN.
	(start_block_stmt): Clear BLOCK_STMT_BLOCK.
	(add_stmt): Set TREE_TYPE.
	(gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK.
	(gnat_expand_stmt, case BREAK_STMT): New case.

	* utils.c (gnat_poplevel): Return a BLOCK, if we made one.

2004-06-07  Jose Ruiz  <ruiz@act-europe.fr>

	* s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the
	procedure Set_Stack_Size that is not needed.

2004-06-07  Sergey Rybin  <rybin@act-europe.fr>

	* gnat_ugn.texi: Clarify the case when non-standard naming scheme is
	used for gnatpp input file and for the files upon which it depends

2004-06-07  Ben Brosgol  <brosgol@gnat.com>

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

2004-06-07  Arnaud Charlet  <charlet@act-europe.fr>

	* gnatvsn.ads: Bump version numbers appropriately.
	Add new build type.

2004-06-07  Pascal Obry  <obry@gnat.com>

	* gnat_ugn.texi: Improve comments about imported names and link names
	on Windows. Add a note about the requirement to use -k gnatdll's option
	when working with a DLL which has stripped stdcall symbols (no @nn
	suffix).

From-SVN: r82691
2004-06-07 16:16:34 +02:00
Arnaud Charlet
8a6a52dcb9 [multiple changes]
2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c: Reflect GCC changes to fix bootstrap problem.
	Add warning for suspicious aliasing unchecked conversion.

2004-03-05  Robert Dewar  <dewar@gnat.com>

	* 56taprop.adb, 5ataprop.adb: Remove unneeded unchecked conversions

	* a-tags.adb, a-tags.ads, s-finimp.adb, s-finroo.ads,
	i-cpoint.ads, i-cpoint.adb, i-cstrin.adb, i-cstrin.ads,
	5iosinte.ads, 5sosinte.ads, 5staspri.ads, 5itaprop.adb,
	5staprop.adb, 5wtaprop.adb, s-tataat.ads, s-tataat.adb: Move
	unchecked conversion to spec to avoid warnings.

	* s-tasini.adb, s-taskin.ads, 5atpopsp.adb: Correct spelling Task_Id
	to Task_ID

	* 7stpopsp.adb: Correct casing in To_Task_ID call

	* a-strsea.ads, a-strsea.adb: Minor reformatting

	* einfo.ads, einfo.adb: Define new flag No_Strict_Aliasing

	* errout.ads: Switch for VMS is now NO_STRICT_ALIASING.
	Adjust Max_Msg_Length to be clearly large enough.

	* fe.h: Define In_Same_Source_Unit

	* osint.adb: Add pragma Warnings Off to suppress warnings
	* g-dyntab.adb, g-table.adb, g-thread.adb: Add Warnings (Off) to kill
	aliasing warnings.

	* opt.ads: Put entries in alpha order. Add entry for No_Strict_Aliasing

	* par-prag.adb: Add dummy entry for No_Strict_Aliasing pragma

	* sem_ch13.adb: Generate validate unchecked conversion nodes for gcc.

	* sem_ch3.adb: Set No_Strict_Aliasing flag if config pragma set.

	* sem_prag.adb: Implement pragma No_Strict_Aliasing.

	* sinfo.ads: Remove obsolete comment on validate unchecked conversion
	node. We now do generate them for gcc back end.

	* table.adb, sinput.adb: Add pragma Warnings Off to suppress aliasing
	warning.

	* sinput-c.adb: Fix bad name in header.
	Add pragma Warnings Off to suppress aliasing warning.

	* sinput-l.adb: Add pragma Warnings Off to suppress aliasing warning.

	* snames.h, snames.ads, snames.adb: Add entry for pragma
	No_Strict_Aliasing.

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

	* prj-com.ads: Add hash table Files_Htable to check when a file name
	is already a source of another project.

	* prj-nmsc.adb (Record_Source): Before recording a new source, check
	if its file name is not already a source of another project. Report an
	error if it is.

	* gnatcmd.adb: When GNAT PRETTY is invoked with a project file and no
	source file name, call gnatpp with all the sources of the main project.

	* vms_conv.adb (Initialize): GNAT PRETTY may be called with any number
	of file names.

	* vms_data.ads: Correct documentation of new /OPTIMIZE keyword
	NO_STRICT_ALIASING. Add new qualifier for GNAT PRETTY:
	/RUNTIME_SYSTEM=, converted to --RTS=
	/NOTABS, converted to -notabs

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

	* make.adb: Minor reformatting.

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

	Part of implemention of AI-262.
	* par-ch10.adb (P_Context_Clause): Recognize private with_clauses.

	* sem_ch10.ads, sem_ch10.adb: (Install_Private_With_Clauses): New
	procedure.

	* sem_ch3.adb (Analyze_Component_Declaration): Improve error message
	when component type is a partially constrained class-wide subtype.
	(Constrain_Discriminated_Type): If parent type has unknown
	discriminants, a constraint is illegal, even if full view has
	discriminants.
	(Build_Derived_Record_Type): Inherit discriminants when deriving a type
	with unknown discriminants whose full view is a discriminated record.

	* sem_ch7.adb (Preserve_Full_Attributes): Preserve Has_Discriminants
	flag, to handle properly derivations of tagged types with unknown
	discriminants.
	(Analyze_Package_Spec, Analyze_Package_Body): Install
	Private_With_Clauses before analyzing private part or body.

	* einfo.ads: Indicate that both Has_Unknown_Discriminants and
	Has_Discriminants can be true for a given type (documentation).

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

	* s-restri.ads: Fix license (GPL->GMGPL).

	* s-tassta.adb: Minor reformatting.

	* s-tasren.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
	by calls to Exit_One_ATC_Level, since additional clean up is performed
	by this function.

	* s-tpobop.adb: Replace manual handling of Self_Id.ATC_Nesting_Level
	by calls to Exit_One_ATC_Level, since additional clean up is performed
	by this function.

2004-03-05  GNAT Script  <nobody@gnat.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r78964
2004-03-05 11:58:59 +01:00
Arnaud Charlet
2e0717349d [multiple changes]
2004-02-09  Ed Schonberg  <schonberg@gnat.com>

	* exp_ch4.adb (Expand_N_Op_Eq): When looking for the primitive equality
	for a tagged type, verify that both formals have the same type.

	* exp_ch6.adb (Add_Call_By_Copy_Code): Initialize properly the
	temporary when the formal is an in-parameter and the actual a possibly
	unaligned slice.

	* exp_ch9.adb (Expand_Entry_Barrier): Resolve barrier expression even
	when expansion is disabled, to ensure proper name capture with
	overloaded literals.  Condition can be of any boolean type, resolve
	accordingly.

	* sem_ch8.adb (Analyze_Subprogram_Renaming): Emit warning if the
	renaming is for a formal subprogram with a default operator name, and
	there is a usable operator that is visible at the point of
	instantiation.

2004-02-09  Robert Dewar  <dewar@gnat.com>

	* ali.adb (Scan_Ali) Add Ignore_Errors argument. This is a major
	rewrite to ignore errors in ali files, intended to allow tools downward
	compatibility with new versions of ali files.

	* ali.ads: Add new parameter Ignore_Errors

	* bcheck.adb (Check_Consistent_Restrictions): Fix error of sometimes
	duplicating the error message giving the file with restrictions.

	* debug.adb: Add debug flag I for gnatbind

	* errout.adb (Set_Msg_Insertion_Node): Suppress extra quotes around
	operators for the case where the operator is a defining operator.

	* exp_ch3.adb: Minor reformatting (new function spec format).

	* exp_ch4.adb: Add comment for previous change, and make minor
	adjustment to loop to always check for improper loop termination.
	Minor reformatting throughout (new function spec format).

	* gnatbind.adb: Implement -di debug flag for gnatbind

	* gnatlink.adb: Call Scan_ALI with Ignore_Errors set to True

	* gnatls.adb: Call Scan_ALI with Ignore_Errors set to True

	* lib-load.adb: Fix bad assertion.
	Found by testing and code reading.
	Minor reformatting.

	* lib-load.ads: Minor reformatting.

	* lib-writ.adb: There is only one R line now.

	* lib-writ.ads: Add documentation on making downward compatible changes
	to ali files so old tools work with new ali files.
	There is only one R line now.
	Add documentation on format incompatibilities (with special GPS note)

	* namet.ads, namet.adb: (Is_Operator_Name): New procedure

	* par-load.adb: Minor reformatting

	* sem_ch8.adb: Fix to error message from last update
	Minor reformatting and restructuring of code from last update

	* par-prag.adb, snames.adb, snames.ads, snames.h,
	sem_prag.adb: Implement pragma Profile.

	* stylesw.adb: Implement -gnatyN switch to turn off all style check
	options.

	* usage.adb: Add line for -gnatyN switch

	* vms_data.ads: Add entry STYLE_CHECKS=NONE for -gnatyN

From-SVN: r77537
2004-02-09 15:56:05 +01:00
Arnaud Charlet
12e0c41c11 re PR ada/12806 (Program_Error sinput.adb:397)
* sysdep.c: Problem discovered during IA64 VMS port.
	[VMS] #include <unixio.h> to get proper prototypes.

	* adaint.c:
	Issues discovered/problems fixed during IA64 VMS port.
	[VMS] #define _POSIX_EXIT for proper semantics.
	[VMS] #include <unixio.h> for proper prototypes.
	[VMS] (fork): #define IA64 version.
	(__gnat_os_exit): Remove unnecessary VMS specific code.

	* 3vtrasym.adb: Minor reformatting
	Use terminology encoded/decoded name, rather than C++ specific notion
	of mangling (this is the terminology used throughout GNAT).

	* einfo.h: Regenerated

	* einfo.ads, einfo.adb: Add new flag Is_Thread_Body

	* exp_ch6.adb:
	(Expand_N_Subprogram_Body): Handle expansion of thread body procedure

	* par-prag.adb: Add dummy entry for Thread_Body pragma

	* rtsfind.ads:
	Add entries for System.Threads entities for thread body processing

	* sem_attr.adb:
	(Analyze_Pragma, Access attributes): Check these are not applied to a
	thread body, since this is not permitted

	* sem_prag.adb: Add processing for Thread_Body pragma.
	Minor comment fix.

	* sem_res.adb:
	(Resolve_Call): Check for incorrect attempt to call a thread body
	 procedure with a direct call.

	* snames.ads, snames.adb: Add entry for Thread_Body pragma
	Add names associated with thread body expansion

	* snames.h: Add entry for Thread_Body pragma

	* s-thread.adb: Add entries for thread body processing
	These are dummy bodies so far

	* s-thread.ads: Add documentation on thread body handling.
	Add entries for thread body processing.

	* sem_ch10.adb:
	(Build_Limited_Views): Return after posting an error in case of limited
	with_clause on subprograms, generics, instances or generic renamings
	(Install_Limited_Withed_Unit): Do nothing in case of limited with_clause
	on subprograms, generics, instances or generic renamings

	* raise.c (setup_to_install): Correct mistake in last revision; two
	arguments out of order.

	* trans.c, cuintp.c, argv.c, aux-io.c, cal.c, errno.c, exit.c,
	gnatbl.c, init.c, stringt.h, utils.c, utils2.c: Update copyright
	notice, missed in previous change.
	Remove trailing blanks and other style errors introduced in previous
	change.

	* decl.c (gnat_to_gnu_field): Adjust the conditions under which we get
	rid of the wrapper for a LJM type, ensuring we don't do that if the
	field is addressable.  This avoids potential low level type view
	mismatches later on, for instance in a by-reference argument passing
	process.

	* decl.c (gnat_to_gnu_field): No longer check for BLKmode being
	aligned at byte boundary.

	* decl.c (components_to_record): Do not delete the empty variants from
	the end of the union type.

	* exp_ch4.adb (Expand_N_Op_Eq): Use base type when locating primitive
	operation for a derived type, an explicit declaration may use a local
	subtype of Boolean.

	* make.adb (Gnatmake): Allow main sources on the command line with a
	library project when it is only for compilation (no binding or
	linking).

	Part of PR ada/12806:

	* ada-tree.h (TYPE_DIGITS_VALUE, SET_TYPE_DIGITS_VALUE): Save count as
	tree, not integer.

	* decl.c:
	(gnat_to_gnu_entity, case E_Floating_Point_Type): Save count as tree,
	not integer.

	* targtyps.c, decl.c, misc.c,
	gigi.h (fp_prec_to_size, fp_size_to_prec): Temporary
	routines to work around change in FP sizing semantics in GCC.

	* utils.c:
	(build_vms_descriptor): TYPE_DIGITS_VALUE is tree, not integer.

	* gigi.h: (enumerate_modes): New function.

	* Make-lang.in: (ada/misc.o): Add real.h.

	* misc.c: (enumerate_modes): New function.

From-SVN: r73250
2003-11-04 13:51: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
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
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
Geert Bosch
e834fe1fdf snames.ads: Add new names for project facility.
* snames.ads: Add new names for project facility.

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

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

From-SVN: r46171
2001-10-11 03:14:10 +02:00
Richard Kenner
996ae0b0ae New Language: Ada
From-SVN: r45959
2001-10-02 10:52:00 -04:00