PR tree-optimization/32243
* tree-vect-transform.c (vectorizable_type_promotion): Move check
for ncopies after ratio check between nunits_out and nunits_in.
(vectorizable_type_demotion): Remove single-use variable "scalar_type".
testsuite/ChangeLog:
PR tree-optimization/32243
* gcc.dg/vect/vect.exp: Add support for -O3 tests. Reset default
flags for -Os tests.
* gcc.dg/vect/03-vect-pr32243.c: New test.
From-SVN: r125567
PR tree-optimization/32224
* tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
vectorization upon a non GIMPLE_MODIFY_STMT.
From-SVN: r125566
2007-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/32223
* match.c (gfc_match_special_char): New function. Match special char.
Add handling '\0'.
* match.h: Add prototype.
* io.c (next_char): Use it.
* primary.c (next_string_char): Ditto.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r125557
* g++.dg/ext/cleanup-8.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-9.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-10.c: Run on i386-darwin9 and later.
* g++.dg/ext/cleanup-11.c: Run on i386-darwin9 and later.
From-SVN: r125556
2007-06-07 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR testsuite/25241
testsuite/
* gcc.dg/parm-mismatch-1.c: Use dg-message for notes.
* gcc.dg/Wfatal.c: Use dg-message for output that is neither a
warning nor an error.
* gcc.dg/Wfatal-2.c: Likewise.
* gcc.dg/Werror-1.c: Likewise.
* gcc.dg/Werror-5.c: Likewise.
* gcc.dg/Werror-7.c: Likewise.
* gcc.dg/Werror-10.c: Likewise.
* gcc.dg/Werror-11.c: Likewise.
From-SVN: r125543
gcc/
2007-06-07 Simon Martin <simartin@users.sourceforge.net>
PR c++/30759
* c-common.h (flag_cpp0x): Replaced by...
(cxx_dialect): ... this new variable specifying the C++ dialect that
is used.
* c-common.c (flag_cpp0x): Removed.
(cxx_dialect): Defined.
* c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
cxx_dialect.
* c-opts.c (c_common_post_options): Likewise.
(set_std_cxx98): Set cxx_dialect to cxx98.
(set_std_cxx0x): Set cxx_dialect to cxx0x.
gcc/cp/
2007-06-07 Simon Martin <simartin@users.sourceforge.net>
PR c++/30759
* decl.c (check_initializer): Report an error when a brace enclosed
initializer is used for a non-aggregate type in C++98.
(redeclaration_error_message): Rewrote flag_cpp0x in terms of
cxx_dialect.
(grokdeclarator): Likewise.
(move_fn_p): Likewise.
* typeck.c (check_return_expr): Likewise.
* call.c (reference_binding): Likewise.
* error.c (cp_cpp_error): Likewise.
* pt.c (check_default_tmpl_args): Likewise.
(tsubst): Likewise.
* lex.c (init_reswords): Likewise.
* parser.c (p_parser_primary_expression): Likewise.
(TOKEN_PRECEDENCE): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_ptr_operator): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_enclosed_template_argument_list): Likewise.
(cp_parser_skip_to_end_of_template_parameter_list): Likewise.
(cp_parser_next_token_ends_template_argument_p): Likewise.
gcc/testsuite/
2007-06-07 Simon Martin <simartin@users.sourceforge.net>
PR c++/30759
* g++.dg/init/brace6.C: New test.
From-SVN: r125539
* gcc.dg/attr-weakref-1-darwin.c: Run on all Darwin platforms.
* gcc.dg/20050826-1.c: Run on all Darwin platforms.
* gcc.dg/darwin-ld-2.c: Run on all Darwin platforms.
* gcc.dg/darwin-ld-4.c: Run on all Darwin platforms.
* gcc.dg/cleanup-8.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-9.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-10.c: Run on i386-darwin9 and later.
* gcc.dg/cleanup-11.c: Run on i386-darwin9 and later.
From-SVN: r125538
PR tree-optimization/32220
* tree-predcom.c (eliminate_temp_copies): Handle the case that loop
phi node is reached before defining statement.
* gfortran.dg/predcom-2.f: New testcase.
From-SVN: r125531
2007-06-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/32231
* tree-vect-transform.c (vectorizable_call): Call update_stmt
after changing the right hand side of the assignment.
2007-06-06 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/32231
* gcc.target/i386/vectorize4.c: New test.
From-SVN: r125521
2007-06-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR testsuite/25241
testsuite/
* gcc.dg/simd-5.c: Mark output as a note.
* gcc.dg/simd-6.c: Mark output as a note. Fix incorrect use of
dg-message.
* gcc.dg/simd-1.c: Likewise.
* gcc.dg/always_inline.c: Mark output as a sorry.
* gcc.dg/always_inline2.c: Likewise.
* gcc.dg/always_inline3.c: Likewise.
From-SVN: r125505
* tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the
coding conventions.
(add_key): Likewise.
* tree-ssa.c (init_tree_ssa): Use type safe memory macros.
* tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
variable names.
* tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory macros.
(add_cost_one_coalesce): Likewise.
* tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
variable names. Rename orig to orig_name for consistency.
* tree-ssa-dom.c (dom_thread_across_edge): Cast according to the coding
conventions.
(cprop_into_successor_phis): Avoid using C++ keywords as variable names.
(record_equivalences_from_stmt): Likewise.
* tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
the coding conventions.
(memory_ssa_name_same): Likewise.
(dse_optimize_stmt): Likewise.
(dse_record_phis): Likewise.
(dse_finalize_block): Likewise.
* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++
keywords as variable names.
(may_move_till): Cast according to the coding conventions.
(force_move_till_expr): Avoid using C++ keywords as variable names.
(force_move_till): Cast according to the coding conventions.
(memref_hash): Likewise.
(memref_eq): Likewise.
(gather_mem_refs_stmt): Likewise.
* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid using C++
keywords as variable names.
(idx_find_step): Cast according to the coding conventions.
(idx_record_use): Likewise.
(find_depends): Likewise.
(prepare_decl_rtl): Likewise.
(mbc_entry_hash): Likewise.
(mbc_entry_eq): Likewise.
* tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp.
(simplify_replace_tree): Avoid using C++ keywords as variable names.
(idx_infer_loop_bounds): Cast according to the coding conventions.
* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
* tree-ssa-math-opts.c (occ_new ): Likwise.
* tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
macros.
* tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as variable
names.
(add_use_op): Likewise.
(add_vop): Likewise.
(add_vuse_op): Likewise.
(add_vdef_op): Likewise.
(get_expr_operands): Likewise.
(push_stmt_changes): Use type safe memory macros.
* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++
keywords as variable names.
(conditional_replacement): Likewise.
(minmax_replacement): Likewise.
(abs_replacement): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Cast according to the
coding conventions.
(insert_fake_stores): Avoid using C++ keywords as variable names.
* tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding
conventions.
* tree-ssa-structalias.c (heapvar_lookup): Likewise.
(heapvar_insert): Use type safe memory macros.
(new_var_info): Cast according to the coding conventions.
(new_constraint): Likewise.
(remove_preds_and_fake_succs): Use type safe memory macros.
* tree-ssa-threadupdate.c (thread_block): Cast according to the coding
conventions.
(thread_single_edge): Likewise.
From-SVN: r125504
2007-06-06 Eric Christopher <echristo@apple.com>
* config/i386/i386.c (override_options): Move handling
of TARGET_SUBTARGET* earlier.
From-SVN: r125497
* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
emited outside of basic block.
* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
the created blocks.
* rtl.h (delete_insn_chain): Declaration changed.
* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
non-removed insns.
(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false
to delete_insn_chain.
(rtl_verify_flow_info_1): Verify that the insns in header and footer
do not have bb field set.
(rtl_verify_flow_info): Verify that insns between basic blocks do not
have bb field set.
* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
* cfgcleanup.c (try_optimize_cfg): Ditto.
From-SVN: r125492
* lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
(lambda_body_vector_new): Use type safe memory macros.
(lambda_linear_expression_new): Likewise.
(lambda_loopnest_new): Likewise.
(lambda_lattice_new): Likewise.
(replace_uses_equiv_to_x_with_y): Cast according to the coding
conventions. Use type safe memory macros.
* lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
(lambda_body_vector_s): Likewise.
* lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
* lambda-trans.c (lambda_trans_matrix_new): Likewise.
From-SVN: r125491
2007-06-06 Richard Guenther <rguenther@suse.de>
* tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
if we need to schedule cfg_cleanup.
(tree_ssa_forward_propagate_single_use_vars): Do so.
From-SVN: r125490
./: * fold-const.c (merge_ranges): If range_successor or
range_predecessor fail, just return 0.
testsuite/:
* g++.dg/conversion/enum1.C: New test.
From-SVN: r125486