Richard Guenther [Thu, 19 Apr 2012 13:35:10 +0000 (13:35 +0000)]
symtab.c (dump_symtab_base): Use TREE_STRING_POINTER for dumping DECL_SECTION_NAME.
2012-04-19 Richard Guenther <rguenther@suse.de>
* symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
for dumping DECL_SECTION_NAME.
From-SVN: r186594
Michael Matz [Thu, 19 Apr 2012 13:29:29 +0000 (13:29 +0000)]
re PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or `-x cxx-header' option)
PR middle-end/52977
* tree.h (VECTOR_CST_NELTS): Use part number of types again.
(struct tree_vector): Adjust GTY length.
* tree.c (make_vector_stat): Don't set VECTOR_CST_NELTS.
* gengtype.c (struct walk_type_data): Add in_record_p and loopcounter
members.
(walk_type, <TYPE_POINTER, TYPE_ARRAY>): Handle case where our
caller emitted the length calulation already.
(walk_type, <TYPE_UNION, TYPE_STRUCT>): Emit length calculations
From-SVN: r186593
Richard Guenther [Thu, 19 Apr 2012 13:21:44 +0000 (13:21 +0000)]
re PR middle-end/53031 (gcc.dg/tree-ssa/vrp54.c scan-tree-dump-not vrp1 "link_error")
2012-04-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53031
* tree-vrp.c (adjust_range_with_scev): Revert back to
using max_loop_iterations.
From-SVN: r186592
Michael Matz [Thu, 19 Apr 2012 12:51:25 +0000 (12:51 +0000)]
diagnostic.c (emit_diagnostic): Move va_end call after user of the va_list.
* diagnostic.c (emit_diagnostic): Move va_end call after user
of the va_list.
(warning, warning_at, pedwarn, permerror): Ditto.
From-SVN: r186591
Richard Guenther [Thu, 19 Apr 2012 12:44:07 +0000 (12:44 +0000)]
ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound array access.
2012-04-19 Richard Guenther <rguenther@suse.de>
* ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
array access.
From-SVN: r186590
Georg-Johann Lay [Thu, 19 Apr 2012 11:29:13 +0000 (11:29 +0000)]
re PR target/53033 ([avr]: Wrong register number for 3-byte loads via X)
PR target/53033
* config/avr/avr.c (avr_out_load_psi): Fix assembler template for
the case *(X+const).
From-SVN: r186588
Ramana Radhakrishnan [Thu, 19 Apr 2012 11:21:34 +0000 (11:21 +0000)]
sync.md (sync_optab): Change ior attribute to "or".
2012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* config/arm/sync.md (sync_optab): Change ior attribute to "or".
From-SVN: r186587
Christian Bruel [Thu, 19 Apr 2012 09:06:53 +0000 (11:06 +0200)]
Fix #52283 error: case label does not reduce to an integer constant
From-SVN: r186586
Richard Guenther [Thu, 19 Apr 2012 08:51:50 +0000 (08:51 +0000)]
re PR tree-optimization/44688 (Excessive code-size growth at -O3)
2012-04-19 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/44688
* loop-iv.c (determine_max_iter): Only return max_iter.
(iv_number_of_iterations): Also use the recorded loop bound
on the maximum number of iterations.
* loop-unroll.c (decide_unroll_runtime_iterations): Use
max_iter to avoid unrolling loops that do not roll.
(decide_unroll_stupid): Likewise.
* gcc.dg/var-expand1.c: Increase array size to make unrolling
possibly profitable.
From-SVN: r186585
GCC Administrator [Thu, 19 Apr 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186584
Steven Bosscher [Wed, 18 Apr 2012 18:36:32 +0000 (18:36 +0000)]
fix accidentally checked-in assert.
From-SVN: r186580
Steven Bosscher [Wed, 18 Apr 2012 18:27:51 +0000 (18:27 +0000)]
targhooks.c (default_case_values_threshold): Fix code style nit.
gcc/
* targhooks.c (default_case_values_threshold): Fix code style nit.
* stmt.c (add_case_node, expand_case): Move logic to remove/reduce
case range and type folding from here...
* gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE
type, as documented in tree.def
fortran/
* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.
* trans-io.c (io_result): Likewise.
* trans-stmt.c (gfc_trans_integer_select,
gfc_trans_character_select): Likewise.
go/
* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.
From-SVN: r186579
Jan Hubicka [Wed, 18 Apr 2012 18:19:43 +0000 (20:19 +0200)]
cgraph.h (verify_symtab, [...]): Declare.
* cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
Declare.
* cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify
cgraph hash and same comdat groups.
(cgraph_optimize); Verify symbol table.
* ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
(dissolve_same_comdat_group_list): Work on symtab nodes.
(function_and_variable_visibility): Dissolve variable same comdat group
lists, too.
* symtab.c: Include timevar.h
(verify_symtab_base, verify_symtab_node, verify_symtab): New functions.
From-SVN: r186578
Steven Bosscher [Wed, 18 Apr 2012 18:12:57 +0000 (18:12 +0000)]
tree-switch-conversion.c (info): Remove global pass info.
* tree-switch-conversion.c (info): Remove global pass info.
(check_range, check_process_case, check_final_bb, create_temp_arrays,
free_temp_arrays, gather_default_values, build_constructors,
array_value_type, build_one_array, build_arrays, gen_def_assigns,
fix_phi_nodes, gen_inbound_check): Pass info around from ...
(process_switch): ... here. Unify message format. Return a const
char pointer to the failure reason message.
(do_switchconv): Unify message format. Update process_switch usage.
From-SVN: r186576
Steven Bosscher [Wed, 18 Apr 2012 18:10:17 +0000 (18:10 +0000)]
tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
* tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
* tree-cfg.c (edge_to_cases): Fix documentation.
From-SVN: r186575
Uros Bizjak [Wed, 18 Apr 2012 15:06:35 +0000 (17:06 +0200)]
sync.md (fetchop_name): Change ior attribute to "or".
* config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
From-SVN: r186572
Bill Schmidt [Wed, 18 Apr 2012 12:29:23 +0000 (12:29 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
gcc:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
(possibly_move_powi): New function.
(rewrite_expr_tree): Call possibly_move_powi.
(rewrite_expr_tree_parallel): Likewise.
(attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
call add_to_ops_vec instead.
gcc/testsuite:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
gfortran.dg/reassoc_11.f: New test.
From-SVN: r186568
Bill Schmidt [Wed, 18 Apr 2012 12:25:17 +0000 (12:25 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
gcc:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
(decrement_power): Likewise.
(propagate_op_to_single_use): Likewise.
(zero_one_operation): Handle __builtin_pow* calls in linearized
expression trees; factor logic into propagate_op_to_single_use.
(undistribute_ops_list): Allow operands with repeat counts > 1.
gcc/testsuite:
2012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
gfortran.dg/reassoc_7.f: New test.
gfortran.dg/reassoc_8.f: Likewise.
gfortran.dg/reassoc_9.f: Likewise.
gfortran.dg/reassoc_10.f: Likewise.
From-SVN: r186567
Richard Guenther [Wed, 18 Apr 2012 11:33:51 +0000 (11:33 +0000)]
re PR tree-optimization/44688 (Excessive code-size growth at -O3)
2012-04-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44688
* cfgloop.h (record_niter_bound): Declare.
* tree-ssa-loop-niter.c (record_niter_bound): Export.
Update the estimation with the upper bound here...
(estimate_numbers_of_iterations_loop): ... instead of here.
Do not forcefully reset a recorded upper bound.
* tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
Record the maximum number of loop iterations of the
prologue loop.
From-SVN: r186566
Paolo Carlini [Wed, 18 Apr 2012 10:21:43 +0000 (10:21 +0000)]
re PR c++/52422 ([C++11][SFINAE] Hard errors with void or arithmetic expressions)
/cp
2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52422
* cp-tree.h (build_addr_func, decay_conversion,
get_member_function_from_ptrfunc,
build_m_component_ref, convert_member_func_to_ptr):
Add tsubst_flags_t parameter.
* typeck.c (cp_default_conversion): Add.
(decay_conversion, default_conversion,
get_member_function_from_ptrfunc, convert_member_func_to_ptr):
Add tsubst_flags_t parameter and use it throughout.
(cp_build_indirect_ref, cp_build_array_ref,
cp_build_function_call_vec, convert_arguments, build_x_binary_op,
cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
build_const_cast_1, expand_ptrmemfunc_cst,
convert_for_initialization): Adjust.
* init.c (build_vec_init): Adjust.
* decl.c (grok_reference_init, get_atexit_node): Likewise.
* rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
* except.c (build_throw): Likewise.
* typeck2.c (build_x_arrow): Likewise.
(build_m_component_ref): Add tsubst_flags_t parameter and
use it throughout.
* pt.c (convert_nontype_argument): Adjust.
* semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
* decl2.c (build_offset_ref_call_from_tree): Likewise.
* call.c (build_addr_func): Add tsubst_flags_t parameter and
use it throughout.
(build_call_a, build_conditional_expr_1, build_new_op_1,
convert_like_real, convert_arg_to_ellipsis, build_over_call,
build_special_member_call): Adjust.
* cvt.c (cp_convert_to_pointer, force_rvalue,
build_expr_type_conversion): Likewise.
/testsuite
2012-04-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52422
* g++.dg/cpp0x/sfinae33.C: New.
* g++.dg/cpp0x/sfinae34.C: Likewise.
From-SVN: r186565
Jan Hubicka [Wed, 18 Apr 2012 09:57:53 +0000 (11:57 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Update.
* lto-symtab.c (lto_cgraph_replace_node): Update.
* cgraphbuild.c (record_reference, record_type_list,
record_eh_tables, mark_address, mark_load, mark_store): Update.
* cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
Update.
* cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
(cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
* reload.c: Fix typo in comment.
* rtlanal.c: Likewise.
* tree-emultls.c (gen_emutls_addr): Update.
* ipa-reference.c (analyze_function): Update.
* cgraphunit.c (cgraph_analyze_function,
cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
Update.
* ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
(ipa_remove_reference): Likewise.
(ipa_remove_all_refering): Rename to ...
(ipa_remove_all_referring): ... this one; update.
(ipa_dump_references): Update.
(ipa_dump_referring): Update.
(ipa_clone_references): Update.
(ipa_clone_refering): Rename to ...
(ipa_clone_referring): ... this one; update.
(ipa_ref_cannot_lead_to_return): Update.
(ipa_ref_has_aliases_p): Update.
* ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
forward typedefs.
(ipa_ref_type): Remove.
(ipa_ref_ptr_u): Remove.
(ipa_ref): Remove referencing, refered, refered_index, refering_type
and refered_type; add referring, referred and referred_index.
(ipa_ref_list): Rename refering to referring.
(ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
ipa_clone_references, ipa_clone_referring): Update prototypes.
* lto-cgraph.c (referenced_from_other_partition_p): Update.
(lto_output_ref): Update.
(add_references): Update.
(input_varpool_node): Update.
(input_refs): Update.
* ipa-ref-inline.h (ipa_ref_node): Update.
(ipa_ref_varpool_node): Update.
(ipa_ref_referring_node); Update.
(ipa_ref_referring_varpool_node): Update.
(ipa_ref_referring_ref_list); Update.
(ipa_ref_referred_ref_list): Update.
(ipa_ref_list_first_referring): Update.
(ipa_empty_ref_list): Update.
(ipa_ref_list_refering_iterate): Rename to ...
(ipa_ref_list_referring_iterate): ... this one.
* cse.c: Update comment.
* ipa-utils.c (ipa_reverse_postorder): Update.
* tree-ssa-alias.c: Update.
* ipa-inline.c (reset_edge_caches): Update.
(update_caller_keys): Update.
* ipa-inline.h: Update comments.
* jump.c: Update comment.
* alias.c: Likewise.
* ipa.c (process_references): Update.
(cgraph_remove_unreachable_nodes): Likewise.
(ipa_discover_readonly_nonaddressable_var): Likewise.
(cgraph_address_taken_from_non_vtable_p): Likewise.
* trans-mem.c (ipa_tm_execute): Update.
* simplify-rtx.c: Fix comment.
* rtl.c: Fix comment.
* symtab.c (symtab_unregister_node): Update.
* varpool.c (dump_varpool_node): Update.
(varpool_analyze_pending_decls): Update.
(assemble_aliases): Update.
(varpool_for_node_and_aliases): Update.
From-SVN: r186564
Joey Ye [Wed, 18 Apr 2012 09:04:09 +0000 (09:04 +0000)]
thumb1-imm.c: Skip it in non-thumb1 target.
2012-04-18 Joey Ye <joey.ye@arm.com>
* gcc.target/arm/thumb1-imm.c: Skip it in non-thumb1 target.
From-SVN: r186563
Richard Guenther [Wed, 18 Apr 2012 08:55:41 +0000 (08:55 +0000)]
cfgloop.h (estimate_numbers_of_iterations_loop): Remove use_undefined_p parameter.
2012-04-18 Richard Guenther <rguenther@suse.de>
* cfgloop.h (estimate_numbers_of_iterations_loop): Remove
use_undefined_p parameter.
* tree-flow.h (estimate_numbers_of_iterations): Likewise.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
Likewise.
(estimate_numbers_of_iterations): Likewise.
(estimated_loop_iterations): Adjust.
(max_loop_iterations): Likewise.
(scev_probably_wraps_p): Likewise.
* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
* tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
not max_loop_iterations.
(execute_vrp): Remove explicit number of iterations estimation.
From-SVN: r186562
Richard Guenther [Wed, 18 Apr 2012 08:32:32 +0000 (08:32 +0000)]
test_passing_unions.c: Avoid undefined array access.
2012-04-18 Richard Guenther <rguenther@suse.de>
* gcc.target/x86_64/abi/test_passing_unions.c: Avoid undefined
array access.
* gcc.target/x86_64/abi/test_passing_structs.c: Likewise.
* gcc.target/i386/avx256-unaligned-load-4.c: Fix array sizes.
From-SVN: r186561
Enkovich Ilya [Wed, 18 Apr 2012 08:29:55 +0000 (08:29 +0000)]
linux-common.h: New.
2012-04-18 Enkovich Ilya <ilya.enkovich@intel.com>
* config/i386/linux-common.h: New.
* config.gcc: Add i386/linux-common.h before
all i386/linux.h and i386/linux64.h usages.
* config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
(LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
* config/i386/gnu-user64.h: Likewise.
* config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
(CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
(GNU_USER_TARGET_MATHFILE_SPEC): New.
(ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.
From-SVN: r186560
Jan Hubicka [Wed, 18 Apr 2012 06:54:33 +0000 (08:54 +0200)]
cgraph.c (cgraph_node_name): Remove.
* cgraph.c (cgraph_node_name): Remove.
(dump_cgraph_node): Use dump_symtab_base; reformat.
* cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
Declare.
(cgraph_node_name, varpool_node_name): Remove.
(cgraph_node_asm_name, varpool_node_asm_name,
cgraph_node_name, varpool_node_name): New.
* tree-pass.h (TODO_dump_cgraph): Rename to ...
(TODO_dump_symtab): ... this one.
* ipa-cp (pass_ipa_cp): Update.
* ia-reference.c (generate_summary, read_write_all_from_decl,
propagate, ipa_reference_read_optimization_summary): Update.
* cgraphunit.c (cgraph_analyze_functions): Update.
(cgraph_optimize): Update.
* ipa-ref.c (ipa_dump_references): Update.
(ipa_dump_refering): Update.
* ipa-inline.c (pass_ipa_inline): Update.
* matrix-reorg.c (pass_ipa_matrix_reorg): Update.
* ipa.c (pass_ipa_function_visibility,
pass_ipa_whole_program_visibility): Update.
* tree-sra.c (pass_early_ipa_sra): Update.
* symtab.c: Include langhooks.h
(symtab_node_asm_name): New.
(symtab_node_name): New.
(symtab_type_names): New static var.
(dump_symtab_base): New.
(dump_symtab_node, dump_symtab): New.
(debug_symtab_node, debug_symtab): New.
* tree-ssa-structalias.c: Dump symbol table.
* pases.c (execute_todo): Handle TODO_dump_symtab instead
of TODO_dump_cgraph.
* varpoo.c (varpool_node_name): Remove.
(dump_varpool_node): Use dump_symtab_base; reformat.
From-SVN: r186559
GCC Administrator [Wed, 18 Apr 2012 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r186557
Manuel López-Ibáñez [Tue, 17 Apr 2012 22:47:15 +0000 (22:47 +0000)]
invoke.texi (Language Independent Options): @item should be before @opindex.
2012-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/invoke.texi (Language Independent Options): @item should be
before @opindex.
From-SVN: r186553
Richard Sandiford [Tue, 17 Apr 2012 20:09:01 +0000 (20:09 +0000)]
re PR bootstrap/53021 (bootstrap failure on Linux/ia32)
gcc/
PR bootstrap/53021
* rtl.c (rtx_code_size): Handle ADDRESS.
From-SVN: r186549
Tobias Burnus [Tue, 17 Apr 2012 19:30:29 +0000 (21:30 +0200)]
re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-17 Tobias Burnus <burnus@net-b.de>
PR libfortran/38199
PR libfortran/50673
* io/unit.c (get_internal_unit): Properly check for the presence
of the format string.
From-SVN: r186548
Tom de Vries [Tue, 17 Apr 2012 18:28:50 +0000 (18:28 +0000)]
pr51264-4.C: New test.
2012-04-17 Tom de Vries <tom@codesourcery.com>
* g++.dg/pr51264-4.C: New test.
From-SVN: r186547
Tom de Vries [Tue, 17 Apr 2012 18:28:42 +0000 (18:28 +0000)]
cp-gimplify.c (begin_bc_block): Add location parameter and use as location argument to create_artificial_label.
2012-04-17 Tom de Vries <tom@codesourcery.com>
* cp-gimplify.c (begin_bc_block): Add location parameter and use as
location argument to create_artificial_label.
(finish_bc_block): Change return type to void. Remove body_seq
parameter, and add block parameter. Append label to STMT_LIST and
return in block.
(gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
(gimplify_do_stmt, gimplify_switch_stmt): Remove function.
(genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
(genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
(genericize_break_stmt, genericize_omp_for_stmt): New function.
(cp_gimplify_omp_for): Remove bc_continue processing.
(cp_gimplify_expr): Genericize VEC_INIT_EXPR.
(cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
CONTINUE_STMT, and BREAK_STMT as unreachable.
(cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
(cp_genericize_tree): New function, factored out of ...
(cp_genericize): ... this function.
From-SVN: r186546
Tom de Vries [Tue, 17 Apr 2012 18:28:34 +0000 (18:28 +0000)]
tree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_LIST.
2012-04-17 Tom de Vries <tom@codesourcery.com>
* tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
is not a STMT_LIST.
From-SVN: r186545
Uros Bizjak [Tue, 17 Apr 2012 17:35:23 +0000 (19:35 +0200)]
re PR target/53020 (__atomic_fetch_or doesn't generate `1 insn` variant)
PR target/53020
* config/i386/sync.md (atomic_<code><mode>): Rename to
atomic_<logic><mode>.
From-SVN: r186542
Paolo Carlini [Tue, 17 Apr 2012 17:20:02 +0000 (17:20 +0000)]
re PR c++/52599 (ICE on illegal constexpr constructor declaration)
/cp
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52599
* semantics.c (build_constexpr_constructor_member_initializers):
Check for function-try-block as function-body.
/testsuite
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52599
* g++.dg/cpp0x/constexpr-ctor10.C: New.
/cp
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53003
* parser.c (cp_parser_member_declaration): Check that
initializer_token_start is non null before dereferencing it.
/testsuite
2012-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53003
* g++.dg/parse/crash59.C: New.
From-SVN: r186541
Richard Sandiford [Tue, 17 Apr 2012 17:01:02 +0000 (17:01 +0000)]
rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
gcc/
* rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
* alias.c (reg_base_value): Expand and update comment.
(arg_base_value): New variable.
(unique_id): Move up file.
(unique_base_value, unique_base_value_p, known_base_value_p): New.
(find_base_value): Use arg_base_value and known_base_value_p.
(record_set): Document REG_NOALIAS handling. Use unique_base_value.
(find_base_term): Use known_base_value_p.
(base_alias_check): Use unique_base_value_p.
(init_alias_target): Initialize arg_base_value. Use unique_base_value.
(init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.
From-SVN: r186540
Benjamin Kosnik [Tue, 17 Apr 2012 16:41:40 +0000 (16:41 +0000)]
808590.cc: New.
2012-04-17 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: New.
From-SVN: r186539
Pat Haugen [Tue, 17 Apr 2012 15:38:10 +0000 (15:38 +0000)]
rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
From-SVN: r186534
Michael Matz [Tue, 17 Apr 2012 13:54:26 +0000 (13:54 +0000)]
re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)
PR tree-optimization/18437
* tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
(STMT_VINFO_STRIDE_LOAD_P): New accessor.
(vect_check_strided_load): Declare.
* tree-vect-data-refs.c (vect_check_strided_load): New function.
(vect_analyze_data_refs): Use it to accept strided loads.
* tree-vect-stmts.c (vectorizable_load): Ditto and handle them.
testsuite/
* gfortran.dg/vect/rnflow-trs2a2.f90: New test.
From-SVN: r186530
Richard Guenther [Tue, 17 Apr 2012 13:42:48 +0000 (13:42 +0000)]
re PR rtl-optimization/53011 (ice in verify_loop_structure: bad sizes)
2012-04-17 Richard Guenther <rguenther@suse.de>
PR middle-end/53011
* tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
loops when redirecting an entry or latch edge.
* g++.dg/torture/pr53011.C: New testcase.
From-SVN: r186529
Bernd Schmidt [Tue, 17 Apr 2012 13:40:01 +0000 (13:40 +0000)]
sel-sched.c (sel_global_init): Revert previous change.
* sel-sched.c (sel_global_init): Revert previous change.
his line, and those below, will be ignored--
M ChangeLog
M sel-sched.c
From-SVN: r186528
Richard Guenther [Tue, 17 Apr 2012 13:33:41 +0000 (13:33 +0000)]
tree-flow.h (array_at_struct_end_p): Move declaration ...
2012-04-17 Richard Guenther <rguenther@suse.de>
* tree-flow.h (array_at_struct_end_p): Move declaration ...
* tree.h (array_at_struct_end_p): ... here.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
* expr.c (array_at_struct_end_p): ... here. Rewrite.
From-SVN: r186527
Steven Bosscher [Tue, 17 Apr 2012 12:02:30 +0000 (12:02 +0000)]
stmt.c (cost_table_, [...]): Remove.
* stmt.c (cost_table_, use_cost_table, cost_table_initialize,
COST_TABLE): Remove.
(estimate_case_costs): Remove.
(expand_case): Do not call estimate_case_costs
to set use_cost_table.
(balance_case_nodes): Do not use use_cost_table.
From-SVN: r186526
Jan Hubicka [Tue, 17 Apr 2012 10:53:22 +0000 (12:53 +0200)]
cgraph.c (cgraph_hash, [...]): Remove.
* cgraph.c (cgraph_hash, assembler_name_hash): Remove.
(hash_node, eq_node): Remove.
(cgraph_create_node): Do not handle hashtable.
(cgraph_get_node): Remove.
(cgraph_insert_node_to_hashtable): Remove.
(hash_node_by_assembler_name): Remove.
(eq_assembler_name): Remove.
(cgraph_node_for_asm): Rewrite.
(cgraph_find_replacement_node): Break out from ...
(cgraph_remove_node): ... here; do not maintain hashtables.
(change_decl_assembler_name): Remove.
(cgraph_clone_node): Do not maintain hashtables.
* cgraph.h (const_symtab_node): New typedef.
(cgraph_insert_node_to_hashtable): Remove.
(symtab_get_node, symtab_node_for_asm,
symtab_insert_node_to_hashtable): Declare.
(cgraph_find_replacement_node): Declare.
(cgraph_get_node, varpool_get_node): Turn into inlines.
(cgraph, varpool): Work sanely on NULL pointers.
(FOR_EACH_SYMBOL): New walker.
* ipa-inline-transform.c (save_inline_function_body): Use
symtab_insert_node_to_hashtable.
* symtab.c: Include ggc.h and diagnostics.h
(symtab_hash, assembler_name_hash): New static vars;
(hash_node, eq_node, hash_node_by_assembler_name,
eq_assembler_name, insert_to_assembler_name_hash,
unlink_from_assembler_name_hash): New.
(symtab_register_node): Update hashtables.
(symtab_insert_node_to_hashtable): New.
(symtab_unregister_node): Update hashtables.
(symtab_get_node): New.
(symtab_node_for_asm): New.
(change_decl_assembler_name): New.
* Makefile.in (symtab.o): Needs GTY.
* varpool.c (varpool_hash): Remove.
(hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
(varpool_node): Rewrite using varpool_get_node.
(varpool_remove_node): DO not maintain hashtables.
(varpool_node_for_asm); Rewrite.
From-SVN: r186525
Rainer Orth [Tue, 17 Apr 2012 10:21:25 +0000 (10:21 +0000)]
Fix merging default libstdc++.log
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
summary header to avoid confusion with DejaGnu header.
From-SVN: r186524
Sandra Loosemore [Tue, 17 Apr 2012 02:34:20 +0000 (22:34 -0400)]
invoke.texi: Copy-edit to put verbs in the present tense when...
2012-04-16 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi: Copy-edit to put verbs in the present tense
when describing the current behavior of GCC.
From-SVN: r186523
Jason Merrill [Tue, 17 Apr 2012 02:29:51 +0000 (22:29 -0400)]
re PR c++/38543 ([C++0x] Cannot specialize variadic template function)
PR c++/38543
* pt.c (determine_specialization): Instead of comparing the number
of parms, check that tsubst gives the right answer.
From-SVN: r186522
Jason Merrill [Tue, 17 Apr 2012 02:29:43 +0000 (22:29 -0400)]
re PR c++/52008 ([Core/1495] ICE when adding partial specialization for variadic-templated structure)
PR c++/52008
* pt.c (process_partial_specialization): Complain about a partial
specialization with fewer args than primary template parms.
From-SVN: r186521
Jason Merrill [Tue, 17 Apr 2012 02:29:35 +0000 (22:29 -0400)]
re PR c++/50830 ([c++0x] Variadic template, inner class error)
PR c++/50830
* pt.c (convert_template_argument): Handle template template
argument packs.
From-SVN: r186520
Jason Merrill [Tue, 17 Apr 2012 02:29:27 +0000 (22:29 -0400)]
re PR c++/50303 ([C++0x] Segfault with variadic template template parameters)
PR c++/50303
* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
template parameters.
From-SVN: r186519
GCC Administrator [Tue, 17 Apr 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186516
Ian Lance Taylor [Mon, 16 Apr 2012 23:05:40 +0000 (23:05 +0000)]
compiler: fix infinite recursion in string constant evaluation.
Fixes compilation of incorrect code:
const f, g = g, f
func S() []byte { return []byte(f) }
The problem was already handled for numerical constants.
Part of issue 3186 (go).
From-SVN: r186511
Tobias Burnus [Mon, 16 Apr 2012 21:47:35 +0000 (23:47 +0200)]
[multiple changes]
2012-04-12 Tobias Burnus <burnus@net-b.de>
PR fortran/52864
* expr.c (gfc_check_vardef_context): Fix assignment check for
pointer components.
2012-04-16 Tobias Burnus <burnus@net-b.de>
PR fortran/52864
* gfortran.dg/pointer_intent_6.f90: New.
From-SVN: r186507
Tobias Burnus [Mon, 16 Apr 2012 21:38:49 +0000 (23:38 +0200)]
re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-16 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
* gfortran.dg/public_private_module_3.f90: Use dg-additional-sources
to include public_private_module_4.f90.
* gfortran.dg/public_private_module_4.f90: Skip this test on all
targets
From-SVN: r186506
Richard Sandiford [Mon, 16 Apr 2012 18:52:05 +0000 (18:52 +0000)]
genemit.c (gen_exp): Remove ADDRESS handling.
gcc/
* genemit.c (gen_exp): Remove ADDRESS handling.
* genoutput.c (scan_operands): Likewise.
* genpeep.c (match_rtx): Likewise.
* genrecog.c (add_to_sequence): Likewise.
From-SVN: r186503
David Edelsohn [Mon, 16 Apr 2012 18:43:00 +0000 (18:43 +0000)]
install.texi (Specific, *-ibm-aix*): Update assembler bug status.
* doc/install.texi (Specific, *-ibm-aix*): Update assembler bug
status.
From-SVN: r186502
Martin Jambor [Mon, 16 Apr 2012 16:04:45 +0000 (18:04 +0200)]
tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for bit-fields.
2012-04-16 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for
bit-fields.
From-SVN: r186501
Paolo Carlini [Mon, 16 Apr 2012 15:32:22 +0000 (15:32 +0000)]
re PR c++/49152 (pretty printer cannot handle iterators and other complex expressions)
/cp
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49152
* call.c (op_error): Print types; when flag_diagnostics_show_caret
is false print expressions too.
(op_error_string): Add.
/testsuite
2012-04-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49152
* g++.dg/diagnostic/operator1.C: New.
* g++.dg/ext/label5.C: Adjust.
* g++.dg/ext/va-arg1.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error20.C: Likewise.
* g++.dg/other/error16.C: Likewise.
* g++.dg/other/error10.C: Likewise.
* g++.dg/parse/error30.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-err1.C: Likewise.
From-SVN: r186499
Ulrich Weigand [Mon, 16 Apr 2012 15:19:43 +0000 (15:19 +0000)]
re PR target/51819 (Neon wrong code generation, Error: unsupported alignment for instruction -- `vst1.32 {d2[0]},[r0:64]')
2012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org>
PR target/51819
* config/arm/arm.c (arm_print_operand): Fix invalid alignment
hints for 'A' operand types.
From-SVN: r186498
Rainer Orth [Mon, 16 Apr 2012 14:49:00 +0000 (14:49 +0000)]
Use target_alias in validate_failures.py
* testsuite-management/validate_failures.py (GetBuildData): Use
target_alias.
From-SVN: r186497
Jan Hubicka [Mon, 16 Apr 2012 14:34:22 +0000 (16:34 +0200)]
cgraph.h (symtab_node_base): Add next and previous pointers.
* cgraph.h (symtab_node_base): Add next and previous pointers.
(cgraph_node): Remove next and preivous pointers.
(varpool_node): Likewise; remove next/previous GTY marker;
it is not type safe.
(symtab_node_def): Update GTY marker
(x_cgraph_nodes, cgraph_nodes): Remove.
(symtab_nodes): New function.
(cgraph_order): Rename to ...
(symtab_order): ... this one.
(symtab_register_node, symtab_unregister_node, symtab_remove_node):
Declare.
(x_varpool_nodes, varpool_nodes): Remove.
(FOR_EACH_STATIC_VARIABLE): Update.
(symtab_function_p, symtab_variable_p): New function.
(FOR_EACH_VARIABLE): Update.
(varpool_first_variable, varpool_next_variable): New functions.
(FOR_EACH_VARIABLE): Update.
(cgraph_first_defined_function): Update.
(cgraph_next_defined_function, cgraph_next_defined_function): Update.
(FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
(cgraph_first_function, cgraph_next_function): New.
(FOR_EACH_FUNCTION): Update.
(cgraph_first_function_with_gimple_body,
cgraph_next_function_with_gimple_body): Update.
* symtab.c: New file.
* cgraph.c: Update copyright dates.
(x_cgraph_nodes, cgraph_order): Remove.
(NEXT_FREE_NODE): Update.
(SET_NEXT_FREE_NODE): New.
(cgraph_create_node_1): Remove common code.
(cgraph_create_node); Remove common code; call symtab_register_node.
(cgraph_remove_node): Remove common code; call symtab_unregister-node.
(cgraph_add_asm_node); update.
(cgraph_clone_node): Register new node.
* cgraphunit.c (process_function_and_variable_attributes): Update.
(cgraph_analyze_functions): Update.
(cgraph_analyze_functions): Update.
(cgraph_output_in_order): Update.
* lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1): Update.
* ipa-inline.c (recursive_inlining); update.
* lto-streamer-in.c (lto_input_toplevel_asms); Update.
* ipa.c (cgraph_remove_unreachable_nodes): Update.
* Makefile.in: Add symtab.o
* varpool.c (x_varpool_nodes): Remove
(varpool_node): Remove common code; call symtab_register_node.
(varpool_remove_node); Remove common code; call symtab_unregister_node.
From-SVN: r186496
Jason Merrill [Mon, 16 Apr 2012 14:15:36 +0000 (10:15 -0400)]
re PR c++/51148 ([C++0x] Unexpanded template param packs wrongly accepted in friend class declarations)
PR c++/51148
* friend.c (make_friend_class): Call check_for_bare_parameter_packs.
From-SVN: r186495
Richard Guenther [Mon, 16 Apr 2012 13:21:30 +0000 (13:21 +0000)]
re PR c/52977 (internal compiler error: Segmentation fault with `-x c-header' or `-x cxx-header' option)
2012-04-16 Richard Guenther <rguenther@suse.de>
PR middle-end/52977
* tree.h (VECTOR_CST_NELTS): Adjust.
(struct tree_vector): Add explicit length field.
(make_vector_stat): Declare.
(make_vector): Define.
* tree.c (make_vector_stat): New function.
(build_vector_stat): Use it.
* tree-streamer-in.c (streamer_alloc_tree): Likewise.
From-SVN: r186494
Bill Schmidt [Mon, 16 Apr 2012 12:15:50 +0000 (12:15 +0000)]
re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
2012-04-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/52976
* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
(undistribute_ops_list): Ops with repeat counts aren't eligible for
undistribution.
(attempt_builtin_powi): Call add_to_ops_vec_max_rank.
From-SVN: r186493
Jan Hubicka [Mon, 16 Apr 2012 12:04:17 +0000 (14:04 +0200)]
cgraph.h (FOR_EACH_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
New macros.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
walkers to walk cgraph and varpool.
* cgraph.c (cgraph_node_for_asm): Likewise.
(dump_cgraph): Likewise.
* value-prof.c (init_node_map): Likewise.
* tree.c (free_lang_data_in_cgraph): Likewise.
* tree-emutls.c: (ipa_lower_emutls): Likewise.
* ipa-reference.c (generate_summary, propagate): Likewise.
* cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
cgraph_mark_functions_to_output, cgraph_output_in_order,
output_weakrefs, cgraph_materialize_all_clones,
cgraph_optimize): Likewise.
* lto-cgraph.c (merge_profile_summaries): Likewise.
(input_cgraph): Likewise.
* ipa-pure-const.c (generate_summary): Likewise.
(propagate): Likwise.
* ipa-utils.c (ipa_reduced_postorder): Likewise.
(ipa_free_postorder_info): Likewise.
(ipa_reverse_postorder): Likewise.
* ipa-inline.c (ipa_inline): Likewise.
* matrix-reorg.c (find_matrices_decl): Likewise.
(matrix_reorg): Likewise.
* tree-vectorizer.c (increase_alignment): Likewise.
* ipa.c (cgraph_remove_unreachable_nodes): Likewise.
(function_and_variable_visibility): Likewise.
(whole_program_function_and_variable_visibility): Likewise.
(ipa_cdtor_merge): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
* ipa-inline-analysis.c (dump_inline_summaries): Likewise.
* ipa-prop.c (ipa_print_all_jump_functions): Likewise.
(ipa_print_all_params): Likewise.
(ipa_update_after_lto_read): Likewise.
* tree-profie.c (tree_profiling): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
* passes.c (dump_passes): Likewise.
(do_per_function): Likewise.
(ipa_write_summaries): Likewise.
* varpool.c (dump_varpool): Likewise.
(varpool_node_for_asm): Likewise.
(varpool_assemble_pending_decls): Likewise.
* decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH
walkers to walk cgraph and varpool.
* lto.c (read_cgraph_and_symbols): Use FOR_EACH
walkers to walk cgraph and varpool.
(materialize_cgraph): Likewise.
* lto-partition.c (lto_1_to_1_map): Likewise.
(lto_balanced_map): Likewise.
(lto_promote_cross_file_statics): Likewise.
From-SVN: r186492
Richard Guenther [Mon, 16 Apr 2012 11:03:16 +0000 (11:03 +0000)]
re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")
2012-04-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52975
* tree-if-conv.c (predicate_bbs): Do not simplify inverted
condition but always mark it with TRUTH_NOT_EXPR.
From-SVN: r186491
Rainer Orth [Mon, 16 Apr 2012 10:14:40 +0000 (10:14 +0000)]
Fix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948)
* lib/plugin-support.exp (plugin-test-execute): Properly determine
testcase name.
Use fail, pass instead of unresolved.
Don't log $optstr.
PR testsuite/52948
* g++.dg/plugin/dumb_plugin.c (pass_dumb_plugin_example): Remove
TODO_dump_func.
* g++.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
* gcc.dg/plugin/one_time_plugin.c (one_pass): Likewise.
* gcc.dg/plugin/selfassign.c (pass_warn_self_assign): Likewise.
From-SVN: r186490
Richard Guenther [Mon, 16 Apr 2012 09:25:14 +0000 (09:25 +0000)]
re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")
2012-04-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52975
* tree-ssa-forwprop.c (combine_cond_exprs): New function.
(ssa_forward_propagate_and_combine): Call it for COND_EXPRs
and VEC_COND_EXPRs. Also combine into VEC_COND_EXPRs condition.
* fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.
From-SVN: r186488
Janus Weil [Mon, 16 Apr 2012 08:48:11 +0000 (10:48 +0200)]
re PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected)
2012-04-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/52968
* class.c (gfc_build_class_symbol): Make sure the 'f2k_derived'
namespace is present.
2012-04-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/52968
* gfortran.dg/typebound_call_23.f03: New test case.
From-SVN: r186486
Jason Merrill [Mon, 16 Apr 2012 03:18:17 +0000 (23:18 -0400)]
re PR c++/47220 ([C++0x] no error on unterminated template argument list for variadic parameter)
PR c++/47220
* pt.c (coerce_template_parameter_pack): Check for error_mark_node.
From-SVN: r186480
Jason Merrill [Mon, 16 Apr 2012 03:18:06 +0000 (23:18 -0400)]
re PR c++/52292 ([C++11] Variadic template expansion into fixed template causes constructor to not match)
PR c++/52292
PR c++/52380
* pt.c (coerce_template_parms): Even if we aren't converting we
want to expand argument packs.
From-SVN: r186479
GCC Administrator [Mon, 16 Apr 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186478
Paolo Carlini [Sun, 15 Apr 2012 23:35:27 +0000 (23:35 +0000)]
re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
2012-04-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52702
* include/std/type_traits (is_trivially_destructible): Add.
(has_trivial_destructor): Remove.
* testsuite/util/testsuite_common_types.h: Adjust.
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/value.cc: New.
* testsuite/20_util/is_trivially_destructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_destructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
From-SVN: r186474
Jason Merrill [Sun, 15 Apr 2012 17:07:39 +0000 (13:07 -0400)]
re PR c++/52706 ([C++11] Demangling of templates with std::nullptr_t as non-type parameter)
PR c++/52706
* mangle.c (write_type): nullptr_t is a builtin type.
From-SVN: r186469
Jason Merrill [Sun, 15 Apr 2012 17:07:30 +0000 (13:07 -0400)]
re PR c++/52818 (printf format %lf is erroneously rejected by C++11)
PR c++/52818
* c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
(C_STD_NAME): Distinguish between C++98 and C++11.
From-SVN: r186468
Thomas Koenig [Sun, 15 Apr 2012 11:52:44 +0000 (11:52 +0000)]
re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38199
PR libfortran/50673
* intrinsics/string_intriniscs_inc.c (string_len_trim):
Remove prototypes for string_len_trim and move to...
* libgfortran.h (string_len_trim): ... here and
(string_len_trim_char4): ...here.
* io/unit.c: For non-array internal arrays where we do reading,
adjust the record length to the last non-blank character.
* io/unix.c: Fix typo.
From-SVN: r186466
Janus Weil [Sun, 15 Apr 2012 11:47:49 +0000 (13:47 +0200)]
re PR fortran/51082 ([F03] Wrong result for a pointer to a proc-pointer component)
2012-04-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/51082
* trans-expr.c (gfc_conv_expr_reference): Check if the expression is a
simple function call (or a more involved PPC reference).
2012-04-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/51082
* gfortran.dg/proc_ptr_comp_34.f90: New test case.
From-SVN: r186465
Tobias Burnus [Sun, 15 Apr 2012 05:52:51 +0000 (07:52 +0200)]
re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.h (symbol_attribute): Add public_used.
* interface.c (check_sym_interfaces, check_uop_interfaces,
gfc_check_interfaces): Set it.
* resolve.c (resolve_typebound_procedure): Ditto.
* trans-decl.c (build_function_decl): Use it.
2012-04-14 Tobias Burnus <burnus@net-b.de>
PR fortran/52916
PR fortran/40973
* gfortran.dg/public_private_module_3.f90: New.
* gfortran.dg/public_private_module_4.f90: New.
From-SVN: r186464
GCC Administrator [Sun, 15 Apr 2012 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186460
Paolo Carlini [Sat, 14 Apr 2012 22:33:22 +0000 (22:33 +0000)]
re PR libstdc++/52699 (infinite loop generated with -O0)
2012-04-14 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52699
* include/bits/random.tcc (independent_bits_engine<>::operator()())
Avoid various overflows; use common_type on result_type and
_RandomNumberEngine::result_type; avoid floating point computations;
other smaller tweaks.
* include/bits/random.tcc (uniform_int_distribution<>::operator())
Use common_type; assume _UniformRandomNumberGenerator::result_type
unsigned; tidy.
* include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
__lg(unsigned long long)): Add.
From-SVN: r186456
Uros Bizjak [Sat, 14 Apr 2012 14:09:11 +0000 (16:09 +0200)]
* config/i386/sse.md: Fix whitespace and formatting.
From-SVN: r186455
Uros Bizjak [Sat, 14 Apr 2012 13:30:46 +0000 (15:30 +0200)]
sse.md (ssse3_plusminus): New code iterator.
2012-04-14 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (ssse3_plusminus): New code iterator.
(avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.
(avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
(ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.
(xop_plus): New code iterator.
(macs): New code attribute.
(macds): Ditto.
(xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
iterator.
(xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
xop_plus code iterator.
(xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
xop_plus code iterator.
(xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
xop_plus code iterator.
(xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
xop_plus code iterator.
(xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
any_extend code iterator.
(xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
any_extend code iterator.
(xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
any_extend code iterator.
(xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
any_extend code iterator.
(xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
any_extend code iterator.
(xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
any_extend code iterator.
From-SVN: r186454
Alan Modra [Sat, 14 Apr 2012 13:24:43 +0000 (22:54 +0930)]
re PR libstdc++/52839 (double free or corruption running tr1/.../default_weaktoshared.exe)
PR libstdc++/52839
* acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
glibcxx_cv_atomic_long_long.
* configure: Regenerate.
From-SVN: r186453
Tom de Vries [Sat, 14 Apr 2012 12:17:50 +0000 (12:17 +0000)]
superblock.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/superblock.c: New test.
From-SVN: r186452
Tom de Vries [Sat, 14 Apr 2012 12:17:41 +0000 (12:17 +0000)]
cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
call to delete_insn. Remove code to reorder BASIC_BLOCK note and
DELETED_LABEL note, and move it to ...
* cfgrtl.c (delete_insn): ... here. Change return type to void.
(delete_insn_and_edges): Likewise.
(delete_insn_chain): Handle new return type of delete_insn. Delete
chain backwards rather than forwards.
* rtl.h (delete_insn, delete_insn_and_edges): Change return type to
void.
* cfglayout.c (fixup_reorder_chain): Delete unused label.
From-SVN: r186451
Jan Hubicka [Sat, 14 Apr 2012 10:24:59 +0000 (12:24 +0200)]
cgraph.h: Update copyrights;
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef.
(symtab_node_base): New structure.
(symtab_type): Add SYMTAB_SYMBOL tag.
* cgraph.c: Update references to fields
(cgraph_hash, assembler_name_hash): Turn into symtab_node.
(cgraph_local_info): Remove lto_file_data
and externally_visible.
(cgraph_node): Remove decl; same_comdat_group list;
aux; ref_list; order; address_taken; reachable_from_other_parittion,
in_other_partition; resolution.
(varpool_node): Remove decl; same_comdat_group;
ref_list; lto_file_data; aux; order; resolution; externally_visible;
used_from_other_partition; in_other_partition.
(symtab_node_def); New union.
(cgraph, varpool): Update.
(varpool_first_static_initializer, varpool_next_static_initializer,
cgraph_only_called_directly_or_aliased_p,
varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
field references.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* lto-symtab.c: Likewise.
* c-gimplify.c: Likewise.
* value-prof.c: Likewise.
* tree.c: Likewise.
* ipa-cp.c: Likewise.
* tree-emutls.c: Likewise.
* ipa-inline-transform.c: Likwise.
* ipa-reference.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-ref.c: Likewise.
* lto-cgraph.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-pure-const.c: Likewise.
* lto-streamer-out.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-inline.c: Likewise.
* matrix-reorg.c: Likewise.
* tree-eh.c: Likewise.
* tree-vectorizer.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* trans-mem.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* gimplify.c: Likewise.
* cfgexpand.c: Likewise.
* tree-sra.c: Likewise.
* ipa-prop.c: Likewise.
* varasm.c: Likewise.
* tree-nested.c: Likewise.
* tree-inline.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* passes.c: Likewise.
* varpool.c: Likewise.
* tree.c: Update field referenced for new cgraph/varpool layout.
* decl2.c: Likewise.
* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
cgraph/varpool layout.
* lto.c: Update field referenced for new cgraph/varpool layout.
* lto-partition.c: Likewise.
From-SVN: r186450
Tom de Vries [Sat, 14 Apr 2012 05:49:24 +0000 (05:49 +0000)]
pr51879-12.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr51879-12.c: New test.
From-SVN: r186448
Tom de Vries [Sat, 14 Apr 2012 05:49:15 +0000 (05:49 +0000)]
tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
of find_edge.
(gsi_advance_fw_nondebug_nonlocal): New function.
(local_def): Removed function.
(same_succ_hash): Use stmt_local_def.
(same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
(gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
From-SVN: r186447
Paolo Carlini [Sat, 14 Apr 2012 01:34:00 +0000 (01:34 +0000)]
51083.cc: Move...
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/cmath/51083.cc: Move...
* testsuite/26_numerics/headers/cmath/51083.cc: ... here.
From-SVN: r186445
GCC Administrator [Sat, 14 Apr 2012 00:20:40 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r186444
Jason Merrill [Fri, 13 Apr 2012 19:43:57 +0000 (15:43 -0400)]
re PR c++/52824 ([C++11] expanding variadic template arguments into non-variadic template)
PR c++/52824
* pt.c (any_pack_expanson_args_p): New.
(coerce_template_parms): Use it.
From-SVN: r186434
Jason Merrill [Fri, 13 Apr 2012 19:43:47 +0000 (15:43 -0400)]
re PR c++/52905 ([C++0x] ice on invalid brace-enclosed initializer of vector of enums)
PR c++/52905
* call.c (joust): Handle comparing list and non-list ctors.
From-SVN: r186433
Jason Merrill [Fri, 13 Apr 2012 19:43:37 +0000 (15:43 -0400)]
re PR c++/52915 ([C++11] Deleted default-constructor of anonymous unions not honored)
PR c++/52915
* decl2.c (finish_anon_union): Use cp_finish_decl.
* error.c (dump_function_name): Avoid showing anonymous "name".
From-SVN: r186432
H.J. Lu [Fri, 13 Apr 2012 18:20:10 +0000 (18:20 +0000)]
Define _ILP32 and __ILP32__ for x32
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32
and __ILP32__ for x32.
From-SVN: r186429
Martin Jambor [Fri, 13 Apr 2012 17:57:21 +0000 (19:57 +0200)]
re PR middle-end/52939 (ice in gimple_get_virt_method_for_binfo with -O3)
2012-04-13 Martin Jambor <mjambor@suse.cz>
PR middle-end/52939
* gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
fold_ctor_reference returns a zero constant.
* testsuite/g++.dg/ipa/pr52939.C: New test.
From-SVN: r186428
Enkovich Ilya [Fri, 13 Apr 2012 17:21:06 +0000 (17:21 +0000)]
Add and use config/i386/gnu-user-common.h
* config.gcc: Add i386/gnu-user-common.h before all
i386/gnu-user.h and i386/gnu-user64.h usages.
* config/i386/gnu-user-common.h: New.
* config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
(CC1_SPEC): Likewise.
(ENDFILE_SPEC): Likewise.
(DEFAULT_PCC_STRUCT_RETURN): Likewise.
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
(TARGET_OS_CPP_BUILTINS): Likewise.
(LIBGCC2_HAS_TF_MODE): Likewise.
(LIBGCC2_TF_CEXT): Likewise.
(TF_SIZE): Likewise.
(TARGET_ASM_FILE_END): Likewise.
(STACK_CHECK_MOVING_SP): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/gnu-user64.h: Likewise.
From-SVN: r186427
Martin Jambor [Fri, 13 Apr 2012 17:12:33 +0000 (19:12 +0200)]
expr.c (expand_expr_real_1): Pass type, not the expression, to set_mem_attributes for a memory temporary.
2012-04-13 Martin Jambor <mjambor@suse.cz>
* expr.c (expand_expr_real_1): Pass type, not the expression, to
set_mem_attributes for a memory temporary. Do not call the function
for the memory temporary created for a bitfield.
From-SVN: r186426
Alexandre Oliva [Fri, 13 Apr 2012 15:56:21 +0000 (15:56 +0000)]
re PR debug/48866 (gcc hangs when -g is set)
PR debug/48866
* df.h (enum debug_temp_where): New.
(dead_debug_init, dead_debug_finish) Declare.
(dead_debug_add, dead_debug_insert_temp): Declare.
(struct dead_debug_use, struct dead_debug): Moved from...
* df-problems.c: ... here.
(df_set_unused_notes_for_mw): Bind debug uses of unused regno
to a debug temp.
(df_create_unused_note): Likewise.
(df_set_dead_notes_for_mw): Move comment where it belongs.
(dead_debug_init): Export.
(dead_debug_reset_uses): New, factored out of...
(dead_debug_finish): ...this. Export.
(dead_debug_reset): Remove.
(dead_debug_add): Export.
(dead_debug_insert_before): Rename to...
(dead_debug_insert_temp): ... this. Add where argument. Export.
Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
Return insertion count.
(df_note_bb_compute): Adjust.
* dce.c (word_dce_process_block): Adjust dead debug uses.
(dce_process_block): Likewise.
From-SVN: r186422
Alexandre Oliva [Fri, 13 Apr 2012 15:56:07 +0000 (15:56 +0000)]
df-problems.c (df_note_bb_compute): Do not take note of debug uses for whose REGs we won't emit DEAD or UNUSED notes.
* df-problems.c (df_note_bb_compute): Do not take note of
debug uses for whose REGs we won't emit DEAD or UNUSED notes.
From-SVN: r186421
Alexandre Oliva [Fri, 13 Apr 2012 15:55:52 +0000 (15:55 +0000)]
re PR debug/51570 (FAIL: gcc.dg/guality/pr45003-[23].c)
PR debug/51570
* var-tracking.c (expand_depth): New type.
(onepart_aux, expand_loc_callback_data): Change depth type to it.
(loc_exp_dep_alloc): Adjust initializer.
(update_depth): Use new type. Add entryvals.
(vt_expand_var_loc_chain): Take note of expansions with
ENTRY_VALUEs, but don't accept them right away. Run an optional
second pass accepting the minimum ENTRY_VALUE count found in the
first pass.
(vt_expand_loc_callback, INIT_ELCD): Adjust.
From-SVN: r186420