Commit Graph

63695 Commits

Author SHA1 Message Date
GCC Administrator 484d0bd6fe Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90973.2
2004-11-21 00:16:14 +00:00
GCC Administrator 2d15ef3625 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r90972.2
2004-11-21 00:16:10 +00:00
Joseph Myers a4ab7973cf c-typeck.c (build_array_ref): Don't check for index == 0.
* c-typeck.c (build_array_ref): Don't check for index == 0.  Make
	checks for neither argument being an array or pointer (swapping
	the arguments if necessary), the array argument being a pointer to
	or array of functions and for -Wchar-subscripts warnings upfront.

testsuite:
	* gcc.dg/Wchar-subscripts-1.c, gcc.dg/array-8.c: New tests.
	* gcc.dg/pointer-arith-1.c, gcc.dg/pointer-arith-2.c,
	gcc.dg/pointer-arith-3.c, gcc.dg/pointer-arith-4.c: Update
	expected diagnostics.

From-SVN: r90969
2004-11-20 20:31:52 +00:00
Jeff Law 40806b8b8f regrename.c (copyprop_hardreg_forward): Only search for a previously processed block if...
* regrename.c (copyprop_hardreg_forward): Only search for a
        previously processed block if the current block only has one
        predecessor.

From-SVN: r90968
2004-11-20 13:18:49 -07:00
Eric Botcazou 7afc9b98cf re PR target/18580 (vectorizer failures (max, unaligned))
PR target/18580
	* gcc.dg/vect/vect-13.c, vect-27.c, vect-27a.c, vect-29.c,
	vect-29a.c, vect-48a.c, vect-56a.c, vect-72.c, vect-72a.c,
	vect-77.c, vect-77a.c: XFAIL on the SPARC.

From-SVN: r90967
2004-11-20 17:34:28 +00:00
Andrew Pinski 6a73fe755a Move Jeff's change to the correct place right Before Kazu's part1 of O(1) PHI
node change.

From-SVN: r90966
2004-11-20 08:26:58 -08:00
Eric Botcazou 21664a3ec0 * gcc.dg/vect/vect.exp (sparc*-*-*): Fix a couple of nits.
From-SVN: r90965
2004-11-20 16:14:35 +00:00
Eric Botcazou 3969c39f61 re PR libfortran/16135 (libfortran doesn't build, use of C99 types)
PR target/16135
	* acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
	* configure.ac: Include LIBGFOR_TARGET_ILP32.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* libgfortran.h: Provide default definitions for C99 types
	on ILP32 targets that don't have them.

	PR target/17999
	* configure.ac: Check for snprintf.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* intrinsics/date_and_time.c (date_and_time): Do not
	use snprinf if it is not available.
	* io/write.c (output_float): Likewise.

From-SVN: r90964
2004-11-20 13:15:17 +00:00
Kazu Hirata e7a531ae61 tree-ssa-threadupdate.c, [...]: Fix comment typos.
* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
	typos.
	* config/arm/arm.c: Follow spelling conventions.

From-SVN: r90963
2004-11-20 12:48:15 +00:00
Richard Earnshaw 2075b05db6 arm.c (arm_override_options): Use arm_ld_sched rather than testing a bit in tune_flags.
* arm.c (arm_override_options): Use arm_ld_sched rather than testing
a bit in tune_flags.
(const_double_needs_minipool): Likewise.  Split most of the code out
into ...
(arm_const_double_inline_cost): ... new function here.
* arm-protos.h (arm_const_double_inline_cost): Add prototype.
* arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
word constants of length 2, 3 and 4 insns respectively.
(CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
* arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
constraints.  Set insn lenghts accordingly.

From-SVN: r90962
2004-11-20 11:21:55 +00:00
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