Commit Graph

58 Commits

Author SHA1 Message Date
Olivier Hainque
2494e67370 decl.c (gnat_to_gnu_entity): Check for a dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P.
2004-09-21  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_General_Access_Type>: Check for a
	dummy designated type via TYPE_MODE instead of COMPLETE_TYPE_P. This
	ensures proper handling of types with rep clauses, which might have
	their TYPE_SIZE set already.

From-SVN: r87807
2004-09-21 17:34:36 +02:00
Robert Dewar
910d20fcb8 decl.c (gnat_to_gnu_type, [...]): Wrap modular packed array types in both little- and big-endian cases.
2004-09-21  Robert Dewar  <dewar@gnat.com>

	* decl.c (gnat_to_gnu_type, case E_Modular_Integer_Type): Wrap modular
	packed array types in both little- and big-endian cases. This change
	ensures that we no longer count on the unused bits being initialized
	for such types (and in particular ensures that equality testing will
	only read the relevant bits).
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P
	These changes mean that we no longer need to initialize small packed
	arrays.
	(gnat_to_gnu_entity) <E_Record_Subtype>: Apply the same
	optimization to an LJM field as to its parent field.

	* ada-tree.h:, trans.c, utils.c, utils2.c:
	Change name TYPE_LEFT_JUSTIFIED_MODULAR_P to TYPE_JUSTIFIED_MODULAR_P

From-SVN: r87806
2004-09-21 17:31:03 +02:00
Jeffrey D. Oldham
6615c44615 alias.c (find_base_decl): Remove unreachable case '3' block.
2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* alias.c (find_base_decl): Remove unreachable case '3' block.
	* expr.c (safe_from_p): Abort if passed a type.
	* tree-gimple.c (recalculate_side_effects): Abort if passed
	anything other than an expression.
	* tree-ssa-pre.c (phi_translate): Return expr immediately if
	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
	Abort on un-handled tree classes.
	(valid_in_set): Likewise.
	* tree.c (tree_code_class_strings): New static data.

	* tree.h (enum tree_code_class): New.
	(tree_code_class_strings): Declare.
	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.

	* tree.def, c-common.def, objc/objc-tree.def: Use
	tree_code_class enumeration constants instead of code letters.

	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
	Update to match.

	* LANGUAGES: Add note about change.

ada:
	* ada-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
	Update for new tree-class enumeration constants.

cp:
	* cp-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
	* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
	Update for new tree-class enumeration constants.

fortran:
	* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
	enumeration constants.

java:
	* java-tree.def: Use tree_code_class enumeration constants
	instead of code letters.
	* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
	new tree-class enumeration constants.

treelang:
	* treetree.c: Update for new tree-class enumeration constants.

From-SVN: r87675
2004-09-17 21:55:02 +00:00
Arnaud Charlet
c885d7a17a [multiple changes]
2004-09-09  Vincent Celier  <celier@gnat.com>

	* a-direct.ads: Add pragma Ada_05
	(Directory_Entry_Type): Give default value to component Kind to avoid
	not initialized warnings.

	* a-direct.adb (Current_Directory): Remove directory separator at the
	end.
	(Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
	an existing directory.
	(Fetch_Next_Entry): Give default value to variable Kind to avoid warning
	(Size (String)): Function C_Size returns Long_Integer, not File_Size.
	Convert the result to File_Size.

	* prj.ads: (Project_Error): New exception

	* prj-attr.adb: Except in procedure Initialize, Fail comes from
	Prj.Com, not from Osint.
	(Attrs, Package_Attributes): Tables moved to private part of spec
	(Add_Attribute, Add_Unknown_Package): Moved to new child package
	Prj.Attr.PM.
	(Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
	Prj.Project_Error after call to Fail.
	(Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
	Fail. Check that package name is not already in use.

	* prj-attr.ads: Comment updates to indicate that all subprograms may be
	used by tools, not only by the project manager, and to indicate that
	exception Prj.Prj_Error may be raised in case of problem.
	(Add_Unknown_Package, Add_Attribute): Moved to new child package
	Prj.Attr.PM.
	(Attrs, Package_Attributes): Table instantiations moved from the body to
	the private part to be accessible from Prj.Attr.PM body.

	* prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
	from new package Prj.Attr.PM.
	(Parse_Attribute_Declaration): Call Add_Attribute from new package
	Prj.Attr.PM.

	* Makefile.in: Add prj-attr-pm.o to gnatmake object list

	* gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
	instead of Elaboration_Checks).

	* a-calend.adb: Minor reformatting

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

	* gigi.h (maybe_pad_type): New declaration.
	(create_subprog_type): New arg RETURNS_BY_TARGET_PTR.

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

	* cuintp.c: Convert to use buildN.

	* decl.c (maybe_pad_type): No longer static.
	(gnat_to_gnu_entity, case E_Function): Handle case of returning by
	target pointer.
	Convert to use buildN.

	* trans.c (call_to_gnu): Add arg GNU_TARGET; support
	TYPE_RETURNS_BY_TARGET_PTR_P.  All callers changed.
	(gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
	RHS.
	(gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
	(gnat_gimplify_expr, case ADDR_EXPR): New case.
	Convert to use buildN.

	* utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
	TREE_READONLY for const.
	Convert to use buildN.

	* utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
	(create_var_decl): Refine when TREE_STATIC is set.
	Convert to use buildN.

2004-09-09  Gary Dismukes  <dismukes@gnat.com>

	* gnat_ugn.texi: Delete text relating to checking of ali and object
	consistency.

	* a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
	routines.

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

	* gnat_ugn.texi: Add Detect_Blocking to the list of configuration
	pragmas recognized by GNAT.

	* gnat_rm.texi: Document pragma Detect_Blocking.

	* s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
	the protected action nesting level.
	(Lock_Read_Only): When pragma Detect_Blocking is active increase the
	protected action nesting level.
	(Unlock): When pragma Detect_Blocking is active decrease the protected
	action nesting level.

	* s-taskin.adb (Initialize_ATCB): Initialize to 0 the
	Protected_Action_Nesting.

	* s-taskin.ads: Adding the field Protected_Action_Nesting to the
	Common_ATCB record. It contains the dynamic level of protected action
	nesting for each task. It is needed for checking whether potentially
	blocking operations are called from protected operations.
	(Detect_Blocking): Adding a Boolean constant reflecting whether pragma
	Detect_Blocking is active or not in the partition.

	* s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.
	(Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation.

	* s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.

	* s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Unlock_Entries): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation, and increase
	the protected action nesting level.
	(Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
	Program_Error if called from a protected operation, and increase the
	protected action nesting level.
	(Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
	raise Program_Error if called from a protected operation.
	(Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
	active, raise Program_Error if called from a protected operation.
	(Unlock_Entry): When pragma Detect_Blocking is active decrease the
	protected action nesting level.

	* sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
	insertion of the statement raising Program_Error. The run time
	contains the required machinery for handling that.

	* sem_util.ads: Change comment associated to procedure
	Check_Potentially_Blocking_Operation.
	This procedure does not insert a call for raising the exception because
	that is currently done by the run time.

	* raise.h (__gnat_set_globals): Pass the detect_blocking parameter.

	* init.c: Add the global variable __gl_detect_blocking that indicates
	whether pragma Detect_Blocking is active (1) or not (0). Needed for
	making the pragma available at run time.
	(__gnat_set_globals): Pass and update the detect_blocking parameter.

	* lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
	pragma Detect_Blocking is active.

	* lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.

	* ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
	DB is found in the ali file. Any unit compiled with pragma
	Detect_Blocking active forces its effect in the whole partition.

	* a-retide.adb (Delay_Until): Raise Program_Error if pragma
	Detect_Blocking is active and delay is called from a protected
	operation.

	* bindgen.adb (Gen_Adainit_Ada): When generating the call to
	__gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
	Detect_Blocking is active (0 otherwise).
	(Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
	as Detect_Blocking parameter if pragma Detect_Blocking is active (0
	otherwise).

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

	* gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
	package.

	* s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
	(Register_Receiving_Stub): Add Subp_Info formal parameter.
	Update API in placeholder implemetation of s-parint to reflect changes
	in distribution runtime library.

	* sem_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* sem_disp.adb (Check_Controlling_Formals): Improve error message for
	primitive operations of potentially distributed object types that have
	non-controlling anonymous access formals.

	* sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
	subprogram.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.
	This version of sem_dist is compatible with PolyORB/DSA as well as
	GLADE.

	* sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
	Asynchrronous that applies to a remote access-to-subprogram type, mark
	the underlying RACW type as asynchronous.

	* link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
	 __gnat_using_gnu_linker to 1.

	* Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
	g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
	GNAT.Perfect_Hash_Generators, and remove the empty
	GNAT.Perfect_Hash package.

	* atree.adb: Minor reformatting

	* exp_ch3.adb (Expand_Derived_Record): Rename to
	Expand_Record_Extension.
	(Build_Record_Init_Proc.Build_Assignment): The default expression in
	a component declaration must remain attached at that point in the
	tree so New_Copy_Tree copies it if the enclosing record type is derived.
	It is therefore necessary to take a copy of the expression when building
	the corresponding assignment statement in the init proc.
	As a side effect, in the case of a derived record type, we now see the
	original expression, without any rewriting that could have occurred
	during expansion of the ancestor type's init proc, and we do not need
	to go back to Original_Node.

	* exp_ch3.ads (Expand_Derived_Record): Rename to
	Expand_Record_Extension.

	* exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
	Returns the RACW type used to implement a remote access-to-subprogram
	type.
	(Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
	New subprograms. Used to create a proxy tagged object for a remote
	subprogram. The proxy object is used as the designated object
	for RAS values on the same partition (unless All_Calls_Remote applies).
	(Build_Get_Unique_RP_Call): New subprogram. Build a call to
	System.Partition_Interface.Get_Unique_Remote_Pointer.
	(Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
	Renamed from Add_RAS_*_Attribute.
	(Add_Receiving_Stubs_To_Declarations): Generate a table of local
	subprograms.
	New implementation of expansion for remote access-to-subprogram types,
	based on the RACW infrastructure.

	* exp_dist.ads (Copy_Specification): Update comment to note that this
	function can copy the specification from either a subprogram
	specification or an access-to-subprogram type definition.

2004-09-09  Ed Schonberg  <schonberg@gnat.com>

	* sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
	in an instance, between an explicit subprogram an one inherited from a
	type derived from an actual.

	* exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
	add a polling call if the subprogram is to be inlined by the back-end,
	to avoid repeated calls with multiple inlinings.

	* checks.adb (Apply_Alignment_Check): If the expression in the address
	clause is a call whose name is not a static entity (e.g. a dispatching
	call), treat as dynamic.

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

	* g-trasym.ads: Minor reformatting

	* exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
	packed arrays, since unused bits are expected to be zero for a
	comparison.

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

	* exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
	comment.

2004-09-09  Pascal Obry  <obry@gnat.com>

	* mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
	enable map file generation. Add the right option to generate the map
	file if Map_File is set to True.

	* gnatdll.adb (Gen_Map_File): New variable.
	(Syntax): Add info about new -m (Map_File) option.
	(Parse_Command_Line): Add support for -m option.
	(gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
	Minor reformatting.

2004-09-09  Laurent Pautet  <pautet@act-europe.fr>

	* gnatls.adb: Add a very verbose mode -V. Such mode is required by the
	new gnatdist implementation.
	Define a subpackage isolating the output routines specific to this
	verbose mode.

2004-09-09  Joel Brobecker  <brobecker@gnat.com>

	* Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.

	* gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.

2004-09-09  Cyrille Comar  <comar@act-europe.fr>

	* opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
	internal unit.

	* opt.ads: Add Ada_Version_Runtime constant used to decide which
	version of the language is used to compile the run time.

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

	* sem_util.adb (Requires_Transient_Scope): Re-enable handling
	of variable length temporaries for function return now that the
	back-end and gigi support it.

From-SVN: r87435
2004-09-13 12:18:42 +02:00
Arnaud Charlet
6cdb2c6e80 [multiple changes]
2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM.

	* trans.c (struct stmt_group): Delete field GLOBAL.
	(gnat_init_stmt_group): Do not initialize it.
	(call_to_gnu): Use save_expr, not protect_multiple_eval.
	(Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2
	(gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise.
	(gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group.
	(start_stmt_group): Likewise.
	(add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs.

	* utils2.c (ggc.h): Include.
	(build_call_raise): Call build_int_cst, not build_int_2.

	* utils.c (gnat_init_decl_processing): Fix arg to
	build_common_tree_nodes.
	(create_subprog_type): Do not use SET_TYPE_CI_CO_LIST.
	(gnat_define_builtin): Set built_in_decls.
	(init_gigi_decls): Call build_int_cst, not build_int_2.

	* ada-tree.h (struct lang_decl, struct lang_type): Field is type tree.
	(GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros.
	(GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise.
	(TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE,
	SET_TYPE_MODULE): Use them.
	(TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise.
	(SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise.
	(SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE,
	SET_TYPE_ADA_SIZE): Likewise.
	(TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise.
	(DECL_CONST_CORRESPONDING_VAR,
	SET_DECL_CONST_CORRESPONDING_VAR): Likewise.
	(DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise.
	(TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted.
	(TYPE_RM_SIZE_NUM): New macro.
	(TYPE_RM_SIZE): Modified to use above.

	* cuintp.c: (build_cst_from_int): New function.
	(UI_To_gnu): Use it.

	* decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM.
	(make_type_from_size): Avoid changing TYPE_UNSIGNED of a type.
	(gnat_substitute_in_type, case ARRAY_TYPE): If old had a
	MIN_EXPR for the size, copy it into new.

2004-08-31  Robert Dewar  <dewar@gnat.com>

	* exp_ch6.adb (Expand_Call): Properly handle validity checks for
	packed indexed component where array is an IN OUT formal. This
	generated garbage code previously.

	* gnat_ugn.texi: Document -fverbose-asm

	* gnat-style.texi: Minor updates (note that boolean constants and
	variables are joined with AND/OR rather than short circuit forms).

2004-08-31  Ed Schonberg  <schonberg@gnat.com>

	* exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if
	it is an upward conversion of an untagged type with no representation
	change.

2004-08-31  Thomas Quinot  <quinot@act-europe.fr>

	* rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to
	System.Partition_Interface.

	* checks.adb (Apply_Access_Checks): Do not generate checks when
	expander is not active (but check for unset reference to prefix of
	dereference).

	* sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite
	pragma Debug as an if statement with a constant condition, for
	consistent treatment of entity references contained within the
	enclosed procedure call.

2004-08-31  Vincent Celier  <celier@gnat.com>

	* bindgen.adb: (Set_EA_Last): New procedure
	(Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure
	Set_EA_Last.
	(Gen_Adafinal_Ada): If no finalization, adafinal does nothing
	(Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be
	linked without errors.
	(Gen_Exception_Table_Ada): Correct bugs when generating code for arrays
	ST and EA.
	(Gen_Exception_Table_C): Correct same bugs

	* vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches

	* g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty,
	on Windows, make sure that the drive letter is in upper case.

	* g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on
	Windows, when the drive letter is added and Case_Sensitive is True, the
	drive letter is forced to upper case.

	* mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options
	to Options_2 for the call to MLib.Utl.Gcc.

	* bld.adb (Put_Include_Project): Use '/', not '\' on Windows as
	directory separator when defining BASE_DIR.

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

	* gprcmd.adb (Extend): Do not output trailing directory separator. This
	is not needed and it confuses Windows GNU/make which does not report
	directory terminated by a slash as a directory.
	(gprcmd): Idem for "pwd" internal command.

	* Makefile.generic: Use __GPRCOLON__ instead of pipe character in
	target names rewrite to fix regressions with recent version of
	GNU/make. Starting with GNU/make 3.80 the pipe character was not
	handled properly anymore.

From-SVN: r86883
2004-09-01 13:51:54 +02:00
Arnaud Charlet
244e5a2c23 [multiple changes]
2004-08-13  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_Variable>: When building an allocator
	for a global aliased object with a variable size and an unconstrained
	nominal subtype, pretend there is no initializer if the one we have is
	incomplete, and avoid referencing an inexistant component in there. The
	part we have will be rebuilt anyway and the reference may confuse
	further operations.

2004-08-13  Thomas Quinot  <quinot@act-europe.fr>

	* einfo.ads: Minor reformatting

	* lib-writ.adb (Output_Main_Program_Line): Do not set parameter
	restrictions in the ALI if we only want to warn about violations.

2004-08-13  Vincent Celier  <celier@gnat.com>

	* ali.adb (Scan_ALI): Initialize component Body_Needed_For_SAL to False
	when creating a new Unit_Record in table Units.

	* gnatls.adb (Output_Unit): In verbose mode, output the restrictions
	that are violated, if any.

	* prj-nmsc.adb (Ada_Check.Get_Path_Names_And_Record_Sources): Do not
	add directory separator if path already ends with a directory separator.

2004-08-13  Ed Schonberg  <schonberg@gnat.com>

	* rtsfind.adb (Entity_Not_Defined): If the error ocurrs in a predefined
	unit, this is an attempt to inline a construct that is not available in
	the current restricted mode, so abort rather than trying to continue.

	* sem_ch3.adb (Build_Underlying_Full_View): If the new type has
	discriminants that rename those of the parent, recover names of
	original discriminants for the constraint on the full view of the
	parent.
	(Complete_Private_Subtype): Do not create a subtype declaration if the
	subtype is an itype.

	* gnat_rm.texi: Added section on implementation of discriminated
	records with default values for discriminants.

2004-08-13  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15601
	* sem_res.adb (Make_Call_Into_Operator): Handle properly the case where
	the second operand is overloaded.

From-SVN: r85934
2004-08-13 12:24:46 +02:00
Arnaud Charlet
5d09245e6a [multiple changes]
2004-08-09  Thomas Quinot  <quinot@act-europe.fr>

	* g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind
	from complaining on potential uninitialized reference.
	Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for
	new specification and test explicitly for non-zero return value.

	* g-socthi.ads (Is_Socket_In_Set): Declare imported function as
	returning C.int, to avoid using a derived boolean type.

	* exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use
	Duplicate_Subexpr_No_Checks in preference to direct use of
	Remove_Side_Effects and New_Copy_Tree.
	Clear Comes_From_Source on prefix of 'Size attribute reference.

	* g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb,
	g-socthi-vxworks.adb: Change calls to
	GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification
	and test explicitly for non-zero return value.

	* g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads:
	(Is_Socket_In_Set): Declare imported function as returning C.int, to
	avoid using a derived boolean type.

2004-08-09  Albert Lee  <lee@gnat.com>

	* system-irix-n32.ads: Refine tasking priority constants for IRIX.

2004-08-09  Pascal Obry  <obry@gnat.com>

	* gnat_ugn.texi: Document new way to build DLLs on Windows using
	GCC's -shared option.

	* mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into
	Options_2 parameter (options put after object files).

2004-08-09  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to
	ignore overflows on low and high bounds of an index to also account for
	differences in signedness between sizetype and gnu_index_subtype.
	These are as legitimate as the ones caused by a lower TYPE_PRECISION
	on sizetype.

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

	* s-solita.ads, s-solita.adb: Minor reformatting

	* gnat_rm.texi: Add documentation for pragma Profile (Restricted)
	Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new
	obsolescent section
	Add note that No_Implicit_Conditionals does not suppress
	run time constraint checks.

	* vms_conv.ads: Minor reformatting

	* s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup
	and necessary for following change).
	(Mark): Return new format Mark_Id containing sec stack address
	(Release): Use sec stack address from Mark_Id avoiding Self call

	* s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack
	pointer (cleanup and necessary for following change).
	Define Mark_Id as record containing address of secondary stack, that way
	Release does not need to find the stack again, decreasing the number of
	calls to Self and improving efficiency.

	* sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference

	* sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of
	case variable into the individual case branches when possible.

	* sem_ch11.adb: Minor reformatting

	* prj.ads: Correct spelling of suffixs

	* prj-nmsc.adb: Minor reformatting
	Correct spelling suffixs throughout (also in identifiers)

	* freeze.adb: Minor spelling correction

	* exp_ch2.adb: Cleanups to handling of Current_Value
	(no functional effect).

	* bld.adb: Correct spelling of suffixs

	* einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument

2004-08-09  Ed Schonberg  <schonberg@gnat.com>

	PR ada/15408

	* sem_ch7.adb (Install_Private_Declarations): In the body of the
	package or of a child, private entities are both immediately_visible
	and not hidden.

2004-08-09  Ed Schonberg  <schonberg@gnat.com>

	* sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer,
	there are no range checks on the value of the literal.

	* exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being
	wrapped is the triggering alternative of an asynchronous select, action
	statements mustbe inserted before the select itself.

	* sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the
	case where the prefix is a protected function call.
	(Resolve_Attribute, case 'Access): The attribute reference on a
	subprogram is legal in a generic body if the subprogram is declared
	elsewhere.

2004-08-09  Vincent Celier  <celier@gnat.com>

	* makegpr.adb (Build_Library): Link with g++ if C++ is one of the
	languages, otherwise building the library may fail with unresolved
	symbols.
	(Compile_Sources): Do not build libraries if -c switch is used

	* gnatlink.adb (Process_Args): New switches -M and -Mmap
	(Write_Usage): If map file creation is supported, output new switches
	-M and -Mmap.
	(Gnatlink): When -M is specified, add the necessary switch(es) to the
	gcc call, when supported.

	* Makefile.in: Added indepsw.o to the object list for gnatlink
	Specified the AIX, GNU/Linux and Windows versions of indepsw.adb

	* indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb,
	indepsw.adb, indepsw.ads: New files.

2004-08-09  Bernard Banner  <banner@gnat.com>

	* system-vxworks-x86.ads, s-vxwork-x86.ads: New files.

	* Makefile.in: add section for vxworks x86

2004-08-09  Hristian Kirtchev  <kirtchev@gnat.com>

	* exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with
	per-object constrained components where the discriminant is of an
	Access type.
	(Build_Record_Init_Proc): Add condition to prevent the inheritance of
	the parent initialization procedure for derived Unchecked_Unions.
	Instead, derived Unchecked_Unions build their own initialization
	procedure.
	(Build_Variant_Record_Equality): Implement Unchecked_Union equality.
	Check the body of the subprogram for details.
	(Freeze_Record_Type): Prevent the inheritance of discriminant checking
	functions for derived Unchecked_Union types by introducing a condition.
	Allow the creation of TSS equality functions for Unchecked_Unions.
	(Make_Eq_Case): Rename formal parameter Node to E in function signature.
	Add formal parameter Discr to function signature. Discr is used to
	control the generated case statement for Unchecked_Union types.
	(Make_Eq_If): Rename formal parameter Node to E in function signature.

	* exp_ch4.adb (Build_Equality_Call): Implement equality calls for
	Unchecked_Unions.
	Check the body of the subprogram for details.
	(Expand_Composite_Equality): Augment composite type equality to include
	correct handling of Unchecked_Union components.
	(Expand_N_In): Add condition to detect illegal membership tests when the
	subtype mark is a constrained Unchecked_Union and the expression lacks
	inferable discriminants, and build a Raise_Program_Error node.
	(Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used
	to detect types that contain components of unconstrained Unchecked_Union
	subtype. Add condition to detect equality between types that have an
	unconstrained Unchecked_Union component, and build a Raise_Program_Error
	node. Add condition to detect equality between Unchecked_Union types
	that lack inferable discriminants, and build a Raise_Program_Error node.
	Otherwise build a TSS equality function call.
	(Expand_N_Type_Conversion): Add condition to detect illegal conversions
	from a derived Unchecked_Union to an unconstrained non-Unchecked_Union
	with the operand lacking inferable discriminants, and build a Raise_
	Program_Error node.
	(Expand_Record_Equality): Remove guard that prevents Unchecked_Union
	composite equality.
	(Has_Inferable_Discriminants): Implement new predicate for objects and
	expressions of Unchecked_Union type. Check the body of subprogram for
	details.
	(Has_Unconstrained_UU_Components): Add function
	Component_Is_Unconstrained_UU. It is used to detect whether a single
	component is of an unconstrained Unchecked_Union subtype. Add function
	Variant_Is_Unconstrained_UU. It is used to detect whether a single
	component inside a variant is of an unconstrained Unchecked_Union type.

	* exp_ch5.adb (Expand_Assign_Record): Add condition to copy the
	inferred discriminant values. Add condition to generate a case
	statement with an inferred discriminant as the switch.
	(Make_Component_List_Assign): Introduce a Boolean flag that determines
	the behaviour of the subprogram in the presence of an Unchecked_Union.
	Add condition to trigger the usage of the inferred discriminant value
	as the generated case statement switch.
	(Make_Field_Assign): Introduce a Boolean flag that determines the
	behaviour of the subprogram in the presence of an Unchecked_Union. Add
	condition to trigger the usage of the inferred discriminant value as
	the right-hand side of the generated assignment.

	* exp_ch6.adb (Expand_Call): Add condition to skip extra actual
	parameter generation when dealing with Unchecked_Unions.

	* checks.adb (Apply_Discriminant_Check): Do not apply discriminant
	checks for Unchecked_Unions.

	* einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint

	* exp_attr.adb (Expand_N_Attribute_Reference): Produce
	Raise_Program_Error nodes for the execution of Read and Write
	attributes of Unchecked_Union types and the execution of Input and
	Output attributes of Unchecked_Union types that lack default
	discriminant values.

	* sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma
	Unchecked_Union. Add procedure Check_Component. It is used to inspect
	per-object constrained components of Unchecked_Unions for being
	Unchecked_Unions themselves. Add procedure Check_Variant. It is used to
	check individual components withing a variant.

	* sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents
	comparison of Unchecked_Unions.
	(Resolve_Equality_OP): Remove guard that prevents equality between
	Unchecked_Unions.

	* sem_util.adb (Build_Component_Subtype): Add guard to prevent creation
	of component subtypes for Unchecked_Union components.
	(Get_Actual_Subtype): Add condition that returs the Unchecked_Union type
	since it is the actual subtype.

	* sem_ch12.adb (Instantiate_Type): Add condition to detect the correct
	pass of Unchecked_Union subtypes as generic actuals to formal types
	that lack known_discriminant_parts or that are derived Unchecked_Union
	types, and do nothing. In any other case, produce an error message.

	* sem_ch3.adb (Analyze_Component_Declaration): Add function
	Contains_POC. It determines whether a constraint uses the discriminant
	of an enclosing record type.
	Add condition to detect per-object constrained component and set the
	appropriate flag.
	(Derived_Type_Declaration): Remove guard that prevents derivation from
	Unchecked_Union types.
	(Process_Subtype): Remove quard that prevents the creation of Unchecked_
	Union subtypes.

	* sem_ch4.adb (Analyze_Selected_Component): Correct the detection of
	references to Unchecked_Union discriminants.

	* sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra
	formal generation when dealing with Unchecked_Unions.
	(Set_Actual_Subtypes): Add condition to prevent generation of actual
	subtypes for Unchecked_Unions.

	* sem_ch7.adb (Analyze_Package_Specification): Add procedure
	Inspect_Unchecked_Union_Completion. It is used to detect incorrect
	completions of discriminated partial views by Unchecked_Unions and
	produce an error message.

2004-08-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* trans.c (struct stmt_group): New field, GLOBAL.
	(global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted.
	(struct elab_info): New struct.
	(elab_info_list, gnu_elab_proc_stack): New variables.
	(Compilation_Unit_to_gnu): New procedure.
	(gigi): Call it and also handle elaboration procs we've saved.
	(gnat_init_stmt_group): Don't set global_stmt_group; instead initialize
	global field from parent.
	(gnat_to_gnu): Get decl from gnu_elab_proc_stack.
	(gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu.
	(start_stmt_group): Initialize global field from parent.
	(add_decl_expr): Set to global for current statement group.
	(gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not
	post.

	* utils.c (global_bindings_p): True when no current_function_decl; no
	longer check current_binding_level.

2004-08-09  Ben Brosgol  <brosgol@gnat.com>

	* xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition
	choice.

	* gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic.

From-SVN: r85714
2004-08-09 14:24:25 +02:00
Arnaud Charlet
615cbd95bd [multiple changes]
2004-07-26  Arnaud Charlet  <charlet@act-europe.fr>

	* sem_util.adb (Requires_Transient_Scope): Temporarily disable
	optimization, not supported by the tree-ssa back-end.

2004-07-26  Olivier Hainque  <hainque@act-europe.fr>

	* s-mastop-irix.adb: Update comments.

	* a-except.adb (Exception_Information): Raise Constraint_Error if
	exception Id is Null_Id.
	This is required behavior, which is more reliably and clearly checked
	at the top level interface level.

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

	* exp_aggr.adb (Build_Array_Aggr_Code): Do not build the initialization
	call if a component has no default_expression and the box is used.

	* sem_aggr.adb (Resolve_Array_Aggregate): If a component has no
	default_expression and you use box, it behaves as if you had declared a
	stand-alone object.
	(Resolve_Record_Aggregate): If a component has no default_expression and
	you use box, it behaves as if you had declared a stand-alone object.

	* sem_ch10.adb (Install_Siblings): Do not make visible the private
	entities of private-with siblings.

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

	* sem_ch3.adb (Build_Underlying_Full_View): If this is the full view
	for a component of an itype, set the parent pointer for analysis,
	there is no list in which to insert it.

	* sem_res.adb (Resolve): Call Rewrite_Renamed_Operator only for
	bona-fide renamings, not for inherited operations.

	* exp_ch4.adb (Expand_Allocator_Expression): If the allocator is an
	actual for a formal that is an access parameter, create local
	finalization list even if the expression is not an aggregate.

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

	PR ada/16213
	* sem_ch8.adb (Attribute_Renaming, Check_Library_Level_Renaming):
	Diagnose properly illegal subprogram renamings that are library units.

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

	PR ada/15588
	* sem_util.adb (Is_OK_Variable_For_Out_Formal): If actual is a type
	conversion rewritten as an unchecked conversion, check that original
	expression is a variable.

	* exp_ch4.adb (Expand_N_Type_Conversion): If rewriting as an
	unchecked_conversion, create new node rather than rewriting in place,
	to preserve original construct.

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

	* gigi.h (gnat_expand_body): Deleted.

	* Make-lang.in: (trans.o): Depends on function.h.

	* misc.c: (gnat_expand_body): Moved to here.

	* trans.c (gnat_expand_body_1): Deleted.
	(gnat_expand_body): Moved from here.
	(gnat_to_gnu): N_Implicit_Label_Declaration forces being in elab proc.
	(add_stmt): Check for marked visited with global_bindings_p.
	(gnat_gimplify_expr, case COMPONENT_REF): New case.
	(gnat_gimplify_expr, case NULL_EXPR): Set TREE_NO_WARNING for temp.

	* utils2.c (build_binary_op, case MODIFY_EXPR): Put LHS in a
	VIEW_CONVERT_EXPR if not operation type.

	* utils.c (update_pointer_to): Set DECL_ORIGINAL_FIELD for
	fat pointer.

	* decl.c, cuintp.c, gigi.h, misc.c, trans.c, utils.c, utils2.c: Minor
	changes: reformatting of negation operators, removing unneeded
	inequality comparison with zero, converting equality comparisons with
	zero to negations, changing int/0/1 to bool/false/true, replace calls
	to gigi_abort with abort, and various other similar changes.

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

	* gnatcmd.adb (GNATCmd): Add processing for new built-in command
	"setup".

	* make.adb (Gnatmake): Fail when a library is not present and there is
	no object directory.

	* mlib-prj.adb (Check_Library): No need to check if the library needs
	to be rebuilt if there is no object directory, hence no object files
	to build the library.

	* opt.ads (Setup_Projects): New Boolean flag.

	* prj-nmsc.adb (Locate_Directory): New parameter Project, Kind and
	Location.
	Create directory when Kind /= "" and in "gnat setup". Report error if
	directory cannot be created.
	(Ada_Check): Create library interface copy dir if it does not exist
	and we are in "gnat setup".
	(Find_Sources): No error if in "gnat setup" and no Ada sources were
	found.
	(Language_Independent_Check): Create object directory, exec directory
	and/or library directory if they do not exist and we are in
	"gnat setup".

	* vms_conv.ads: (Command_Type): New command Setup.

	* vms_conv.adb (Initialize): Add Setup component of Cammand_List.

	* vms_data.ads: Add qualifiers/switches for new built-in command
	"setup".

From-SVN: r85188
2004-07-26 12:42:13 +02:00
Arnaud Charlet
a5cb3b3025 [multiple changes]
2004-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* decl.c: (gnat_to_gnu_entity, object case): Convert initializer to
	object type.
	(gnat_to_gnu_entity, case E_Record_Subtype): Properly set
	TYPE_STUB_DECL.

	* misc.c (gnat_types_compatible_p): New function.
	(LANG_HOOKS_TYPES_COMPATIBLE_P): New hook, to use it.
	(LANG_HOOKS_TYPE_MAX_SIZE, gnat_type_max_size): New.

	* trans.c (gigi): Move processing of main N_Compilation_Unit here.
	(gnat_to_gnu, case N_Compilation_Unit): Just handle nested case here.
	(add_stmt): Force walking of sizes and DECL_INITIAL for DECL_EXPR.
	(mark_visited): Don't mark dummy type.
	(tree_transform <N_Procedure_Call_Statement>): Unless this is an In
	parameter, we must remove any LJM building from GNU_NAME.
	(gnat_to_gnu, case N_String_Literal): Fill in indices in CONSTRUCTOR.
	(pos_to_constructor): Use int_const_binop.
	(gnat_to_gnu, case N_Identifier): Don't reference DECL_INITIAL of
	PARM_DECL.

	* utils.c (gnat_init_decl_processing): Don't make two "void" decls.
	(gnat_pushlevel): Set TREE_USE on BLOCK node.
	(gnat_install_builtins): Add __builtin_memset.

2004-07-13  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity <E_Variable>): If we are making a pointer
	for a renaming, stabilize the initialization expression if we are at a
	local level.  At the local level, uses of the renaming may be performed
	by a direct dereference of the initializing expression, and we don't
	want possible variables there to be evaluated for every use.

	* trans.c (gnat_stabilize_reference, gnat_stabilize_reference_1):
	Propagate TREE_SIDE_EFFECTS and TREE_THIS_VOLATILE to avoid loosing
	them on the way.  Account for the fact that we may introduce side
	effects in the process.

From-SVN: r84647
2004-07-13 23:40:51 +02:00
Richard Kenner
909f21b39e decl.c: Remove calls to add_decl_expr...
* decl.c: Remove calls to add_decl_expr, pushdecl, rest_of_compilation,
	and rest_of_type_compilation; add arg to create_*_decl.
 	(annotate_decl_with_node): Deleted.
	(gnat_to_gnu_entity, case E_Array_Type): Set location of fields.
	* gigi.h (get_decls, block_has_vars, pushdecl): Deleted.
	(get_current_block_context, gnat_pushdecl): New declarations.
	(gnat_init_stmt_group): Likewise.
	(create_var_decl, create_type_decl, create_subprog_decl): Add new arg.
	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK): Deleted.
	(LANG_HOOKS_GETDECLS, LANG_HOOKS_PUSHDECL): Deleted.
	(gnat_init): Call gnat_init_stmt_group.
	* trans.c (global_stmt_group, gnu_elab_proc_decl): New variables.
	(gnu_pending_elaboration_list): Deleted.
	(mark_visited, mark_unvisited, gnat_init_stmt_group): New functions.
	(gigi): Rearrange initialization calls and move some to last above.
	(gnat_to_gnu): If statement and not in procedure, go into elab proc.
	Delete calls to add_decl_expr; add arg to create_*_decl.
	(gnat_to_gnu, case N_Loop): Recalculate side effects on COND_EXPR.
	(gnat_to_gnu, case N_Subprogram_Body): Move some code to
	begin_subprog_body and call it.
	Don't push and pop ggc context.
	(gnat_to_gnu, case N_Compilation_Unit): Rework to support elab proc.
	(add_stmt): Remove handling of DECL_EXPR from here.
	If not in function, mark visited.
	(add_decl_expr): Put global at top level.
	Check for cases of DECL_INITIAL we have to handle here.
	(process_type): Add extra arg to create_type_decl.
	(build_unit_elab): Rework to just gimplify.
	* utils.c (pending_elaborations, elist_stack, getdecls): Deleted.
	(block_has_vars, mark_visited, add_pending_elaborations): Likewise.
	(get_pending_elaborations, pending_elaborations_p): Likewise.
	(push_pending_elaborations, pop_pending_elaborations): Likewise.
	(get_elaboration_location, insert_elaboration_list): Likewise.
	(gnat_binding_level): Renamed from ada_binding_level.
	(init_gnat_to_gnu): Don't clear pending_elaborations.
	(global_bindings_p): Treat as global if no current_binding_level.
	(set_current_block_context): New function.
	(gnat_pushdecl): Renamed from pushdecl; major rework.
	All callers changed.
	(create_type_decl, create_var_decl, create_subprog_decl): Add new arg.
	(finish_record_type): Call call pushdecl for stub decl.
	(function_nesting_depth): Deleted.
	(begin_subprog_body): Delete obsolete code.
	* utils2.c (build_call_alloc_dealloc): Add new arg to create_var_decl.

From-SVN: r83816
2004-06-28 17:37:16 -04:00
Richard Kenner
90c28d4836 ada-tree.def (DECL_STMT): Deleted.
2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        * ada-tree.def (DECL_STMT): Deleted.
        * ada-tree.h (IS_ADA_STMT): Now test against STMT_STMT.
        (DECL_STMT_VAR): Deleted.
        * decl.c: add_decl_stmt now add_decl_expr.
        * gigi.h: Likewise.
        * trans.c: Likewise.
        (gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
        (gnat_to_gnu, case N_Subprogram_Body): Set cfun->function_end_locus.
        (add_stmt): Only handle padded type here.
        (add_stmt_with_node): Allow gnat_node to not be present.
        (gnat_gimplify_stmt, case USE_STMT): Set *STMT_P to null.
        (gnat_gimplify_stmt, case DECL_STMT): Deleted.
        (gnat_stabilize_reference_1): If COMPONENT_REF of fat pointer,
        make a SAVE_EXPR for the entire fat pointer.
        * utils.c (pushdecl): Walk a DECL_EXPR in global case.
        (create_index_type): Make a DECL_EXPR.
        (end_subprog_body): Don't call allocate_struct_function here but
        do clear cfn.

From-SVN: r83722
2004-06-26 17:30:01 -04:00
Richard Kenner
c0e3aa48e5 decl.c (elaborate_expression, [...]): Arguments now bool instead of int.
* decl.c (elaborate_expression, elaborate_expression_1): Arguments
	now bool instead of int.
	(gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
	* trans.c (gnu_switch_label_stack): New function.
	(gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
	elaboration of renamed entity returns.
	(gnat_to_gnu, case N_Case_Statement): Add branches to end label.
	(add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
	(gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
	(gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
	DECL_SIZE_UNIT and simplify variable-sized case.
	(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
	Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
	(gnat_stabilize_reference): Add arg to COMPONENT_REF.
	(build_unit_elab): Disable for now.
	* utils.c (mark_visited): New function.
	(pushdecl): Walk tree to call it for global decl.
	(update_pointer_to): Update all variants of pointer and ref types.
	Add arg to COMPONENT_REF.
	(convert): Likewise.
	Move check for converting between variants lower down.
	* utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
	(build_allocator): Don't force type of MODIFY_EXPR.
	(gnat_mark_addressable, case VAR_DECL): Unconditionally call
	put_var_into_stack.

From-SVN: r83410
2004-06-20 07:19:47 -04:00
Richard Kenner
966389eeaa ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
* ada-tree.def (LOOP_STMT, EXIT_STMT): Update documentation.
	* ada-tree.h (EXIT_STMT_LABEL): Renamed from EXIT_STMT_LOOP.
	* decl.c (gnat_to_gnu_entity): Also set force_global for imported
	subprograms.
	* trans.c (gnu_loop_label_stack): Renamed from gnu_loop_stmt_stack;
	all callers changed.
	(gnat_to_gnu, case N_Loop_Statement, case N_Exit_Statement): Change
	the way that EXIT_STMT finds the loop label.
	(gnat_gimplify_stmt, case LOOP_STMT, EXIT_STMT): Likewise.
	(gnat_gimplify_stmt, case DECL_STMT): Handle variable-sized decls here.
	(add_stmt): Use annotate_with_locus insted of setting directly.
	(pos_to_construct): Set TREE_PURPOSE of each entry to index.
	(gnat_stabilize_reference, case ARRAY_RANGE_REF): Merge with ARRAY_REF.
	* utils.c (gnat_install_builtins): Install __builtin_memcmp.
	(build_vms_descriptor): Add extra args to ARRAY_REF.
	(convert): Use VIEW_CONVERT_EXPR between aggregate types.
	* utils2.c (gnat_truthvalue_conversion, case INTEGER_CST, REAL_CST):
	New cases.
	(build_binary_op): Don't make explicit CONVERT_EXPR.
	Add extra rgs to ARRAY_REF.

From-SVN: r83103
2004-06-14 10:09:38 -04:00
Richard Kenner
821e1ea1b1 ada-tree.def (TRANSFORM_EXPR, [...]): Deleted.
* ada-tree.def (TRANSFORM_EXPR, ALLOCATE_EXPR, USE_EXPR): Deleted.
	(GNAT_NOP_EXPR, GNAT_LOOP_ID, EXPR_STMT, NULL_STMT): Likewise.
	(BLOCK_STMT, IF_STMT, GOTO_STMT, LABEL_STMT, RETURN_STMT): Likewise.
	(ASM_STMT, BREAK_STMT, REGION_STMT,HANDLER_STMT): Likewise.
	(STMT_STMT, USE_STMT): New statement codes.
	(LOOP_STMT, EXIT_STMT): Make slight semantic changes.
	* ada-tree.h: Reflect above changes.
 	(struct tree_loop_id): Deleted.
	(union lang_tree_node, struct lang_decl, struct lang_type):
	Now just contains a tree node; update macros using TYPE_LANG_SPECIFIC
	and DECL_LANGUAGE_SPECIFIC to reflect these changes.
	(DECL_INIT_BY_ASSIGN_P, TRE_LOOP_NODE_ID, TREE_SLOC): Deleted.
	(IS_ADA_STMT): New macro.
	* decl.c (annotate_decl_with_node): New function.
	(gnat_to_gnu_entity): Use it and Sloc_to_locus instead of set_lineno.
	(gnat_to_gnu_entity, case object): Remove call to expand CONVERT_EXPR.
	Call add_stmt_with_node to do needed assignments.
	Add call to update setjmp buffer directly, not via EXPR_STMT.
	(maybe_variable): Argment GNAT_NODE deleted.
	* gigi.h (maybe_variable): Likewise.
	(make_transform, add_stmt_with_node, set_block_for_group): New.
	(gnat_gimplify_expr, gnat_expand_body, Sloc_to_locus): Likewise.
	(set_block_jmpbuf_decl, get_block_jmpbuf_decl): Likewise.
	(discard_file_names, gnu_block_stack, gnat_to_code): Deleted.
	(set_lineno, set_lineno_from_sloc): Likewise.
	(record_code_position, insert_code_for): Likewise.
	(gnat_poplevel): Now returns void.
	(end_subprog_body): Now takes argument.
	* misc.c (cgraph.h, tree-inline.h): New includes.
	(gnat_tree_size, LANG_HOOKS_TREE_SIZE): Deleted.
	(gnat_post_options, LANG_HOOKS_POST_OPTIONS): New.
	(LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Likewise.
	(LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_GIMPLIFY_EXPR): Likewise.
	(gnat_parse_file): Don't set immediate_size_expand.
	Call cgraph functions.
	(gnat_expand_expr): Remove most cases.
	(record_code_position, insert_code_for): Remove from here.
	* trans.c (toplev.h, tree-gimple.h): Now included.
	(discard_file_names): Deleted.
	(gnu_block_stack, gnu_block_stmt_node, gnu_block_stmt_free_list): Del.
	(first_nondeleted_insn, make_expr_stmt_from_rtl): Likewise.
	(struct stmt_group, current_stmt_group, stmt_group_free_list): New.
	(gnu_stack_free_list, record_cost_position, insert_code_for): Likewise.
	(add_cleanup, push_stack, gnat_gimplify_stmt, add_cleanup): Likewise.
	(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Likewise.
	(gnat_expand_body_1, gnat_gimplify_expr, annotate_with_node): Likewise.
	(set_block_for_group, add_stmt_list): Likewise.
	(start_stmt_group): Renamed from start_block_stmt.
	(end_stmt_group): Likewise, from end_block_stmt.
	(build_stmt_group): Likewise, from build_block_stmt, also add arg.
	(gigi): Don't set discard_file_names or call set_lineno.
	Disallow front end ZCX; call gnat_to_gnu, not gnat_to_code.
	(tree_transform): Deleted, now renamed to be gnat_to_gnu.
	Numerous changes throughout to reflect new names and complete
	function-at-a-time implementation.
	(gnat_expand_stmt): Delete or comment out all cases.
	(process_inlined_subprograms): Use add_stmt.
	(process_decls): Use gnat_to_gnu, not gnat_to_code, and don't
	call set_lineno; also remove unneeded block handling.
	(process_type): Remove unneeded block handling.
	(build_unit_elab): Remove calls to deleted functions.
	* utils.c (cgraph.h, tree-inline.h, tree-gimple.h): Now include.
	(tree-dump.h): Likewise.
	(struct ada_binding_level): Add field jmpbuf_decl.
	(gnat_define_builtin, gnat_install_builtins): New.
	(gnat_gimplify_function, gnat_finalize): Likewise.
	(gnat_poplevel): No longer return BLOCK, set it instead.
	Remove code dealing with nested functions.
	(gnat_init_decl_processing): Also set size_type_node.
	Call gnat_install_builtins.
	(create_var_decl): Don't set DECL_INIT_BY_ASSIGN.
	(create_subprog_decl): Change handling of inline_flag; set TREE_STATIC.
	Remove special-case for "main".
	(end_subprog_body): Add arg and rework for tree-ssa.
	(convert): Don't use GNAT_NOP_EXPR or look for TRANSFORM_EXPR.
	Add case for BOOLEAN_TYPE.
	* utils2.c (rtl.h): Now include.
	(build_call_raise): Test Debug_Flag_NN directly.
	(build_call_alloc_dealloc): Don't use local stack allocation for now.
	(gnat_mark_addressable, case GNAT_NOP_EXPR): Deleted.
	(gnat_mark_addressable, case VAR_DECL): Handle both early & late cases.

From-SVN: r82714
2004-06-07 15:52:53 -04: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
b5e792e209 [multiple changes]
2004-05-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	Part of function-at-a-time conversion

	* misc.c (adjust_decl_rtl): Deleted.
	(LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
	Define.

	* gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
	(add_decl_stmt, add_stmt, block_has_vars): New functions.
	(gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.

	* decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
	when making a decl.
	(gnat_to_gnu_entity): Likewise.
	Use add_stmt to update setjmp buffer.
	Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
	flush_addressof.
	No longer call adjust_decl_rtl.
	(DECL_INIT_BY_ASSIGN_P): New macro.
	(DECL_STMT_VAR): Likewise.

	* trans.c (gigi): Call start_block_stmt to make the outermost
	BLOCK_STMT.
	(gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
	Call start_block_stmt and end_block_stmt temporarily.
	Use gnat_expand_stmt instead of expand_expr_stmt.
	(add_decl_stmt): New function.
	(tree_transform): Call it.
	(add_stmt): Also emit initializing assignment for DECL_STMT if needed.
	(end_block_stmt): Set type and NULL_STMT.
	(gnat_expand_stmt): Make recursize call instead of calling
	expand_expr_stmt.
	(gnat_expand_stmt, case DECL_STMT): New case.
	(set_lineno_from_sloc): Do nothing if global.
	(gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
	(start_block_stmt, add_stmt, end_block_stmt): New functions.
	(build_block_stmt): Call them.
	(gnat_to_code): Don't expand NULL_STMT.
	(build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
	args.
	(tree_transform): Likewise.
	(tree_transform, case N_Null_Statement): Return NULL_STMT.
	(gnat_expand_stmt, case NULL_STMT): New case.
	(gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
	IF_STMT_TRUE.

	* utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
	TREE_ADDRESSABLE.

	* utils.c (create_var_decl): Do not call expand_decl or
	expand_decl_init.
	Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
	Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
	here.
	(struct e_stack): Add chain_next to GTY.
	(struct binding_level): Deleted.
	(struct ada_binding_level): New struct.
	(free_block_chain): New.
	(global_binding_level, clear_binding_level): Deleted.
	(global_bindings_p): Rework to see if no chain.
	(kept_level_p, set_block): Deleted.
	(gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
	new data structure and work directly on BLOCK node.
	(gnat_poplevel): Similarly.
	(get_decls): Look at BLOCK_VARS.
	(insert_block): Work directly on BLOCK node.
	(block_has_var): New function.
	(pushdecl): Rework for new binding structures.
	(gnat_init_decl_processing): Rename and rework calls to pushlevel and
	poplevel.
	(build_subprog_body): Likewise.
	(end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.

	* ada-tree.def (DECL_STMT, NULL_STMT): New codes.

	* ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
	(DECL_STMT_VAR): Likewise.

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

	* restrict.ads, restrict.adb (Process_Restriction_Synonym): New
	procedure

	* sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
	of restriction synonyums by using
	Restrict.Process_Restriction_Synonyms.

	* snames.ads, snames.adb: Add entries for Process_Restriction_Synonym

	* s-restri.ads (Tasking_Allowed): Correct missing comment

	* s-rident.ads: Add entries for restriction synonyms

	* ali.adb: Fix some problems with badly formatted ALI files that can
	result in infinite loops.

	* s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
	s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
	s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
	s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
	s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
	s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
	s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
	s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
	s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
	a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
	exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
	s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
	s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
	s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
	s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
	s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
	s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
	s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
	s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
	s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
	to Task_Id (minor cleanup).

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

	* g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
	directory separator.

	* prj-proc.adb (Recursive_Process): Inherit attribute Languages from
	project being extended, if Languages is not declared in extending
	project.

2004-05-17  Javier Miranda  <miranda@gnat.com>

	* sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
	limited view of a visible sibling.

From-SVN: r81935
2004-05-17 15:20:48 +02:00
Arnaud Charlet
d935a36e27 [multiple changes]
2004-04-29  Ed Schonberg  <schonberg@gnat.com>

	* checks.adb (Enable_Range_Check): If the prefix of an index component
	is an access to an unconstrained array, perform check unconditionally.

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

	* decl.c (gnat_to_gnu_field): Also call make_packable_type if
	Component_Clause.

2004-04-29  Olivier Hainque  <hainque@act-europe.fr>

	* init.c (__gnat_install_handler, __gnat_error_handler): Remove
	alternate stack setting. There was no support for the tasking cases
	and the changes eventually caused a number of side-effect failures in
	the non-tasking case too.

2004-04-29  Eric Botcazou  <ebotcazou@act-europe.fr>

	lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or
	-gnats is passed.

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

	* make.adb (Gnatmake): Increase max size of argument array for
	gnatbind for the potential addition of -F.
	If there are Stand-Alone Library projects, invoke gnatbind with -F to
	be sure that elaboration flags will be checked.

	* switch-c.adb: Correct call to Scan_Pos for -gnateI

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

	* sem_warn.adb (Check_References): Move '<access-variable> may be
	null' warning out of under Warn_On_No_Value_Assigned.

2004-04-29  Ed Falis  <falis@gnat.com>

	* gnat_ugn.texi: Fixed texi error

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

	* sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove
	abstract operations if they come from predefined files.

	* gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be
	Dynamic, not RM).

	* s-addope.adb: Correct obvious error in mod function

From-SVN: r81289
2004-04-29 17:24:56 +02:00
Arnaud Charlet
f2c9e65ac5 [multiple changes]
2004-04-27  Ed Schonberg  <schonberg@gnat.com>

	* a-wtmoio.ads: Formal type must be a modular type, not a signed
	integer type.

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

	* decl.c (gnat_to_gnu_entity, case object): Call
	__builtin_update_setjmp_buf.

	* gigi.h (update_setjmp_buf): Deleted.
	(ADT_update_setjmp_buf_decl, update_setjmp_buf_decl): New.

	* misc.c: (update_setjmp_buf): Deleted.

	* trans.c (gnat_to_gnu): Call do_pending_stack_adjust and emit_queue
	around block of RTL.

	* utils.c (init_gigi_decls): Initialize update_setjmp_buf.

From-SVN: r81218
2004-04-27 12:49:37 +02:00
Arnaud Charlet
cc4f0de1aa [multiple changes]
2004-04-23  Emmanuel Briot  <briot@act-europe.fr>

	* adaint.c (__gnat_try_lock): No longer requires that the parent
	directory be writable, the directory itself is enough.
	(gnat_is_absolute_path): Change profile, so that the call from
	GNAT.OS_Lib can be made more efficient.

	* adaint.h (gnat_is_absolute_path): Change profile, so that the call
	from GNAT.OS_Lib can be made more efficient.

	* g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
	one copy of the file name. Found by code reading.

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

	* gnat_ugn.texi: Add documentation for gnatmake switch -eL
	Correct documentation on gnatmake switches transmitted to the compiler

	* ali.ads: Minor comment fix

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

	* sem_ch6.adb: (Confirming Types): Code cleanup

	* decl.c (gnat_to_gnu_entity): Give support to anonymous access to
	subprogram types: E_Anonymous_Access_Subprogram_Type and
	E_Anonymous_Access_Protected_Subprogram_Type.

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

	* sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
	whether a pragma All_Calls_Remote applies to the subprogram on which
	'Access is taken.
	No functional change is introduced by this revision; the new parameter
	will be used to allow calls to local RCI subprograms to be optimized
	to not use the PCS in the case where no pragma All_Calls_Remote applies,
	as is already done in the PolyORB implementation of the DSA.

	* exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
	whether a pragma All_Calls_Remote applies to the subprogram on which
	'Access is taken.
	No functional change is introduced by this revision; the new parameter
	will be used to allow calls to local RCI subprograms to be optimized
	to not use the PCS in the case where no pragma All_Calls_Remote applies,
	as is already done in the PolyORB implementation of the DSA.

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

	* Makefile.rtl: Add entry for s-addope.o in run time library list
	* Make-lang.in: Add entry for s-addope.o to GNAT1 objects
	* s-addope.ads, s-addope.adb: New files.

	* s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
	s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
	s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
	System.Address to be non-private and signed.

	* sem_elim.adb: Minor reformatting (fairly extensive)
	Some minor code reorganization from code reading
	Add a couple of ??? comments

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

	* trans.c (tree_transform, build_unit_elab): Don't call getdecls.
        (tree_transform, case N_If_Statement): Remove non-determinism.

	* utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.

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

	* gnat_rm.texi: Small fixes in the changes made in the 'pragma
	Eliminate' section.

	* snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
	no longer used as a parameter name for Eliminate pragma).

From-SVN: r81086
2004-04-23 12:58:32 +02:00
Arnaud Charlet
7324bf49ce [multiple changes]
2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>

	* 5isystem.ads: Removed, unused.

	* gnat_rm.texi: Redo 1.13 change.

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

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

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

	* sem_eval.adb: Minor reformatting

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

	* s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb,
	s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb,
	s-caun64.adb: Add declarations to avoid assumption of visible
	operations on type System.Address (since these might not be available
	if Address is a non-private type for which the operations are made
	abstract).

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

	* exp_intr.adb: Minor comment update

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* sinfo.ads, sinfo.adb:
	New field Access_To_Subprogram_Definition in Access_Definition nodes

	* sem_ch6.adb (Process_Formals): Move here the code that creates and
	decorates internal subtype declaration corresponding to the
	null-excluding formal. This code was previously in Set_Actual_Subtypes.
	In addition, carry out some code cleanup on this code. In case of
	access to protected subprogram call
	Replace_Anonymous_Access_To_Protected_Subprogram.
	(Set_Actual_Subtypes): Code cleanup.

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

	* sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
	subprogram

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* get_targ.ads (Get_No_Dollar_In_Label): Remove.

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

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

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

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

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

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

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

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

From-SVN: r80856
2004-04-19 17:20:16 +02:00
Richard Kenner
4f976745b7 c-decl.c (build_compound_literal): Use TYPE_READONLY.
* c-decl.c (build_compound_literal): Use TYPE_READONLY.
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
	* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
	* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
	PARM_DECL.
	* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
	for a type.
	* print-tree.c (print_node): Properly handle side-effects, readonly,
	and constant flags.
	* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
	and TREE_CONSTANT if not a type.
	* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
	(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
	(NON_TYPE_CHECK): New macro.
	(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.

	* cp/init.c (decl_constant_value): Don't look at DECL_INITIAL
	of PARM_DECL.
	* cp/tree.c (bot_manip, build_min): Don't look at TREE_CONSTANT
	or TREE_SIDE_EFFECTS of a type.

	* ada/decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
	* ada/utils.c (create_field_decl): Likewise.
	* ada/utils2.c (build_unary_op, gnat_build_constructor): Likewise.

From-SVN: r80430
2004-04-05 08:25:26 -04:00
Richard Kenner
8df83eae1e builtins.c, [...]: Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
	Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
	* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
	* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
	* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
	* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
	* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
	* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
	* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
	REAL_TYPE, not INTEGER_TYPE.
	(layout_type, case VECTOR_TYPE): Simplify code.
	* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
	* tree.h: Update comments.
	(STRIP_NOPS): Use TYPE_UNSIGNED.
	(TYPE_UNSIGNED): New macro.
	(TYPE_TRAP_SIGNED): Remove now redundant check.
	(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.

	* cp/call.c (joust): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
	* cp/class.c (check_bitfield_decl): Likewise.
	* cp/cvt.c (type_promotes_to): Likewise.
	* cp/decl.c (finish_enum): Likewise.
	* cp/mangle.c (write_builtin_type): Likewise.
	* cp/semantics.c (finish_switch_cond, finish_unary_op_expr): Likewise.
	* cp/typeck.c (type_after_usual_arithmetic_conversions): Likewise.
	(build_binary_op): Likewise.

	* f/com.c (ffecom_arrayref_): Use TYPE_UNSIGNED, not TREE_UNSIGNED.
	(ffecom_expr_): Likewise.

	* java/jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED.

	* treelang/treetree.c (tree_lang_signed_or_unsigned_type):
	Use TYPE_UNSIGNED, not TREE_UNSIGNED.

	* ada/decl.c (gnat_to_gnu_entity, make_type_from_size):
	Use TYPE_UNSIGNED, not TREE_UNSIGNED.
	* ada/trans.c (tree_transform, convert_with_check): Likewise.
	* ada/utils.c (gnat_signed_or_unsigned_type): Likewise.
	(build_vms_descriptor, unchecked_convert): Likewise.
	* ada/utils2.c (nonbinary_modular_operation): Likewise.

From-SVN: r80287
2004-03-31 22:50:43 -05:00
Richard Kenner
22421b79c8 alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
	* c-common.c (handle_mode_attribute): Add extra arg to
	build_pointer_type_for_mode and build_reference_type_for_mode.
	* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
	for INTEGER_CST.
	* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
	Chain pointers via TYPE_NEXT_PTR_TO.
	(build_reference_type_for_mode): Similarly.
	(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
	and build_reference_type_for_mode.
	(tree_check4_failed): New function.
	* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
	(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
	(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
	Add check.

	* cp/typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
	for INTEGER_CST.

	* ada/decl.c (gnat_to_gnu_entity, case E_Access_Type): Pass value
	of No_Strict_Aliasing to build_pointer_type_for_mode.
	* ada/utils.c (update_pointer_to): Walk pointer and ref chains.

From-SVN: r79873
2004-03-23 15:43:44 -05:00
Richard Kenner
6fce44af56 alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	* explow.c (expr_size): Likewise.
	* expr.h (placeholder_list, find_placeholder): Deleted.
	* expr.c (store_constructor): Likewise.
	(get_inner_reference): Likewise.  Also don't call find_placeholder.
	(placeholder_list, find_placeholder): Deleted.
	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
	Likewise.
	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
	Clean up by using first_rtl_op.
	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
	(substitute_placeholder_in_expr): New function.
	* tree.def (WITH_RECORD_EXPR): Deleted.
	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
	(substitute_placeholder_in_expr): New.

	* ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	* ada/trans.c (tree_transform, emit_index_check): Likewise.
	* ada/utils.c (build_template): Likewise.
	(max_size, convert): Remove handling of WITH_RECORD_EXPR.
	(maybe_unconstrained_array, unchecked_convert): Likewise.
	* ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise.
	(build_unary_op): Likewise.
	(compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR.
	(fill_vms_descriptor): Likewise.
	(build_call_alloc_dealloc): Likewise.
	ALIGN is unsigned.
	* ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned.

From-SVN: r79789
2004-03-21 13:09:20 -05:00
Arnaud Charlet
30f3b32b41 [multiple changes]
2004-03-19  Arnaud Charlet  <charlet@act-europe.fr>

	* ada-tree.h: Update copyright notice.
	Minor reformatting.

2004-03-19  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity, case E_Exception): Handle VMS exceptions
	as regular exception objects and not as mere integers representing the
	condition code.  The latter approach required some dynamics to mask off
	severity bits, which did not fit well into the GCC table based model.
	(gnat_to_gnu_entity, objects): Don't supply an external name for VMS
	exception data objects. We don't it and it would conflict with the other
	external symbol we have to generate for such exceptions.

	* trans.c (tree_transform, case N_Exception_Handler): Remove part of
	the special code for VMS exceptions, since these are now represented
	as regular exceptions objects.

From-SVN: r79686
2004-03-19 16:08:45 +01:00
Richard Kenner
7548281d73 langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
* langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
	* langhooks.h (struct lang_hooks_for_types): New field hash_types.
	* tree.c (debug_no_type_hash): Deleted.
	(type_hash_canon): Abort if passed a variant.
	Check lang_hooks.types.hash_types.
	(build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
	(build_array_type): Remove unnecessary allocation of pointer type.
	(build_complex_type): Properly qualify resulting type.

	* ada/decl.c (debug_no_type_hash): Remove.
	(gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it.
	* ada/misc.c (LANG_HOOK_HASH_TYPE): Redefine.

From-SVN: r79684
2004-03-19 09:34:47 -05:00
Richard Kenner
eb34af89c7 tree.h (TREE_CHECK2, [...]): New macros.
* tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
	(FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
	(REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
	(TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
	Protect with proper check.
	(TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
	(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
	* tree.c (type_hash_eq): Rewrite to access proper fields for each type.
	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
	* c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
	* dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
	not TYPE_FIELDS.

	* cp/class.c (finish_struct_bits): Use TYPE_VFIELD and TYPE_METHODS.
	* cp/error.c (dump_type): Use TYPEOF_TYPE_EXPR.
	* cp/pt.c (tsubst): Likewise.
	* cp/semantics.c (finish_typeof): Likewise.
	* cp/search.c (dfs_unuse_fields): Handle TYPENAME_TYPE, TYPEOF_TYPE,
	and TEMPLATE_TYPE_PARM.
	* cp/typeck.c (comptypes): Use TYPE_ORIG_SIZE_TYPE, not TYPE_DOMAIN.
	(build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.

	* java/java-tree.h: Changes throughout to add checking to macros
	and numerous whitespace changes.
	(VAR_OR_FIELD_CHECK): New macro.
	* java/jcf-write.c (get_access_flags): Use FIELD_PUBLIC, METHOD_PUBLIC,
	FIELD_FINAL, and METHOD_FINAL instead of CLASS_PUBLIC and CLASS_FINAL.

	* ada/ada-tree.h (TYPE_LEFT_JUSTIFIED_MODULAR_P): Add checking.
	(TYPE_CONTAINS_TEMPLATE_P, TYPE_OBJECT_RECORD_TYPE): Likewise.
	(TYPE_RM_SIZE_INT): Directly use type.values.
	(TREE_LOOP_ID): Clean up check.
	* ada/decl.c (gnat_to_gnu_entity, case E_Enumeration_Type): Use
	TYPE_VALUES, not TYPE_FIELDS.
	* ada/trans.c (convert_with_check): Delay access of bounds of basetype
	until sure is numeric.

From-SVN: r79638
2004-03-18 15:58:49 -05:00
Arnaud Charlet
e6f6961425 [multiple changes]
2004-03-15  Jerome Guitton  <guitton@act-europe.fr>

	* 3zsoccon.ads: Fix multicast options.

	* s-thread.ads: Move unchecked conversion from ATSD_Access to Address
	in the spec.

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

	* sem_prag.adb: Make sure No_Strict_Aliasing flag is set right when
	pragma used for a private type.

	* lib-xref.adb (Generate_Reference): Do not generate warning if
	reference is in a different unit from the pragma Unreferenced.

	* 5vtpopde.adb: Minor reformatting
	Fix casing of To_Task_ID

	* sem_ch13.adb (Validate_Unchecked_Conversion): Set No_Strict_Aliasing
	flag if we have an unchecked conversion to an access type in the same
	unit.

2004-03-15  Geert Bosch  <bosch@gnat.com>

	* a-ngcoty.adb (Modulus): In alternate formula for large real or
	imaginary parts, use Double precision throughout.

	* a-tifiio.adb (Put_Scaled): Remove remaining pragma Debug. Not only
	we want to be able to compile run-time with -gnata for testing, but
	this may also be instantiated in user code that is compiled with -gnata.

2004-03-15  Olivier Hainque  <hainque@act-europe.fr>

	* s-stalib.ads (Exception_Code): New type, to represent Import/Export
	codes. Having a separate type for this is useful to enforce consistency
	throughout the various run-time units.
	(Exception_Data): Use Exception_Code for Import_Code.

	* s-vmextra.ads, s-vmexta.adb: Use Exception_Code instead of a mix of
	Natural and Integer in various places.
	(Register_VMS_Exception): Use Base_Code_In to compute the exception code
	with the severity bits masked off.
	(Register_VMS_Exception): Handle the additional exception data pointer
	argument.

	* raise.c (_GNAT_Exception structure): Remove the handled_by_others
	component, now reflected by an exported accessor.
	(is_handled_by): New routine to compute whether the propagated
	occurrence matches some handler choice specification. Extracted out of
	get_action_description_for, and expanded to take care of the VMS
	specifities.
	(get_action_description_for): Use is_handled_by instead of an explicit
	complex condition to decide if the current choice at hand catches the
	propagated occurrence.

	* raise.h (Exception_Code): New type for C.

	* rtsfind.ads (RE_Id, RE_Unit_Table): Add
	System.Standard_Library.Exception_Code, to allow references from the
	pragma import/export expander.

	* a-exexpr.adb (Is_Handled_By_Others, Language_For, Import_Code_For):
	New accessors to allow easy access to GNAT exception data
	characteristics.
	(GNAT_GCC_Exception record, Propagate_Exception): Get rid of the
	redundant Handled_By_Others component, helper for the personality
	routine which will now be able to call the appropriate exception data
	accessor instead.

	* cstand.adb (Create_Standard): Adjust the type of the Import_Code
	component of Standard_Exception_Type to be the closest possible to
	Exception_Code in System.Standard_Library, that we cannot get at this
	point. Expand a ??? comment to notify that this type node should
	probably be rewritten later on.

	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust the
	registration call to include a pointer to the exception object in the
	arguments.

	* init.c (__gnat_error_handler): Use Exception_Code and Base_Code_In
	instead of int and explicit bitmasks.

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

	* vms_data.ads: Add new GNAT BIND qualifier /STATIC. Makes /NOSHARED
	equivalent to /STATIC and /NOSTATIC equivalent to /SHARED.

	* a-tasatt.adb (To_Access_Code): Remove this UC instantiation, no
	longer needed now that it is in the spec of
	System.Tasking.Task_Attributes.

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

	* gnatcmd.adb: Fix bug introduced in previous rev: /= instead of =

	* g-os_lib.ads, g-os_lib.adb (Create_Output_Text_File): New function.

	* make.adb (Gnatmake): Do not check the executable suffix; it is being
	taken care of in Scan_Make_Arg.
	(Scan_Make_Arg): Add the executable suffix only if the argument
	following -o, in canonical case, does not end with the executable
	suffix.  When in verbose mode and executable file name does not end
	with executable suffix, output the executable name, in canonical case.

	* s-tataat.ads (Access_Dummy_Wrapper): Add pragma No_Strict_Aliasing
	to avoid warnings when instantiating Ada.Task_Attributes.
	Minor reformating.

	* mlib-prj.adb (Process_Imported_Libraries): Get the imported libraries
	in the correct order.

	* prj-makr.adb (Process_Directory): No longer use GNAT.Expect, but
	redirect standard output and error to a file for the invocation of the
	compiler, then read the file.

	* prj-nmsc.adb (Find_Sources): Use the Display_Value for each
	directory, instead of the Value.
	(Find_Source_Dirs): Remove useless code & comments.

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

	* exp_ch3.adb (Freeze_Record_Type): If a primitive operation of a
	tagged type is inherited, and the parent operation is not frozen yet,
	force generation of a freeze node for the inherited operation, so the
	corresponding dispatch entry is properly initialized.
	(Make_Predefined_Primitive_Specs): Check that return type is Boolean
	when looking for user-defined equality operation.

	* exp_ch4.adb (Expand_Composite_Equality): Check that return type is
	boolean when locating primitive equality of tagged component.

	* exp_ch5.adb (Expand_Assign_Array): If the left-hand side is a
	bit-aligned field and the right-hand side a string literal, introduce
	a temporary before expanding assignment into a loop.

	* exp_ch9.adb (Expand_N_Task_Type_Declaration): Copy expression for
	priority in full, to ensure that any expanded subepxressions of it are
	elaborated in the scope of the init_proc.

	* exp_prag.adb (Expand_Pragma_Import): Search for initialization call
	after object declaration, skipping over code that may have been
	generated for validity checks.

	* sem_ch12.adb (Validate_Private_Type_Instance): If type has unknown
	discriminants, ignore the known discriminants of its full view, if
	any, to check legality.

	* sem_ch3.adb (Complete_Private_Subtype): Do not create constrained
	component if type has unknown discriminants.
	(Analyze_Private_Extension_Declaration): Discriminant constraint is
	null if type has unknown discriminants.

	* sem_ch6.adb (Analyze_Generic_Subprogram_Body): Generate reference
	for end label when present.

	* s-fileio.adb (Open): When called with a C_Stream, use given name for
	temporary file, rather than an empty string.

2004-03-15  Ed Falis  <falis@gnat.com>

	* s-thread.adb: Removed, no longer used.

2004-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* decl.c (target.h): Now include.
	(gnat_to_gnu_entity, case E_Access_Type): Use mode derived from ESIZE
	in new build_pointer_from_mode calls for non-fat/non-thin pointer.
	(validate_size): For POINTER_TYPE, get smallest size permitted on
	machine.

	* fe.h: Sort Einfo decls and add Set_Mechanism.

	* Makefile.in: (LIBGNAT_SRCS): Remove types.h.
	(ada/decl.o): Depends on target.h.

	* trans.c (tree_transform, N_Unchecked_Type_Conversion): Do not use
	FUNCTION_BOUNDARY; always use TYPE_ALIGN.

2004-03-15  Thomas Quinot  <quinot@act-europe.fr>

	* 5ztpopsp.adb, 56tpopsp.adb: Fix spelling of Task_ID.

	* exp_ch4.adb (Expand_N_Indexed_Component): Do not call
	Insert_Dereference_Action when rewriting an implicit dereference into
	an explicit one, this will be taken care of during expansion of the
	explicit dereference.
	(Expand_N_Slice): Same. Always do the rewriting, even for the case
	of non-packed slices, since the dereference action generated by
	expansion of the explicit dereference is needed in any case.
	(Expand_N_Selected_Component): When rewriting an implicit dereference,
	analyze and resolve the rewritten explicit dereference so it is seen
	by the expander.
	(Insert_Dereference_Action): This procedure is now called only for the
	expansion of an N_Explcit_Dereference_Node. Do insert a check even for
	dereferences that do not come from source (including explicit
	dereferences resulting from rewriting implicit ones), but do not
	recursively insert a check for the dereference nodes contained within
	the check.
	(Insert_Dereference_Action): Clarify and correct comment.

From-SVN: r79494
2004-03-15 15:51:00 +01:00
Arnaud Charlet
555360a506 [multiple changes]
2004-03-02  Emmanuel Briot  <briot@act-europe.fr>

	* ali.adb (Read_Instantiation_Instance): Do not modify the
	current_file_num when reading information about instantiations, since
	this corrupts files in later references.

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

	* bcheck.adb (Check_Consistency): Get the full path of an ALI file
	before checking if it is read-only.

	* bld.adb (Recursive_Process): Concatenate <PROJECT>.src_dirs in front
	of SRC_DIRS and eliminate duplicates.

	* gprcmd.adb: Replace command "path" with command "path_sep" to return
	the path separator.
	(Usage): Document path_sep

	* Makefile.generic: For Ada and GNU C++ cases, link directly with the
	C++ compiler. No need for a script.
	Replace use of C*_INCLUDE_PATH env var for GCC compilers with CPATH.
	Do not call gprcmd to build the C*_INCLUDE_PATHs, do it with function
	subst.

	* prj-env.adb (For_All_Source_Dirs): Only add source dirs in project
	where there are Ada sources.
	(Set_Ada_Paths): Only add to the include path the source dirs of project
	with Ada sources.
	(Add_To_Path): Add the Display_Values of the directories, not their
	Values.

	* prj-nmsc.adb (Find_Sources): Set flag Sources_Present in the project
	data.

	* prj-nmsc.adb (Add_ALI_For): Make sure that the element Display_Value
	is not No_Name.
	(Find_Source_Dirs): Set Display_Value to a non canonicalized value, only
	Value is canonicalized.
	(Language_Independent_Check): Do not copy Value to Display_Value when
	canonicalizing Value.

	* prj-part.adb (Post_Parse_Context_Clause): Compare canonical cased
	path to find limited with cycles.
	(Parse_Single_Project): Use canonical cased path to find the end of a
	with cycle.

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

	* sem_ch10.adb (Optional_Subunit): Verify that unit contains a subunit
	and not a child unit.

	* sinfo.ads, sinfo.adb: Rearrange flags so that Private_Present can
	appear in a with_clause.

	* decl.c (gnat_to_gnu_type): If entity is a generic type, which can
	only happen in type_annotate mode, do not try to elaborate it.

	* exp_util.adb (Force_Evaluation): If expression is a selected
	component on the left of an assignment, use a renaming rather than a
	temporary to remove side effects.

	* freeze.adb (Freeze_Entity): Do not freeze a global entity within an
	inlined instance body, which is analyzed before the end of the
	enclosing scope.

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

	* par-ch10.adb, par-ch3.adb, par-ch4.adb, scng.adb,
	sem_ch4.adb: Use new feature for substitution of keywords in VMS

	* errout.ads, errout.adb: Implement new circuit for substitution of
	keywords in VMS.

	* sem_case.adb (Analyze_Choices): Place message properly when case is
	a subtype reference rather than an explicit range.

	* sem_elim.adb, s-tpobop.ads, exp_ch2.adb: Minor reformatting

2004-03-02  Doug Rupp  <rupp@gnat.com>

	* init.c (__gnat_initialize)[VMS]: Resignal RDB-E-STREAM_EOF.

2004-03-02  Thomas Quinot  <quinot@act-europe.fr>

	* s-tporft.adb: Add missing locking around call to Initialize_ATCB.

2004-03-02  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* utils.c (finish_record_type): Do not set DECL_NONADDRESSABLE for a
	BLKmode bitfield.

From-SVN: r78758
2004-03-02 14:50:15 +01:00
Arnaud Charlet
5c1c8a03a6 [multiple changes]
2004-02-18  Emmanuel Briot  <briot@act-europe.fr>

	* ali.ads, ali.adb (First_Sdep_Entry): No longer a constant, so that
	Scan_ALI can be used for multiple ALI files without reinitializing
	between calls.

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

	* debug.adb: Minor reformatting.

2004-02-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* decl.c (gnat_to_gnu_entity, case object): Set DECL_POINTER_ALIAS_SET
	to zero if there is an address clause.

2004-02-18  Thomas Quinot  <quinot@act-europe.fr>

	* exp_util.adb (Side_Effect_Free): Any literal is side effects free.

2004-02-18  Gary Dismukes  <dismukes@gnat.com>

	* layout.adb (Layout_Component_List): Revise generation of call to
	discriminant-checking function to pass selections of all of the type's
	discriminants rather than just the variant-controlling discriminant.

2004-02-18  Olivier Hainque  <hainque@act-europe.fr>

	* 5gmastop.adb (Pop_Frame): Do not call exc_unwind, which is bound to
	fail in the current setup and triggers spurious system error messages.
	Pretend it occurred and failed instead.

2004-02-18  Vincent Celier  <celier@gnat.com>

	* bld.adb: Mark FLDFLAGS as saved
	(Process_Declarative_Items): Add Linker'Linker_Options to FLDFLAGS when
	it is not the root project.  Put each directory to be
	extended between double quotes to prevent it to be expanded on Windows.
	(Recursive_Process): Reset CFLAGS/CXXFLAGS to nothing before processing
	the project file. Set them back to their initial values if they have not
	been set in the project file.

	* gprcmd.adb: (Gprdebug, Debug): New global variables
	(Display_Command): New procedure
	(Usage): Document new command "linkopts"
	Call Display_Command when env var GPRDEBUG has the value "TRUE"
	Implement new command "linkopts"
	Remove quotes that may be around arguments for "extend"
	Always call Normalize_Pathname with arguments formatted for the platform

	* Makefile.generic: Link C/C++ mains with $(FLDFLAGS)
	Change @echo to @$(display) in target clean to be able to clean silently

	* Makefile.prolog: Save FLDFLAGS and give it an initial empty value

	* prj-part.adb (Project_Path_Name_Of): Do not put final result in
	canonical case.

	* prj-part.adb (Parse_Single_Project): Always call with From_Extended
	= Extending_All when current project is an extending all project.

	* vms_conv.adb (Output_File_Expected): New Boolean global variable,
	set to True only for LINK command, after Unix switch -o.
	(Process_Arguments): Set Output_File_Expected to True for LINK command
	after Unix switch -o. When Output_File_Expected is True, never add an
	extension to a file name.

	* 5vml-tgt.adb (Build_Dynamic_Library): Do not append "/OPTIONS" to the
	option file name, only to the --for-linker= switch.
	(Option_File_Name): If option file name do not end with ".opt", append
	"/OPTIONS".

2004-02-18  GNAT Script  <nobody@gnat.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r78024
2004-02-18 12:52:55 +01:00
Arnaud Charlet
18c0ecbeb8 [multiple changes]
2004-02-12  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (components_to_record): Don't claim that the internal fields
	we make to hold the variant parts are semantically addressable, because
	they are not.

	* exp_pakd.adb (Create_Packed_Array_Type): Rename Esiz into PASize and
	adjust the comment describing the modular type form when we can use it.
	(Install_PAT): Account for the Esiz renaming.

	* init.c (__gnat_error_handler for alpha-tru64): Arrange to clear the
	sc_onstack context indication before raising the exception to which
	the signal is mapped. Allows better handling of later signals possibly
	triggered by the resumed user code if the exception is handled.

2004-02-12  Arnaud Charlet  <charlet@act-europe.fr>

	* 5zinit.adb: Removed, no longer used.

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

	* ali.adb: Remove separating space between parameters on R line. Makes
	format consistent with format used by the binder for Set_Globals call.

	* atree.ads, atree.adb: Minor reformatting (new function header format)

	* bindgen.adb: Add Run-Time Globals documentation section containing
	detailed documentation of the globals passed from the binder file to
	the run time.

	* gnatls.adb: Minor reformatting

	* init.c (__gnat_set_globals): Add note pointing to documentation in
	bindgen.

	* lib-writ.ads, lib-writ.adb: Remove separating space between
	parameters on R line.
	Makes format consistent with format used by the binder for Set_Globals
	call.

	* osint.ads: Add 2004 to copyright notice
	Minor reformatting

	* snames.ads: Correct capitalization of FIFO_Within_Priorities
	Noticed during code reading, documentation issue only

	* usage.adb: Remove junk line for obsolete C switch
	Noticed during code reading

2004-02-12  Vincent Celier  <celier@gnat.com>

	* bld.adb (Process_Declarative_Items): For Source_Dirs call gprcmd
	extend for each directory, so that multiple /** directories are
	extended individually.
	(Recursive_Process): Set the default for LANGUAGES to ada

	* gprcmd.adb: Define new command "ignore", to do nothing.
	Implement new comment "path".

	* Makefile.generic: Suppress output when SILENT is set
	Make sure that when compiler for C/C++ is gcc, the correct -x switch is
	used, so that the correct compiler is invoked.
	When compiler is gcc/g++, put search path in env vars C_INCLUDE_PATH/
	CXX_INCLUDE_PATH, to avoid failure with too long command lines.

2004-02-12  Jerome Guitton  <guitton@act-europe.fr>

	* Makefile.in: Clean ups and remove obsolete targets.

2004-02-12  Ed Schonberg  <schonberg@gnat.com>

	* exp_ch5.adb: Remove Possible_Unligned_Slice, in favor of the similar
	predicate declared in exp_util.

	* exp_util.adb: Add comments.

	* sem_ch10.adb (Analyze_Subunit): Remove ultimate parent unit from
	visibility before compiling context of the subunit.

	* sem_res.adb (Check_Parameterless_Call): If the context expects a
	value but the name is a procedure, do not attempt to analyze as a call,
	in order to obtain more telling diagnostics.

	* sem_util.adb (Wrong_Type): Further enhancement to diagnose missing
	'Access on parameterless function calls.
	(Normalize_Actuals): For a parameterless function call with missing
	actuals, defer diagnostic until resolution of enclosing call.

	* sem_util.adb (Wrong_Type): If the context type is an access to
	subprogram and the expression is a procedure name, suggest a missing
	'attribute.

From-SVN: r77704
2004-02-12 14:28:13 +01:00
Arnaud Charlet
6e937c1c5c [multiple changes]
2004-02-02  Vincent Celier  <celier@gnat.com>

	* gprcmd.adb (Check_Args): If condition is false, print the invoked
	comment before the usage.
	Gprcmd: Fail when command is not recognized.
	(Usage): Document command "prefix"

	* g-md5.adb (Digest): Process last block.
	(Update): Do not process last block. Store remaining characters and
	length in Context.

	* g-md5.ads (Update): Document that several call to update are
	equivalent to one call with the concatenated string.
	(Context): Add fields to allow new Update behaviour.

	* fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail,
	defaulted to False.
	When May_Fail is True and no existing file can be found, return No_File.

	* 6vcstrea.adb: Inlined functions are now wrappers to implementation
	functions.

	* lib-writ.adb (Write_With_Lines): When body file does not exist, use
	spec file name instead on the W line.

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

	* ali.adb: Read and acquire info from new format restrictions lines

	* bcheck.adb: Add circuits for checking restrictions with parameters

	* bindgen.adb: Output dummy restrictions data
	To be changed later

	* ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb,
	exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb,
	freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb,
	sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb,
	sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling.

	* exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses
	the warning message on access to possibly uninitialized variable S)
	Minor changes for new restrictions handling.

	* gnatbind.adb: Minor reformatting
	Minor changes for new restrictions handling
	Move circuit for -r processing here from bcheck (cleaner)

	* gnatcmd.adb, gnatlink.adb: Minor reformatting

	* lib-writ.adb: Output new format restrictions lines

	* lib-writ.ads: Document new R format lines for new restrictions
	handling.

	* s-restri.ads/adb: New files

	* Makefile.rtl: Add entry for s-restri.ads/adb

	* par-ch3.adb: Fix bad error messages starting with upper case letter
	Minor reformatting

	* restrict.adb: Major rewrite throughout for new restrictions handling
	Major point is to handle restrictions with parameters

	* restrict.ads: Major changes in interface to handle restrictions with
	parameters. Also generally simplifies setting of restrictions.

	* snames.ads/adb: New entry for proper handling of No_Requeue

	* sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks
	restriction counting.
	Other minor changes for new restrictions handling

	* sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements.
	Restriction_Warnings now allows full parameter notation
	Major rewrite of Restrictions for new restrictions handling

2004-02-02  Javier Miranda  <miranda@gnat.com>

	* par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y
	syntax rule for object renaming declarations.
	(P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for
	component definitions.

	* sem_ch3.adb (Analyze_Component_Declaration): Give support to access
	components.
	(Array_Type_Declaration): Give support to access components. In addition
	it was also modified to reflect the name of the object in anonymous
	array types. The old code did not take into account that it is possible
	to have an unconstrained anonymous array with an initial value.
	(Check_Or_Process_Discriminants): Allow access discriminant in
	non-limited types.
	(Process_Discriminants): Allow access discriminant in non-limited types
	Initialize the new Access_Definition field in N_Object_Renaming_Decl
	node.  Change Ada0Y to Ada 0Y in comments

	* sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in
	equality operators.
	Change Ada0Y to Ada 0Y in comments

	* sem_ch8.adb (Analyze_Object_Renaming): Give support to access
	renamings Change Ada0Y to Ada 0Y in comments

	* sem_type.adb (Find_Unique_Type): Give support to the equality
	operators for universal access types
	Change Ada0Y to Ada 0Y in comments

	* sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms

	* sinfo.ads (N_Component_Definition): Addition of Access_Definition
	field.
	(N_Object_Renaming_Declaration): Addition of Access_Definition field
	Change Ada0Y to Ada 0Y in comments

	* sprint.adb (Sprint_Node_Actual): Give support to the new syntax for
	component definition and object renaming nodes
	Change Ada0Y to Ada 0Y in comments

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

	* restrict.adb: Use the new restriction identifier
	No_Requeue_Statements instead of the old No_Requeue for defining the
	restricted profile.

	* sem_ch9.adb (Analyze_Requeue): Check the new restriction
	No_Requeue_Statements.

	* s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249)
	that supersedes the GNAT specific restriction No_Requeue. The later is
	kept for backward compatibility.

2004-02-02  Ed Schonberg  <schonberg@gnat.com>

	* lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads,
	5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant
	pragma and fix incorrect ones.

	* sem_prag.adb For pragma Inline and pragma Pure_Function, emit a
	warning if the pragma is redundant.

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

	* 5staprop.adb: Add missing 'constant' keywords.

	* Makefile.in: use consistent value for SYMLIB on
	platforms where libaddr2line is supported.

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

	* utils.c (end_subprog_body): Do not call rest_of_compilation if just
	annotating types.

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

	* init.c (__gnat_install_handler): Setup an alternate stack for signal
	handlers in the environment thread. This allows proper propagation of
	an exception on stack overflows in this thread even when the builtin
	ABI stack-checking scheme is used without support for a stack reserve
	region.

	* utils.c (create_field_decl): Augment the head comment about bitfield
	creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P
	here, because the former is not accurate enough at this point.
	Let finish_record_type decide instead.
	Don't make a bitfield if the field is to be addressable.
	Always set a size for the field if the record is packed, to ensure the
	checks for bitfield creation are triggered.
	(finish_record_type): During last pass over the fields, clear
	DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is
	not covered by the calls to layout_decl.  Adjust DECL_NONADDRESSABLE_P
	from DECL_BIT_FIELD.

From-SVN: r77110
2004-02-02 13:32:01 +01:00
Arnaud Charlet
b7e429ab79 [multiple changes]
2004-01-23  Robert Dewar  <dewar@gnat.com>

	* exp_aggr.adb: Minor reformatting

	* exp_ch9.adb: Minor code clean up
	Minor reformatting
	Fix bad character in comment

	* targparm.adb (Get_Target_Parameters): Give clean abort error on
	unexpected end of file, along with more detailed message.

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

	* exp_pakd.adb (Install_PAT): Clear Freeze_Node for PAT and Etype of
	PAT.

	* decl.c (copy_alias_set): New function.
	(gnat_to_gnu_entity, make_aligning_type, make_packable_type): Use it.

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

	* Makefile.in (install-gnatlib): Change occurrences of lib$$file to
	lib$${file} in case subsequent character is not a separator.

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

	* 5vml-tgt.adb (Build_Dynamic_Library): Invoke gcc with -shared-libgcc
	when the GCC version is at least 3.

	* make.adb: (Scan_Make_Arg): Pass -B to Scan_Make_Switches
	Remove all "Opt.", to prepare for opt split

	* prj-part.adb (Parse_Single_Project): New Boolean out parameter
	Extends_All. Set to True when the project parsed is an extending all
	project. Fails for importing an extending all project only when the
	imported project is an extending all project.
	(Post_Parse_Context_Clause): Set Is_Extending_All to the with clause,
	depending on the value of Extends_All returned.

	* prj-proc.adb (Process): Check that no project shares its object
	directory with a project that extends it, directly or indirectly,
	including a virtual project.
	Check that no project extended by another project shares its object
	directory with another also extended project.

	* prj-tree.adb (Is_Extending_All, Set_Is_Extending_All): Allow for
	Kind = N_With_Clause

	* prj-tree.ads: Minor reformatting
	Indicate that Flag2 also applies to N_With_Clause (Is_Extending_All).

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

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If the attribute
	applies to a type with an incomplete view, use full view in Name of
	clause, for consistency with uses of Get_Attribute_Definition_Clause.

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

	* 5itaprop.adb (Set_Priority): Reset the priority to 0 when using
	SCHED_RR, since other values are not supported by this policy.
	(Initialize): Move initialization of mutex attribute to package
	elaboration, to prevent early access to this variable.

	* Makefile.in: Remove mention of Makefile.adalib, unused.

	* Makefile.adalib: Removed, unused.

From-SVN: r76403
2004-01-23 11:30:04 +01:00
Arnaud Charlet
acd47d2a69 [multiple changes]
2004-01-15  Olivier Hainque  <hainque@act-europe.fr>

	* decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size
	also when not defining if a Size clause applies. That information is
	not to be ignored.

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

	* Makefile.in (install-gnatlib, gnatlib-shared-default): Set up
	symbolic links for the shared gnat run time when needed.

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

	* memtrack.adb (Gmem_Initialize): check that gmem.out could be opened
	for writing, and terminate with an error message if not.

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

	* sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious
	warning on an access to subprogram in an instance, when the target
	type is declared in the same generic unit.
	(Eval_Attribute): If 'access is known to fail accessibility check,
	rewrite as a raise statement.

2004-01-15  GNAT Script  <nobody@gnat.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r75931
2004-01-15 18:24:17 +01:00
Arnaud Charlet
91b1417d44 [multiple changes]
2004-01-05  Robert Dewar  <dewar@gnat.com>

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

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

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

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

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

	* s-secsta.ads, s-secsta.adb:
	(SS_Get_Max): New function to obtain high water mark for ss stack
	Default_Secondary_Stack is not a constant since it may be modified by
	the binder generated main program if the -D switch is used.

	* switch-b.adb: New -Dnnn switch for binder

	* switch-c.adb:
	Make -gnatg imply all warnings currently in -gnatwa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* mlib-tgt.adb: Minor reformatting

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

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

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

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

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

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

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

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

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

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

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

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

	* makeusg.adb: Document new switch -B

	* opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r75432
2004-01-05 16:20:47 +01:00
Arnaud Charlet
0d77ab84bb [multiple changes]
2003-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* ada-tree.def: (ALLOCATE_EXPR): Class is "2", not "s".

	* decl.c (gnat_to_gnu_entity, case E_Floating_Point_Subtype): Set
	TYPE_PRECISION directly from esize.

2003-11-18  Thomas Quinot  <quinot@act-europe.fr>

	* cstreams.c:
	Use realpath(3) on FreeBSD. Fix typo in comment while we are at it.

	* init.c: Initialization routines for FreeBSD

	* link.c: Link info for FreeBSD

	* sysdep.c: Add the case of FreeBSD

From-SVN: r73700
2003-11-18 11:00:43 +01:00
Arnaud Charlet
d05ef0ab60 [multiple changes]
2003-11-17  Jerome Guitton  <guitton@act-europe.fr>

	* 5zthrini.adb: Remove the call to Init_RTS at elaboration, as it is
	already called in System.Threads.

	* 5ztiitho.adb (Initialize_Task_Hooks): Remove the registration of the
	environment task, as it has been moved to System.Threads.Initialization.

2003-11-17  Arnaud Charlet  <charlet@act-europe.fr>

	* adaint.c (__gnatlib_install_locks): Only reference
	__gnat_install_locks on VMS, since other platforms can avoid using
	--enable-threads=gnat

2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

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

	* decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Set
	TYPE_PACKED_ARRAY_TYPE_P.
	(validate_size): Do not verify size if TYPE_IS_PACKED_ARRAY_TYPE_P.

	Part of PR ada/12806
	* utils.c (float_type_for_precision): Renamed from float_type_for_size.
	Use GET_MODE_PRECISION instead of GET_MODE_BITSIZE.

2003-11-17  Vincent Celier  <celier@gnat.com>

	* gnatchop.adb (Error_Msg): New Boolean parameter Warning, defaulted
	to False.
	Do not set exit status to Failure when Warning is True.
	(Gnatchop): Make errors "no compilation units found" and
	"no source files written" warnings only.

	* make.adb (Gnatmake): When using a project file, set
	Look_In_Primary_Dir to False.
	(Configuration_Pragmas_Switch): Check for Global_Configuration_Pragmas
	and Local_Configuration_Pragmas in the project where they are declared
	not an extending project which might have inherited them.

	* osint.adb (Locate_File): If Name is already an absolute path, do not
	look for a directory.

	* par-ch10.adb (P_Compilation_Unit): If source contains no token, and
	-gnats (Check_Syntax) is used, issue only a warning, not an error.

	* prj.adb (Register_Default_Naming_Scheme): Add new component Project
	in objects of type Variable_Value.

	* prj.ads: (Variable_Value): New component Project

	* prj-nmsc.adb (Ada_Check.Warn_If_Not_Sources): No warning if source
	is in a project extended by Project.

	* prj-proc.adb (Add_Attributes): New parameter Project. Set component
	Project of Variable_Values to this new parameter value.
	(Expression): Set component Project of Variable_Values.
	(Process_Declarative_Items): Call Add_Attributes with parameter Project.
	Set the component Project in array elements.

2003-11-17  Sergey Rybin  <rybin@act-europe.fr>

	* errout.adb: (Initialize): Add initialization for error nodes.

	* sem_ch12.adb (Initialize): Add missing initializations for
	Exchanged_Views and Hidden_Entities.

2003-11-17  Ed Schonberg  <schonberg@gnat.com>

	* sem_ch12.adb (Copy_Generic_Node): Preserve entity when copying an
	already instantiated tree for use in subsequent inlining.
	(Analyze_Associations, Instantiate_Formal_Subprogram,
	Instantiate_Object): improve error message for mismatch in
	instantiations.

	* sem_ch6.adb (Build_Body_To_Inline): Major cleanup to handle
	instantiations of subprograms declared in instances.

2003-11-17  Javier Miranda  <miranda@gnat.com>

	* sem_ch4.adb (Analyze_Allocator): Previous modification must be
	executed only under the Extensions_Allowed flag.

2003-11-17  Robert Dewar  <dewar@gnat.com>

	* a-exexda.adb (Address_Image): Fix documentation to indicate leading
	zeroes suppressed.
	(Address_Image): Fix bug of returning 0x instead of 0x0
	Minor reformatting (function specs).

	* einfo.ads: Minor fix for documentation of Is_Bit_Packed_Array
	(missed case of 33-63)

	* freeze.adb, sem_ch13.adb: Properly check size of packed bit array

	* s-thread.adb: Add comments for pragma Restriction

	* exp_aggr.adb, g-debuti.adb, par-ch4.adb, sem_aggr.adb,
	sem_ch6.adb, sprint.adb, xref_lib.adb: Minor reformatting

2003-11-17  Ed Falis  <falis@gnat.com>

	* s-thread.adb: Added No_Tasking restriction for this implementation.

2003-11-17  Emmanuel Briot  <briot@act-europe.fr>

	* xref_lib.adb (Parse_Identifier_Info): Add handling of generic
	instanciation references in the parent type description.

2003-11-17  GNAT Script  <nobody@gnat.com>

	* Make-lang.in: Makefile automatically updated

From-SVN: r73672
2003-11-17 15:58:17 +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
R. Kelley Cook
9373164a48 C90 prototype updates.
From-SVN: r73113
2003-10-31 01:08:43 +00:00
Arnaud Charlet
657a9dd94d 3vtrasym.adb, [...]: Minor reformatting
* 3vtrasym.adb, 5vtraent.ads, sprint.adb,
	sem_ch10.adb: Minor reformatting

	* exp_ch5.adb (Expand_Assign_Array): Test for bit unaligned operands
	(Expand_Assign_Record): Test right hand side for bit unaligned as well

	* 3vtrasym.adb:
	* 5vtraent.adb:
	* 5vtraent.ads:
	* tb-alvms.c:
	Support for TBK$SYMBOLIZE-based symbolic traceback.

	* exp_disp.adb:
	Revert previous change, that did not work well when pragma No_Run_Time
	was used in conjunction with a run-time other than ZFP.

	* make.adb:
	(Gnatmake): When there are no Ada mains in attribute Main, disable the
	 bind and link steps only is switch -z is not used.

	* Makefile.generic: Remove duplicated setting of CC.

	* Makefile.prolog: Set CC to gcc by default, to override make's
	default (cc).

	* einfo.h: Regenerated.

	* sem_ch10.adb (Analyze_Subunit): Restore state of suppress flags for
	current body, after compiling subunit.

	* itypes.adb (Create_Itype): In ASIS_Mode, do not freeze the itype
	when in deleted code, because gigi needs properly ordered freeze
	actions to annotate types.

	* freeze.adb (Is_Fully_Defined): Predicate must be recursive, to
	prevent the premature freezing of record type that contains
	subcomponents with a private type that does not yet have a completion.

	* sem_ch12.adb:
	(Analyze_Package_Instantiation): Check that instances can not be used in
	limited with_clauses.

	* sem_ch8.adb:
	(Analyze_Package_Renaming): Check that limited withed packages cannot
	be renamed. Improve text on error messages related to limited
	with_clauses.

	* einfo.adb, einfo.ads: Remove Non_Limited_Views attribute.

	* sprint.adb: (Sprint_Node_Actual): Print limited with_clauses.
	Update copyright notice.

	* sem_ch10.adb: (Build_Limited_Views): Complete its documentation.
	(Install_Limited_Context_Clauses): New subprogram that isolates all the
	checks required for limited context_clauses and installs the limited
	view.
	(Install_Limited_Withed_Unit): Complete its documentation.
	(Analyze_Context): Check that limited with_clauses are only allowed in
	package specs.
	(Install_Context): Call Install_Limited_Context_Clauses after the
	parents have been installed.
	(Install_Limited_Withed_Unit): Add documentation. Mark the installed
	package as 'From_With_Type'; this mark indicates that the limited view
	is installed. Used to check bad usages of limited with_clauses.
	(Build_Limited_Views): Do not add shadow entities to the scope's list
	of entities. Do not add real entities to the Non_Limited_Views chain.
	Improve error notification.
	(Remove_Context_Clauses): Remove context clauses in two phases:
	limited views first and regular views later (to maintain the
	stack model).
	(Remove_Limited_With_Clause): If the package is analyzed then reinstall
	its visible entities.

	* sem_type.adb (Specific_Type): Type Universal_Fixed is compatible
	with any type that Is_Fixed_Point_Type.

	* sinfo.ads: Fix documentation for Associated_Node attribute.

	* switch-c.adb (Scan_Front_End_Switches): ASIS_Mode is set now when
	both '-gnatc' and '-gnatt' are specified.

	* atree.adb (Initialize): Add initialization for Node_Count (set to
	zero).

	* decl.c (gnat_to_gnu_entity, case E_Subprogram): If no return value,
	do not consider as Pure.

	Part of implementation of function-at-a-time:

	* trans.c (gnat_to_gnu_code): If IS_STMT, call expand_expr_stmt.
	(tree_transform): Add new argument to build_component_ref.
	(tree_transform, case N_Assignment_Statement): Make and return an
	EXPR_STMT.
	(tree_transform): If result IS_STMT, set flags and return it.
	(gnat_expand_stmt, set_lineno_from_sloc): New functions.

	* utils2.c (build_simple_component_ref, build_component_ref): Add new
	arg, NO_FOLD_P.
	(build_binary_op, case EQ_EXPR): Pass additional arg to it.
	(build_allocator): Likewise.

	* utils.c (convert_to_fat_pointer, convert_to_thin_pointer, convert):
	Add new arg to build_component_ref.
	(maybe_unconstrained_array, unchecked_convert): Likewise.

	* ada-tree.def (EXPR_STMT): New code.

	* ada-tree.h (IS_STMT, TREE_SLOC, EXPR_STMT_EXPR): New macros.

	* decl.c (gnat_to_gnu_entity, case object): Add extra arg to
	build_component_ref calls.

	* misc.c (gnat_expand_expr): If IS_STMT, call gnat_expand_stmt.

	* gigi.h (gnat_expand_stmt, set_lineno_from_sloc): New functions.
	(build_component_ref): Add new argument, NO_FOLD_P.

From-SVN: r73032
2003-10-29 11:26:16 +01:00
Danny Smith
25412599b4 sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.
* sysdep.c: Include conio.h if __MINGW32__ and !OLD_MINGW.

	* ctrl_c.c (__gnat_int_handler): Remove declaration.

	* decl.c (creat_concat_name):  Const-ify prefix.

	* adaint.c: Include ctype.h if __MINGW32__.
	(__gnat_readlink): Mark arguments as possibly unused.
	(__gnat_symlink): Likewise.
	(__gnat_is_symbolic_link): Likewise.
	(__gnat_portable_spawn): Likewise.  Cast last arg of spawnvp to match
	declaration
	(__gnat_file_time_name): Don't declare struct stat statbuf when
	not needed.
	(__gnat_is_absolute_path): Add parenthesis around condition of
	'if' statement to avoid warning.
	(__gnat_plist_init): Specify void as parameter.
	(plist_enter): Likewise.
	(plist_leave): Likewise.
	(remove_handle): Make static. Initialize prev.

From-SVN: r72824
2003-10-22 21:34:51 +00: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
Zack Weinberg
dcf92453c8 tree.c (build_constructor): New function.
* tree.c (build_constructor): New function.
	* tree.h: Prototype it.

	* c-typeck.c (build_c_cast, pop_init_level)
	* profile.c (build_function_info_value, build_gcov_info_value)
	(create_profiler):
	Use build_constructor.

	* builtins.c (expand_builtin_args_info): Remove #if 0 blocks.

	* objc/objc-act.c (build_constructor):
	Rename objc_build_constructor. Use build_constructor.
	(build_objc_string_object, objc_add_static_instance)
	(init_def_list, init_objc_symtab, init_module_descriptor)
	(generate_static_references, build_selector_translation_table)
	(build_descriptor_table_initializer, generate_descriptor_table)
	(build_protocol_initializer, build_ivar_list_initializer)
	(generate_ivars_list, build_dispatch_table_initializer)
	(generate_dispatch_table, generate_protocol_list)
	(build_category_initializer, build_shared_structure_initializer):
	Update to match.

ada:
	* gigi.h, utils2.c (build_constructor):
	Rename gnat_build_constructor. Use build_constructor.
	* decl.c (gnat_to_gnu_entity)
	* trans.c (tree_transform, pos_to_constructor, extract_values)
	* ada/utils.c (build_template, convert_to_fat_pointer, convert)
	(unchecked_convert)
	* ada/utils2.c (build_binary_op, build_call_raise, build_allocator)
	(fill_vms_descriptor):
	Update to match.

cp:
	* class.c (initialize_array)
	* decl.c (reshape_init)
	* decl2.c (build_expr_from_tree)
	* init.c (build_zero_init)
	* pt.c (tsubst_copy, tsubst_copy_and_build)
	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer)
	(ptm_initializer, class_initializer, get_pseudo_ti_init)
	* semantics.c (finish_compound_literal)
	* typeck.c (build_ptrmemfunc1)
	* typeck2.c (store_init_value, process_init_constructor)
	(build_functional_cast): Use build_constructor.

f:
	* com.c (ffecom_build_complex_constant_, ffecom_expr_)
	(ffecom_init_zero_, ffecom_transform_namelist_, ffecom_vardesc_)
	(ffecom_vardesc_array_, ffecom_vardesc_dims_, ffecom_2)
	* ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_)
	(ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_):
	Use build_constructor.

java:
	* class.c (make_field_value, make_method_value, get_dispatch_table)
	(make_class_data, emit_offset_symbol_table)
	* constants.c (build_constants_constructor)
	* java-tree.h (START_RECORD_CONSTRUCTOR)
	* parse.y (maybe_build_array_element_wfl):
	Use build_constructor.

From-SVN: r65539
2003-04-13 01:45:35 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00: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
e2500fedef Merge from pch-branch up to tag pch-commit-20020603.
From-SVN: r54232
2002-06-04 07:11:05 +00:00
Neil Booth
dffd7eb68a c-decl.c (grokdeclarator): Update.
* c-decl.c (grokdeclarator): Update.
	* c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
	* c-tree.h (c_mark_addressable): New.
	* c-typeck.c (default_function_array_conversion, build_unary_op,
	build_array_ref, convert_for_assignment): Update.
	(mark_addressable): Rename.
	* calls.c (try_to_integrate, expand_call): Use langhook.
	* expr.c (expand_expr): Use langhook.
	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New hook.
	* stmt.c (expand_asm_operands): Use langhook.
	* tree.h (mark_addressable): Remove.
ada:
	* decl.c (gnat_to_gnu_entity): Update.
	* gigi.h (mark_addressable): Rename.
	* misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
	* trans.c (tree_transform): Update.
	* utils.c (create_var_decl): Update.
	* util2.c (build_binary_op, build_unary_op,
	fill_vms_descriptor): Update.
	(mark_addressable): Rename, update.
cp:
	* call.c (build_addr_func): Update.
	* class.c (resolve_address_of_overloaded_function): Update.
	* cp-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
	* cp-tree.h (cxx_mark_addressable): New.
	* decl.c (register_dtor_fn, cxx_maybe_build_cleanup): Update.
	* decl2.c (build_cleanup): Update.
	* except.c (build_throw): Update.
	* init.c (resolve_offset_ref): Update.
	* pt.c (convert_nontype_argument): Update.
	* semantics.c (finish_asm_stmt, simplify_affr_init_exprs_r): Update.
	* typeck.c (decay_conversion, build_array_ref, build_unary_op,
	unary_complex_lvalue): Update.
	(mark_addressable): Rename.
f:
	* com.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
	(mark_addressable): Rename.
	(ffecom_arrayref_, ffecom_1): Update.
java:
	* java-tree.h (java_mark_addressable): New.
	* lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
	* typeck.c (mark_addressable): Rename, update.
objc:
	* objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.

From-SVN: r51705
2002-04-01 20:26:18 +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
79503fdd33 * make.adb:
(Switches_Of): New function
	(Test_If_Relative_Path): New procedure
	(Add_Switches): Use new function Switches_Of
	(Collect_Arguments_And_Compile): Use new function Switches_Of.
	When using a project file, test if there are any relative
	search path. Fail if there are any.
	(Gnatmake): Only add switches for the primary directory when not using
	a project file. When using a project file, change directory to the
	object directory of the main project file. When using a project file,
	test if there are any relative search path. Fail if there are any.
	When using a project file, fail if specified executable is relative
	path with directory information, and prepend executable, if not
	specified as an absolute path, with the exec directory.  Make sure
	that only one -o switch is transmitted to the linker.

	* prj-attr.adb (Initialization_Data): Add project attribute Exec_Dir

	* prj-nmsc.adb:
	(Ada_Check): Get Spec_Suffix_Loc and Impl_Suffix_Loc,
	when using a non standard naming scheme.
	(Check_Ada_Naming_Scheme): Make sure that error messages
	do not raise exceptions.
	(Is_Illegal_Append): Return True if there is no dot in the suffix.
	(Language_Independent_Check): Check the exec directory.

	* prj.adb (Project_Empty): Add new component Exec_Directory

	* prj.ads:
	(Default_Ada_Spec_Suffix, Default_Ada_Impl_Suffix): Add defaults.
	(Project_Data): Add component Exec_Directory

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

	* snames.ads: Added Exec_Dir

	* make.adb: Minor reformatting

	* prj-nmsc.adb: Minor reformatting

	* snames.adb: Updated to match snames.ads

	* snames.ads: Alphebetize entries for project file

	* trans.c (process_freeze_entity): Do nothing if the entity is a
	subprogram that was already elaborated.

	* decl.c (gnat_to_gnu_entity, object): Do not back-annotate Alignment
	and Esize if object is referenced via pointer.

From-SVN: r48127
2001-12-17 22:19:32 +01:00