Commit Graph

63835 Commits

Author SHA1 Message Date
Hans-Peter Nilsson
9eaf7da094 gcc_update (touch_files): Don't rely on "make" being GNU make...
* gcc_update (touch_files): Don't rely on "make" being GNU make;
	grep for "Touching" to determine that the rule executes.

From-SVN: r90961
2004-11-20 10:49:16 +00:00
Aldy Hernandez
a5436b2f52 change typo in last commit to simplify-rtx.c
From-SVN: r90959
2004-11-20 10:38:04 +00:00
Kazu Hirata
735538716d basic-block.h (edge_def): Add dest_idx.
* basic-block.h (edge_def): Add dest_idx.
	* cfg.c (unchecked_make_edge): Initialize dest_idx.
	(remove_edge): Simplify the disconnection of an edge from its
	destination.
	(redirect_edge_succ): Likewise.
	* cfghooks.c (verify_flow_info): Check the consistency of
	dest_idx for each edge.

From-SVN: r90958
2004-11-20 05:02:28 +00:00
Roger Sayle
2d59754f6a objalloc.c, [...]: Include "config.h" before "ansidecl.h" to avoid redeclaration errors with...
* objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
	"ansidecl.h" to avoid redeclaration errors with native compilers.
	* regex.c: Protect config.h from multiple inclusion.

From-SVN: r90954
2004-11-20 02:44:34 +00:00
Paul Brook
edca1aa6ec Really regenerate Makefile.in.
From-SVN: r90950
2004-11-20 01:57:41 +00:00
Steven G. Kargl
d8fe26b2cd check.c (gfc_check_getcwd_sub): Fix seg fault.
* check.c (gfc_check_getcwd_sub): Fix seg fault.

	* check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
	gfc_check_unlink,gfc_check_unlink_sub): New functions
	* gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
	* intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
	exit to intrinsics symbol tables.
	* intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
	gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
	gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
	gfc_resolve_unlink_sub): Add and sort prototypes.
	* iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
	gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
	* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols

libgfortran/
	* Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
	* Makefile.in: Regenerated
	* intrinsics/umask.c: New file
	* intrinsics/unlink.c: ditto
	* intrinsics/exit.c: ditto

From-SVN: r90949
2004-11-20 01:44:49 +00:00
Aldy Hernandez
449ecb09b3 simplify-rtx.c (simplify_ternary_operation): Use trunc_int_for_mode.
* simplify-rtx.c (simplify_ternary_operation): Use
        trunc_int_for_mode.

From-SVN: r90948
2004-11-20 01:44:25 +00:00
GCC Administrator
633ce8953a Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90946.2
2004-11-20 00:16:27 +00:00
GCC Administrator
383068d029 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90945.2
2004-11-20 00:16:23 +00:00
Jeff Law
1983ac127f tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with a hash table.
* tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
        a hash table.  Extensive modifications throughout to support
        that change.
        (struct el): New.
        (struct local_info): New.
        (struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
        fields.
        (redirection_data): Now a hashtable.
        (redirection_data_hash, redirection_data_eq): New.
        (lookup_redirection_data, create_duplicates): New.
        (create_edge_and_update_destionation_phis): New.
        (fixup_template_block, redirect_edges): New.
        (thread_block): Use hash table traversals instead of loops over
        varray entries or incoming edge vectors.

From-SVN: r90941
2004-11-19 15:55:55 -07:00
Kazu Hirata
4f7db7f7d7 tree-cfg.c (reinstall_phi_args): New.
* tree-cfg.c (reinstall_phi_args): New.
	(tree_split_edge): Use it after redirecting an edge.  Don't
	modify PHI_ARG_EDGE.

From-SVN: r90940
2004-11-19 22:14:35 +00:00
Andreas Tobler
1d8a9009f5 tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only if checking is enabled.
2004-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
	if checking is enabled.

From-SVN: r90939
2004-11-19 22:56:19 +01:00
Paolo Carlini
c55f9f781b 1.cc: In the checks use...
2004-11-19  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/time_get/get_date/char/1.cc: In the checks
	use, more correctly (and consistently with other testcases) the
	return value of the facet (the iterator arguments are by value).
	* testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.

From-SVN: r90938
2004-11-19 21:48:21 +00:00
Mark Mitchell
79c70e5a6c target-supports.exp (check_visibility_available): Really test the compiler.
2004-11-19  Mark Mitchell  <mark@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* lib/target-supports.exp (check_visibility_available): Really
	test the compiler.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r90937
2004-11-19 19:59:10 +00:00
Joseph Myers
72c4e4db03 c-decl.c (push_scope): Remove "\n" from end of diagnostic for too many nested scopes.
* c-decl.c (push_scope): Remove "\n" from end of diagnostic for
	too many nested scopes.

From-SVN: r90936
2004-11-19 19:54:39 +00:00
Dorit Naishlos
63dfe6ff6f re PR tree-optimization/18181 (vectorizer: problem in the peeling mechanism in the presence of loop invariants that are used after the loop)
PR tree-opt/18181
        * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
        changed to suppoer uses-after-loop and to void creating flow paths
        that shouldn't exist.
        (slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
        Modified to fit the new peeling scheme. Avoid quadratic behavior.
        (slpeel_add_loop_guard): Takes additional argument.
        (slpeel_verify_cfg_after_peeling): New function.
        (vect_update_ivs_after_vectorizer): Takes additional argument. Updated
        documentation. Use 'exit-bb' instead of creating 'new-bb'.
        (rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
        the new peeling scheme.
        (copy_phi_nodes): Function removed. Its functionality moved to
        update_phis_for_duplicate_loop.
        (slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
        moved here. Added documentation. Modified to fit the new peeling scheme.
        (slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
        needed - done in slpeel_tree_peel_loop_to_edge.
        (slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
        (vect_do_peeling_for_loop_bound): Add documentation. Call
        slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
        with additional argument.
        (vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.

        (vect_finish_stmt_generation): Avoid 80 column oveflow.

From-SVN: r90932
2004-11-19 19:39:40 +00:00
Dorit Naishlos
335d3d5495 tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two arguments removed.
* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
        arguments removed.
        (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
        without last two arguments. Update single_exit of loops.
        (vect_update_niters_after_peeling): Removed. Its functionality was
        moved to vect_do_peeling_for_alignment.
        (vect_do_peeling_for_loop_bound): New name for function previously
        called vect_transform_for_unknown_loop_bound.
        (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
        instead of code that duplicates the same functionality.
        (vect_do_peeling_for_alignment): Functionality of
        vect_update_niters_after_peeling moved here.
        (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
        previously named vect_transform_for_unknown_loop_bound - for both known
        and unknown loop bound cases.

From-SVN: r90931
2004-11-19 19:08:03 +00:00
Dorit Naishlos
d690175432 tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function previously called verify_loop_for_duplication.
* tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
        previously called verify_loop_for_duplication. All conditions compacted
        into one compound condition. Removed debug dumps.
        (vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
        functionality moved to vect_can_advance_ivs_p, and some to
        vect_analyze_loop_form.
        (vect_can_advance_ivs_p): New function. Contains functionality that was
        taken out of vect_analyze_loop_with_symbolic_num_of_iters.
        (slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
        (vect_analyze_operations): Call vect_can_advance_ivs_p and
        slpeel_can_duplicate_loop_p.
        (vect_get_loop_niters): Added documentation.
        (vect_analyze_loop_form): Check the loop entry always - not only in case
        of unknown loop bound. Create preheader and exit bb if necessary. Apply
        a check that used to take place in
        vect_analyze_loop_with_symbolic_num_of_iters.
        (vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
        Remove redundant call to rewrite_into_loop_closed_ssa.
        (vect_compute_data_refs_alignment): Removed obsolete comment.

From-SVN: r90930
2004-11-19 19:03:56 +00:00
Dorit Naishlos
f88a8cfa39 tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for function previously called tree_duplicate_loop_to_edge.
* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
        function previously called tree_duplicate_loop_to_edge.
        (slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
        previously called tree_duplicate_loop_to_edge_cfg.
        (slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
        function name.
        (slpeel_update_phi_nodes_for_guard): Likewise.
        (slpeel_make_loop_iterate_ntimes): Likewise.
        (slpeel_add_loop_guard): Likewise.
        (allocate_new_names, free_new_names): Function declaration moved to top
        of file.
        (rename_use_op, rename_def_op): Likewise.
        (rename_variables_in_bb, rename_variables_in_loop): Likewise.
        (vect_generate_tmps_on_preheader): Function declaration moved.
        (vect_transform_for_unknown_loop_bound): Added missing function
        declaration.

From-SVN: r90929
2004-11-19 18:58:55 +00:00
Andrew Pinski
33976614d6 tree2 to tree_on_heap, I had forgot to update the change log :(.
From-SVN: r90927
2004-11-19 10:24:21 -08:00
Andrew Pinski
3a2e4b46f5 re PR tree-optimization/18507 (block_defs_stack varrray should not be GC'ed)
2004-11-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18507
        * tree-flow.h (tree2): Typedef because there is already a VEC(tree).
        Define a VEC(tree2) for head.
        (register_new_def): Change second argument to be a VEC(tree2).
        * tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree2).
        (tree_ssa_dominator_optimize): Initialize block_defs_stack with
        the VEC(tree2) function.  Also free it before returning.
        (dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
        for block_defs_stack.
        (restore_currdefs_to_original_value): Use VEC_length instead of
        VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
        (dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
        for block_defs_stack.
        * tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree2).
        (rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
        for block_defs_stack.
        (ssa_register_new_def): Likewise.
        (ssa_rewrite_initialize_block): Likewise.
        (rewrite_finalize_block): Use VEC_length instead of
        VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
        (ssa_rewrite_finalize_block): Likewise.
        (register_new_def): Change second argument to be a VEC(tree2).
        Use VEC_safe_push instead of VARRAY_PUSH_TREE.
        (rewrite_blocks): Initialize block_defs_stack with
        the VEC(tree2) function.  Also free it before returning.
        (rewrite_ssa_into_ssa): Likewise.

From-SVN: r90926
2004-11-19 10:21:44 -08:00
Fariborz Jahanian
0e1ad529d7 No darwin non-lazy-ptr for address calculatation when not needed.
OKed by Geoff Keating.

From-SVN: r90925
2004-11-19 18:01:54 +00:00
Jeff Law
075523c69f tree-ssa.c (verify_ssa): Remove redundant checking of PHI arguments.
* tree-ssa.c (verify_ssa): Remove redundant checking of PHI
        arguments.

From-SVN: r90924
2004-11-19 09:56:14 -07:00
Jonathan Wakely
e752a25dff Makefile.am (doxygen, [...]): Remove extra '$' from host_alias variable.
2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>

	* Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
	from host_alias variable.
	* Makefile.in: Regenerate.

From-SVN: r90919
2004-11-19 14:10:58 +00:00
Paul Brook
d31f360428 re PR target/17735 (make stops with "initializer for integer value is too complicated" while building an avr-cross compiler)
PR target/17735
	* varasm.c (default_assemble_integer): Allow pointer-sized values.
	Expand comment.

From-SVN: r90918
2004-11-19 13:12:38 +00:00
Paolo Carlini
f4e5280b48 [multiple changes]
2004-11-19  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_list.h (list::back, list::back const):
	Don't decrement temporary.

2004-11-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (deque::front, deque::front const,
	deque::back, deque::back const): Slightly tweak for stylistic
	consistency.

From-SVN: r90917
2004-11-19 12:44:09 +00:00
Arnaud Charlet
9716416bf1 Resync.
From-SVN: r90916
2004-11-19 12:30:01 +01:00
Arnaud Charlet
80298b8904 gnat_ugn.texi: Remove extra paren check from list of checks for redundant constructs Add...
* gnat_ugn.texi:
	Remove extra paren check from list of checks for redundant constructs
	Add documentation of new -gnatyx style check (check extra parens)
	Remove paragraph about gnatelim debug options.

	* gnat_rm.texi: Document that Ada.Streams now forbids creating stream
	objects rather than forbidding dependencies on the package Ada.Streams.

	* sinfo.ads: Add ??? note that we should document pragmas passed to
	back end.

	* g-expect.ads: Fix a few typos in the comments.

From-SVN: r90915
2004-11-19 12:26:07 +01:00
Arnaud Charlet
3fa251d08d makegpr.adb (Compile): Put the compiling switches (in package Compiler and on the command line)...
* makegpr.adb (Compile): Put the compiling switches (in package
	Compiler and on the command line) immediately after "-c", instead of
	at the end of the command line invocation of the compiler, when
	compiling a non-Ada file.
	(Build_Global_Archive): When there is no need to rebuild the archive,
	set Global_Archive_Exists, so that the archive is passed to the linker
	if one is needed.

From-SVN: r90914
2004-11-19 12:25:50 +01:00
Arnaud Charlet
f0747897b6 s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error for Detect_Blocking which is...
* s-tposen.adb (Lock_Entry): Remove the code for raising Program_Error
	for Detect_Blocking which is redundant with the check done within the
	procedure Protected_Single_Entry_Call.
	(Lock_Read_Only_Entry): Remove the code for raising Program_Error for
	Detect_Blocking which is redundant with the check done within the
	procedure Protected_Single_Entry_Call.

From-SVN: r90913
2004-11-19 12:25:38 +01:00
Arnaud Charlet
5c2d8276da make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when gnatbind is invoked with -shared.
* make.adb (Gnatmake): Invoke gnatlink with -shared-libgcc when
	gnatbind is invoked with -shared.

From-SVN: r90912
2004-11-19 12:25:28 +01:00
Arnaud Charlet
edbe49d1f9 init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653 vthreads.
* init.c (__gnat_map_signal): map SIGSEGV to Storage_Error for AE653
	vthreads.
	(init_float): Eliminate initialization of floating point status for
	AE653. The instructions have no effect for vThreads.

From-SVN: r90911
2004-11-19 12:25:15 +01:00
Arnaud Charlet
87b62748db gnat1drv.adb, [...]: Output the copyright message on a separate line from the version message.
* gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
	gnatls.adb, gnatxref.adb, gprep.adb: Output the copyright message on a
	separate line from the version message.

From-SVN: r90910
2004-11-19 12:25:05 +01:00
Arnaud Charlet
47190c6bc9 exp_pakd.adb (Convert_To_PAT_Type): After replacing the original type of the object with the packed array type...
* exp_pakd.adb (Convert_To_PAT_Type): After replacing the original
	type of the object with the packed array type, set the Analyzed flag
	on the object if it is an entity or simple indexed component, to avoid
	spurious type errors.

From-SVN: r90909
2004-11-19 12:24:53 +01:00
Arnaud Charlet
d10ad8ffac expect.c: Define __unix__ when __APPLE__ is defined.
* expect.c: Define __unix__ when __APPLE__ is defined.

	* Makefile.in: Inform the value of the variable GMEM_LIB in the
	Darwin-specific section.

	* lang-specs.h: Change the placement of the %1 marker.

From-SVN: r90908
2004-11-19 12:24:39 +01:00
Arnaud Charlet
3231074797 exp_dbug.ads: Update documentation to reflect simpler encoding for protected operations.
* exp_dbug.ads: Update documentation to reflect simpler encoding for
	protected operations.

	* exp_ch9.adb (Build_Selected_Name): Do not include "PT" suffix in
	generated name, it complicates decoding in gdb and hinders debugging
	of protected operations.
	(Build_Barrier_Function_Specification): Set the Needs_Debug_Info
	flag for the protected entry barrier function.
	(Build_Protected_Entry_Specification): Set the Needs_Debug_Info
	flag for the protected entry function.

From-SVN: r90907
2004-11-19 11:57:36 +01:00
Arnaud Charlet
ffe9aba812 exp_ch4.adb (Expand_N_Selected_Component): If the component is the discriminant of a constrained subtype...
* exp_ch4.adb (Expand_N_Selected_Component): If the component is the
	discriminant of a constrained subtype, analyze the copy of the
	corresponding constraint, because in some cases it may be only
	partially analyzed.
	Removes long-lived ??? comments.

	* exp_ch7.adb (Establish_Transient_Scope): Remove complex code that
	handled controlled or secondary-stack expressions within the
	iteration_scheme of a loop.

	* sem_ch5.adb (Analyze_Iteration_Scheme): Build a block to evaluate
	bounds that may contain functions calls, to prevent memory leaks when
	the bound contains a call to a function that uses the secondary stack.
	(Check_Complex_Bounds): Subsidiary of Analyze_Iteration_Scheme, to
	generate temporaries for loop bounds that might contain function calls
	that require secondary stack and/or finalization actions.

	* sem_ch4.adb (Analyze_Indexed_Component_Form): If the prefix is a
	selected component and the selector is overloadable (not just a
	function) treat as function call, Analyze_Call will disambiguate if
	necessary.
	(Analyze_Selected_Component): Do not generate an actual subtype for the
	selected component if expansion is disabled. The actual subtype is only
	needed for constraint checks.
	(Analyze_Allocator): If restriction No_Streams is set, then do
	not permit objects to be declared of a stream type, or of a
	composite type containing a stream.

	* restrict.ads: Remove the a-stream entry from Unit_Array, since
	No_Streams no longer prohibits with'ing this package.

	* sem_ch3.adb (Build_Derived_Record_Type): If the parent type has
	discriminants, but the parent base has unknown discriminants, there is
	no discriminant constraint to inherit. Such a discrepancy can arise
	when the actual for a formal type with unknown discriminants is a
	similar private type whose full view has discriminants.
	(Analyze_Object_Declaration): If restriction No_Streams is set, then
	do not permit objects to be declared of a stream type, or of a
	composite type containing a stream.

From-SVN: r90906
2004-11-19 11:57:20 +01:00
Arnaud Charlet
bc202b7006 errout.ads, errout.adb: (First_Sloc): New function
* errout.ads, errout.adb: (First_Sloc): New function

	* par-ch5.adb (P_Condition): Check for redundant parens is now a style
	check (-gnatyx) instead of being included as a redundant construct
	warning.

	* sem_ch6.adb: Change name Style_Check_Subprogram_Order to
	Style_Check_Order_Subprograms.

	* style.ads, styleg.ads, styleg.adb, styleg-c.adb, stylesw.ads,
	stylesw.adb: Add Style_Check_Xtra_Parens

	* usage.adb: Add line for -gnatyx (check extra parens)

	* vms_data.ads: Add entry for STYLE_CHECKS=XTRA_PARENS => -gnatyx

From-SVN: r90905
2004-11-19 11:56:53 +01:00
Arnaud Charlet
1d571f3b00 einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
* einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
	(Has_Rep_Pragma): New function
	(Has_Attribute_Definition_Clause): New function
	(Record_Rep_Pragma): Moved here from sem_ch13.adb
	(Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma

	* sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb

	* exp_prag.adb: (Expand_Pragma_Common_Object): New procedure
	(Expand_Pragma_Psect_Object): New procedure
	These procedures contain the revised and cleaned up processing for
	these two pragmas. This processing was formerly in Sem_Prag, but
	is more appropriately moved here. The cleanup involves making sure
	that the pragmas are properly attached to the tree, and that no
	nodes are improperly shared.

	* sem_prag.adb: Move expansion of Common_Object and Psect_Object
	pragmas to Exp_Prag, which is more appropriate.
	Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to
	check for duplicates Remove use of Is_Psected flag, no longer needed.
	Use new Make_String_Literal function with string.

	* exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes
	that are functions return universal values, that have to be converted
	to the context type.
	Use new Make_String_Literal function with string.
	(Get_Stream_Convert_Pragma): New function, replaces the use of
	Get_Rep_Pragma, which had to be kludged to work in this case.

	* freeze.adb: Use new Has_Rep_Pragma function

	* exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal
	function with string.
	Use new Has_Rep_Pragma function.

	* tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes
	string argument.

From-SVN: r90904
2004-11-19 11:56:37 +01:00
Arnaud Charlet
1735e55db9 exp_dist.adb (Build_RPC_Receiver_Body): New subprogram.
* exp_dist.adb (Build_RPC_Receiver_Body): New subprogram. This
	procedures factors the common processing for building an RPC receiver
	for an RCI package or an RACW type.
	Stylistic cleanup: change '/= Empty' to 'Present ()'; move body of
	Build_Remote_Subprogram_Proxy_Type into proper alphabetical order.
	(Get_PCS_Name): New subprogram. Returns the name of the PCS currently
	in use.
	(Specific_Add_RACW_Features): New subprogram. PCS-specific part of
	Add_RACW_Features.
	(Specific_Add_RAST_Features): New subprogram. PCS-specific part of
	Add_RAST_Features.
	(Assign_Subprogram_Identifier): New subprogram. Provision for assigning
	distribution subprogram identifiers that are either subprogram numbers
	or strings.
	(Get_Subprogram_Ids): New subprogram. Retrieve both the numeric and
	string distribution identifiers assigned to a given subprogram.
	(Get_Subprogram_Id): Reimplement in terms of Get_Subprogram_Ids.
	(Add_RAS_Dereference_TSS): Add comments.
	(Build_General_Calling_Stubs): Note that the RACW_Type formal parameter
	is not referenced yet because it will be used by the PolyORB DSA
	implementation.
	(Insert_Partition_Check): Remove fossile code.
	(First_RCI_Subprogram_Id): Document this constant.
	(Add_RAS_Access_TSS): Correct the setting of the Etype of the
	RAS_Access TSS.
	(Get_Pkg_Name_String): Remove subprogram. Usage occurrences are
	replaced with calls to Get_Library_Unit_Name_String. Previously there
	were several instances of the same code in different locations in the
	compiler; this checkin completes the replacement of all of these
	instances with calls to a common subprogram.
	Minor reformatting.

	* sem_dist.adb: Remove comment noting that RPC receiver generation
	should be disabled for RACWs that implement RASs.
	(Process_Partition_Id): Use new subprogram Get_Library_Unit_Name_String.

	* sem_util.ads, sem_util.adb (Has_Stream): New function
	(Get_Library_Unit_Name_String): New subprogram to retrieve the fully
	qualified name of a library unit into the name buffer.
	(Note_Possible_Modification): Generate a reference only
	if the context comes from source.

	* snames.ads (PCS_Names): New subtype corresponding to names of
	supported implementations of the Partition Communication Subsystem
	(PCS) (i.e. the runtime library support modules for the distributed
	systems annex).

From-SVN: r90903
2004-11-19 11:56:15 +01:00
Arnaud Charlet
ccf255117d butil.ads, [...] (Get_Unit_Name_String): Remove incomplete duplicate implementation of this subprogram from butil.
* butil.ads, butil.adb, bindgen.adb (Get_Unit_Name_String): Remove
	incomplete duplicate implementation of this subprogram from butil.

From-SVN: r90902
2004-11-19 11:55:59 +01:00
Arnaud Charlet
bebbff91ba a-stmaco.ads, [...]: Minor reformatting througout (including new function specs) Add ??? comments...
* a-stmaco.ads, exp_util.ads, exp_util.adb, i-cpp.ads, i-cpp.adb:
	Minor reformatting througout (including new function specs)
	Add ??? comments asking for clarification.

From-SVN: r90901
2004-11-19 11:55:09 +01:00
Arnaud Charlet
ee57599295 a-exexpr.adb (Others_Value, [...]): New variables...
* a-exexpr.adb (Others_Value, All_Others_Value): New variables, the
	address of which may be used to represent "others" and "all others"
	choices in exception tables, instead of the current harcoded
	(void *)0 and (void *)1.
	(Setup_Exception): Do nothing in the GNAT SJLJ case.

	* gigi.h (others_decl, all_others_decl): New decls representing the
	new Others_Value and All_Others_Value objects.
	(struct attrib): Rename "arg" component as "args", since GCC expects a
	list of arguments in there.

	* raise.c (GNAT_OTHERS, GNAT_ALL_OTHERS): Are now the address of the
	corresponding objects exported by a-exexpr, instead of hardcoded dummy
	addresses.

	* trans.c (Exception_Handler_to_gnu_zcx): Use the address of
	others_decl and all_others_decl instead of hardcoded dummy addresses
	to represent "others" and "all others" choices, which is cleaner and
	more flexible with respect to the possible eh pointer encoding policies.

	* utils.c (init_gigi_decls): Initialize others_decl and all_others_decl.
	(process_attributes): Account for the naming change of the "args"
	attribute list entry component.

	* decl.c (build_attr_list): Rename into prepend_attributes to allow
	cumulating attributes for different entities into a single list.
	(gnat_to_gnu_entity): Use prepend_attributes to build the list of
	attributes for the current entity and propagate first subtype
	attributes to other subtypes.
	<E_Procedure>: Attribute arguments are attr->args and not
	attr->arg any more.
	(build_attr_list): Ditto. Make attr->args a TREE_LIST when there is an
	argument provided, as this is what GCC expects. Use NULL_TREE instead
	of 0 for trees.

From-SVN: r90900
2004-11-19 11:54:53 +01:00
Arnaud Charlet
f5a0cbf108 * adaint.h, adaint.c
(__gnat_portable_spawn): Fix cast of spawnvp third parameter
	to avoid warnings.
	Add also a cast to kill another warning.
	(win32_no_block_spawn): Initialize CreateProcess's dwCreationFlags
	parameter with the priority class of the parent process instead of
	always using the NORMAL_PRIORITY_CLASS.
	(__gnat_dup): New function.
	(__gnat_dup2): New function.
	(__gnat_is_symbolic_link): Enable the effective body of this
	function when __APPLE__ is defined.

	* g-os_lib.ads, g-os_lib.adb (Spawn): Two new procedures.
	Update comments.

From-SVN: r90899
2004-11-19 11:54:33 +01:00
Nick Clifton
f99652b5e3 config/stormy16/stormy16.c (combine_bnp): Add code to handle zero_extension and lshiftrt insns.
config/stormy16/stormy16.c (combine_bnp): Add code to handle zero_extension and
  lshiftrt insns.
Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()	where
  appropriate.
config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns to handle bp and bn
  insn patterns with a zero_extend rtx inside them.

From-SVN: r90898
2004-11-19 09:47:23 +00:00
Ian Lance Taylor
e648d85ab2 * config/arm/arm.md (generic_sched): Make const.
From-SVN: r90897
2004-11-19 05:58:34 +00:00
Kazu Hirata
0bdb545887 integrate.c (has_func_hard_reg_initial_val, [...]): Make them static.
* integrate.c (has_func_hard_reg_initial_val,
	get_func_hard_reg_initial_val): Make them static.
	* integrate.h: Remove the corresponding prototypes.

From-SVN: r90895
2004-11-19 02:58:33 +00:00
Kazu Hirata
d78db45956 emit-rtl.c (classify_insn): Make it static.
* emit-rtl.c (classify_insn): Make it static.
	* rtl.h: Remove the corresponding prototype.

From-SVN: r90894
2004-11-19 02:55:34 +00:00
Ben Elliston
c8f4fe9910 dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
* dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
	(dw2_asm_output_delta_sleb128): Likewise.
	* dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
	(dw2_asm_output_delta_sleb128): Likewise.

From-SVN: r90893
2004-11-19 13:45:15 +11:00
Adam Nemet
4244df060f * tree-ssa-alias.c: Fix comment.
From-SVN: r90892
2004-11-19 02:38:25 +00:00