Commit Graph

60608 Commits

Author SHA1 Message Date
Mark Mitchell b3f8d95d35 configure.in (arm*-*-eabi*): New target.
* configure.in (arm*-*-eabi*): New target.
	* configure: Regenerate.

	* configure.ac (arm*-*-eabi*): New target.
	(arm*-*-symbianelf*): Likewise.
	* configure: Regenerated.

	* config.gcc (arm*-*-eabi*): New target.
	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.
	* expmed.c (expand_divmod): Try a two-valued divmod function as a
	last resort.
	* gthr.h: Remove bogus tokens at end of #pragma.
	* optabs.c (expand_twoval_binop_libfunc): New function.
	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
	(prepare_float_lib_cmp): Try reversing the condition.
	(debug_optab_libfuncs): New function.
	* optabs.h (expand_twoval_binop_libfunc): Declare.
	* config/arm/arm.c (arm_init_libfuncs): New function.
	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
	(TARGET_INIT_LIBFUNCS): Define it.
	* config/arm/arm.h (TARGET_BPABI): New macro.
	* config/arm/arm-protos.h
	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
	* config/arm/bpabi.S: New file.
	* config/arm/bpabi.c: Likewise.
	* config/arm/bpabi.h: Likewise.
	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
	(__aeabi_drsub): Likewise.
	(__aeabi_dsub): Likewise.
	(__aeabi_dadd): Likewise.
	(__aeabi_ui2d): Likewise.
	(__aeabi_i2d): Likewise.
	(__aeabi_f2d): Likewise.
	(__aeabi_dmul): Likewise.
	(__aeabi_ddiv): Likewise.
	(__aeabi_cdrcmple): Likewise.
	(__aeabi_cdcmpeq): Likewise.
	(__aeabi_cdcmple): Likewise.
	(__aeabi_dcmpeq): Likewise.
	(__aeabi_dcmplt): Likewise.
	(__aeabi_dcmple): Likewise.
	(__aeabi_dcmpge): Likewise.
	(__aeabi_dcmpgt): Likewise.
	(__aeabi_dcmpun): Likewise.
	(__aeabi_d2iz): Likewise.
	(__aeabi_d2uiz): Likewise.
	(__aeabi_d2f): Likewise.
	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
	(__aeabi_frsub): Likewise.
	(__aeabi_fsub): Likewise.
	(__aeabi_fadd): Likewise.
	(__aeabi_ui2f): Likewise.
	(__aeabi_i2f): Likewise.
	(__aeabi_fmul): Likewise.
	(__aeabi_fdiv): Likewise.
	(__aeabi_cfrcmple): Likewise.
	(__aeabi_cfcmpeq): Likewise.
	(__aeabi_cfcmple): Likewise.
	(__aeabi_fcmpeq): Likewise.
	(__aeabi_fcmplt): Likewise.
	(__aeabi_fcmple): Likewise.
	(__aeabi_fcmpge): Likewise.
	(__aeabi_fcmpgt): Likewise.
	(__aeabi_fcmpun): Likewise.
	(__aeabi_f2iz): Likewise.
	(__aeabi_f2uiz): Likewise.
	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
	(__aeabi_uidivmod): New function or alias.
	(__aeabi_idivmod): Likewise.
	(__aeabi_idiv0): Likewise.
	(__aeabi_ldiv0): Likewise.
	(__aeabi_llsr): Likewise.
	(__aeabi_lasr): Likewise.
	(__aeabi_llsl): Likewise.
	(bpabi.S): Include it.
	* config/arm/libgcc-bpabi.ver: New file.
	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
	(LINK_SPEC): Remove.
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
	__aeabi_ulcmp.
	* config/arm/t-bpabi: New file.
	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.

	* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
	* gcc.dg/dll-2.c: Fix dg-require syntax.
	* gcc.misc-tests/arm-isr.c (abort): Declare.
	(exit): Likewise.

From-SVN: r85788
2004-08-11 02:50:14 +00:00
David Edelsohn fba73eb1cb rs6000-protos.h (expand_block_clear): Declare.
* config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
        * config/rs6000/rs6000.md (clrmemsi): New pattern.
        * config/rs6000/rs6000.c (expand_block_clear): New function.
        (expand_block_move): Convert alignment to bits.  Use SImode and
        HImode for unaligned addresses if not STRICT_ALIGNMENT.

From-SVN: r85787
2004-08-10 22:40:45 -04:00
Kelley Cook 5158e8d8c1 re PR bootstrap/16164 (automake 1.8.5 upgrade changed fastjar into a read-write source directory)
2004-08-11  Kelley Cook  <kcook@gcc.gnu.org>

	PR bootstrap/16164
	* Makefile.am: Force fastjar.info to be built in build directory.
	* Makefile.in: Regenerate.

From-SVN: r85782
2004-08-11 00:56:23 +00:00
GCC Administrator 688d37c4eb Daily bump.
From-SVN: r85780
2004-08-11 00:16:27 +00:00
Mark Mitchell 550205c3ae re PR c++/16971 (ICE on duplicate definition)
PR c++/16971
	* parser.c (cp_parser_init_declarator): Robustify.

	PR c++/16971
	* g++.dg/parse/crash16.C: New test.

From-SVN: r85776
2004-08-11 00:14:37 +00:00
Caroline Tice c295317dfb Hot/cold partitioning update, sub-patch: fix alignment problems
2004-08-10  Caroline Tice  <ctice@apple.com

        * varasm.c (unlikely_section_label): New global variable.
        (unlikely_text_section_name): New global variable.
        (text_section):  Remove alignment statement.
        (unlikely_text_section): Remove alignment statement; use
        unlikely_section_label rather than hard-coded string.
        (assemble_start_function): Initialize unlikely_section_label and
        unlikely_text_section_name;  make sure cold section is properly
        aligned at start of function; output unlikely_section_label if
        appropriate.

From-SVN: r85771
2004-08-10 14:49:49 -07:00
Ulrich Weigand 68f9c5e21e s390-protos.h (s390_canonicalize_comparison): Declare.
* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
	* config/s390/s390.c (s390_canonicalize_comparison): New function.
	* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
	* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
	"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
	("*tmqi_mem"): Remove SUBREG from pattern.
	("*anddi3_cconly"): Prevent accidentally matching TM pattern.
	("*andsi3_cconly"): Likewise.

From-SVN: r85770
2004-08-10 21:46:33 +00:00
H.J. Lu 22116d840a re PR target/16909 ("unrecognizable insn" ICE during bootstrap with-cpu=nocona)
2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16909
	* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.

From-SVN: r85769
2004-08-10 14:40:02 -07:00
Janis Johnson c75095b27b sourcebuild.texi (compat testing): Document available test framework commands.
2004-08-10  Janis Johnson  <janis187@us.ibm.com>

	* doc/sourcebuild.texi (compat testing): Document available test
	framework commands.  Use the preferred spelling of DejaGnu.

From-SVN: r85768
2004-08-10 21:35:09 +00:00
Daniel Berlin 9897565322 lambda.h: Add matrix type, and prototypes for remainder of matrix and vector functions.
2004-08-10  Daniel Berlin <dberlin@dberlin.org>

	* lambda.h: Add matrix type, and prototypes for remainder of
	matrix and vector functions.
	(lambda_vector_mult_const): New function.
	(lambda_vector_negate): Ditto.
	(lambda_vector_add): Ditto.
	(lambda_vector_add_mc): Ditto.
	(lambda_vector_copy): Ditto.
	(lambda_vector_zerop): Ditto.
	(lambda_vector_equal): Ditto.
	(lambda_vector_min_nz): Ditto.
	(lambda_vector_first_nz): Ditto.
	(lambda_vector_matrix_mult): Ditto.
	* lambda-mat.c: New file.
	* Makefile.in (lambda-mat.o): New.

From-SVN: r85767
2004-08-10 20:43:05 +00:00
Andrew MacLeod 68b9f53b86 tree-cfg.c (bsi_insert_before, [...]): Call modify_stmt after linking stmt into the program.
2004-08-10  Andrew MacLeod  <amacleod@redhat.com>

	* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
	after linking stmt into the program.
	(bsi_remove): Don't call modify_stmt.
	* tree-complex.c (update_complex_assignment,
	expand_complex_comparison): Call modify_stmt after changing the stmt.
	* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
	removing the stmt.
	* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
	the stmt, and only if needed.
	* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
	expression.
	(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
	(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
	(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
	(eliminate_redundant_computations): Don't pass an annotation. Call
	modify_stmt rather than setting the annotation directly.
	(record_equivalences_from_stmt): Remove unused local 'j'.
	(cprop_operand): Take a stmt rather than an annotation as a parameter.
	Call modify_stmt.
	(cprop_into_stmt): Pass stmt rather than annotation.
	(update_rhs_and_lookup_avail_expr): Call modify_stmt.
	* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
	modify_stmt.
	* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.

From-SVN: r85765
2004-08-10 18:31:26 +00:00
Jason Merrill 6c9c452695 re PR middle-end/16948 (Many new testsuite failures on hppa64-hp-hpux11.11)
PR middle-end/16948
        * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85764
2004-08-10 14:02:48 -04:00
Jason Merrill 01c9857000 function.c (expand_function_start): Handle DECL_BY_REFERENCE on the RESULT_DECL.
* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
        the RESULT_DECL.

From-SVN: r85763
2004-08-10 14:02:18 -04:00
Geoffrey Keating b2ddaebb2d tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the hash function.
* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
	hash function.

From-SVN: r85760
2004-08-10 17:57:41 +00:00
Roger Sayle 236573882e mips.md: New reciprocal square root patterns that match sqrt(1.0/x) in addition to the...
* config/mips/mips.md: New reciprocal square root patterns that
	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.

	* gcc.dg/mips-rsqrt-1.c: New test case.
	* gcc.dg/mips-rsqrt-2.c: New test case.
	* gcc.dg/mips-rsqrt-3.c: New test case.

From-SVN: r85759
2004-08-10 17:43:02 +00:00
Paul Brook c9ca9b88bb arm-protos.h (arm_set_return_address, [...]): Add prototypes.
* config/arm/arm-protos.h (arm_set_return_address,
	thumb_set_return_address): Add prototypes.
	* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
	* config/arm/arm.c (arm_compute_func_type,
	use_return_insn, arm_compute_save_reg0_reg12_mask,
	arm_compute_save_reg_mask, arm_output_function_prologue,
	arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
	current_function_calls_eh_return.
	(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
	old eh code.
	(arm_set_return_address, thumb_set_return_address): New functions.
	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
	ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
	* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
	(epilogue): Use the stackadj register.
	(eh_return, arm_eh_return, thumb_eh_return): New pattern.

From-SVN: r85757
2004-08-10 16:22:47 +00:00
Bryce McKinlay f97b53df78 java-gimplify.c (java_gimplify_new_array_init): Use create_tmp_var.
2004-08-10  Bryce McKinlay  <mckinlay@redhat.com>

	* java-gimplify.c (java_gimplify_new_array_init): Use
	create_tmp_var. Don't create BLOCK here or call
	java_gimplify_block.

From-SVN: r85756
2004-08-10 16:41:15 +01:00
Andrew Haley 7e04b67b77 err14.java: New file.
2004-08-10  Andrew Haley  <aph@redhat.com>

        * testsuite/libjava.lang/err14.java: New file.
        * testsuite/libjava.lang/err14.out: New file.

From-SVN: r85754
2004-08-10 14:26:56 +00:00
Andrew Haley 547d71a18f ffi64.c (ffi_prep_args ): 8-align all stack arguments.
2004-08-10  Andrew Haley  <aph@redhat.com>

	* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.

From-SVN: r85753
2004-08-10 14:24:00 +00:00
Andrew Haley 50ab464c2e err14.java: New file.
2004-08-10  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/err14.java: New file.
	* testsuite/libjava.lang/err14.out: New file.

From-SVN: r85752
2004-08-10 14:21:05 +00:00
Victor Leikehman a57bb5f6a5 list_read.c (namelist_read): Convert variable names to lower case, so that mixed-case names are recognized.
2004-08-10  Victor Leikehman  <lei@il.ibm.com>

	* io/list_read.c (namelist_read): Convert variable names
	to lower case, so that mixed-case names are recognized.
	Don't read beyond terminating slash.

From-SVN: r85751
2004-08-10 13:34:04 +00:00
Jakub Jelinek 45d78e7f76 re PR libgcj/3144 (java.lang.Date.compareTo() not supported)
PR target/3144
	* expr.c (move_by_pieces_ninsns): Add max_size argument.
	(MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
	(CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
	(STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
	but using MOVE_RATIO.
	(move_by_pieces): Pass max_size to move_by_pieces_ninsns.
	(can_store_by_pieces): Change max_size type to unsigned int.
	(store_by_pieces_1): Likewise.  Pass max_size to
	move_by_pieces_ninsns.
	* config/s390/s390.h (STORE_BY_PIECES_P): Define.
	* config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
	to move_by_pieces_ninsns.
	(STORE_BY_PIECES_P): Define.
	* config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
	to move_by_pieces_ninsns.
	* doc/tm.texi (STORE_BY_PIECES_P): Document changed default.

	* config/i386/i386.h (CLEAR_RATIO): Define.

From-SVN: r85750
2004-08-10 15:28:26 +02:00
Paolo Bonzini 25f3e06c7c expr.c (expand_expr_real_1): Add back code that was not dead.
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* expr.c (expand_expr_real_1): Add back code that was not dead.

From-SVN: r85742
2004-08-10 08:38:29 +00:00
Andrew Pinski 6a3203c8e3 c-common.c (c_common_get_alias_set): Set the aliasing set of the type which is found to be compatible before...
2004-08-09  Andrew Pinski  <apinski@apple.com>

        * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
        which is found to be compatible before returning the aliasing set.

From-SVN: r85741
2004-08-09 21:41:37 -07:00
H.J. Lu bbefea9662 java-tree.h (flag_deprecated): Removed.
2004-08-09  H.J. Lu  <hongjiu.lu@intel.com>

	* java-tree.h (flag_deprecated): Removed.
	* lang.opt (Wdeprecated): Use existing Var(warn_deprecated).
	* parse.y (check_deprecation): Check warn_deprecated instead of
	flag_deprecated.

From-SVN: r85740
2004-08-09 21:29:16 -07:00
Paul Brook 2bf26ede97 trans-io.c (transfer_expr): Handle pointters.
* trans-io.c (transfer_expr): Handle pointters.
testsuite/
	* gfortran.dg/der_io_1.f90: New test.

From-SVN: r85738
2004-08-10 00:57:22 +00:00
GCC Administrator 19bb9ed6f5 Daily bump.
From-SVN: r85733
2004-08-10 00:16:15 +00:00
Paul Brook e9cfef6413 re PR fortran/16919 (ICE with derived type and array constructor)
PR fortran/16919
	* trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
	(gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
	(gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
	Handle GFC_SS_COMPONENT.
	(gfc_conv_ss_startstride): Ditto.  Set ss->shape.
	(gfc_conv_loop_setup): Tweak commends. Remove dead code.
	Use ss->shape.
	(gfc_conv_array_initializer): Call specific initializer routines.
	* trans-expr.c (gfc_trans_structure_assign): New function.
	(gfc_trans_subarray_assign): New function.
	(gfc_trans_subcomponent_assign): New fucntion
	(gfc_conv_structure): Use them.
	* trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
	(gfc_ss): Add shape.
testsuite/
	* gfortran.dg/der_array_1.f90: New test.

From-SVN: r85730
2004-08-09 23:32:59 +00:00
Daniel Jacobowitz b9bfca8100 ggc-zone.c (struct alloc_zone): Add statistics counters.
* ggc-zone.c (struct alloc_zone): Add statistics counters.
	(always_collect): New flag.
	(ggc_alloc_zone_1): Update statistics support.  Don't include
	overhead in allocated counter.
	(sweep_pages): Update allocated counter for large pages.  Don'y
	include overhead.
	(ggc_collect_1): Always collect.
	(ggc_collect): Honor always_collect flag.  Sum all zones to decide
	whether to collect.
	(SCALE, LABEL): New macros.
	(ggc_print_statistics): Add statistics support.

From-SVN: r85729
2004-08-09 23:11:08 +00:00
Roger Sayle fdded40102 expmed.c (sdiv_pow2_cheap, [...]): Change type to bool.
* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
	(init_expmed): Fix potential overrun problem with "all.reg".
	(expand_sdiv2_pow2): Add an alternate implementation for signed
	division, if the target provides a suitable conditional move insn.

From-SVN: r85728
2004-08-09 22:36:39 +00:00
David Edelsohn feb21f0d14 * gcc.dg/cpp/assert4.c: _AIX asserts #system(unix).
From-SVN: r85726
2004-08-09 18:01:05 -04:00
Roger Sayle 067a5735c5 c99_functions.c (nextafterf): New implementation that works correctly with denormalized numbers.
* intrinsics/c99_functions.c (nextafterf): New implementation that
	works correctly with denormalized numbers.

From-SVN: r85724
2004-08-09 21:09:41 +00:00
Paul Brook 9d8646d7b0 unwind-dw2.c (uw_install_context_1): Update target saved stack pointer.
* unwind-dw2.c (uw_install_context_1): Update target saved stack
	pointer.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r85723
2004-08-09 20:31:41 +00:00
Geoffrey Keating d37e6b5036 ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
* ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
	Check DATA limit only if there's no AS limit.  Ignore insanely
	low DATA limits.
	(ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
	but take care that the AS limit isn't overrun.
	* doc/invoke.texi: Update documentation of min-heapsize parameter.

From-SVN: r85722
2004-08-09 20:19:30 +00:00
Jeff Law 56b043c808 Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
        (tree-ssa-threadupdate.o): Add dependencies.
        * tree-ssa-threadupdate.c: New file.
        * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
        (rewrite_vars_out_of_ssa): Remove prototype.
        (cleanup_tree_cfg): Returns a bool.
        * tree.h (thread_through_all_blocks): Prototype.
        * tree-outof-ssa.c  (SSANORM_*): Move into here.
        (remove_ssa_form): Now static.
        (rewrite_vars_out_of_ssa): Kill.
        * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
        * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
        (remove_ssa_form, register_partitions_for_vars): Kill declarations.
        * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
        anything was changed.
        * tree-phinodes.c (add_phi_arg): Get the block for the PHI
        from the PHI's annotation rather than the edge associated with
        the new argument.
        * tree-ssa-dom.c (redirection_edges): Kill.
        (redirect_edges_and_update_ssa_graph): Kill.
        (tree_ssa_dominator_optimize): Do not reset forwardable flag
        for blocks anymore.  Do not initialize redirection_edges.
        Call thread_through_all_blocks.  Simplify code for cleanup
        of the CFG and iterating.  No longer call cleanup_tree_cfg
        outside the iteration loop.
        (thread_across_edge): No longer mess with forwardable blocks.

From-SVN: r85721
2004-08-09 13:13:07 -06:00
Zack Weinberg 9b305d55bf explow.c (memory_address): Use memory_address_p.
* explow.c (memory_address): Use memory_address_p.
	* recog.c (general_operand): Likewise.
	* regrename.c: No need to define REG_OK_STRICT.

From-SVN: r85720
2004-08-09 17:43:17 +00:00
Steven Bosscher 702d4b7388 Ayee, missed a file.
From-SVN: r85719
2004-08-09 17:05:25 +00:00
Steven Bosscher 27fb79ad58 timevar.def (TV_CPROP1, [...]): New timers.
* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
	New timers.
	* gcse.c: Include timevar.h.
	(const_prop_count, copy_prop_count): Rename to global_const_prop_count
	and global_copy_prop_count.
	(local_const_prop_count, local_copy_prop_count): New static globals.
	(gcse_main): Set the right timevar for each pass.
	(cprop_jump): Increment global_const_prop_count when a constant is
	propagated.  Add "GLOBAL" to dump output.
	(cprop_insn): Increment global_const_prop_count when a constant is
	propagated, or global_copy_prop_count when a copy is propagated.
	(do_local_cprop): Likewise for local_const_prop_count and
	local_copy_prop_count.
	(one_cprop_pass): Initialize const/cprop counters to zero.
	Print out results of local and global const/cprop separately.
	(bypass_block): Break over-length line.

From-SVN: r85718
2004-08-09 16:58:42 +00:00
Victor Leikehman 883c9d4d12 matmul.m4, [...]: Allocate space if return value has NULL in its data field.
2004-09-09  Victor Leikehman  <lei@il.ibm.com>

	* m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
	intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
	Allocate space if return value has NULL in its data field.
	* generated/*.c: Regenerate.

From-SVN: r85717
2004-08-09 14:34:39 +00:00
Paolo Carlini 705debec1e stl_bvector.h: Trivial formatting fixes.
2004-08-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h: Trivial formatting fixes.

2004-08-09  Paolo Carlini  <pcarlini@suse.de>

	* src/ios.cc (ios_base::_M_grow_words): Uglify the names.

From-SVN: r85716
2004-08-09 13:51:33 +00:00
Jason Merrill 27f577e57d fix typo
From-SVN: r85715
2004-08-09 09:18:56 -04: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
Paolo Bonzini b3bcf92c93 wchar_t-2.c: Fix typo.
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* gcc.dg/wchar_t-2.c: Fix typo.

From-SVN: r85713
2004-08-09 07:24:23 +00:00
Paolo Bonzini 7efcb746da Makefile.in (GTFILES): Remove stmt.c
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (GTFILES): Remove stmt.c
	(stmt.o): Do not depend on gt-stmt.h.
	* emit-rtl.c (emit_line_note): Do not call
	set_file_and_line_for_stmt.
	* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
	do everything.
	* function.c (free_after_parsing): Do not free STMT field.
	(allocate_struct_function): Do not call init_stmt_for_function.
	(assign_stack_temp_for_type): Do not accept values of keep
	other than 0 or 1.
	(init_temp_slots): Do not initialize removed variables.
	* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
	and X_VAR_TEMP_SLOT_LEVEL fields.
	* rtl.h (set_file_and_line_for_stmt): Remove.
	* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
	struct stmt_status, cond_stack, case_stack, nesting_stack,
	nesting_depth, emit_locus, set_file_and_line_for_stmt,
	same_case_target_p, init_stmt_for_function, emit_nop,
	expand_start_cond, expand_start_elseif, expand_start_else,
	expand_elseif, expand_end_cond): Remove.
	(preserve_subexpressions_p): Remove references to CFUN->STMT.
	(expand_start_case, expand_end_case_type): Remove, merge into...
	(expand_case): ... this one, including other bits from
	expand_expr_real_1.  Inline same_case_target_p.  Turn members
	of CASE_STACK into local variables.
	(emit_case_bit_tests): Inline same_case_target_p.
	(add_case_node): Add HEAD argument, return new head of the list,
	do not handle default label here.
	* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
	expand_start_elseif, current_nesting_level, expand_start_case,
	expand_end_case_type, expand_end_case, add_case_node,
	init_stmt_for_function, expand_elseif): Remove prototypes.
	(expand_case): Add prototype.

From-SVN: r85712
2004-08-09 07:14:17 +00:00
Paolo Bonzini c4d70ce3b9 expr.c (expand_expr_real_1): Use optab_for_tree_code.
2004-08-09  Paolo Bonzini  <bonzini@gnu.org>

	* expr.c (expand_expr_real_1): Use optab_for_tree_code.

From-SVN: r85711
2004-08-09 06:51:50 +00:00
Paolo Bonzini e5bacf32dd expr.c (var_rtx): Remove.
2004-07-24  Paolo Bonzini  <bonzini@gnu.org>

	* expr.c (var_rtx): Remove.
	(expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
	TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
	Abort.
	(expand_expr_real_1) <COND_EXPR>: Remove most special cases.
	* optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
	* optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.

From-SVN: r85710
2004-08-09 06:46:42 +00:00
GCC Administrator d1e8ac2202 Daily bump.
From-SVN: r85702
2004-08-09 00:16:13 +00:00
Falk Hueffner 08a02c9e08 re PR tree-optimization/12517 ([tree-ssa] ICE in bsi_insert_on_edge_immediate)
PR tree-optimization/12517
	* gcc.c-torture/compile/pr12517.c: New test.

	PR tree-optimization/12578
	* gcc.c-torture/compile/pr12578.c: New test.

	PR tree-optimization/12899
	* gcc.c-torture/compile/pr12899.c: New test.

	PR rtl-optimization/14692
	* gcc.c-torture/compile/pr14692.c: New test.

	PR tree-optimization/16461
	* gcc.c-torture/compile/pr16461.c: New test.

From-SVN: r85698
2004-08-09 01:17:23 +02:00
Mostafa Hagog d72372e46a common.opt (freschedule-modulo-scheduled-loops): New flag.
2004-08-08  Mostafa Hagog  <mustafa@il.ibm.com>
	Ayal Zaks <zaks@il.ibm.com>

	* common.opt (freschedule-modulo-scheduled-loops): New flag.
	* final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
	* modulo-sched.c (sms_schedule): Emit a note to disable scheduling
	when -freschedule-modulo-scheduled-loops flag is not specified.
	(sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
	add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
	More accurate placing of insn in row of partial schedule.
	(ps_insn_find_column): New function.
	* rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
	* sched-rgn.c (sched_is_disabled_for_current_region_p): New.
	(schedule_region): Use sched_is_disabled_for_current_region_p.
	* docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.

Co-Authored-By: Ayal Zaks <zaks@il.ibm.com>

From-SVN: r85696
2004-08-08 21:35:53 +00:00
Victor Leikehman 94538bd12a simplify.c (gfc_simplify_shape): Bugfix.
2004-08-08  Victor Leikehman  <lei@il.ibm.com>

	* simplify.c (gfc_simplify_shape): Bugfix.
	* expr.c (gfc_copy_shape_excluding): New function.
	* gfortran.h (gfc_get_shape): Bugfix.
	(gfc_copy_shape_excluding): Added declaration.
	* iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
	gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
	gfc_resolve_ubound, gfc_resolve_transpose): Added compile
	time resolution of shape.

From-SVN: r85685
2004-08-08 12:28:25 +00:00