Commit Graph

77730 Commits

Author SHA1 Message Date
Joseph Myers
b9bb3235fe spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
	easy vector constant loads.

From-SVN: r118964
2006-11-18 00:27:03 +00:00
Joseph Myers
8609875306 rs6000.h (TARGET_NO_LWSYNC): Define.
gcc:
	* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__NO_LWSYNC__ if TARGET_NO_LWSYNC.
	* config/rs6000/sync.md (lwsync): Emit plain sync if
	TARGET_NO_LWSYNC.

libstdc++-v3:
	* config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
	Use plain sync if __NO_LWSYNC__.

From-SVN: r118961
2006-11-18 00:22:45 +00:00
GCC Administrator
0828ca7e69 Daily bump.
From-SVN: r118959
2006-11-18 00:17:55 +00:00
Jerry DeLisle
ebea7d6eb7 2006-11-17 Jerry DeLisle <jvdelisle@fcc.gnu.org
* ChangeLog: Fix typos.

From-SVN: r118954
2006-11-17 23:30:49 +00:00
DJ Delorie
d2c9375a6d reload1.c (reloads_unique_chain): New.
* reload1.c (reloads_unique_chain): New.
(reloads_conflict): Call it.

From-SVN: r118953
2006-11-17 18:15:29 -05:00
Bob Wilson
036a2b7a60 predicates.md (addsubx_operand): New.
* config/xtensa/predicates.md (addsubx_operand): New.
	* config/xtensa/xtensa.c (xtensa_emit_branch): New.
	(xtensa_emit_bit_branch): New.
	(xtensa_emit_movcc): New.
	* config/xtensa/xtensa.md (any_minmax): New code macro.
	(minmax): New code attribute.
	(any_cond, any_scc, any_scc_sf): New code macros.
	(*addx2, *addx4, *addx8): Delete.
	(*addx): New.
	(*subx2, *subx4, *subx8): Delete.
	(*subx): New.
	(sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
	(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
	(*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
	(*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
	(seq, sne, sgt, sge, slt, sle): Use any_scc macro.
	(movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
	(movsfcc_internal0, movsfcc_internal1): Likewise.
	(seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
	* config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
	(xtensa_emit_bit_branch): New.
	(xtensa_emit_movcc): New.
	(function_arg_boundary): Add missing prototype.

From-SVN: r118952
2006-11-17 23:10:48 +00:00
Bob Wilson
3e98014384 * config/xtensa/xtensa.md (tstsi): Delete
From-SVN: r118949
2006-11-17 22:59:50 +00:00
Bob Wilson
a81126a540 * config/xtensa/xtensa.md (entry): Do not emit .frame directive.
From-SVN: r118948
2006-11-17 22:55:13 +00:00
Bob Wilson
44a69b3186 * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
From-SVN: r118947
2006-11-17 22:46:57 +00:00
Bob Wilson
05dcbf00e1 * config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
From-SVN: r118946
2006-11-17 22:40:02 +00:00
Eric Botcazou
9fa25ead53 re PR ada/27936 (gnatbind fails to link)
PR ada/27936
	* trans.c (add_decl_expr): Do not dynamically elaborate padded objects
	if the initializer takes into account the padding.

From-SVN: r118939
2006-11-17 15:10:28 +00:00
Zdenek Dvorak
598ec7bdbe tree-vrp.c (execute_vrp): Do not update current_loops.
* tree-vrp.c (execute_vrp): Do not update current_loops.
	* loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
	* doc/loop.texi: Remove documentation for cancelled functions.
	* tree-ssa-loop-im.c (loop_commit_inserts): Removed.
	(move_computations, determine_lsm): Use bsi_commit_edge_inserts
	instead.
	* cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
	(remove_path): Ensure that in delete_basic_blocks, the loops
	are still allocated.
	(add_loop): Work on valid loop structures.
	(loopify): Modify call of add_loop.
	(mfb_update_loops): Removed.
	(create_preheader): Do not update loops explicitly.
	(force_single_succ_latches, loop_version): Do not use
	loop_split_edge_with.
	(loop_split_edge_with): Removed.
	* tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
	Do not use bsi_insert_on_edge_immediate_loop.
	(split_loop_exit_edge, tree_unroll_loop): Do not use
	loop_split_edge_with.
	(bsi_insert_on_edge_immediate_loop): Removed.
	* tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops.  Do not
	use loop_split_edge_with.
	* cfghooks.c: Include cfgloop.h.
	(verify_flow_info): Verify that loop_father is filled iff current_loops
	are available.
	(redirect_edge_and_branch_force, split_block, delete_basic_block,
	split_edge, merge_blocks, make_forwarder_block, duplicate_block):
	Update cfg.
	* cfgloopanal.c (mark_irreducible_loops): Work if the function contains
	no loops.
	* modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
	loop_split_edge_with.
	(sms_schedule): Use current_loops.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
	current_loops.
	(rtl_loop_init, rtl_loop_done): Do not set current_loops.
	* tree-ssa-sink.c (execute_sink_code): Use current_loops.
	* ifcvt.c (if_convert): Ditto.
	* predict.c (predict_loops): Do not clear current_loops.
	(tree_estimate_probability): Use current_loops.
	(propagate_freq): Receive head of the region to propagate instead of
	loop.
	(estimate_loops_at_level): Do not use shared to_visit bitmap.
	(estimate_loops): New function.  Handle case current_loops == NULL.
	(estimate_bb_frequencies): Do not allocate tovisit.  Use
	estimate_loops.
	* tree-ssa-loop.c (current_loops): Removed.
	(tree_loop_optimizer_init): Do not return loops.
	(tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
	slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
	Do not update loops explicitly.
	* function.h (struct function): Add x_current_loops field.
	(current_loops): New macro.
	* tree-if-conv.c (combine_blocks): Do not update loops explicitly.
	* loop-unroll.c (split_edge_and_insert): New function.
	(unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
	use loop_split_edge_with.
	* loop-doloop.c (add_test, doloop_modify): Ditto.
	* tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
	* cfglayout.c (copy_bbs): Do not update loops explicitly.
	* lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
	* tree-vect-transform.c (vect_transform_loop): Do not update loops
	explicitly.
	* cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
	(flow_loops_free): Do not free dfs_order and rc_order.
	(flow_loops_find): Do not set dfs_order and rc_order in loops
	structure.  Do not call loops and flow info verification.
	(add_bb_to_loop, remove_bb_from_loops): Check whether the block
	already belongs to some loop.
	* cfgloop.h (struct loops): Remove struct cfg.
	(current_loops, loop_split_edge_with): Declaration removed.
	(loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
	* tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
	Declaration removed.
	* Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
	* basic-block.h (split_edge_and_insert): Declare.
	* tree-cfg.c (remove_bb): Do not update loops explicitly.

From-SVN: r118931
2006-11-17 11:29:17 +00:00
Francois-Xavier Coudert
31198773e4 gfortran.h (gfc_add_intrinsic_modules_path, [...]): New prototypes.
* gfortran.h (gfc_add_intrinsic_modules_path,
	gfc_open_intrinsic_module): New prototypes.
	(gfc_add_include_path, gfc_open_included_file): Update prototypes.
	* lang.opt: Add -fintrinsic-modules-path option.
	* module.c (gfc_match_use): Match the Fortran 2003 form of
	USE statement.
	(gfc_use_module): Also handle intrinsic modules. 
	* scanner.c (gfc_directorylist): Add use_for_modules for field.
	(intrinsic_modules_dirs): New static variable.
	(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
	(gfc_add_include_path): Use the new add_path_to_list helper
	function.
	(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
	(open_included_file, gfc_open_intrinsic_module): New functions.
	(gfc_open_included_file): Use the new open_included_file
	helper function.
	* lang-specs.h: Use the new -fintrinsic-modules-path option.
	* parse.c (decode_statement): Do not match the required space
	after USE here.
	* options.c (gfc_handle_option): Handle the new option. Use new
	prototype for gfc_add_include_path.
	(gfc_post_options): Use new prototype for gfc_add_include_path.

	* gfortran.dg/use_1.f90: New test.
	* gfortran.dg/use_1.f90: New test.
	* gfortran.dg/use_1.f90: New test.

From-SVN: r118930
2006-11-17 11:11:25 +00:00
Paolo Bonzini
9bd6112c5a re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.)
2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
	(unstage): Test for stage_last presence.

	PR bootstrap/29802
	* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
	* Makefile.in: Regenerate.

libada:
2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29802
	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in: Replace host_subdir.

From-SVN: r118927
2006-11-17 10:31:47 +00:00
Zdenek Dvorak
fc9962ee12 re PR tree-optimization/29801 (ICE in set_lattice_value (tree-ssa-ccp.c))
PR tree-optimization/29801
	* tree-ssa-ccp.c (get_symbol_constant_value): New function.
	(get_default_value): Use get_symbol_constant_value.
	(set_lattice_value): ICE when the value of the constant is
	changed.
	(visit_assignment): Ignore VDEFs of read-only variables.

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

From-SVN: r118926
2006-11-17 10:29:07 +00:00
Zdenek Dvorak
80b4a8d94f tree-vect-transform.c (vect_create_epilog_for_reduction): Fix formating.
2006-11-17  Zdenek Dvorak <dvorakz@suse.cz>

	* tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
	formating.
	(vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
	vect_gen_niters_for_prolog_loop): Fold the emited expressions.

From-SVN: r118925
2006-11-17 09:34:08 +00:00
Zdenek Dvorak
d092f0f605 tree-ssa-alias.c (new_type_alias): Do not use offset of expr to select subvars of var.
* tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
	select subvars of var.

From-SVN: r118924
2006-11-17 09:24:01 +00:00
Jakub Jelinek
c7b38a8574 re PR middle-end/29584 (internal compiler error on optimization)
PR middle-end/29584
	* tree-ssa-forwprop.c (simplify_switch_expr): Don't
	optimize if DEF doesn't have integral type.

	* gcc.dg/torture/pr29584.c: New test.

From-SVN: r118921
2006-11-17 09:57:45 +01:00
Uros Bizjak
3e0a5abd21 i386.c (ix86_function_sseregparm): Missing comment update.
* config/i386/i386.c (ix86_function_sseregparm): Missing comment update.

From-SVN: r118918
2006-11-17 07:50:45 +01:00
Mike Stump
80c85ca287 darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless the user asks for it directly.
* config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
	pre-darwin9 system, unless the user asks for it directly.
	(PREFERRED_DEBUGGING_TYPE): Likewise.
	* config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
	* config.gcc: Add suppport for darwin9.h.
	* config/darwin9.h: Add.
	* doc/install.texi (Specific): Clarify darwin documentation.

From-SVN: r118917
2006-11-17 06:48:01 +00:00
Richard Earnshaw
36b15ad0dc arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when optimizing for size.
* arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
	optimizing for size.

From-SVN: r118914
2006-11-17 00:27:18 +00:00
Joseph Myers
4d7a2662bf stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
	Condition PowerPC tests for saving FPRs on powerpc_fprs.
	* gcc.target/powerpc/compress-float-ppc.c,
	gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
	powerpc_fprs.
	* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
	do not pass -mhard-float.

From-SVN: r118912
2006-11-17 00:25:05 +00:00
GCC Administrator
328488eb1e Daily bump.
From-SVN: r118910
2006-11-17 00:17:33 +00:00
Mike Stump
b8835a420c * Makefile.in (targhooks.o): Add $(OPTABS_H).
From-SVN: r118904
2006-11-16 22:26:09 +00:00
Dirk Mueller
b9eae1a974 tree-vrp.c (get_value_range): Use XCNEW instead of XNEW and memset.
2006-11-16  Dirk Mueller  <dmueller@suse.de>

       * tree-vrp.c (get_value_range): Use XCNEW instead
       of XNEW and memset.
       (insert_range_assertions): Use XCNEWVEC instead
       of XNEWVEC and memset.
       (vrp_initialize): Same.
       (vrp_finalize): Same.
       * tree-ssa-ccp.c (ccp_initialize): Same.
       * predict.c (tree_bb_level_predictions): Same.
       * calls.c (expand_call): Same.
       * tree-ssa-copy.c (init_copy_prop): Same.
       (fini_copy_prop): Same.
       * tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
       of GGC_NEW and memset.

       * name-lookup.c (begin_scope): Use GGC_CNEW instead of
       GGC_NEW and memset.

From-SVN: r118903
2006-11-16 22:07:30 +00:00
Eric Botcazou
a9e64c639e re PR middle-end/26306 (ICE on volatile array with non-constant bounds)
PR middle-end/26306
	* gimplify.c (gimplify_expr): Only force a load for references to
	non-BLKmode volatile values.
	* doc/implement-c.texi (Qualifiers implementation): Document the
	interpretation of what a volatile access is.
	* doc/extend.texi (C++ Extensions): Rework same documentation.

From-SVN: r118900
2006-11-16 21:25:16 +00:00
Zdenek Dvorak
c8cf9f0f27 MAINTAINERS: Add myself and Daniel Berlin as loop optimizer maintainers.
* MAINTAINERS: Add myself and Daniel Berlin as loop optimizer
	maintainers.

From-SVN: r118894
2006-11-16 16:24:31 +00:00
Joseph Myers
198bc7873d spe.md (frob_di_df_2): Handle non-offsettable memory operand.
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
	memory operand.

From-SVN: r118889
2006-11-16 13:36:23 +00:00
Francois-Xavier Coudert
9f1dce5609 re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391
	PR fortran/29489

	* simplify.c (simplify_bound): Fix the simplification of
	LBOUND/UBOUND intrinsics.
	* trans-intrinsic.c (simplify_bound): Fix the logic, and
	remove an erroneous assert.

	* gcc/testsuite/gfortran.dg/bound_2.f90: Add more checks.
	* gcc/testsuite/gfortran.dg/bound_3.f90: New test.

From-SVN: r118888
2006-11-16 12:25:11 +00:00
François-Xavier Coudert
6c0e51c4fa trans-decl.c (gfc_get_symbol_decl): Fix formatting.
* trans-decl.c (gfc_get_symbol_decl): Fix formatting.

	* io/open.c (new_unit): Format %d expects an int variable.
	* runtime/error.c (show_locus): Format %d expects an int variable.

From-SVN: r118887
2006-11-16 11:20:57 +00:00
Richard Earnshaw
ecaf6f0780 arm.md (abssi2): Allow Thumb as well.
* arm.md (abssi2): Allow Thumb as well.	 Use an SImode scratch for
	Thumb.
	(arm_neg_abssi2): Renamed from neg_abssi2.
	(thumb_abssi2, thumb_neg_abssi2): New patterns with splitters.

From-SVN: r118884
2006-11-16 08:57:50 +00:00
Uros Bizjak
56829cae9c i386.c (ix86_function_sseregparm): Fix comment: number of arguments passed to local functions in SSE registers is 3.
* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
	number of arguments passed to local functions in SSE registers is 3.

	* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
	number of arguments passed in SSE registers to 3.

From-SVN: r118883
2006-11-16 08:30:18 +01:00
Maxim Kuvyrkov
96370780ab re PR target/29201 (ICE in create_recovery_block, at haifa-sched.c:3692 at -O3)
2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
	bb to ...
	(get_last_bb_insn): ... new global function.
	(basic_block.h): Declare it.
	* haifa-sched.c (create_recovery_block): Use it.

2006-11-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

	PR target/29201
	* gcc.c-torture/compile/pr29201.c: New test for ia64 target.

From-SVN: r118882
2006-11-16 06:57:59 +00:00
H.J. Lu
db21bbf90c re PR middle-end/29862 (Calling a function with gcc_assert)
2006-11-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/29862
	* real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert.

From-SVN: r118881
2006-11-15 19:50:16 -08:00
Brooks Moses
e25a0da328 data.c: Remove trailing periods from error messages.
* data.c: Remove trailing periods from error messages.
* decl.c: Likewise.
* expr.c: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* resolve.c: Likewise.
* symbol.c: Likewise.
* trans-io.c: Likewise.

From-SVN: r118880
2006-11-15 19:05:28 -08:00
Brooks Moses
10612ddf52 lang.opt: Rearrange entries back into ASCII order.
* lang.opt: Rearrange entries back into ASCII order.

From-SVN: r118879
2006-11-15 19:03:04 -08:00
GCC Administrator
2216398331 Daily bump.
From-SVN: r118876
2006-11-16 00:17:49 +00:00
Steven G. Kargl
813fb18bac import3.f90: Fix error message.
2006-11-15  Steven G. Kargl  <kargl@gcc.gnu.org>

        * gfortran.dg/import3.f90: Fix error message.

From-SVN: r118868
2006-11-15 21:32:31 +00:00
Paul Brook
66403286e3 unwind-arm.c (_Unwind_GetDataRelBase, [...]): Move from here ...
2006-11-15  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
	_Unwind_GetTextRelBase): Move from here ...
	* config/arm/pr-support.c (_Unwind_GetDataRelBase,
	_Unwind_GetTextRelBase): ... To here.

From-SVN: r118864
2006-11-15 18:12:17 +00:00
Bernd Schmidt
b1dd92fd59 tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory addresses we generate for testing are aligned.
* tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
	addresses we generate for testing are aligned.

From-SVN: r118863
2006-11-15 17:54:55 +00:00
Andrew Pinski
f9f63ff215 re PR tree-optimization/29788 (ICE in var_ann, at tree-flow-inline.h:130)
2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29788
        * fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
        to what is the const decl is a place holder for.

2006-11-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29788
        * gfortran.fortran-torture/compile/inline_1.f90:
        New testcase.

From-SVN: r118861
2006-11-15 09:04:56 -08:00
Uros Bizjak
47a37ce45e i386.opt: New target option -mx87regparm.
* config/i386/i386.opt: New target option -mx87regparm.

	* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
	float_in_x87: Add new variables. mmx_words, sse_words: Remove.
	(X87_REGPARM_MAX): Define.

	* config/i386/i386.c (override_options): Error out for
	-mx87regparm but no 80387 support.
	(ix86_attribute_table): Add x87regparm.
	(ix86_handle_cconv_attribute): Update comments for x87regparm.
	(ix86_comp_type_attributes): Check for mismatched x87regparm types.
	(ix86_function_x87regparm): New function.
	(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
	point registers.
	(init_cumulative_args): Initialize x87_nregs and float_in_x87
	variables.
	(function_arg_advance): Process x87_nregs and x87_regno when
	floating point argument is to be passed in 80387 register.
	(function_arg): Pass XFmode arguments in 80387 registers for local
	functions.  Pass SFmode and DFmode arguments to local functions
	in 80387 registers when flag_unsafe_math_optimizations is set.

	* reg-stack.c (convert_regs_entry): Disable NaN load for
	stack registers that are used for argument passing.

	* doc/extend.texi: Document x87regparm function attribute.
	* doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

	* gcc.target/i386/x87regparm-1.c: New test.
	* gcc.target/i386/x87regparm-2.c: New test.
	* gcc.target/i386/x87regparm-3.c: New test.
	* gcc.target/i386/x87regparm-4.c: New test.

From-SVN: r118859
2006-11-15 17:21:58 +01:00
Tobias Burnus
ab25c2d920 parse.c (parse_contained): Fix indention of one line.
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       * parse.c (parse_contained): Fix indention
         of one line.

From-SVN: r118858
2006-11-15 17:16:19 +01:00
Tobias Burnus
8998be2031 re PR fortran/27546 (IMPORT is broken)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27546
       * decl.c (gfc_match_import,variable_decl):
         Add IMPORT support.
         (gfc_match_kind_spec): Fix typo in gfc_error.
       * gfortran.h (gfc_namespace, gfc_statement):
         Add IMPORT support.
       * parse.c (decode_statement,gfc_ascii_statement,
         verify_st_order): Add IMPORT support.
       * match.h: Add gfc_match_import.
       * gfortran.texi: Add IMPORT to the supported
         Fortran 2003 features.

testsuite/
 2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27546
       * gfortran.dg/import.f90: New test.
       * gfortran.dg/import2.f90: New test.
       * gfortran.dg/import3.f90: New test.

From-SVN: r118857
2006-11-15 16:46:42 +01:00
Bernd Schmidt
dd5f63f83e tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
* tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
	arg MODE; all callers changed.  Use it to determine validity per
	machine mode instead of using Pmode for all memory references.
	(get_address_cost): Likewise add and use new arg MEM_MODE.

From-SVN: r118856
2006-11-15 14:29:10 +00:00
Rask Ingemann Lambertsen
c78ba53a65 combine.c (likely_spilled_retval_1): Fix masking operation.
2006-11-15  Rask Ingemann Lambertsen <rask@sygehus.dk>
	    J"orn Rennecke <joern.rennecke@st.com>

	* combine.c (likely_spilled_retval_1): Fix masking operation.
	(likely_spilled_retval_p): Use proper pattern for call to
	likely_spilled_retval_1.

Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>

From-SVN: r118855
2006-11-15 13:16:41 +00:00
Bernd Schmidt
6b97a43964 bfin.c (legitimize_pic_address): Lose dead code that tests for CONSTANT_POOL_ADDRESS_P.
* config/bfin/bfin.c (legitimize_pic_address): Lose dead code
	that tests for CONSTANT_POOL_ADDRESS_P.

From-SVN: r118854
2006-11-15 12:27:32 +00:00
Bernd Schmidt
0f14009a1e tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
* tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.

From-SVN: r118853
2006-11-15 12:23:09 +00:00
Tobias Burnus
65713e5bcc re PR fortran/27588 (-fbounds-check should catch substring out of range accesses)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>
            Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

       PR fortran/27588
       * trans-expr.c (gfc_conv_substring): Add bounds checking.
         (gfc_conv_variable, gfc_conv_substring_expr): Pass more
         arguments to gfc_conv_substring.

testsuite/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/27588
       * gfortran.dg/char_bounds_check_fail_1.f90: New test.


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

From-SVN: r118852
2006-11-15 11:13:16 +01:00
Tobias Burnus
8c894ae273 re PR fortran/29806 (Error if CONTAINS is present without SUBPROGRAM)
fortran/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29806
       * parse.c (parse_contained): Check for empty contains statement.

testsuite/
2006-11-15  Tobias Burnus  <burnus@net-b.de>

       PR fortran/29806
       * gfortran.dg/contains.f90: New test.
       * gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.

From-SVN: r118851
2006-11-15 11:02:21 +01:00