Commit Graph

68275 Commits

Author SHA1 Message Date
Nick Clifton 67e6ba46a4 target.h (struct gcc_target): Add target_help field.
* target.h (struct gcc_target): Add target_help field.
* target-def.h (TARGET_HELP): New.
  (TARGET_INITIALIZER): Use TARGET_HELP.
* opts.c (command_handle_option): Invoke target_help function, if defined, when the 
  user has specified --target-help on the command line.
* doc/invoke.texi: Mention that --target-help might print additional information.
* doc/tm.texi: Document TARGET_HELP hook.

* arm.c (TARGET_HELP): Override default definition.
  (arm_target_help): New - display a wrapped list of cores and architectures supported.

From-SVN: r126323
2007-07-04 15:05:26 +00:00
Rask Ingemann Lambertsen fda41d93b8 v850.c (expand_prologue): Make sure GEN_INT() argument is sign extended rather than zero extended.
* config/gcc/v850/v850.c (expand_prologue): Make sure GEN_INT() argument is sign extended rather than zero extended.
  (expand_epilogue): Likewise.
  (output_move_double): Delete.
* config/gcc/v850/v850-protos.h (output_move_double): Delete.
* config/gcc/v850/v850.md (movdi): Delete.
  (movdi_internal): Delete.
  (movdf): Delete.
  (movdf_internal): Delete.

From-SVN: r126318
2007-07-04 13:27:37 +00:00
Richard Sandiford f0025c1ff5 vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax unless compiling RTP PIC.
gcc/
	* config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax
	unless compiling RTP PIC.

gcc/testsuite/
	* gcc.dg/sh-relax.c: Skip for VxWorks if non-PIC.
	* gcc.dg/sh-relax-vxworks.c: New test.

From-SVN: r126317
2007-07-04 13:01:33 +00:00
Richard Guenther 7d8c27ffa2 re PR tree-optimization/32500 (Loop optimization limits range to size of array used inside loop)
2007-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32500
	* gcc.c-torture/execute/pr32500.c: New testcase.

From-SVN: r126316
2007-07-04 12:39:42 +00:00
Richard Guenther b0569227f5 re PR tree-optimization/32482 (ICE verify_ssa failed)
2007-07-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32482
	* tree-ssa-ifcombine.c (recognize_single_bit_test): Use the
	original ssa name if we didn't find a shift expression.
	Fix shift constant for bit zero test.

	* gcc.c-torture/compile/pr32482.c: New testcase.

From-SVN: r126314
2007-07-04 11:44:58 +00:00
Richard Sandiford 6162fe83e1 compare-fp-4.x: Add an XFAIL for ARM VxWorks kernels.
gcc/testsuite/
	* gcc.c-torture/execute/ieee/compare-fp-4.x: Add an XFAIL for ARM
	VxWorks kernels.
	* gcc.c-torture/execute/ieee/fp-cmp-1.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-3.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-6.x: Likewise.

From-SVN: r126313
2007-07-04 11:25:32 +00:00
Richard Sandiford a0aeae15e9 lib1funcs.asm (ic_invalidate): Align constant pool.
gcc/
	* config/sh/lib1funcs.asm (ic_invalidate): Align constant pool.

From-SVN: r126312
2007-07-04 10:14:28 +00:00
Richard Sandiford c447f77406 config.gcc (arm-wrs-vxworks): Don't include svr4.h.
gcc/
	* config.gcc (arm-wrs-vxworks): Don't include svr4.h.
	* config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE, TARGET_POSIX_IO): Define.
	* config/arm/vxworks.h (ASM_SPEC): Delete.
	(SUBTARGET_EXTRA_ASM_SPEC): Define.

From-SVN: r126310
2007-07-04 10:07:21 +00:00
Richard Sandiford f8827b1fff include.c: Skip for VxWorks kernels.
gcc/testsuite/
	* gcc.dg/cpp/trad/include.c: Skip for VxWorks kernels.

From-SVN: r126309
2007-07-04 09:58:55 +00:00
Richard Sandiford 2c99d61436 sh4a-fprun.c: Skip for VxWorks kernels.
gcc/testsuite/
	* gcc.dg/sh4a-fprun.c: Skip for VxWorks kernels.

From-SVN: r126308
2007-07-04 09:15:53 +00:00
François-Xavier Coudert 0160a2c700 re PR fortran/31198 (wrong code: Max() with optional arguments)
PR fortran/31198

	* trans-intrinsic.c (trans-intrinsic.c): Handle optional
	arguments correctly for MIN and MAX intrinsics.

	* gfortran.dg/min_max_optional_1.f90: New test.
	* gfortran.dg/min_max_optional_2.f90: New test.
	* gfortran.dg/min_max_optional_3.f90: New test.

From-SVN: r126307
2007-07-04 07:25:39 +00:00
Sebastian Pop 71d5b5e165 tree-data-ref.h (data_dependence_relation): New flag reversed_p.
* tree-data-ref.h (data_dependence_relation): New flag reversed_p.
	(DDR_REVERSED_P): New.
	* tree-data-ref.c (initialize_data_dependence_relation,
	build_classic_dist_vector): Set DDR_REVERSED_P.

From-SVN: r126306
2007-07-04 07:19:01 +00:00
Sebastian Pop fd727b3451 re PR target/32457 (Complete program optimized away (i686, -ftree-vectorize))
PR middle-end/32457
	* tree-data-ref.c (analyze_siv_subscript_cst_affine,
	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
	init_omega_for_ddr_1): Use non conservative number of iterations
	estimations.
	(analyze_subscript_affine_affine): Use HOST_WIDE_INT instead of int.
	(analyze_siv_subscript): Remove FIXME and reinitialization of 
	last_conflicts to chrec_dont_know.
	* testsuite/gfortran.dg/vect/pr32457.f90: New.

From-SVN: r126305
2007-07-04 07:04:31 +00:00
Douglas Gregor c92b85159f tree.c (maybe_canonicalize_argtypes): Improve description.
2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>

	* tree.c (maybe_canonicalize_argtypes): Improve description.

From-SVN: r126304
2007-07-04 06:35:25 +00:00
Douglas Gregor 8de08f4c86 tree.c (maybe_canonicalize_argtypes): New.
2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>

	* tree.c (maybe_canonicalize_argtypes): New.
	(build_function_type): Set canonical type.
	(build_method_type_directly): Ditto.
	(reconstruct_complex_type): Rebuild the METHOD_TYPE node
	properly.
	
2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>

	* decl.c (build_ptrmemfunc_type): Always use structural equality
	tests when comparing pointer-to-member-function types, because the
	handling of TYPE_GET_PTRMEMFUNC_TYPE currently defeats canonical
	types.

From-SVN: r126303
2007-07-04 06:32:30 +00:00
Andrew Pinski 2d1a1007a0 tree-ssa-loop-ivopts.c (strip_offset_1): Treat POINTER_PLUS_EXPR like PLUS_EXPR.
2007-07-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * tree-ssa-loop-ivopts.c (strip_offset_1): Treat POINTER_PLUS_EXPR
        like PLUS_EXPR.
        (rewrite_use_nonlinear_expr): Likewise.

From-SVN: r126298
2007-07-03 21:39:26 -07:00
Jerry DeLisle cc0ca51203 re PR fortran/32545 (Give an (compile time) error not a warning for wrong edit format statements)
2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32545
	* gfortran.dg/fmt_error.f90: New test.

2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32612
	* gfortran.dg/interface_13.f90: New test.

From-SVN: r126296
2007-07-04 01:13:47 +00:00
Jerry DeLisle 2305fa3184 re PR fortran/32545 (Give an (compile time) error not a warning for wrong edit format statements)
2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32545
	* io.c (check_format): Always call gfc_error for errors.
	(check_format_string): Change type of this function to try and
	return the result of check_format.
	(check_io_constraints): Return MATCH_ERROR if check_format_string
	returns FAILURE.

2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32612
	* decl.c (get_proc_name): Include attr->mod_proc in check for error.

From-SVN: r126295
2007-07-04 01:08:48 +00:00
Ben Elliston f01d40db56 dwarf2out.c: Move DWARF2 abbreviation glossary closer to the top of this file.
* dwarf2out.c: Move DWARF2 abbreviation glossary closer to the top
	of this file.

From-SVN: r126294
2007-07-04 10:56:44 +10:00
Mark Mitchell 57ccb54624 * init.c (build_new): Tweak comment.
From-SVN: r126293
2007-07-04 00:22:51 +00:00
Dave Brolley 39fb9d7250 re PR c++/31743 (ICE with invalid use of new)
PR c++/31743
	* parser.c (cp_parser_new_type_id): Don't reduce a named array
	type to its base type and number of elements here.
	* init.c (build_new): Call complete_type_or_else to ensure that the
	type is complete and to issue a diagnostic if it is not.
	(build_new_1): Don't call complete_type_or_else here.

	PR c++/31743
	* g++.dg/init/new20.C: New test.

From-SVN: r126292
2007-07-04 00:21:33 +00:00
GCC Administrator 61087eb3c4 Daily bump.
From-SVN: r126290
2007-07-04 00:17:16 +00:00
Seongbae Park e3ceb300c5 rtl.def (UNSPEC, [...]): More comments.
2007-07-03  Seongbae Park  <seongbae.park@gmail.com>

	* rtl.def (UNSPEC, USE, CLOBBER): More comments.

From-SVN: r126286
2007-07-03 22:44:26 +00:00
Ben Elliston d9ad786245 * c-objc-common.c (c_types_compatible_p): Fix indentation.
From-SVN: r126285
2007-07-04 08:32:33 +10:00
Ben Elliston 4408237565 tm.texi (Run-time Target): Capitalise "CPU".
* doc/tm.texi (Run-time Target): Capitalise "CPU".
	(Exception Handling): Likewise.

From-SVN: r126284
2007-07-04 08:28:28 +10:00
Jerry DeLisle 6bc7a4e1d5 Forgot this from previous commit.
From-SVN: r126283
2007-07-03 22:23:00 +00:00
Jerry DeLisle a24668a34f re PR fortran/32432 (SEGV/endless loop after: "ERROR: ... already is initialized")
2007-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32432
	* gfortran.h: Change type of gfc_assign_data_value from void to try.
	* data.c (gfc_assign_data_value): Return FAILURE if error found.
	* resolve.c (check_data_variable): If gfc_assign_data_value returns
	failure, break out of loop and return failure.

From-SVN: r126282
2007-07-03 22:14:55 +00:00
Jan Hubicka f9faf95474 * ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
From-SVN: r126281
2007-07-03 22:14:27 +00:00
Christopher D. Rickett 9eb0d3d733 re PR fortran/32579 (problem using iso_c_binding (II))
2007-07-02  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/32579
	* symbol.c (gen_cptr_param): Generate C_PTR and C_FUNPTR if
	necessary.
	(build_formal_args): Pass intrinsic module symbol id to
	gen_cptr_param.

	* gfortran.dg/iso_c_binding_only.f03: Updated test case.

From-SVN: r126280
2007-07-03 21:45:59 +00:00
Tobias Burnus ad22b1ff95 re PR fortran/25062 (same name for parameter and common block)
2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/25062
	* resolve.c (resolve_common_blocks): New check function.
	(resolve_types): Use it.

2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/25062
	* common_7.f90: New.
	* common_8.f90: New.
	* common_9.f90: New.

From-SVN: r126279
2007-07-03 23:41:34 +02:00
Eric Christopher 717c4e47fb cppopts.texi: Add conflicting option note to -dM.
2007-07-03  Eric Christopher  <echristo@apple.com>

	    * doc/cppopts.texi: Add conflicting option note to -dM.
	    * doc/invoke.texi: Add note about possible conflicts with
	    -E for -dCHARS and note that -dM will not produce
	    any results if there is no machine dependent reorg.

From-SVN: r126278
2007-07-03 21:39:17 +00:00
Geoffrey Keating e7005ecbe1 * tree.h (DECL_ALIGN): Back out previous change.
From-SVN: r126276
2007-07-03 21:00:01 +00:00
David Daney e980a72948 Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to include path.
* java/Make-lang.in (doc/gcj.info): Add $(gcc_docdir) to 
	include path.
	(doc/gcj.dvi): Same.
	(doc/gcj.pdf): Same.
	(java/index.html): Same.

From-SVN: r126275
2007-07-03 20:52:33 +00:00
Joseph Myers a44380d2e9 configure.ac: Test for .dtprelword support on MIPS.
* configure.ac: Test for .dtprelword support on MIPS.
	* configure, config.in: Regenerate.
	* config/mips/mips.c (mips_output_dwarf_dtprel): New.
	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define.

From-SVN: r126273
2007-07-03 21:28:02 +01:00
Julian Brown f1adb0a9f4 config.gcc (with_fpu): Allow --with-fpu=vfp3.
gcc/
	* config.gcc (with_fpu): Allow --with-fpu=vfp3.
	* config/arm/aout.h (REGISTER_NAMES): Add D16-D31.
	* config/arm/aof.h (REGISTER_NAMES): Add D16-D31.
	* config/arm/arm.c (FL_VFPV3): New flag for VFPv3 processor
	capability.
	(all_fpus): Add FPUTYPE_VFP3.
	(fp_model_for_fpu): Add VFPv3 field.
	(arm_rtx_costs_1): Give cost to VFPv3 constants.
	(vfp3_const_double_index): New function. Return integer index of
	VFPv3 constant suitable for fconst[sd] insns, or -1 if constant
	isn't suitable.
	(vfp3_const_double_rtx): New function. True if VFPv3 is enabled
	and argument represents a valid RTX for a VFPv3 constant.
	(vfp_output_fldmd): Split fldmd with > 16 registers in the list into
	two instructions.
	(vfp_emit_fstmd): Similar, for fstmd.
	(arm_print_operand): Implement new code 'G' for VFPv3 floating-point
	constants, represented as integer indices.
	(arm_hard_regno_mode_ok): Use VFP_REGNO_OK_FOR_SINGLE,
	VFP_REGNO_OK_FOR_DOUBLE macros.
	(arm_regno_class): Handle VFPv3 d0-d7, low, high register split.
	(arm_file_start): Set float-abi attribute for VFPv3, and output
	correct ".fpu" assembler directive.
	(arm_dbx_register_numbering): Add FIXME.
	* config/arm/arm.h (TARGET_VFP3): New macro. Target supports VFPv3.
	(fputype): Add FPUTYPE_VFP3.
	(FIXED_REGISTERS): Add 32 registers for D16-D31.
	(CALL_USED_REGISTERS): Likewise.
	(CONDITIONAL_REGISTER_USAGE): Add note about conditional definition
	of LAST_VFP_REGNUM. Make D16-D31 caller-saved, if present.
	(LAST_VFP_REGNUM): Extend available VFP registers for VFPv3.
	(D7_VFP_REGNUM): New.
	(LAST_LO_VFP_REGNUM, FIRST_HI_VFP_REGNUM, LAST_HI_VFP_REGNUM)
	(VFP_REGNO_OK_FOR_SINGLE, VFP_REGNO_OK_FOR_SINGLE)
	(VFP_REGNO_OK_FOR_DOUBLE): Define new macros.
	(FIRST_PSEUDO_REGISTER): Shift up to 128 to accommodate VFPv3.
	(REG_ALLOC_ORDER): Adjust for VFPv3.
	(reg_class): Add VFP_D0_D7_REGS, VFP_LO_REGS, VFP_HI_REGS.
	(REG_CLASS_NAMES): Add entries corresponding to VFP_D0_D7_REGS,
	VFP_LO_REGS, VFP_HI_REGS.
	(REG_CLASS_CONTENTS): Likewise. Extend contents for VFP_REGS.
	(IS_VFP_CLASS): Define macro.
	(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Use
	IS_VFP_CLASS.
	(REGISTER_MOVE_COST): Likewise.
	* config/arm/arm-protos.h (vfp3_const_double_rtx): Add prototype.
	* config/arm/vfp.md (VFPCC_REGNUM): Redefine as 127.
	(*arm_movsi_vfp, *thumb2_movsi_vfp, *movsfcc_vfp)
	(*thumb2_movsfcc_vfp, *abssf2_vfp, *negsf2_vfp, *addsf3_vfp)
	(*subsf3_vfp, *divsf_vfp, *mulsf_vfp, *mulsf3negsf_vfp)
	(*mulsf3addsf_vfp, *mulsf3subsf_vfp, *mulsf3negsfaddsf_vfp)
	(*extendsfdf2_vfp, *truncdfsf2_vfp, *truncsisf2_vfp)
	(*truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2)
	(*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2)
	(floatunssidf2, *sqrtsf2_vfp, *cmpsf_split_vfp)
	(*cmpsf_trap_split_vfp, *cmpsf_vfp, *cmpsf_trap_vfp): Use 't'
	where appropriate for single-word registers.
	(*movsf_vfp, *thumb2_movsf_vfp, *movdf_vfp, *thumb2_movdf_vfp):
	As above. Fix type attributes.
	* config/arm/constraints.md (register_contraint "t"): Define.
	(register_constraint "w"): Change to D0-D15, or D0-D31 for
	VFPv3/NEON.
	(register_constraint "x"): Define.
	(constraint "Dv"): Define.

From-SVN: r126272
2007-07-03 19:42:36 +00:00
Tobias Burnus 2d5b90b2fd re PR fortran/30940 (Fortran 2003: Scalar CHARACTER supplied to array dummy)
2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30940
	* interface.c (get_sym_storage_size): New function.
	(get_sym_storage_size): New function.
	(compare_actual_formal): Enhance sequence association
	support and improve checking.

2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30940
	* gfortran.dg/argument_checking_1.f90: New.
	* gfortran.dg/argument_checking_2.f90: New.
	* gfortran.dg/argument_checking_3.f90: New.
	* gfortran.dg/argument_checking_4.f90: New.
	* gfortran.dg/argument_checking_5.f90: New.
	* gfortran.fortran-torture/execute/st_function_1.f90: Add dg-warning.
	* gfortran.fortran-torture/execute/st_function.f90: Add dg-warning.

From-SVN: r126271
2007-07-03 21:16:42 +02:00
Geoffrey Keating f972b2cb9d * tree.h (DECL_ALIGN): Prevent use on a FUNCTION_DECL.
From-SVN: r126270
2007-07-03 19:13:00 +00:00
Tom Tromey 0bacb8c748 c-parser.c (objc_pq_context): Removed.
* c-parser.c (objc_pq_context): Removed.
	(objc_need_raw_identifier): Likewise.
	(c_parser) <objc_pq_context>: New field.
	<objc_need_raw_identifier>: Likewise.
	(OBJC_NEED_RAW_IDENTIFIER): Removed.
	(c_lex_one_token): Update.
	(c_parser_objc_protocol_definition): Update.
	(c_parser_objc_method_definition): Update.
	(c_parser_objc_methodproto): Update.
	(c_parser_declspecs): Update.

From-SVN: r126269
2007-07-03 18:09:15 +00:00
David Ung c849ec734c mips.c (mips_issue_rate): Return 4 for 74K processors.
gcc/
2007-07-03  David Ung  <davidu@mips.com>

	* config/mips/mips.c (mips_issue_rate): Return 4 for 74K processors.

From-SVN: r126268
2007-07-03 18:07:08 +00:00
David Ung 74d4d0244c invoke.texi: Document -march=74kf3_2.
gcc/
2007-07-03  David Ung  <davidu@mips.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* doc/invoke.texi: Document -march=74kf3_2.
	* config/mips/mips.h (PROCESSOR_74KF3_2): New processor_type.
	(TUNE_74K): Check for it.
	* config/mips/mips.c (mips_cpu_info): Add 74kf3_2.
	(mips_rtx_cost_data): Add an entry for PROCESSOR_74KF3_2.
	* config/mips/mips.md (cpu): Add 74kf3_2.
	* config/mips/74k.md (r74k_int_logical, r74k_int_arith, r74k_int_nop)
	(r74k_int_cmove, r74k_int_mult, r74k_int_mul3, r74k_int_mfhilo)
	(r74k_int_mthilo, r74k_int_div, r74k_int_call, r74k_int_jump)
	(r74k_int_load, r74k_int_store, r74k_unknown, r74k_multi): Add
	74kf3_2 to the CPU list.
	(r74kf3_2_fadd, r74kf3_2_fmove, r74kf3_2_fload, r74kf3_2_fstore)
	(r74kf3_2_fmul_sf, r74kf3_2_fmul_df, r74kf3_2_fdiv_sf)
	(r74kf3_2_fdiv_df, r74kf3_2_frsqrt_sf, r74kf3_2_frsqrt_df)
	(r74kf3_2_fcmp, r74kf3_2_fcvt, r74kf3_2_fxfer_to_c1)
	(r74kf3_2_fxfer_from_c1): New insn reservations.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r126267
2007-07-03 18:00:06 +00:00
Richard Sandiford bdd77024de invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1.
gcc/
2007-07-03  Richard Sandiford  <richard@codesourcery.com>
	    David Ung  <davidu@mips.com>

	* doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and
	-march=24kx with -march=24kf1_1.  Likewise 24ke[fx], 34k[fx]
	and 74k[fx].  Document aliases for the new options.
	* config/mips/mips.h (PROCESSOR_24KF): Rename to...
	(PROCESSOR_24KF2_1): ...this.
	(PROCESSOR_24KX): Rename to...
	(PROCESSOR_24KF1_1): ...this.
	(PROCESSOR_74KF): Rename to...
	(PROCESSOR_74KF2_1): ...this.
	(PROCESSOR_74KX): Rename to...
	(PROCESSOR_74KF1_1): ...this.
	(TUNE_74K): Update PROCESSOR_* names.
	* config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym
	for 24kf.  Add 24kf1_1 and 24kfx as synonyms for 24kx.  Likewise
	the 24ke*, 34k* and 74k* processors.  Update PROCESSOR_* names.
	(mips_rtx_cost_data): Update processor names in comments.
	(mips_issue_rate): Update PROCESSOR_* names.
	* config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to
	24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1.
	* config/mips/24k.md: Rename FPU-related r24k_* insn reservations
	to r24kf2_1_*.  Rename r24kx_* insn reservations to r24kf1_1_*.
	Update cpu attribute names.
	(r24k_fpu_iss): Rename this reservation to...
	(r24kf2_1_fpu_iss): ...this and update all uses.
	(r24kx_fpu_iss): Rename this reservation to...
	(r24kf1_1_fpu_iss): ...this and update all uses.
	* config/mips/74k.md: Rename FPU-related r74kf_* insn reservations
	to r74kf2_1_*.  Rename r74kx_* insn reservations to r74kf1_1_*.
	Update cpu attribute names.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r126266
2007-07-03 17:34:59 +00:00
Kaz Kojima fbaeb717be constraints.md: New file.
* config/m32r/constraints.md: New file.
* config/m32r/m32r.c: Include tm-constrs.h.
  (small_data_operand): Use satisfies_constraint_* instead of macro.
  (addr24_operand, gen_compare): Likewise.
* config/m32r/m32r.h (REG_CLASS_FROM_LETTER): Remove.
  (INT8_P, UPPER16_P, UINT32_P, UINT5_P, INVERTED_SIGNED_8BIT,
  CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Likewise.
* config/m32r/m32r.md: Include constraints.md.
  (movsi_insn): Use satisfies_constraint_* instead of macro.
  (andsi3, iorsi3, xorsi3, seq_insn+1, sne): Likewise.
* config/m32r/predicates.md (conditional_move_operand): Likewise.
  (two_insn_const_operand, int8_operand, uint16_operand,
   reg_or_int16_operand, reg_or_uint16_operand,
   reg_or_cmp_int16_operand, cmp_int16_operand,
   seth_add3_operand): Likewise.

From-SVN: r126265
2007-07-03 16:56:20 +00:00
Janne Blomqvist db430f6a2a Fortran frontend:
2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-decl.c (gfc_build_builtin_function_decls): Mark
	internal_realloc as a malloc function.

libgfortran:

2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>

	* libgfortran.h: Mark internal_malloc_size as a malloc function.
	* runtime/memory.c (internal_realloc_size): Remove.
	(internal_realloc): Call realloc directly instead of
	internal_realloc_size.
	(allocate_size): Remove.
	(allocate): Call malloc directly instead of allocate_size, mark as
	malloc function.

From-SVN: r126264
2007-07-03 19:50:05 +03:00
Eric Christopher 66965e9094 libgcc2.h: Conditionally declare __bswapsi2 and __bswapdi2.
2007-07-03  Eric Christopher  <echristo@gmail.com>

        * libgcc2.h: Conditionally declare __bswapsi2 and
        __bswapdi2.

From-SVN: r126263
2007-07-03 16:35:20 +00:00
Richard Guenther e656a4656e re PR c++/32609 (ICE in htab_clear_slot at libiberty/hashtab.c:722)
2007-07-03  Richard Guenther  <rguenther@suse.de>

	PR c++/32609
	* class.c (fixed_type_or_null): Re-lookup the hashtable slot
	after recursing.

From-SVN: r126262
2007-07-03 15:29:19 +00:00
H.J. Lu 72b31363fb ddg.c (check_sccs): Define only if ENABLE_CHECKING is defined.
2007-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* ddg.c (check_sccs): Define only if ENABLE_CHECKING is
	defined.

From-SVN: r126258
2007-07-03 07:19:33 -07:00
Uros Bizjak 8f7bdf1842 ChangeLog: Forgot to commit with my last change.
* testsuite/ChangeLog: Forgot to commit with my last change.

From-SVN: r126257
2007-07-03 15:55:37 +02:00
Uros Bizjak 16290cf8ee * gcc.dg/pr32176.c: Add -w to default dg-options.
From-SVN: r126256
2007-07-03 15:47:59 +02:00
Rainer Orth b36e79e550 re PR target/28307 (pthread functions in libgcc not weak any more on Tru64 UNIX)
PR target/28307
	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
	(__gthrw_pragma): Provide default definition.
	(__gthrw2): Use it.
	* gthr-posix.c (__gthrw_pragma): Define.

From-SVN: r126253
2007-07-03 13:41:00 +00:00
Daniel Berlin 78d3c323b9 tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p before declaring inequality.
2007-07-03  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
	before declaring inequality.

From-SVN: r126252
2007-07-03 12:55:13 +00:00
Rask Ingemann Lambertsen b6bcd67696 combine.c (recog_for_combine): Log the success or failure of matching new insn patterns against the machine...
* combine.c (recog_for_combine): Log the success or failure of
	  matching new insn patterns against the machine description in
	  detailed dumps.

From-SVN: r126251
2007-07-03 12:45:31 +00:00
Revital Eres 8cec1624c5 modulo-sched: print sccs and check it
From-SVN: r126249
2007-07-03 10:27:19 +00:00
Tobias Burnus bb9e683e79 re PR fortran/20888 (dereferencing NULL still accepted)
2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/20888
	* resolve.c (resolve_operator): Check for NULL as operand.

2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/20888
	* gfortran.dg/null_2.f90: New.

From-SVN: r126247
2007-07-03 10:02:08 +02:00
Uros Bizjak 2f575701c6 re PR middle-end/32176 (ICE tree-type mismatch: expected integer_cst, have plus_expr in int_cst_value, at tree.c:7720)
PR middle-end/32176
	* gcc.dg/pr32176.c: New test.


Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>

From-SVN: r126245
2007-07-03 08:35:05 +02:00
Uros Bizjak c77cd3d140 cpplib.h (CPP_N_WIDTH_MD, [...]): Add new constants.
libcpp/ChangeLog:

	* include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
	Add new constants.
	* expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
	suffixes.  Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
	for 'q' or 'Q' suffixes.

gcc/ChangeLog:

	* targhooks.h (default_mode_for_suffix): New function declaration.
	* targhooks.c (default_mode_for_suffix): New default target hook.
	* target.h (struct c): New structure in the targetm struct.
	(mode_for_suffix): New target hook as part of struct c.
	target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
	default_mode_for_suffix.
	(TARGET_C): New define.
	* c-lex.c: Include "target.h".
	(interpret_float): Use targetm.c.mode_for_suffix to determine
	the mode for a given non-standard suffix.
	Makefile.in (c-lex.o): Depend on $(TARGET_H).

	* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
	(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.

	* doc/extend.texi (Floating Types): New node.  Document __float80 and
	__float128 types.  Document 'w', 'W', 'q' and 'Q' suffixes.

testsuite/ChangeLog:

	* gcc.dg/const-float80.c : New test.
	* gcc.dg/const-float128.c : New test.
	* gcc.dg/const-float80-ped.c : New test.
	* gcc.dg/const-float128-ped.c : New test.

From-SVN: r126244
2007-07-03 07:53:58 +02:00
Kaz Kojima 1ed50f7194 re PR target/32506 (cross compile sh64-superh-linux-gnu internal compiler error: in change_address_1, at emit-rtl.c:1800)
PR target/32506
	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
	predicate instead of target_operand.
	(divsi3_i1_media, divsi3_media_2): Likewise.

From-SVN: r126243
2007-07-03 04:01:35 +00:00
GCC Administrator 370f20446d Daily bump.
From-SVN: r126241
2007-07-03 00:16:54 +00:00
Kaveh R. Ghazi 5cc4845564 c99-math.h: Fix typo.
* gcc.dg/c99-math.h: Fix typo.

From-SVN: r126235
2007-07-02 21:27:45 +00:00
Eric Botcazou 836f779495 tree.h (alias_sets_might_conflict_p): Rename into alias_sets_must_conflict_p.
* tree.h (alias_sets_might_conflict_p): Rename into
	alias_sets_must_conflict_p.
	* alias.c (alias_sets_might_conflict_p): Likewise.
	(alias_sets_conflict_p): Use it.
	(objects_must_conflict_p): Likewise.
	* c-common.c (strict_aliasing_warning): Adjust.

From-SVN: r126233
2007-07-02 20:01:32 +00:00
Andrew Pinski e4950e42af rtlhooks.c (gen_lowpart_if_possible): Check for invalid subreg before calling gen_lowpart_SUBREG.
2007-07-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * rtlhooks.c (gen_lowpart_if_possible): Check for
        invalid subreg before calling gen_lowpart_SUBREG.

From-SVN: r126230
2007-07-02 12:40:30 -07:00
Geoffrey Keating 22f70bffdd darwin9.h: Add copyright notice.
* config/darwin9.h: Add copyright notice.
	(LINK_COMMAND_SPEC): Add comment.
	(DARWIN_LIBSYSTEM_HAS_UNWIND): Define.
	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on
	DARWIN_LIBSYSTEM_HAS_UNWIND.

From-SVN: r126229
2007-07-02 19:36:14 +00:00
Jakub Jelinek 69f1837b81 re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS)
PR libgomp/32468
	* omp-low.c (check_combined_parallel): New function.
	(lower_omp_parallel): Call it via walk_stmts, set
	OMP_PARALLEL_COMBINED if appropriate.
	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
	don't consider it as combined parallel.

	* gcc.dg/gomp/pr32468-1.c: New test.

From-SVN: r126226
2007-07-02 21:22:47 +02:00
Richard Sandiford 15c723f39f configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
gcc/
	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
	(gcc_tooldir): Likewise.
	* configure: Regenerate.
	* Makefile.in (libsubdir_to_prefix): New variable, based on the
	old configure.ac gcc_tooldir setting.
	(prefix_to_exec_prefix): New variable.
	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.

From-SVN: r126225
2007-07-02 19:20:33 +00:00
Richard Sandiford 83cc1ba13d mips.exp (setup_mips_tests): Treat -mfp* as an ABI option.
gcc/testsuite/
	* gcc.target/mips/mips.exp (setup_mips_tests): Treat -mfp* as
	an ABI option.

From-SVN: r126223
2007-07-02 19:08:33 +00:00
Daniel Berlin f8b041959a Fix PR tree-optimization/32583 Fix PR tree-optimization/32584
2007-07-02  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/32583
	Fix PR tree-optimization/32584
	* tree-ssa-pre.c (phi_translate): Always pass seen bitmap.
	(phi_translate_set): Use phi_translate directly now.
	(make_values_for_stmt): Don't value number RHS if we already know
	it is constant.

From-SVN: r126222
2007-07-02 18:27:46 +00:00
Simon Baldwin 2a7b8343cb parser.c (cp_parser_elaborated_type_specifier): Added a warning for inner-style nested forward declarations that don't declare...
2007-07-02  Simon Baldwin  <simonb@google.com>

        * parser.c (cp_parser_elaborated_type_specifier): Added a warning
        for inner-style nested forward declarations that don't declare
        anything useful.

From-SVN: r126219
2007-07-02 17:57:57 +00:00
Ollie Wild d49343266b using16.C: Merge dg-errors with common line.
* g++.dg/lookup/using16.C: Merge dg-errors with common line.
	* g++.dg/lookup/using17.C: Merge dg-errors with common line.

From-SVN: r126218
2007-07-02 17:28:53 +00:00
Steve Ellcey 0574253001 re PR target/31684 (ICE in get_attr_first_insn, at config/ia64/itanium2.md:1839 at -O2)
PR target/31684
	* haifa-sched.c (add_to_speculative_block): Change copy_rtx to
	copy_insn.

Co-Authored-By: James E Wilson <wilson@specifixinc.com>

From-SVN: r126216
2007-07-02 17:15:35 +00:00
Uros Bizjak 312360e86e ChangeLog: Add following to my previous description:
* ChangeLog: Add following to my previous description:

        (if_convertible_loop_p): Clear aux field of incoming edges if bb
        contains phi node.

From-SVN: r126214
2007-07-02 17:15:39 +02:00
Richard Sandiford e12605764d mips-protos.h (mips16e_save_restore_info): New struct.
gcc/
2007-07-02  Sandra Loosemore  <sandra@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

	* config/mips/mips-protos.h (mips16e_save_restore_info): New struct.
	(mips16e_output_save_restore): Declare.
	(mips16e_save_restore_pattern_p): Likewise.
	* config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro.
	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8
	for GENERATE_MIPS16E_SAVE_RESTORE.  Return 0x400 for TARGET_MIPS16
	&& !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT.
	(BITSET_P): New global macro, extracted from...
	(mips_for_each_saved_reg): ...here.
	(mips16e_save_restore_info): New struct.
	(mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables.
	(mips16e_save_restore_regs): New variable.
	(mips_split_plus, mips16e_find_first_register): New functions.
	(mips16e_mask_registers): New function.
	(compute_frame_size): Expand the commentary before the function.
	Enforce the MIPS16e save and restore register range restrictions.
	Pad the general register save area at the low end.
	(mips16e_save_restore_reg, mips16e_build_save_restore)
	(mips16e_save_restore_pattern_p, mips16e_add_register_range)
	(mips16e_output_save_restore, mips16e_collect_propagate_value)
	(mips16e_collect_argument_save, mips16e_collect_argument_saves):
	New functions.
	(mips_expand_prologue, mips_expand_epilogue): Handle
	GENERATE_MIPS16E_SAVE_RESTORE.
	* config/mips/mips.md (*mips16e_save_restore): New pattern.

gcc/testsuite/
	* gcc.target/mips/save-restore-1.c: New test.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.

From-SVN: r126207
2007-07-02 14:37:15 +00:00
Uros Bizjak 8ad0217501 re PR tree-optimization/31966 (Miscompiles valid code with -ftree-vectorize)
PR tree-optimization/31966
	PR tree-optimization/32533
	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
	"basic_block" description as its third argument.  Update function
	calls to get destination bb from "edge" argument.  Save "cond" into
	aux field of the edge.  Update prototype for changed arguments.
	(find_phi_replacement_condition): Operate on incoming edges, not
	on predecessor blocks.  If there is a condition saved in the
	incoming edge aux field, AND it with incoming bb predicate.
	Return source bb of the first edge.
	(clean_predicate_lists): Clean aux field of outgoing node edges.
	(tree_if_conversion): Do not initialize cond variable. Move
	variable declaration into the loop.
	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
	initializations of new_stmt, arg0 and arg1 variables.

testsuite/ChangeLog:

	PR tree-optimization/31966
	PR tree-optimization/32533
	* gcc.dg/tree-ssa/pr31966.c: New runtime test.
	* gfortran.dg/pr32533.f90: Ditto.

From-SVN: r126206
2007-07-02 16:26:11 +02:00
Kenneth Zadeck bc90eb85d9 Fixed Changelog entry on unreverted patch.
From-SVN: r126205
2007-07-02 14:01:31 +00:00
Richard Biener 72ad03ef9f ChangeLog: Remove conflict marker, fix typo in date.
2007-07-02  Richard Guenther  <rguenther@suse.de>

	* testsuite/ChangeLog: Remove conflict marker, fix typo in date.

From-SVN: r126204
2007-07-02 13:29:57 +00:00
Jakub Jelinek 76dc15d453 re PR c++/31748 (bad diagnostic for invalid private clause)
PR c++/31748
	* semantics.c (finish_omp_clauses): Use %qD instead of %qE for
	DECL_P in not a variable and appears more than once error messages.

	* g++.dg/gomp/pr31748.C: New test.

From-SVN: r126201
2007-07-02 14:59:49 +02:00
Jakub Jelinek a2daf82cc2 tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p, SSA_NAMEs, RESULT_DECLs and PARM_DECLs.
* tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p,
	SSA_NAMEs, RESULT_DECLs and PARM_DECLs.

	* g++.dg/opt/nrv12.C: New test.
	* gcc.target/i386/nrv1.c: New test.

From-SVN: r126200
2007-07-02 14:57:22 +02:00
Richard Guenther 85b19f61bc tree-ssa.c (useless_type_conversion_p): Document future intent as defining the middle-end type system.
2007-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa.c (useless_type_conversion_p): Document
	future intent as defining the middle-end type system.
	Re-structure to call langhook last, group by type class,
	mark questionable parts.

From-SVN: r126199
2007-07-02 12:13:39 +00:00
Richard Guenther f4088621a5 re PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function)
2007-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (types_compatible_p): Declare.
	* tree-ssa.c (types_compatible_p): New function.
	* ipa-type-escape.c (discover_unique_type): Use
	types_compatible_p instead of lang_hooks.types_compatible_p.
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
	* tree-vn.c (expressions_equal_p): Likewise.
	* tree.c (fields_compatible_p): Likewise.
	* tree-ssa-dom.c (avail_expr_eq): Likewise.
	(cprop_operand): Use useless_type_conversion_p instead of
	lang_hooks.types_compatible_p.
	* tree-inline.c (setup_one_parameter): Likewise.
	(declare_return_variable): Likewise.
	* tree-nrv.c (tree_nrv): Likewise.
	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
	(maybe_fold_offset_to_component_ref): Likewise.
	(maybe_fold_offset_to_reference): Likewise.
	* tree-ssa-copy.c (may_propagate_copy): Likewise.
	(merge_alias_info): Likewise.
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
	* tree-ssa-phiopt.c (conditional_replacement): Likewise.
	* tree-ssa-reassoc.c (optimize_ops_list): Likewise.
	* tree-tailcall.c (find_tail_calls): Likewise.
	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
	* gimplify.c (canonicalize_addr_expr): Likewise.
	(fold_indirect_ref_rhs): Likewise.
	(gimplify_addr_expr): Likewise.  Swap parameters to cpt_same_type.
	(cpt_same_type): Likewise.
	(check_pointer_types_r): Swap parameters to cpt_same_type
	where appropriate.
	* fold-const.c (fold_convert): Revert fix for PR15988.
	* tree-inline.c (setup_one_parameter): Instead fix it here by
	using fold_build1 instead of fold_convert and checking for
	error_mark_node.  Convert only if the conversion is necessary.

From-SVN: r126198
2007-07-02 11:53:08 +00:00
Joseph Myers e51917ae36 configure.ac: Check for .gnu_attribute on Power.
* configure.ac: Check for .gnu_attribute on Power.
	* configure: Regenerate.
	* config/rs6000/rs6000.c (rs6000_file_start): If supported, output
	attribute for floating-point ABI.

From-SVN: r126197
2007-07-02 11:46:35 +01:00
Ira Rosen 3053ce4409 re PR tree-optimization/32230 (Segfault in set_bb_for_stmt with -O -ftree-vectorize)
PR tree-optimization/32230
	PR tree-optimization/32477
	* tree-vect-analyze.c (vect_analyze_data_refs): Fail if base
	address is a constant.

From-SVN: r126196
2007-07-02 10:27:27 +00:00
Richard Sandiford e2c14f5d51 gcc/
* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*)
	(mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*)
	(mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level
	stanzas.  Use the first part of the triplet to set MIPS_ISA_DEFAULT.
	Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the
	64-bit targets.  Add support for *-elfoabi*.
	* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use
	different settings if $(tm_defines) does not select the EABI.
	(MULTILIB_EXCLUSIONS): Define in those circumstances.
	* config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro.
	(MIPS_ARCH_OPTION_SPEC): Likewise.
	(MIPS_ISA_LEVEL_SPEC): Likewise.
	(OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC.
	* config/mips/elfoabi.h: New file.

From-SVN: r126195
2007-07-02 10:11:56 +00:00
Richard Guenther 36618b93d0 tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ...
2007-07-02  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ...
	(useless_type_conversion_p): ... this.
	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Rename to ...
	(useless_type_conversion_p): ... this.
	* builtins.c (fold_builtin_memory_op): Rename
	tree_ssa_useless_type_conversion_1 to useless_type_conversion_p.
	* tree-cfg.c (verify_expr): Likewise.
	* tree-ssa-address.c (tree_ssa_useless_type_conversion_1): Likewise.
	* tree-ssa-ccp.c (ccp_fold): Likewise.
	* tree-ssa-copy.c (may_propagate_copy): Likewise.
	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
	* tree-ssa-loop-niter.c (refine_bounds_using_guard): Likewise.
	* tree-ssa-pre.c (eliminate): Likewise.
	* tree-ssa.c (delete_tree_ssa): Likewise.
	(tree_ssa_useless_type_conversion): Likewise.
	* tree.c (build2_stat): Likewise.

From-SVN: r126194
2007-07-02 09:18:14 +00:00
Tobias Burnus c0eba481d5 gfortran.texi (Fortran 2003): Add ISO Bind C.
2007-07-02  Tobias Burnus  <burnus@net-b.de>

	* gfortran.texi (Fortran 2003): Add ISO Bind C.
	* intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
	C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.

From-SVN: r126192
2007-07-02 10:32:13 +02:00
Daniel Berlin 908bd465fc Add missing test from last commit
Fixup two existing C++ tests for SCCVN changes

From-SVN: r126187
2007-07-02 04:55:48 +00:00
Daniel Berlin 8b0a512570 re PR tree-optimization/32571 (ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1011)
2007-07-01  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/32571
	* tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid
	simplifying them.

From-SVN: r126186
2007-07-02 04:35:37 +00:00
Christopher D. Rickett a8b3b0b633 [multiple changes]
2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>

	* interface.c (gfc_compare_derived_types): Special case for comparing
	derived types across namespaces.
	(gfc_compare_types): Deal with BT_VOID.
	(compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
	* trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
	to SCALAR
	(gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and 
	NULL_FUNPTR.
	(gfc_conv_expr): Convert expressions for ISO C Binding derived types.
	* symbol.c (gfc_set_default_type): BIND(C) variables should not be
	implicitly declared.
	(check_conflict): Add BIND(C) and check for conflicts.
	(gfc_add_explicit_interface): Whitespace.	
	(gfc_add_is_bind_c): New function.  
	(gfc_copy_attr): Use it.
	(gfc_new_symbol): Initialize ISO C Binding objects.
	(get_iso_c_binding_dt):  New function.
	(verify_bind_c_derived_type): Ditto.
	(gen_special_c_interop_ptr): Ditto.
	(add_formal_arg): Ditto.
	(gen_cptr_param): Ditto.
	(gen_fptr_param): Ditto.
	(gen_shape_param): Ditto.
	(add_proc_interface): Ditto.
	(build_formal_args): Ditto.
	(generate_isocbinding_symbol):  Ditto.
	(get_iso_c_sym):  Ditto.
	* decl.c (num_idents_on_line, has_name_equals): New variables.
	(verify_c_interop_param): New function.
	(build_sym): Finish binding labels and deal with COMMON blocks.
	(add_init_expr_to_sym): Check if the initialized expression is
	an iso_c_binding named constants
	(variable_decl): Set ISO C Binding type_spec components.
	(gfc_match_kind_spec): Check match for C interoperable kind.
	(match_char_spec): Fix comment. Chnage gfc_match_small_int
	to gfc_match_small_int_expr.  Check for C interoperable kind.
	(match_type_spec): Clear the current binding label.
	(match_attr_spec): Add DECL_IS_BIND_C.  If BIND(C) is found, use it
	to set attributes.
	(set_binding_label): New function.
	(set_com_block_bind_c): Ditto.
	(verify_c_interop): Ditto.
	(verify_com_block_vars_c_interop): Ditto.
	(verify_bind_c_sym): Ditto.
	(set_verify_bind_c_sym): Ditto.
	(set_verify_bind_c_com_block): Ditto.
	(get_bind_c_idents): Ditto.
	(gfc_match_bind_c_stmt): Ditto.
	(gfc_match_data_decl): Use num_idents_on_line.
	(match_result): Deal with right paren in BIND(C).
	(gfc_match_suffix): New function.
	(gfc_match_function_decl): Use it.  Code is re-arranged to deal with
	ISO C Binding result clauses.
	(gfc_match_subroutine):  Deal with BIND(C).
 	(gfc_match_bind_c): New function.
	(gfc_get_type_attr_spec): New function.  Code is re-arranged in and
	taken from gfc_match_derived_decl.
	(gfc_match_derived_decl): Add check for BIND(C).
	* trans-common.c: Forward declare gfc_get_common.
	(gfc_sym_mangled_common_id): Change arg from 'const char *name' to
	'gfc_common_head *com'.  Check for ISO C Binding of the common block.
	(build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
	* gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
	(bt): Add BT_VOID
	(sym_flavor): Add FL_VOID.
 	(iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
	(CInteropKind_t): New struct.
	(c_interop_kinds_table): Use it.  Declare an array of structs.
	(symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
	bitfields.
	(gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
	(gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
	common_block members.
	(gfc_common_head): Add binding_label and is_bind_c members.
	(gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
	Add prototypes for get_c_kind, gfc_validate_c_kind, 
	gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
	verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
	verify_bind_c_derived_type, verify_com_block_vars_c_interop,
	generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
	* iso-c-binding.def: New file. This file contains the definitions
	of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
	module.
	* trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
	 or C_NULL_FUNPTR expressions.
	* expr.c (gfc_copy_expr): Add BT_VOID case.  For BT_CHARACTER, the
	ISO C Binding requires a minimum string length of 1 for '\0'.  
	* module.c (intmod_sym): New struct.
	(pointer_info): Add binding_label member.
	(write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
	(ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
	(attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
	(mio_symbol_attribute): Deal with ISO C Binding attributes.
	(bt_types): Add "VOID".
	(mio_typespec): Deal with ISO C Binding components.
	(mio_namespace_ref): Add intmod variable. 
	(mio_symbol): Check for symbols from an intrinsic module.
	(load_commons): Check for BIND(C) common block.
	(read_module): Read binding_label and use it.
	(write_common): Add label.  Write BIND(C) info.
	(write_blank_common): Blank commons are not BIND(C).  Explicitly
	set is_bind_c=0.
	(write_symbol): Deal with binding_label.
	(sort_iso_c_rename_list): New function.
	(import_iso_c_binding_module): Ditto.
	(create_int_parameter): Add to args.
	(use_iso_fortran_env_module): Adjust to deal with iso_c_binding
	intrinsic module.
	* trans-types.c (c_interop_kinds_table): new array of structs. 
	(gfc_validate_c_kind): New function.
	(gfc_check_any_c_kind): Ditto.
	(get_real_kind_from_node): Ditto.
	(get_int_kind_from_node): Ditto.
	(get_int_kind_from_width): Ditto.
	(get_int_kind_from_minimal_width): Ditto.
	(init_c_interop_kinds): Ditto.
	(gfc_init_kinds): call init_c_interop_kinds.
	(gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
	Adjust handling of BT_DERIVED.
	(gfc_sym_type): Whitespace.
	(gfc_get_derived_type):  Account for iso_c_binding derived types
	* resolve.c (is_scalar_expr_ptr): New function.
	(gfc_iso_c_func_interface): Ditto.
	(resolve_function): Use gfc_iso_c_func_interface. 
	(set_name_and_label): New function.
	(gfc_iso_c_sub_interface): Ditto.
	(resolve_specific_s0): Use gfc_iso_c_sub_interface.
	(resolve_bind_c_comms): New function.
	(resolve_bind_c_derived_types): Ditto.
	(gfc_verify_binding_labels): Ditto.
	(resolve_fl_procedure): Check for ISO C interoperability.
	(resolve_symbol): Check C interoperability.
	(resolve_types): Walk the namespace.  Check COMMON blocks.
	* trans-decl.c (gfc_sym_mangled_identifier):  Prevent the mangling
	of identifiers that have an assigned binding label.
	(gfc_sym_mangled_function_id): Use the binding label rather than
	the mangled name.
	(gfc_finish_var_decl): Put variables that are BIND(C) into a common
	segment of the object file, because this is what C would do.
	(gfc_create_module_variable): Conver to proper types
	(set_tree_decl_type_code): New function.
	(generate_local_decl): Check dummy variables and derived types for
	ISO C Binding attributes.
	* match.c (gfc_match_small_int_expr): New function.
	(gfc_match_name_C): Ditto.
	(match_common_name): Deal with ISO C Binding in COMMON blocks
	* trans-io.c (transfer_expr):  Deal with C_NULL_PTR or C_NULL_FUNPTR
	expressions
	* match.h: Add prototypes for gfc_match_small_int_expr,
	gfc_match_name_C, match_common_name, set_com_block_bind_c,
	set_binding_label, set_verify_bind_c_sym,
	set_verify_bind_c_com_block, get_bind_c_idents,
	gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
	gfc_get_type_attr_spec
	* parse.c (decode_statement): Use gfc_match_bind_c_stmt
	(parse_derived): Init *derived_sym = NULL, and gfc_current_block
	later for valiadation.
	* primary.c (got_delim): Set ISO C Binding components of ts.
	(match_logical_constant): Ditto.
	(match_complex_constant): Ditto.
	(match_complex_constant): Ditto.
	(gfc_match_rvalue): Check for existence of at least one arg for
	C_LOC, C_FUNLOC, and C_ASSOCIATED.
	* misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
	(get_c_kind): New function.

2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>

	* Makefile.in: Add support for iso_c_generated_procs.c and
	iso_c_binding.c.
	* Makefile.am: Ditto.
	* intrinsics/iso_c_generated_procs.c: New file containing helper
	functions.
	* intrinsics/iso_c_binding.c: Ditto.
	* intrinsics/iso_c_binding.h: New file
	* gfortran.map: Include the __iso_c_binding_c_* functions.
	* libgfortran.h: define GFC_NUM_RANK_BITS.

2007-06-23  Christopher D. Rickett  <crickett@lanl.gov>

	* bind_c_array_params.f03: New files for Fortran 2003 ISO C Binding.
	* bind_c_coms.f90: Ditto.
	* bind_c_coms_driver.c: Ditto.
	* bind_c_dts.f90: Ditto.
	* bind_c_dts_2.f03: Ditto.
	* bind_c_dts_2_driver.c: Ditto.
	* bind_c_dts_3.f03: Ditto.
	* bind_c_dts_4.f03: Ditto.
	* bind_c_dts_driver.c: Ditto.
	* bind_c_implicit_vars.f03: Ditto.
	* bind_c_procs.f03: Ditto.
	* bind_c_usage_2.f03: Ditto.
	* bind_c_usage_3.f03: Ditto.
	* bind_c_usage_5.f03: Ditto.
	* bind_c_usage_6.f03: Ditto.
	* bind_c_usage_7.f03: Ditto.
	* bind_c_vars.f90: Ditto.
	* bind_c_vars_driver.c: Ditto.
	* binding_c_table_15_1.f03: Ditto.
	* binding_label_tests.f03: Ditto.
	* binding_label_tests_10.f03: Ditto.
	* binding_label_tests_10_main.f03: Ditto.
	* binding_label_tests_11.f03: Ditto.
	* binding_label_tests_11_main.f03: Ditto.
	* binding_label_tests_12.f03: Ditto.
	* binding_label_tests_13.f03: Ditto.
	* binding_label_tests_13_main.f03: Ditto.
	* binding_label_tests_14.f03: Ditto.
	* binding_label_tests_2.f03: Ditto.
	* binding_label_tests_3.f03: Ditto.
	* binding_label_tests_4.f03: Ditto.
	* binding_label_tests_5.f03: Ditto.
	* binding_label_tests_6.f03: Ditto.
	* binding_label_tests_7.f03: Ditto.
	* binding_label_tests_8.f03: Ditto.
	* binding_label_tests_9.f03: Ditto.
	* c_assoc.f90: Ditto.
	* c_assoc_2.f03: Ditto.
	* c_f_pointer_shape_test.f90: Ditto.
	* c_f_pointer_tests.f90: Ditto.
	* c_f_tests_driver.c: Ditto.
	* c_funloc_tests.f03: Ditto.
	* c_funloc_tests_2.f03: Ditto.
	* c_funloc_tests_3.f03: Ditto.
	* c_funloc_tests_3_funcs.c: Ditto.
	* c_kind_params.f90: Ditto.
	* c_kind_tests_2.f03: Ditto.
	* c_kinds.c: Ditto.
	* c_loc_driver.c: Ditto.
	* c_loc_test.f90: Ditto.
	* c_loc_tests_2.f03: Ditto.
	* c_loc_tests_2_funcs.c: Ditto.
	* c_loc_tests_3.f03: Ditto.
	* c_loc_tests_4.f03: Ditto.
	* c_loc_tests_5.f03: Ditto.
	* c_loc_tests_6.f03: Ditto.
	* c_loc_tests_7.f03: Ditto.
	* c_loc_tests_8.f03: Ditto.
	* c_ptr_tests.f03: Ditto.
	* c_ptr_tests_10.f03: Ditto.
	* c_ptr_tests_5.f03: Ditto.
	* c_ptr_tests_7.f03: Ditto.
	* c_ptr_tests_7_driver.c: Ditto.
	* c_ptr_tests_8.f03: Ditto.
	* c_ptr_tests_8_funcs.c: Ditto.
	* c_ptr_tests_9.f03: Ditto.
	* c_ptr_tests_driver.c: Ditto.
	* c_size_t_driver.c: Ditto.
	* c_size_t_test.f03: Ditto.
	* com_block_driver.f90: Ditto.
	* global_vars_c_init.f90: Ditto.
	* global_vars_c_init_driver.c: Ditto.
	* global_vars_f90_init.f90: Ditto.
	* global_vars_f90_init_driver.c: Ditto.
	* interop_params.f03: Ditto.
	* iso_c_binding_only.f03: Ditto.
	* iso_c_binding_rename_1.f03: Ditto.
	* iso_c_binding_rename_1_driver.c: Ditto.
	* iso_c_binding_rename_2.f03: Ditto.
	* iso_c_binding_rename_2_driver.c: Ditto.
	* kind_tests_2.f03: Ditto.
	* kind_tests_3.f03: Ditto.
	* module_md5_1.f90: Ditto.
	* only_clause_main.c: Ditto.
	* print_c_kinds.f90: Ditto.
	* test_bind_c_parens.f03: Ditto.
	* test_c_assoc.c: Ditto.
	* test_com_block.f90: Ditto.
	* test_common_binding_labels.f03: Ditto.
	* test_common_binding_labels_2.f03: Ditto.
	* test_common_binding_labels_2_main.f03: Ditto.
	* test_common_binding_labels_3.f03: Ditto.
	* test_common_binding_labels_3_main.f03: Ditto.
	* test_only_clause.f90: Ditto.
	* use_iso_c_binding.f90: Ditto.
	* value_5.f90: Ditto.
	* value_test.f90: Ditto.
	* value_tests_f03.f90: Ditto.

From-SVN: r126185
2007-07-02 02:47:21 +00:00
GCC Administrator a7141b79ec Daily bump.
From-SVN: r126182
2007-07-02 00:17:06 +00:00
Daniel Berlin 4794afa5e0 tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants and ohter expected operations explicitly...
2007-07-01  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants
	and ohter expected operations explicitly, change default to
	gcc_unreachable.

From-SVN: r126179
2007-07-01 23:41:38 +00:00
Daniel Jacobowitz 10ae7c7b78 arm.c (arm_cannot_copy_insn_p): Do not expect a PARALLEL.
* config/arm/arm.c (arm_cannot_copy_insn_p): Do not expect a
	PARALLEL.
	* config/arm/arm.md (pic_add_dot_plus_four, pic_add_dot_plus_eight)
	(tls_load_dot_plus_eight): Move the label number into the unspec.
	* config/arm/thumb2.md (pic_load_dot_plus_four): Likewise.

	* gcc.dg/tls/opt-14.c: New.

From-SVN: r126178
2007-07-01 21:15:14 +00:00
Ollie Wild af92ab368a name-lookup.c (ambiguous_decl): Fix case when new->value is hidden.
* name-lookup.c (ambiguous_decl): Fix case when new->value is hidden.
	(select_decl): Remove function.
	(unqualified_namespace_lookup): Populate binding by calling
	ambiguous_decl.  Remove select_decl call.
	(lookup_qualified_name): Remove select_decl call.
	* decl.c (lookup_and_check_tag): Check for ambiguous references.
	* parser.c (cp_parser_elaborated_type_specifier): Skip redundant error
	generation when name lookup is ambiguous.

	* g++.dg/lookup/using16.C: New test.
	* g++.dg/lookup/using17.C: New test.

From-SVN: r126177
2007-07-01 20:49:29 +00:00
Janne Blomqvist 31c97dfe34 re PR fortran/32239 (optimize power in loops, use __builtin_powi instead of _gfortran_pow_r4_i4)
gcc/fortran:
	
2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* trans-expr.c (gfc_conv_power_op): Use builtin_powi for
	real**int4 powers.
	* f95-lang.c (gfc_init_builtin_functions): Add builtin_powi to the
	builtins table.

	
libgfortran:
	
2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* Makefile.am: Don't generate real**int4 pow functions.
	* gfortran.map: Remove real**int4 pow symbols.
	* Makefile.in: Regenerated.

testsuite

2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* gfortran.fortran-torture/execute/intrinsic_fraction_exponent.f90
	(test_4): Use proper test for floating point equality.
	(test_8): Likewise.

From-SVN: r126175
2007-07-01 19:24:38 +03:00
Jerry DeLisle c7b6844eb5 re PR fortran/32554 ([4.2 Only] Bug in P formatting)
2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32554
	* gfortran.dg/fmt_p_1.f90: New test.

From-SVN: r126174
2007-07-01 15:49:37 +00:00
Andreas Schwab 36bd43039b * dwarf2out.c (initial_return_save): Define only if used.
From-SVN: r126170
2007-07-01 15:28:34 +00:00
Richard Sandiford d4d7f1d1bb [multiple changes]
2007-07-01  Richard Sandiford  <richard@codesourcery.com>

	Unreverting Richard's Revert of:

	2007-06-27  Richard Sandiford  <richard@codesourcery.com>

	* dce.c (deletable_insn_p_1): New function, split out from...
	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
	specially, not those inside PARALLELs.  Remove BODY argument
	and adjust recursive call accordingly.
	(prescan_insns_for_dce): Update call to delete_insn_p.

From-SVN: r126168
2007-07-01 14:43:47 +00:00
Vladimir Yanovsky 7ee1ad8483 Fix missed initialization of scc_nodes.
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r126167
2007-07-01 14:03:51 +00:00
Janne Blomqvist a6bd380438 fortran frontend:
2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans.h: Remove decls for 64-bit allocation functions.
	* trans-array.c (gfc_grow_array): Always pick the standard realloc
	function decl.
	(gfc_array_allocate): Likewise.
	* trans-decl.c: Remove trees for 64-bit allocation functions.
	(gfc_build_builtin_function_decls): Don't build fndecls for 64-bit
	allocations functions, use index_int_type for normal allocation
	functions.

libgfortran changelog:

2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* runtime/memory.c (internal_realloc): Use index_type for size
	argument instead of GFC_INTEGER_4.
	(allocate_array): Likewise.
	(allocate): Likewise, add ifdef around unnecessary check.
	(internal_reallo64): Remove.
	(allocate_array64): Remove.
	(allocate64): Remove.
	* gfortran.map: Remove symbols for 64-bit allocation functions.

From-SVN: r126166
2007-07-01 15:08:59 +03:00
Ira Rosen c67e4bcd9f vect-strided-store-u16-i4.c: Remove abort() from input initialization and fix dg-final check - the...
* gcc.dg/vect/vect-strided-store-u16-i4.c: Remove abort() from input
	initialization and fix dg-final check - the initialization loop is
	vectorizable.

From-SVN: r126165
2007-07-01 11:52:45 +00:00
Uros Bizjak c22f6d33be re PR middle-end/32559 (ICE with vector arithmetic)
PR middle-end/32559
        * fold-const.c (fold-binary) [PLUS_EXPR]: Convert ~X + X to 1 or
        X + ~X to 1 only for INTEGRAL_TYPE_P type.

testsuite/ChangeLog:

        PR middle-end/32559
        * gcc.dg/pr32559.c: New test.

From-SVN: r126164
2007-07-01 12:38:03 +02:00
Uros Bizjak 344c77be01 re PR tree-optimization/25371 (-ftree-vectorize results in internal compiler error on AMD64)
PR tree-optimization/25371
       * gcc.dg/vect/pr25371.c: New test.

From-SVN: r126163
2007-07-01 12:30:31 +02:00
Daniel Berlin b941a8ae18 tree-ssa-pre.c (is_exception_related): New function
2007-06-30  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (is_exception_related): New function
	(can_value_number_operation): Use it.

From-SVN: r126162
2007-07-01 02:20:06 +00:00
GCC Administrator c0333e3dca Daily bump.
From-SVN: r126160
2007-07-01 00:17:08 +00:00
Joseph Myers dcb957d9dc configure.ac: Check for .gnu_attribute on MIPS.
* configure.ac: Check for .gnu_attribute on MIPS.
	* configure, config.in: Regenerate.
	* config/mips/mips.c (mips_file_start): If supported, output
	attribute for floating-point ABI.

From-SVN: r126157
2007-06-30 23:01:30 +01:00
Nathan Froyd 81c3e25a40 20051113-1.c (main): Use the correct type when allocating and initializing a flexible array.
* gcc.c-torture/execute/20051113-1.c (main): Use the correct type
	when allocating and initializing a flexible array.

From-SVN: r126156
2007-06-30 17:40:45 +00:00
Uros Bizjak 08024fb584 re PR target/32433 (Code for __builtin_ffs does not benefit from compiler optimizations)
PR target/32433
        * config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
        (ffs_cmove): New expander to expand using ctz pattern.
        (*ffs_cmove): Remove pattern.
        (*ffs_no_cmove): Enable only for !TARGET_CMOVE.
        (ffsdi2): Expand using ctz pattern.
        (*ffs_rex64): Remove pattern.

From-SVN: r126154
2007-06-30 19:05:49 +02:00
Daniel Franke eb2c598d55 re PR fortran/20373 (INTRINSIC symbols can be given the wrong type)
gcc/fortran:
2007-06-30  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/20373
	* intrinsic.c (add_functions): Additional function types.
	(gfc_convert_type_warn): Remove intrinsic-flag from conversion
	functions.
	* resolve.c (resolve_symbol): Added type checks to explicitly defined
	intrinsics.

gcc/testsuite:
2007-06-28  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/20373
	* gfortran.dg/intrinsic.f90: New test.

From-SVN: r126153
2007-06-30 12:26:55 -04:00
Tobias Burnus df5be068b2 re PR fortran/32555 (Miscompilation of NIST testsuite)
2007-06-30  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32555
	* io.c (check_format): Allow zero to precede the
	P edit descriptor.

2007-06-30  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32555
	* gfortran.dg/fmt_zero_check.f90: New.

From-SVN: r126152
2007-06-30 18:01:25 +02:00
John David Anglin b2e8326644 Fix last ChangeLog entry.
From-SVN: r126151
2007-06-30 15:17:27 +00:00
John David Anglin 62a5396890 pa.md (return): Delete pattern.
rtl-optimization/32296
	* pa.md (return): Delete pattern.
	(return_internal): Remove "(const_int 1)" from pattern.
	(epilogue): Use return_internal pattern for trivial returns.
	* pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
	* pa.c (hppa_can_use_return_insn_p): Delete function.  Include "df.h".

From-SVN: r126150
2007-06-30 14:26:18 +00:00
Daniel Berlin 89fb70a345 Fix PR tree-optimization/32540 Fix PR tree-optimization/31651
2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
	
	Fix PR tree-optimization/32540
	Fix PR tree-optimization/31651

	* tree-ssa-sccvn.c: New file.

	* tree-ssa-sccvn.h: Ditto.
	
	* tree-vn.c: Include tree-ssa-sccvn.h
	(val_expr_paid_d): Removed.
	(value_table): Ditto.
	(vn_compute): Ditto.
	(val_expr_pair_hash): Ditto.
	(val_expr_pair_expr_eq): Ditto.
	(copy_vuses_from_stmt): Ditto.
	(vn_delete): Ditto.
	(vn_init): Ditto.
	(shared_vuses_from_stmt): Ditto.
	(print_creation_to_file): Moved up.
	(sort_vuses): Ditto.
	(sort_vuses_heap): Ditto.
	(set_value_handle): Make non-static.
	(make_value_handle): Ditto.
	(vn_add): Rewritten to use sccvn lookups.
	(vn_add_with_vuses): Ditto.
	(vn_lookup): Ditto (and second argument removed).
	(vn_lookup_with_vuses): Ditto.
	(vn_lookup_or_add): Ditto (and second argument removed);
	(vn_lookup_or_add_with_vuses): Ditto.
	(vn_lookup_with_stmt): New.
	(vn_lookup_or_add_with_stmt): Ditto.
	(create_value_handle_for_expr): Ditto.

	* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
	(seen_during_translate): New function.
	(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
	(phi_trans_add): Ditto.
	(constant_expr_p): FIELD_DECL is always constant.
	(phi_translate_1): Renamed from phi_translate, add seen bitmap.
	Use constant_expr_p.
	Avoid infinite recursion on mutually valued expressions.
	Change callers of vn_lookup_or_add.
	(phi_translate): New function.
	(compute_antic_safe): Allow phi nodes.
	(create_component_ref_by_pieces): Update for FIELD_DECL change.
	(find_or_generate_expression): Rewrite slightly.
	(create_expression_by_pieces): Updated for vn_lookup_or_add
	change.
	Update VN_INFO for new names.
	(insert_into_preds_of_block): Update for new names.
	(add_to_exp_gen): New function.
	(add_to_sets): Use vn_lookup_or_add_with_stmt.
	(find_existing_value_expr): Rewrite to changed vn_lookup.
	(create_value_expr_from): Ditto, and use add_to_exp_gen.
	(try_look_through_load): Removed.
	(try_combine_conversion): Ditto.
	(get_sccvn_value): New function.
	(make_values_for_phi): Ditto.
	(make_values_for_stmt): Ditto.
	(compute_avail): Rewritten for vn_lookup_or_add changes and to use
	SCCVN.
	(init_pre): Update for SCCVN changes.
	(fini_pre): Ditto.
	(execute_pre): Ditto.

	* tree-flow.h (make_value_handle): Declare.
	(set_value_handle): Ditto.
	(sort_vuses_heap): Ditto.
	(vn_lookup_or_add_with_stmt): Ditto.
	(vn_lookup_with_stmt): Ditto.
	(vn_compute): Remove.
	(vn_init): Ditto.
	(vn_delete): Ditto.
	(vn_lookup): Update arguments.

	* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
	(tree-vn.o): Ditto.
	(tree-ssa-sccvn.o): New.
	(OBJS-common): Add tree-ssa-sccvn.o

From-SVN: r126149
2007-06-30 14:15:26 +00:00
Paul Thomas 11147af397 re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter)
2007-06-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32472
	* simplify.c (gfc_simplify_repeat): Add handling of character
	literal for first argument.

2007-06-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30284
	* gfortran.dg/repeat_f90: New test.

From-SVN: r126148
2007-06-30 13:09:14 +00:00
Paul Thomas 64f4bedf7e re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter)
2007-06-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32472
	* simplify.c (gfc_simplify_repeat): Add handling of character
	literal for first argument.

2007-06-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30284
	* gfortran.dg/repeat_f90: New test.

From-SVN: r126147
2007-06-30 13:08:19 +00:00
Manuel López-Ibáñez 1760a1a86b re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR testsuite/25241
testsuite/
	* gcc.dg/cpp/20000625-1.c: Without dg-options the default is
	-pedantic-errors, so we should match errors.
	* gcc.dg/cpp/escape-1.c: Likewise.
	* gcc.dg/cpp/charconst.c: Empty character constants are errors.
	* gcc.dg/cpp/direct2.c: This is a mandatory error instead of a
	warning.
	* gcc.dg/cpp/endif-pedantic2.c: Use -pedantic-errors to obtain
	errors instead of warnings.
	* gcc.dg/cpp/extratokens.c: Use dg-warning instead of dg-error for
	a pedantic warning.
	* gcc.dg/cpp/arith-3.c: Likewise.

From-SVN: r126146
2007-06-30 13:06:45 +00:00
Manuel López-Ibáñez 72eb00bc31 re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR testsuite/25241
testsuite/
	* gcc.dg/pch/valid-1.c: Match each diagnostic with its own directive.
	* gcc.dg/pch/valid-2.c: Likewise.
	* gcc.dg/pch/valid-3.c: Likewise.
	* gcc.dg/pch/warn-1.c: Likewise.
	* gcc.dg/pch/valid-4.c: Match a warning instead of an error.

From-SVN: r126145
2007-06-30 13:02:48 +00:00
Manuel López-Ibáñez ad960f56f2 re PR c/4076 (-Wunused doesn't warn about static function only called by itself.)
2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/4076
	* c-typeck.c (build_external_ref): Don't mark as used if called
	from itself.
	* calls.c (rtx_for_function_call): Likewise.

testsuite/
	* gcc.dg/Wunused-function.c: New.

From-SVN: r126144
2007-06-30 12:56:43 +00:00
Richard Sandiford a4fbe84bd2 revert: dce.c (deletable_insn_p_1): New function, split out from...
gcc/
	Revert:

	2007-06-27  Richard Sandiford  <richard@codesourcery.com>

	* dce.c (deletable_insn_p_1): New function, split out from...
	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
	specially, not those inside PARALLELs.  Remove BODY argument
	and adjust recursive call accordingly.
	(prescan_insns_for_dce): Update call to delete_insn_p.

From-SVN: r126143
2007-06-30 12:23:18 +00:00
Rask Ingemann Lambertsen 9d35384d74 combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
* combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
	(try_combine): Move potential calls to undo_all() so they happen
	before we commit to using the combined insns.

From-SVN: r126142
2007-06-30 11:28:57 +00:00
Jan Hubicka 2ed2257828 loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit code.
* loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit    
	code.

From-SVN: r126141
2007-06-30 11:16:33 +00:00
Thomas Neumann c5274326e0 ipa.c (cgraph_postorder): Cast according to the coding conventions.
* ipa.c (cgraph_postorder): Cast according to the coding conventions.
	(cgraph_remove_unreachable_nodes): Likewise.
	* ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
	* ipa-inline.c (update_caller_keys): Cast according to the coding
	conventions.
	(cgraph_decide_recursive_inlining): Likewise.
	(cgraph_decide_inlining_of_small_function): Likewise.
	(try_inline): Likewise.
	(cgraph_decide_inlining_incrementally): Likewise.
	* ipa-pure-const.c (get_function_state): Likewise.
	(scan_function): Likewise.
	(analyze_function): Likewise.
 	(static_execute): Likewise.
	* gcc/ipa-reference.c (scan_for_static_refs): Likewise.
	(merge_callee_local_info): Likewise.
	(analyze_function): Use type safe memory macros.
	(static_execute): Likewise. Cast according to the coding conventions.
	* ipa-type-escape.c (scan_for_regs): Cast according to the coding
	conventions.
	* ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
	names.
	(ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
	* ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
	variable names.

From-SVN: r126140
2007-06-30 10:52:30 +00:00
Andrew Pinski 23512eb32c Add forgotten PR number to the last changelog entry:
2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30024
        * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
        for complex modes (both int and real).

From-SVN: r126137
2007-06-29 19:21:57 -07:00
Andrew Pinski e90721b110 emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] for complex modes (both int and real).
2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
        for complex modes (both int and real).

From-SVN: r126136
2007-06-29 19:20:25 -07:00
GCC Administrator eb51830fcd Daily bump.
From-SVN: r126134
2007-06-30 00:17:04 +00:00
Jerry DeLisle 066a368f63 inline_1.f90: Fix test.
2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.fortran-torture/compile/inline_1.f90: Fix test.

From-SVN: r126131
2007-06-29 23:29:41 +00:00
Jan Hubicka 874d7c2f29 * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change.
From-SVN: r126130
2007-06-29 23:18:16 +00:00
Doug Gregor bfa8d90b86 re PR c++/31724 (More "same canonical type node" fun)
2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31724
	* init.c (build_new_1): Use structural equality on the copy of the
	array type.

2007-06-29  Douglas Gregor  <doug.gregor@gmail.com>

	* g++.dg/other/canon-31724.C: New.

From-SVN: r126124
2007-06-29 20:21:41 +00:00
Jan Hubicka acff804059 re PR rtl-optimization/32372 (ICE in df_refs_verify, at df-scan.c:4065)
PR middle-end/32372
	* cse.c (cse_insn): Avoid invalid sharing in between register note and
	the insn pattern.

From-SVN: r126122
2007-06-29 20:13:41 +00:00
Anatoly Sokolov 4e63b362a7 re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
PR target/32335
	* config/avr/avr.c: Include dataflow header file.
	(expand_prologue): Adjust for prologue insn change.
	* config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
	inside a insn.

From-SVN: r126121
2007-06-30 00:05:56 +04:00
Daniel Franke 622af87fc8 re PR fortran/31580 (Better error message for not-found operator)
gcc/fortran:
2007-06-29  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31580
        * resolve.c (resolve_operator): Added check whether a user 
	defined operator is available.

gcc/testsuite:
2007-06-29  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/31580
	* gfortran.dg/operator_3.f90: New test.

From-SVN: r126117
2007-06-29 15:05:58 -04:00
Daniel Franke bc3d41534a Missing ChangeLogs for revision 126115.
From-SVN: r126116
2007-06-29 14:32:24 -04:00
Daniel Franke cd079a1b76 openmp.c (resolve_omp_clauses): Adjust error message to better reflect the actual requirement.
gcc/fortran:
2007-06-29  Daniel Franke <franke.daniel@gmail.com>

        * openmp.c (resolve_omp_clauses): Adjust error message to
        better reflect the actual requirement.

gcc/testsuite:
2007-06-29  Daniel Franke  <franke.daniel@gmail.com>

        * gfortran.dg/gomp/reduction1.f90: Adjust error message.
        * gfortran.dg/gomp/allocatable_components_1.f90: Likewise.

From-SVN: r126115
2007-06-29 12:58:56 -04:00
Daniel Jacobowitz 8edd82f2b3 Correct date.
From-SVN: r126114
2007-06-29 14:28:19 +00:00
Richard Guenther 42f6e2ec11 re PR middle-end/32493 (Fails to inline varargs function with unused arguments)
2006-06-29  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32493
	* gimplify.c (gimplify_call_expr): Ignore variable argument parts
	during type verification.

	* gcc.dg/inline-23.c: New testcase.

From-SVN: r126113
2007-06-29 13:43:10 +00:00
Jan Hubicka 29fbecf33f * recog.c (validate_change_rtx_1): Unshare TO argument.
From-SVN: r126112
2007-06-29 10:41:48 +00:00
Uros Bizjak b40c4f6816 re PR tree-optimization/24659 (Conversions are not vectorized)
PR tree-optimization/24659
	* tree-vect-transform.c (vectorizable_call): Handle
	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.

	* config/i386/sse.md (vec_pack_sfix_v2df): New expander.
	* config/i386/i386.c (enum ix86_builtins)
	[IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
	(struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
	description.
	(ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
	const using def_builtin_const.
	(ix86_expand_binop_builtin): Remove bogus assert() that insn wants
	input operands in the same modes as the result.
	(ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.

testsuite/ChangeLog:

	PR tree-optimization/24659
	* gcc.target/i386/vectorize2.c: New test.
	* gcc.target/i386/sse2-lrint-vec.c: New runtime test.
	* gcc.target/i386/sse2-lrintf-vec.c: Ditto.

From-SVN: r126111
2007-06-29 12:30:06 +02:00
Tobias Burnus 690f48b1b4 (forgot svn add in the previous commit)
2007-06-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/32483
        * gfortran.dg/fmt_read_2.f90: New.

From-SVN: r126110
2007-06-29 12:05:11 +02:00
Richard Sandiford 27178277a3 df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
gcc/
	* df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
	(df_set_dead_notes_for_mw): Likewise.

From-SVN: r126109
2007-06-29 07:05:23 +00:00
Eric Botcazou 280f1ffa27 c-common.c (pointer_int_sum): Do the negation in sizetype.
* c-common.c (pointer_int_sum): Do the negation in sizetype.

From-SVN: r126108
2007-06-29 06:11:17 +00:00
Tobias Burnus e444a887ab re PR fortran/32483 (edit descriptor checking: Compile-time check for zero width for reading)
2007-06-29  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32483
	* io.c (format_lex): Fix FMT_ZERO.
	(check_format,check_format_string,gfc_match_format,
	check_io_constraints) Additional checking for READ.

2007-06-29  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32483
	* gfortran.dg/fmt_read_2.f90: New.

From-SVN: r126107
2007-06-29 08:03:05 +02:00
Jerry DeLisle d7505f4646 open_errors.f90: Check for existance of temptestfile.
2007-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* gfortran.dg/open_errors.f90: Check for existance of temptestfile.
	If it exists, don't try to create it.

From-SVN: r126105
2007-06-29 05:38:45 +00:00
GCC Administrator fcd9fa1fd1 Daily bump.
From-SVN: r126101
2007-06-29 00:17:15 +00:00
Geoffrey Keating e301e2c4c2 Fix typo.
From-SVN: r126093
2007-06-28 20:29:25 +00:00
DJ Delorie 58ef0ffacc * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
From-SVN: r126092
2007-06-28 16:26:19 -04:00
Geoffrey Keating ddbfd28de9 Index: gcc/ChangeLog
2007-06-21  Geoffrey Keating  <geoffk@apple.com>

	* doc/invoke.texi (C++ Dialect Options): Document
	fvisibility-ms-compat.
	* c.opt (fvisibility-ms-compat): New.

Index: gcc/cp/ChangeLog
2007-06-21  Geoffrey Keating  <geoffk@apple.com>

	* decl2.c (determine_visibility): Implement
	flag_visibility_ms_compat effect on type info.
	* decl.c (cxx_init_decl_processing): Implement
	global effect of flag_visibility_ms_compat.

Index: gcc/testsuite/ChangeLog
2007-06-26  Geoffrey Keating  <geoffk@apple.com>

	* g++.dg/ext/visibility/ms-compat-1.C: New.

From-SVN: r126088
2007-06-28 19:31:45 +00:00
Andrew Pinski f46fe0e64c re PR middle-end/32417 (416.gamess ICEs (in aff_combination_add_elt, tree-affine.c))
2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32417
        * tree-affine.c (aff_combination_add_elt): Handle
        pointer addition specially.

2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32417
        * gfortran.fortran-torture/compile/pr32417.f90: New test.

From-SVN: r126082
2007-06-28 12:03:49 -07:00
Geoffrey Keating 32d4913401 decl2.c (start_objects): Mark constructor-runnning function as artificial.
* decl2.c (start_objects): Mark constructor-runnning function
	as artificial.

From-SVN: r126080
2007-06-28 18:31:53 +00:00
Jakub Jelinek 8aa19d9599 [multiple changes]
2007-06-28  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
	decl is non-external for AIX ABI.

2007-06-28  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/predicates.md (current_file_function_operand):
	Ensure the symbol is non-external for AIX ABI.

From-SVN: r126076
2007-06-28 13:28:13 +02:00
Dorit Nuzman f803eba859 * gcc.dg/vect/vect-iv-4.c: Test now passes on vect_pack_trunc targets
From-SVN: r126075
2007-06-28 09:54:41 +00:00
Nick Clifton 6ae4be32f1 common.opt (fipa-matrix-reorg): Add Optimization attribute.
* common.opt (fipa-matrix-reorg): Add Optimization attribute.
  (fdce, fdse, fpredictive-commoning): Likewise.

From-SVN: r126073
2007-06-28 09:30:57 +00:00
GCC Administrator f406aea57d Daily bump.
From-SVN: r126071
2007-06-28 00:17:21 +00:00
Francois-Xavier Coudert 86db887aa6 re PR other/31400 (enable static linking of support libraries through -static-libXY)
PR other/31400

	* gcc.c (process_command): Recognize the new -static-libgfortran
	option.

	* lang.opt (static-libgfortran): New option.
	* gfortranspec.c (ADD_ARG_LIBGFORTRAN): New macro.
	(Option): Add OPTION_static and OPTION_static_libgfortran.
	(lookup_option): Handle the new -static-libgfortran option.
	(lang_specific_driver): Check whether -static is passed.
	Handle the new -static-libgfortran option.
	* options.c (gfc_handle_option): If -static-libgfortran is
	passed and isn't supported on this configuration, error out.

From-SVN: r126068
2007-06-27 22:58:37 +00:00
Rask Ingemann Lambertsen 99920b6fbb re PR target/32418 (ICE in global_alloc, at global.c:514)
2007-06-27  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32418
	* config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix:
	Use a call clobbered hard reg instead of a pseudo reg.

From-SVN: r126067
2007-06-27 22:23:35 +00:00
Kaz Kojima 2c19a53652 sh.md (load_gbr): Use correct operand constraint.
* config/sh/sh.md (load_gbr): Use correct operand constraint.

From-SVN: r126066
2007-06-27 22:18:59 +00:00
Kaz Kojima ba56ed6517 re PR target/32479 ([sh] ICE in cse_extended_basic_block, at cse.c:6117)
PR target/32479
	* config/sh/sh.md (udivsi3): Don't wrap the sequence with
	REG_LIBCALL and REG_RETVAL notes.
	(divsi3, mulsi3): Likewise.
	(mulhisi3): Likewise.  Use emit_libcall_block.
	(umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise.

From-SVN: r126065
2007-06-27 21:40:19 +00:00
Daniel Franke 24189c587c re PR fortran/32467 (structure containing allocatable array is accepted in COPYIN clause)
gcc/fortran:
2007-06-24  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/32467
	* openmp.c (resolve_omp_clauses): Emit error on allocatable components 
	in COPYIN, COPYPRIVATE, FIRSTPRIVATE and LASTPRIVATE clauses.

gcc/testsuite:
2007-06-24  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/32467
        * gfortran.dg/gomp/allocatable_components_1.f90: New test.

From-SVN: r126063
2007-06-27 16:02:31 -04:00
Eric Botcazou 20de4d9913 Fix nits.
From-SVN: r126062
2007-06-27 19:56:56 +00:00
Seongbae Park 531ba5d285 re PR target/32481 (ICE in df_refs_verify, at df-scan.c:4058)
2007-06-27  Seongbae Park  <seongbae.park@gmail.com>

	PR rtl-optimization/32481
	* combine.c (adjust_for_new_dest): Rescan the changed insn.

From-SVN: r126058
2007-06-27 18:17:15 +00:00
Richard Sandiford b40b217257 dce.c (deletable_insn_p_1): New function, split out from...
gcc/
	* dce.c (deletable_insn_p_1): New function, split out from...
	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
	specially, not those inside PARALLELs.  Remove BODY argument
	and adjust recursive call accordingly.
	(prescan_insns_for_dce): Update call to delete_insn_p.

From-SVN: r126056
2007-06-27 14:37:05 +00:00
Richard Guenther 3b35764639 re PR middle-end/32492 (attribute always_inline -> sorry, unimplemented: recursive inlining)
2007-06-27  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32492
	* tree.h (fold_convertible_p): Declare.
	* fold-const.c (fold_convertible_p): New function.
	* gimplify.c (gimplify_call_expr): Use fold_convertible_p
	instead of lang_hooks.types_compatible_p.

	* gcc.dg/inline-22.c: New testcase.

From-SVN: r126054
2007-06-27 14:01:27 +00:00
Jan Hubicka 95e88efd10 fwprop.c (try_fwprop_subst): Use validate_unshare_change.
* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
	* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
	early use validate_unshare_change.
	(reload_combine): Likewise.
	* recog.c (change_t): New field unshare.
	(validate_change_1): Rename from validate_change; add argument unshare.
	(validate_change): Turn into wrapper of validate_change_1; update
	prototype for bools.
	(validate_unshare_change): New.
	(confirm_change_group): Unshare changes if asked for; avoid unnecesary
	calls of df_insn_rescan.
	* recog.h (validate_change): Replace ints by bools.
	(validate_unshare_change): Declare.

From-SVN: r126050
2007-06-27 01:21:13 +00:00
GCC Administrator a652517c6f Daily bump.
From-SVN: r126048
2007-06-27 00:17:03 +00:00
Kenneth Zadeck 201bfd1441 forgot to save back the change log
From-SVN: r126043
2007-06-26 20:09:24 +00:00
Kenneth Zadeck 8a4829205f tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
2007-06-26  Kenneth Zadeck <zadeck@naturalbridge.com>

        * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.

From-SVN: r126040
2007-06-26 20:05:19 +00:00
Joseph Myers e56eed1c19 be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
	ru.po, rw.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r126037
2007-06-26 21:01:49 +01:00
Hui-May Chang 08e4afbadb large-size-array-3.c: Remove the larger size of the scan-assembler constant.
* gcc.target/i386/large-size-array-3.c: Remove the larger size of
	the scan-assembler constant.

From-SVN: r126035
2007-06-26 17:28:13 +00:00
Steve Ellcey 4319e38c0b * builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode.
From-SVN: r126031
2007-06-26 15:47:59 +00:00
Jan Hubicka 12c7b51e3e ipa-inline.c (cgraph_mark_inline): Assert that we never inline uninlinable call.
* ipa-inline.c (cgraph_mark_inline): Assert that we never inline
	uninlinable call.
	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
	cgraph_decide_inlining_incrementally): Move uninlinability checks to
	places other call site specific checks are performed.

From-SVN: r126015
2007-06-26 10:31:55 +00:00
Geoffrey Keating 3c8244625a re PR tree-optimization/20216 (Simple loop runs out of stack at -O1)
PR 20216
	* gcc.dg/pr20216.c: New.

From-SVN: r126014
2007-06-26 01:18:08 +00:00
Andrew Pinski 2caf766b63 re PR tree-optimization/32421 (-ftree-vectorize -msse2 ICEs in build2_stat when vectorizing POINTER_PLUS_EXPR)
2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32421
        * tree-vect-transform.c (vectorizable_operation): Convert
        POINTER_PLUS_EXPR over to PLUS_EXPR.


2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/32421
        * gcc.dg/vect/pr32421.c: New test.

From-SVN: r126012
2007-06-25 17:19:44 -07:00
GCC Administrator 20ec6b5150 Daily bump.
From-SVN: r126010
2007-06-26 00:16:55 +00:00
Chao-ying Fu 1699ec0b95 rtl.texi (Machine Modes): Document QQ...
* doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ,
	UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes.
	Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
	Document GET_MODE_IBIT, and GET_MODE_FBIT.

	* machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT,
	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	(SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P,
	SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P,
	SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P,
	ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P,
	ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P,
	SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P,
	ALL_FIXED_POINT_MODE_P): New define.
	(CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
	MODE_UACCUM.
	(GET_MODE_IBIT, GET_MODE_FBIT): New define.

	* mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM,
	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	MODE_VECTOR_UACCUM): New mode classes.

	* machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE,
	UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT.
	Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA,
	USA, UDA, and UTA.

	* genmodes.c (struct mode_data): Add ibit and fbit fields.
	(blank_mode): Initialize ibit and fbit.
	(adj_ibit, adj_fbit): New to adjust ibit and fbit.
	(vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
	(new_adjust): Change required_class to required_class_from and
	required_class_to for testing within a range.
	(complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
	MODE_VECTOR_UACCUM.
	(FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define.
	(make_fixed_point_mode): New.
	(_ADD_ADJUST): Change C to C1 and C2.
	(ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to
	use a range for machine classes.
	(ADJUST_IBIT, ADJUST_FBIT): New.
	(emit_insn_modes_h): Output defines of CONST_MODE_IBIT and
	CONST_MODE_FBIT.
	(emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
	Emit adjustment for ibit and fbit.
	(emit_mode_ibit, emit_mode_fbit): New.
	(emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit.

From-SVN: r126007
2007-06-25 22:51:27 +00:00
Simon Martin b46ce77fe8 re PR c++/32111 (ICE declaring destructor as friend)
gcc/cp/

2007-06-26  Simon Martin  <simartin@users.sourceforge.net>
        
	PR c++/32111
	* decl.c (grokdeclarator): Reset friendp for member functions declared
	friend of their own class.

gcc/testsuite/

2006-06-26  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/32111
	* g++.dg/other/friend5.C: New test.

From-SVN: r126006
2007-06-25 22:51:12 +00:00
Nathan Froyd a3f8aaa52e spe.md (*frob_ti_tf_2): Specify an input_operand as the source of the set.
* config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
	as the source of the set.

From-SVN: r126002
2007-06-25 19:15:08 +00:00
Roman Zippel bf32249ec2 m68k.h (DATA_REGNO_P, [...]): Use IN_RANGE.
* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
	FP_REGNO_P): Use IN_RANGE.
	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
	(REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New.
	(DATA_REG_P): Use DATA_REGNO_P.
	(FP_REG_P): Use FP_REGNO_P.
	(ADDRESS_REG_P): Use ADDRESS_REGNO_P.
	* config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use
	REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P.

From-SVN: r126001
2007-06-25 18:43:50 +00:00
Paul Thomas 8de10a622a re PR fortran/32464 (ICE: USE in contained subroutine)
2007-06-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32464
	* resolve.c (check_host_association): Return if the old symbol
	is use associated.  Introduce retval to reduce the number of
	evaluations of the first-order return value.

	PR fortran/31494
	* match.c (gfc_match_call): If a host associated symbol is not
	a subroutine, build a new symtree/symbol in the current name
	space.


2007-06-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32464
	* gfortran.dg/host_assoc_function_2.f90: New test.

	PR fortran/31494
	* gfortran.dg/host_assoc_call_1.f90: New test.

From-SVN: r126000
2007-06-25 18:27:59 +00:00
Jerry DeLisle d17a3b1b43 Fix change log, removing erroneous PR number
From-SVN: r125997
2007-06-25 02:53:48 +00:00
Jerry DeLisle 274af60a2a re PR libfortran/32456 (IO error message should show Unit/Filename)
2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32456
	* gfortran.dg/secnds-1.f: Revise test to reduce random errors.

From-SVN: r125996
2007-06-25 02:48:14 +00:00
GCC Administrator 35fea1100d Daily bump.
From-SVN: r125994
2007-06-25 00:16:54 +00:00
Jan Hubicka 6a84c0988c re PR tree-optimization/30563 (ice for legal code with flags -O2 -fno-unit-at-a-time)
PR middle-end/30563
	* cgraphunit.c (cgraph_analyze_function): Fix ordering problem.

From-SVN: r125991
2007-06-24 23:24:10 +00:00
Jerry DeLisle 7bcb8bf5f1 re PR libfortran/32456 (IO error message should show Unit/Filename)
2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32456
	* gfortran.dg/error_format.f90: New test.

From-SVN: r125990
2007-06-24 23:03:29 +00:00
Sebastian Pop a49c5793d5 re PR tree-optimization/32461 (Segmentation fault in build_classic_dist_vector_1() at tree-data-ref.c:2700)
PR middle-end/32461
	* fold-const.c (fold_binary): Strip nops of operand 0
	of BIT_NOT_EXPR before calling operand_equal_p.
	* testsuite/gcc.dg/tree-ssa/pr32461-1.c: New.
	* testsuite/gcc.dg/tree-ssa/pr32461-2.c: New.

From-SVN: r125988
2007-06-24 20:59:02 +00:00
Paul Thomas 4e16ca9a82 re PR fortran/32136 (ICE with transfer in gfc_conv_array_initializer)
2007-06-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32136
	* gfortran.dg/pr32136.f90: New test.

From-SVN: r125987
2007-06-24 19:24:02 +00:00
Jerry DeLisle 7ed967e82f re PR fortran/32446 (F0.n output format fails with large numbers)
2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32446
	* gfortran.dg/fmt_huge.f90: New test.

From-SVN: r125986
2007-06-24 18:58:36 +00:00
Tobias Burnus 2eae3dc776 re PR fortran/32460 (structure constructor not allowed if a USEd type has private components)
2007-06-24  Tobias Burnus  <burnus@net-de>

	PR fortran/32460
	* interface.c (gfc_compare_derived_types): Add access check.
	* symbol.c (gfc_find_component): Ditto.
	(gfc_set_component_attr,gfc_get_component_attr) Copy access state.
	* dump-parse-tree.c (gfc_show_components): Dump access state.
	* gfortran.h (struct gfc_component): Add gfc_access.
	* module.c (mio_component): Add access state.
	* (gfc_match_structure_constructor): Check for private access state.

2007-06-24  Tobias Burnus  <burnus@net-de>

	PR fortran/32460
	* gfortran.dg/private_type_6.f90: New.

From-SVN: r125984
2007-06-24 18:19:11 +02:00
Paul Thomas f0b3c58d8b re PR fortran/32298 (MINLOC / MAXLOC: off-by one for PARAMETER arrays)
2007-06-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/32298
	PR fortran/31726
	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Calculate
	the offset between the loop counter and the position as
	defined. Add the offset within the loop so that the mask acts
	correctly.  Do not advance the location on the basis that it
	is zero.

2007-06-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31726
	* gfortran.dg/minmaxloc_1.f90: New test.

	PR fortran/32298
	* gfortran.dg/minmaxloc_2.f90: New test.

From-SVN: r125983
2007-06-24 11:04:02 +00:00
GCC Administrator dbb233964c Daily bump.
From-SVN: r125980
2007-06-24 00:16:55 +00:00
Mark Mitchell 3a687f8bbb extend.texi: Document that dllimport and dllexport imply default visibility.
2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* doc/extend.texi: Document that dllimport and dllexport imply
	default visibility.
	* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
	imported or exported declaration, including type declarations.
	* c-common.c (handle_visibility_attribute): Check for conflicts
	with dllimport/dllexport.
	(c_determine_visibility): Handle dllimport/dllexport as an
	explicit visibility atttribute.

2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* decl2.c (determine_visibility): Don't look for dllexport here.
	(determine_visibility_from_class): Tidy.

2007-06-23  Mark Mitchell  <mark@codesourcery.com>

	* gcc.dg/visibility-12.c: New test.
	* gcc.dg/visibility-13.c: Likewise.
	* g++.dg/ext/visibility-9.C: Likewise.
	* g++.dg/ext/visibility-10.C: Likewise.

From-SVN: r125975
2007-06-23 19:17:04 +00:00
Richard Guenther e36711f3cd re PR tree-optimization/16876 (ICE on testcase with -O3 in fold-const)
2007-06-23  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/16876
	PR middle-end/29478
	* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
	for CALL_EXPRs.
	* tree-inline.c (initialize_inlined_parameters): Do not call
	lang_hooks.tree_inlining.convert_parm_for_inlining.
	* cgraphbuild.c (initialize_inline_failed): Set inline failed
	reason for mismatched types.
	* gimplify.c (gimplify_call_expr): Verify the call expression
	arguments match the called function type signature.  Otherwise
	mark the call expression to be not considered for inlining
	using CALL_CANNOT_INLINE_P flag.
	* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
	edges call expression.
	(cgraph_decide_inlining_of_small_function): Likewise.
	(cgraph_decide_inlining): Likewise.
	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
	Remove define.
	* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
	* c-typeck.c (c_convert_parm_for_inlining): Remove.
	* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
	Remove declaration.
	(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
	Remove.
	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
	convert_parm_for_inlining member.

	* gcc.dg/pr29254.c: The warning is bogus.
	* gcc.dg/warn-1.c: Likewise.
	* gcc.dg/assign-warn-3.c: Likewise.
	* gcc.dg/noncompile/pr16876.c: The testcase is bogus, remove.

From-SVN: r125974
2007-06-23 18:17:57 +00:00
Richard Earnshaw 630ef467a8 re PR target/31152 (-(x>y) generates wrong code)
PR target/31152
	* arm.md (negscc): Match the correct operand for optimized LT0 test.
	Remove optimization for GT.
	*gcc.c-torture/execute/20070623-1.c: New.

From-SVN: r125973
2007-06-23 18:07:04 +00:00
Kenneth Zadeck 6cad985925 re PR target/32437 (MIPS: FAIL in gcc.dg/cleanup-[8|9|10|11].c)
2007-06-23  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR middle-end/32437
	*dce.c (deletable_insn_p): Add extra parameter and recurse if insn
	is a PARALLEL.
	(prescan_insns_for_dce): Add extra parameter.

From-SVN: r125972
2007-06-23 16:21:43 +00:00
Jan Hubicka 936d04b695 re PR middle-end/31541 (cannot take address of bit field)
PR middle-end/31541
	* gimplify.c (mark_addressable): New function.
	(gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.

	* gcc.c-torture/compile/pr31541.c: New.

From-SVN: r125971
2007-06-23 11:58:18 +00:00
GCC Administrator bedd4d06f7 Daily bump.
From-SVN: r125962
2007-06-23 00:16:59 +00:00
Uros Bizjak 5e33addbb6 large-size-array-3.c: Fix dg-do compile directive.
* gcc.target/i386/large-size-array-3.c: Fix dg-do compile directive.
        Remove -m64 from dg-options.

From-SVN: r125956
2007-06-22 21:39:02 +02:00
Uros Bizjak 58f7fcc362 re PR middle-end/32374 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR middle-end/32374
        * expr.c (store_constructor): Do not clobber non-zeroed memory. 

testsuite/ChangeLog:

        PR middle-end/32374
        * gcc.dg/pr32374.c: New test.

From-SVN: r125955
2007-06-22 20:51:28 +02:00
Daniel Franke 23bc73b563 re PR fortran/31473 (gfortran does not detect duplicate EXTERNAL or INTRINSIC declarations)
2007-06-22  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31473
        * symbol.c (gfc_copy_attr): Emit errors for duplicate
        EXTERNAL/INTRINSIC statements.

From-SVN: r125954
2007-06-22 14:33:35 -04:00
Uros Bizjak 147bbdd051 re PR target/32413 (internal compiler error: in reload_cse_simplify_operands, at postreload.c:396)
PR target/32413
    * config/i386/i386.c (ix86_register_move_cost): Rise the cost of
    moves between MMX/SSE registers to at least 8 units to prevent
    ICE caused by non-tieable SI/HI/QImodes in SSE registers.

From-SVN: r125951
2007-06-22 19:51:06 +02:00
Jerry DeLisle 58a9545435 re PR fortran/32360 (GFORTRAN WON'T COMPILE 'DATA PTR1 /NULL ()/' WHEN PTR1 HAS POINTER ATTRIBUTE)
2007-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32360
	* gfortran.dg/pointer_assign_3.f90: New test.

From-SVN: r125950
2007-06-22 16:23:55 +00:00
Jerry DeLisle 37775e79ee re PR fortran/32360 (GFORTRAN WON'T COMPILE 'DATA PTR1 /NULL ()/' WHEN PTR1 HAS POINTER ATTRIBUTE)
2007-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32360
	* expr.c (gfc_check_assign): If the rvalue expression type is NULL_EXPR,
	check to see if the lvalue has attribute pointer and data.

From-SVN: r125949
2007-06-22 16:21:23 +00:00
Uros Bizjak 9064c53336 i386.c (override_options): Correct x86_sahf setting condition.
* config/i386/i386.c (override_options): Correct x86_sahf
	setting condition.

From-SVN: r125948
2007-06-22 14:56:37 +02:00
David Daney 1ad91955bd Fix PR number from last commit 32046->32406.
From-SVN: r125942
2007-06-22 04:50:50 +00:00
David Daney 48a8bb13b3 re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90)
PR target/32046
	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
	(exception_receiver): Renamed to ...
	(nonlocal_goto_receiver): ... this.

From-SVN: r125941
2007-06-22 04:46:08 +00:00
Roman Zippel 7bb3ae2f52 df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
* df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
	(df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
	partial register accesses.

From-SVN: r125940
2007-06-22 02:55:07 +00:00
Jerry DeLisle aa7393d96a re PR fortran/31162 (missing warning for real do-loops with implicit typed variables)
2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31162
	* gfortran.dg/assign.f90: Update test.
	* gfortran.dg/real_do_1.f90: Update test.
	* gfortran.dg/gomp/omp_do1.f90: Update test.
	* gfortran.dg/warnings_are_errors_1.f: Update test.
	* gfortran.dg/g77/20010519-1.f: Update test.
	* gfortran.dg/g77/pr9258.f: Update test.
	* gfortran.dg/g77/960317-1.f: Update test.

From-SVN: r125939
2007-06-22 01:54:27 +00:00
Jerry DeLisle 79e7840d22 re PR fortran/31162 (missing warning for real do-loops with implicit typed variables)
2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/31162
	* resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
	gfc_notify_standard. (gfc_resolve_iterator): Remove check.
	(resolve_branch): Change "Obsolete" to "Deleted feature".
	* io.c (resolve_tag): Ditto.
	* match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.

From-SVN: r125938
2007-06-22 01:50:09 +00:00
GCC Administrator 49d2bde811 Daily bump.
From-SVN: r125936
2007-06-22 00:16:59 +00:00
Adam Nemet f1b42630a5 fold-const.c (debug_fold_checksum): Move it under ENABLE_FOLD_CHECKING.
* fold-const.c (debug_fold_checksum): Move it under
	ENABLE_FOLD_CHECKING.

From-SVN: r125932
2007-06-21 23:46:59 +00:00
Sebastian Pop 70826cbbef re PR middle-end/20623 (ICE: fold check: original tree changed by fold with --enable-checking=fold)
PR middle-end/20623
	* tree.h (debug_fold_checksum): Declared.
	* fold-const.c (build_fold_addr_expr_with_type_1): New.
	(build_fold_addr_expr_with_type, build_fold_addr_expr): Use 
	build_fold_addr_expr_with_type_1.
	(fold_addr_expr, debug_fold_checksum): New.
	(fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
	(fold_unary, fold_comparison, split_address_to_core_and_offset):
	Use fold_addr_expr.

From-SVN: r125929
2007-06-21 21:25:27 +00:00
Sebastian Pop 6f1c9cd02f re PR tree-optimization/19590 (IVs with the same evolution not eliminated)
PR tree-optimization/19590
	* tree-vrp.c (adjust_range_with_scev): Set the range when the result
	of scev is a constant.
	* gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New.

From-SVN: r125925
2007-06-21 17:06:05 +00:00
Kenneth Zadeck e44e043cb3 df-problems.c (df_note_bb_compute): Made computation of live info consistent with df_lr.
2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>

        * df-problems.c (df_note_bb_compute): Made computation of live
	info consistent with df_lr.

From-SVN: r125924
2007-06-21 16:24:59 +00:00
Richard Guenther 4228997795 re PR tree-optimization/32453 (ICE in build2_stat, at tree.c:3074 (extract_range_from_assert))
2007-06-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32453
	* tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
	for pointer anti-range.

	* gcc.c-torture/compile/pr32453.c: New testcase.

From-SVN: r125922
2007-06-21 14:54:47 +00:00
H.J. Lu 461a73b578 i386.c (processor_target_table): Increase maximum skip from 7 byte to 10 byte for Pentium Pro...
2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (processor_target_table): Increase maximum
	skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
	default 64bit.

	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
	byte alignment if > 8 byte alignment is preferred.
	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.

From-SVN: r125920
2007-06-21 05:31:09 -07:00
Jakub Jelinek 3521f3cc39 re PR tree-optimization/31866 (ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map)
PR tree-optimization/31866
	* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
	if ASM_EXPR's input is not a SSA_NAME.

	* gcc.dg/pr31866.c: New test.

From-SVN: r125919
2007-06-21 14:20:42 +02:00
Jakub Jelinek 64964499f4 re PR middle-end/32362 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:1508)
PR middle-end/32362
	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
	but decl is a global var, instead return decl.
	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
	even for is_global_var decls, if they are private in some outer
	context.

	* testsuite/libgomp.c/pr32362-1.c: New test.
	* testsuite/libgomp.c/pr32362-2.c: New test.
	* testsuite/libgomp.c/pr32362-3.c: New test.

From-SVN: r125917
2007-06-21 14:11:00 +02:00
Richard Guenther d9eb5318b6 re PR tree-optimization/32451 (ICE in verify_flow_info after DOM2)
2007-06-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32451
	* tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.

	* g++.dg/torture/20070621-1.C: New testcase.

From-SVN: r125916
2007-06-21 12:00:47 +00:00
Eric Botcazou a8257e58ac re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
PR tree-optimization/25737
	* misc.c (gnat_post_options): Do not force flag_tree_salias to 0.

From-SVN: r125915
2007-06-21 10:11:19 +00:00
Christian Bruel 5c7cafa8dc svn ci -m "introduce bank[0,1] registers and fix rte delay slot scheduling"
2007-06-21  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
	* config/sh/sh.c (sh_loads_bankedreg_p): New function.
	(push_regs): Changed saving order or banked registers.
	(sh_expand_epilogue): Likewise.
	* config/sh/sh.h (BANKED_REGISTER_P): New macro.
	(FIRST_BANKED_REG): Likewise.
	(LAST_BANKED_REG): Likewise.
	* config/sh/sh.md (banked) New attribute.
	(in_delay_slot): Check banked attribute.

2007-06-21  Christian Bruel  <christian.bruel@st.com>

	* gcc.dg/attr-isr.c: Test delay slot content.

From-SVN: r125914
2007-06-21 10:58:53 +02:00
Jerry DeLisle f2c9a6df65 re PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)
2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32361
	gfortran.dg/pointer_assign_2.f90: New test.

From-SVN: r125909
2007-06-21 02:25:58 +00:00
Jerry DeLisle b141ff67de re PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)
2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/32361
	* match.c (gfc_match_common): If the symbol value expression type is
	NULL_EXPR, don't error if previously initialized.

From-SVN: r125908
2007-06-21 02:23:45 +00:00
Jerry DeLisle a3400cd548 re PR fortran/25061 (procedure name conflict)
2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/25061
	gfortran.dg/invalid_procedure_name.f90: New test.

From-SVN: r125907
2007-06-21 01:48:21 +00:00
Jerry DeLisle fd3e70afce re PR fortran/25061 (procedure name conflict)
2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/25061
	* decl.c (get_proc_name) Check symbol for generic interface
	and issue an error.

From-SVN: r125906
2007-06-21 01:18:02 +00:00
GCC Administrator 5b418a87cf Daily bump.
From-SVN: r125904
2007-06-21 00:16:52 +00:00
Sebastian Pop c0aafd30f7 re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)
PR tree-optimization/32075
	* tree-data-ref.c (subscript_dependence_tester_1, 
	analyze_miv_subscript, analyze_overlapping_iterations,
	add_distance_for_zero_overlaps, build_classic_dist_vector,
	subscript_dependence_tester_1, analyze_overlapping_iterations,
	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
	to evolution_function_is_affine_multivariate_p.

From-SVN: r125901
2007-06-20 23:44:56 +00:00
Sebastian Pop da9a21f490 re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)
PR tree-optimization/32075
	* tree-data-ref.c (subscript_dependence_tester_1, 
	analyze_miv_subscript, analyze_overlapping_iterations,
	add_distance_for_zero_overlaps, build_classic_dist_vector,
	subscript_dependence_tester_1, analyze_overlapping_iterations,
	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
	to evolution_function_is_affine_multivariate_p.

From-SVN: r125900
2007-06-20 23:42:28 +00:00
Eric Botcazou 7e657ec235 df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
* df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.

From-SVN: r125894
2007-06-20 20:26:07 +00:00
Rask Ingemann Lambertsen 7a9dcd47e8 re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32335
	* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
	for TARGET_A16.
	* config/m32c/prologue.md (epilogue_exitd_16): New.
	(epilogue_reit_16): New.
	(epilogue_exitd): Rename to epilogue_exitd_24.
	(epilogue_reit): Rename to epilogue_reit_24.

From-SVN: r125893
2007-06-20 19:58:57 +00:00
Rask Ingemann Lambertsen 0e0642aa7a re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32335
	* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
	for TARGET_A16.
	* config/m32c/prologue.md (epilogue_exitd_16): New.
	(epilogue_reit_16): New.
	(epilogue_exitd): Rename to epilogue_exitd_24.
	(epilogue_reit): Rename to epilogue_reit_24.

From-SVN: r125892
2007-06-20 19:57:32 +00:00
Seongbae Park b631c5f742 dbgcnt.def (global_alloc_at_func, [...]): New counters.
2007-06-20  Seongbae Park  <seongbae.park@gmail.com>
            Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
	New counters.
	* haifa-sched.c (queue_to_ready): Don't requeue next insn
	if dbg_cnt (sched_insn) reaches the limit.
	(choose_ready): New parameter INSN_PTR and new return value.
	(schedule_block): Handle dbg_cnt (sched_insn). Handle
	the new return value from choose_ready.
	* global.c (global_aloc): New dbgcnt global_alloc_at_reg.
	(rest_of_handle_global_alloc): New global_alloc_at_func.



Co-Authored-By: Maxim Kuvyrkov <mkuvyrkov@ispras.ru>

From-SVN: r125891
2007-06-20 18:22:28 +00:00
Adam Nemet 3d9b47dc43 re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
PR tree-optimization/25737
	* tree.h (struct tree_struct_field_tag): Add new field alias_set.
	(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
	* tree-flow.h (struct fieldoff): Add new field alias_set.
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
	argument addressable_type.  Set alias_set of fieldoff.
	* tree-ssa-alias.c (create_sft): Add new argument alias_set.
	(create_overlap_variables_for): Pass alias_set from fieldoff to
	create_sft.
	* alias.c (get_alias_set): Use alias_set from SFT if set.

From-SVN: r125890
2007-06-20 18:19:10 +00:00
Adam Nemet 034bfe7a9f re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
PR tree-optimization/25737
	* testsuite/gcc.dg/tree-ssa/alias-14.c: New test.

From-SVN: r125889
2007-06-20 18:17:20 +00:00
Hui-May Chang 1c5ae9624c darwin.h (ASM_OUTPUT_COMMON): Print the size of a variable as an unsigned HOST_WIDE_INT integer.
* gcc/config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
	of a variable as an unsigned HOST_WIDE_INT integer.

 	* gcc.target/i386/large-size-array-3.c: New.

From-SVN: r125888
2007-06-20 16:43:24 +00:00
Andrew Pinski 543535a318 re PR fortran/32140 (Miscompilation with -O1)
2007-06-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
	Richard Guenther  <rguenther@suse.de>

	PR fortran/32140
	* trans.c (gfc_build_addr_expr): Use the correct types.

	* gfortran.fortran-torture/execute/pr32140.f90: New testcase.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r125886
2007-06-20 14:57:10 +00:00
Nick Clifton 8dba2dedd3 Add (accidentally omited) ChangeLog entry for delta to config/m32r/linux.h
From-SVN: r125883
2007-06-20 08:47:02 +00:00
Uros Bizjak 2788381606 ChangeLog: Strip testsuite/ from file names.
* ChangeLog: Strip testsuite/ from file names.  Fix whitespace.
	Fix line wrapping.

From-SVN: r125882
2007-06-20 09:43:43 +02:00
Zdenek Dvorak 6848da6a81 re PR rtl-optimization/32405 (assertion failure in loop-iv.c; probable dataflow regression)
PR rtl-optimization/32405
	* loop-iv.c (iv_get_reaching_def): Fail for partial defs.

From-SVN: r125881
2007-06-20 06:56:26 +00:00
Jakub Jelinek 6330585d97 * Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
From-SVN: r125876
2007-06-20 08:42:00 +02:00
Jakub Jelinek 1d8381f13f re PR middle-end/31959 (ICE in expand_builtin_expect, at builtins.c:5112)
PR middle-end/31959
	* builtins.c: Include diagnostic.h.
	(expand_builtin_expect): Make gcc_assert more permissive.
	* Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).

	* gcc.dg/pr31959.c: New test.

From-SVN: r125875
2007-06-20 08:39:53 +02:00
Jakub Jelinek f497c16c26 re PR inline-asm/32109 (ICE with inline-asm and class with destructor)
PR inline-asm/32109
	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
	and !allows_mem.

	* g++.dg/ext/asm10.C: New test.

From-SVN: r125874
2007-06-20 08:37:17 +02:00
Jakub Jelinek 6a4e56a90e re PR middle-end/32285 (Miscompilation with pure _Complex returning call inside another fn's argument list)
PR middle-end/32285
	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
	if ACCUMULATE_OUTGOING_ARGS.

	* gcc.c-torture/execute/20070614-1.c: New test.

From-SVN: r125873
2007-06-20 08:35:55 +02:00
GCC Administrator 6cb62483b6 Daily bump.
From-SVN: r125867
2007-06-20 00:16:56 +00:00
Rask Ingemann Lambertsen c105ee098f m68hc11.c: Include dataflow header file.
2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* config/m68hc11/m68hc11.c: Include dataflow header file.
	(m68hc11_reorg): Port to dataflow.

From-SVN: r125861
2007-06-19 21:41:43 +00:00
Kenneth Zadeck 4aa0f91154 forgot to save back Changelog
From-SVN: r125860
2007-06-19 21:07:29 +00:00
Uros Bizjak 670a8526bc i386.c (ix86_emit_swsqrtsf): Filter out infinity result of rsqrt insn for zero input argument to avoid NaN.
* config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
        result of rsqrt insn for zero input argument to avoid NaN.

From-SVN: r125858
2007-06-19 21:58:26 +02:00
Kenneth Zadeck 89a9577706 df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
2007-06-15  Kenneth Zadeck <zadeck@naturalbridge.com>

	* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
	(struct df_problem.free_blocks_on_set_blocks): New field.
	(struct dataflow.optional_p): New field.
	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
	(df_live_set_all_dirty): New function.
	* df-scan.c (df_scan_alloc): Initialize optional_p.
	(problem_SCAN): Initialize free_blocks_on_set_blocks.
	* df-core.c (df_set_blocks): Removed use of
	DF_FIRST_OPTIONAL_PROBLEM.  Now uses
	df_problem.free_blocks_on_set_blocks to determine which blocks are
	recycled.
	(df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
	(df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM.  Now
	uses dataflow.optional_p to determine if problem should be
	deleted.
	(rest_of_handle_df_initialize): Only start live problem if 
	-02 or above.
	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
	* df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc,
	df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p.
	(problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN,
	problem_NOTE):  Initialize free_blocks_on_set_blocks.
	(df_lr_bb_local_compute): Recompute luids if df_live problem is
	not active.
	(df_live_set_all_dirty, df_note_alloc): New function.
	* regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
	df_get_live_*.
	* sched_ebb.c (compute_jump_reg_dependencies): Ditto.
	* postreload.c (reload_combine): Ditto.
	* cse.c (cse_extended_basic_block): Ditto.
	* regmove.c (mark_flags_life_zones): Ditto.
	* rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
	erase_matching_seqs): Ditto.
	* bt-load.c (compute_defs_uses_and_gen): Ditto.
	* integrate (allocate_initial_values): Ditto.
	* combine.c (reg_dead_at_p): Ditto.
	* resource.c (mark_target_live_regs): Ditto.
	* sched-rgn.c (check_live_1, update_live_1): Ditto.
	* config/sh/sh.c (find_r0_life_regions): Ditto.
	* global.c (rest_of_handle_global_alloc): Only add back df_live
	for -O > 1.
	* local-alloc.c (rest_of_handle_local_alloc): Only remove
	df_live for -O > 1.
	* ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
	df_get_live_*.
	(if_convert): Make sure df_live is there at -O == 1.
	(pass_if_after_combine): Cleanup flags.
	* init-regs.c (initialize_uninitialized_regs): Make sure df_live
	is there at -O == 1.

From-SVN: r125857
2007-06-19 19:04:52 +00:00
Seongbae Park a3a531ecfe arm.c (arm_get_frame_offsets): Set offsets->locals_base to avoid negative stack size.
gcc/ChangeLog:

2007-06-19  Seongbae Park  <seongbae.park@gmail.com>

	* config/arm/arm.c (arm_get_frame_offsets): Set
	offsets->locals_base to avoid negative stack size.
	(thumb1_expand_prologue): Assert on negative stack size.

gcc/testsuite/ChangeLog:

2007-06-19  Seongbae Park  <seongbae.park@gmail.com>

	* gcc.target/arm/stack-corruption.c: New test.

From-SVN: r125856
2007-06-19 18:47:09 +00:00
Sebastian Pop 0f7c07751c re PR tree-optimization/32367 (internal compiler error: in build_polynomial_chrec, at tree-chrec.h:113)
PR tree-optimization/32367
	* tree-chrec.h (build_polynomial_chrec): Verify that the left hand side 
	of the chrec has no evolution in that loop.
	* testsuite/gcc.dg/tree-ssa/pr32367.c: New.

From-SVN: r125855
2007-06-19 18:35:39 +00:00
Bob Wilson e70312d499 xtensa.c: Include "df.h".
* config/xtensa/xtensa.c: Include "df.h".
	(xtensa_builtin_saveregs): Use adjust_address instead of change_address.
	(xtensa_va_start): Invoke make_tree with sizetype for
	expand_builtin_saveregs and then convert the result to a pointer.
	Use POINTER_PLUS_EXPR.  Use size_int instead of build_int_cst.
	(xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst.
	Subtract argument size from index value as integers and then use
	POINTER_PLUS_EXPR to add the result to the array address.

From-SVN: r125854
2007-06-19 17:58:13 +00:00
Rask Ingemann Lambertsen fa9fd28acf re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32335
	* config/m32c/m32c.c: Include dataflow header file.
	(m32c_emit_prologue): Adjust for prologue insn change.
	* config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO
	once inside a PARALLEL. Assume frame size passed in operand 0
	includes space to save the fb register.
	(prologue_enter_24): Likewise.
	(epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL.

From-SVN: r125853
2007-06-19 17:35:16 +00:00
David Daney 21d09454a9 re PR target/32313 (Bootstrap failure running gengtype in stage 2.)
PR target/32313
	* config/mips/mips.md (cprestore): Mark $gp as used.

From-SVN: r125852
2007-06-19 16:36:42 +00:00
Rask Ingemann Lambertsen eedd724358 re PR target/32369 ([frv] macro "DF_LIVE_IN" passed 2 arguments, but takes just 1)
2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	PR target/32369
	* config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix.
	(frv_ifcvt_modify_insn): Likewise.

From-SVN: r125851
2007-06-19 16:30:03 +00:00
Richard Biener 9bf448b905 tree-ssa-structalias.c (handle_ptr_arith): Make sure to only handle positive offsets that fit in a HOST_WIDE_INT.
2007-06-19  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-structalias.c (handle_ptr_arith): Make sure to
	only handle positive offsets that fit in a HOST_WIDE_INT.

	* g++.dg/torture/pr30252.C: New testcase.

From-SVN: r125849
2007-06-19 12:57:58 +00:00
Uros Bizjak 258d0b9b9e i386.c (ix86_emit_swsqrtsf): Limit the result of rsqrt insn to FLT_MAX to avoid NaN for zero input argument.
* config/i386/i386.c (ix86_emit_swsqrtsf): Limit the result of
	rsqrt insn to FLT_MAX to avoid NaN for zero input argument.

From-SVN: r125847
2007-06-19 13:22:24 +02:00
Richard Guenther 7ffc27a6bc re PR middle-end/31950 (ICE in tree-ssa-alias-warnings.c)
2007-06-19  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31950
	* tree-ssa-alias-warnings.c (ffan_walker): Punt on MTAGs.

From-SVN: r125846
2007-06-19 11:16:43 +00:00
Nick Clifton a3a7addb9c * config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.
From-SVN: r125845
2007-06-19 10:36:11 +00:00