gcc/
* rtl.h (for_each_inc_dec_fn): Remove special case for -1.
(for_each_inc_dec): Take an rtx rather than an rtx *.
* cselib.c (cselib_record_autoinc_cb): Update accordingly.
(cselib_record_sets): Likewise.
* dse.c (emit_inc_dec_insn_before, check_for_inc_dec_1)
(check_for_inc_dec): Likewise.
* rtlanal.c (for_each_inc_dec_ops): Delete.
(for_each_inc_dec_find_inc_dec): Take the MEM as argument,
rather than a pointer to the memory address. Replace
for_each_inc_dec_ops argument with separate function and data
arguments. Abort on non-autoinc addresses.
(for_each_inc_dec_find_mem): Delete.
(for_each_inc_dec): Take an rtx rather than an rtx *. Use
FOR_EACH_SUBRTX_VAR to visit every autoinc MEM.
From-SVN: r214657
gcc/
* rtl.h (replace_label_data): Delete.
(replace_label): Take the old label, new label and update-nuses flag
as direct arguments. Return void.
* cfgcleanup.c (outgoing_edges_match): Update accordingly.
* rtlanal.c (replace_label): Update interface as above. Handle
JUMP_TABLE_DATA as a special case. Handle JUMPs outside the
iterator. Use FOR_EACH_SUBRTX_PTR.
From-SVN: r214655
gcc/
* rtl.h (get_pool_constant, rtx_referenced_p): Replace rtx parameters
with const_rtx parameters.
* varasm.c (get_pool_constant): Likewise.
* rtlanal.c (rtx_referenced_p_1): Delete.
(rtx_referenced_p): Use FOR_EACH_SUBRTX instead of for_each_rtx.
Assert that the rtx we're looking for is nonnull. Allow searches
for constant pool SYMBOL_REFs.
From-SVN: r214654
gcc/
* reload1.c: Include rtl-iter.h.
(note_reg_elim_costly): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(eliminate_regs_1, elimination_costs_in_insn): Update accordingly.
From-SVN: r214653
gcc/
* regcprop.c: Include rtl-iter.h.
(kill_value): Take a const_rtx.
(kill_autoinc_value): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(copyprop_hardreg_forward_1): Update accordingly.
From-SVN: r214651
gcc/
* reg-stack.c: Include rtl-iter.h.
(subst_stack_regs_in_debug_insn): Delete.
(subst_all_stack_regs_in_debug_insn): Use FOR_EACH_SUBRTX_PTR
instead of for_each_rtx.
From-SVN: r214650
gcc/
* lower-subreg.c (find_decomposable_subregs): Turn from being
a for_each_rtx callback to being a function that examines each
subrtx itself. Remove handling of null rtxes.
(decompose_multiword_subregs): Update accordingly.
From-SVN: r214649
gcc/
* lower-subreg.c (adjust_decomposed_uses): Delete.
(resolve_debug): Use FOR_EACH_SUBRTX_PTR rather than for_each_rtx.
Remove handling of null rtxes.
From-SVN: r214648
gcc/
* lower-subreg.c: Include rtl-iter.h.
(resolve_subreg_use): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself. Remove
handling of null rtxes.
(resolve_reg_notes, resolve_simple_move): Update accordingly.
(decompose_multiword_subregs): Likewise.
From-SVN: r214647
gcc/
* loop-iv.c (altered_reg_used): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(simplify_using_condition, simplify_using_initial_values): Update
accordingly.
From-SVN: r214646
gcc/
* loop-iv.c: Include rtl-iter.h.
(find_single_def_src): New function.
(replace_single_def_regs): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(replace_in_expr, simplify_using_initial_values): Update accordingly.
From-SVN: r214645
gcc/
* jump.c (eh_returnjump_p_1): Delete.
(eh_returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
Remove handling of null rtxes.
From-SVN: r214644
gcc/
* jump.c: Include rtl-iter.h.
(returnjump_p_1): Delete.
(returnjump_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
Remove handling of null rtxes.
From-SVN: r214643
gcc/
* ira.c: Include rtl-iter.h.
(set_paradoxical_subreg): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself. Remove
handling of null rtxes.
(update_equiv_regs): Update call accordingly.
From-SVN: r214642
gcc/
* fwprop.c: Include rtl-iter.h.
(varying_mem_p): Turn from being a for_each_rtx callback to being
a function that examines each subrtx itself.
(propagate_rtx): Update accordingly.
From-SVN: r214641
gcc/
* function.c: Include rtl-iter.h
(instantiate_virtual_regs_in_rtx): Turn from being a for_each_rtx
callback to being a function that examines each subrtx itself.
Return the changed flag.
(instantiate_virtual_regs_in_insn, instantiate_decl_rtl)
(instantiate_virtual_regs): Update calls accordingly.
From-SVN: r214640
gcc/
* final.c: Include rtl-iter.h.
(mark_symbol_ref_as_used): Delete.
(mark_symbol_refs_as_used): Use FOR_EACH_SUBRTX instead of
for_each_rtx.
From-SVN: r214639
gcc/
* emit-rtl.c: Include rtl-iter.h.
(find_auto_inc): Turn from being a for_each_rtx callback to being
a function that examines each subrtx itself. Assume the first operand
to an RTX_AUTOINC is the automodified register.
(try_split): Update call accordingly.
From-SVN: r214638
gcc/
* dwarf2out.c (resolve_one_addr): Remove unused data parameter.
Return a bool, inverting the result so that 0/false means "not ok".
Use FOR_EACH_SUBRTX_PTR instead of for_each_rtx to iterate over
subrtxes of a CONST.
(mem_loc_descriptor, add_const_value_attribute)
(resolve_addr_in_expr): Update calls accordingly.
From-SVN: r214637
gcc/
* dwarf2out.c: Include rtl-iter.h.
(const_ok_for_output_1): Take the rtx instead of a pointer to it.
Remove unused data parameter. Return a bool, inverting the result
so that 0/false means "not ok".
(const_ok_for_output): Update accordingly. Use FOR_EACH_SUBRTX_VAR
instead of for_each_rtx.
From-SVN: r214636
gcc/
* df-problems.c: Include rtl-iter.h.
(find_memory): Turn from being a for_each_rtx callback to being
a function that examines each subrtx itself. Continue to look for
volatile references even after a nonvolatile one has been found.
(can_move_insns_across): Update calls accordingly.
From-SVN: r214634
gcc/
* ddg.c (walk_mems_2, walk_mems_1): Delete.
(insns_may_alias_p): Use FOR_EACH_SUBRTX rather than for_each_rtx
to iterate over subrtxes. Return a bool rather than an int.
From-SVN: r214633
gcc/
* cse.c (change_cc_mode_args): Delete.
(cse_change_cc_mode): Turn from being a for_each_rtx callback to being
a function that examines each subrtx itself. Take the fields of
change_cc_mode_args as argument and return void.
(cse_change_cc_mode_insn): Update calls accordingly.
From-SVN: r214631
gcc/
* cse.c (is_dead_reg): Change argument to const_rtx.
(dead_debug_insn_data): Delete.
(is_dead_debug_insn): Expand commentary. Turn from being a
for_each_rtx callback to being a function that examines
each subrtx itself. Take the fields of dead_debug_insn_data
as argument.
(delete_trivially_dead_insns): Update call accordingly.
From-SVN: r214630
gcc/
* cse.c (check_for_label_ref): Move earlier in file. Turn from
being a for_each_rtx callback to being a function that examines
each subrtx itself.
(cse_extended_basic_block): Update call accordingly.
From-SVN: r214629
gcc/
* cse.c (check_dependence_data): Delete.
(check_dependence): Change from being a for_each_rtx callback to being
a function that examines all subrtxes itself. Don't handle null rtxes.
(invalidate): Update call accordingly.
From-SVN: r214628
gcc/
* cfgcleanup.c: Include rtl-iter.h.
(mentions_nonequal_regs): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(thread_jump): Update accordingly.
From-SVN: r214626
gcc/
* combine-stack-adj.c: Include rtl-iter.h.
(record_stack_refs_data): Delete.
(record_stack_refs): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
Take a pointer to the reflist. Invert sense of return value
so that true means success and false means failure. Don't
handle null rtxes.
(combine_stack_adjustments_for_block): Update accordingly.
From-SVN: r214625
gcc/
* combine.c (record_truncated_value): Turn from being a for_each_rtx
callback to a function that takes an rtx and returns a bool
(record_truncated_values): Use FOR_EACH_SUBRTX_VAR instead of
for_each_rtx.
From-SVN: r214624
gcc/
* combine.c: Include rtl-iter.h.
(unmentioned_reg_p_1): Delete.
(unmentioned_reg_p): Use FOR_EACH_SUBRTX rather than for_each_rtx.
Don't handle null rtxes.
From-SVN: r214623
gcc/
* calls.c: Include rtl-iter.h.
(internal_arg_pointer_based_exp_1): Delete.
(internal_arg_pointer_based_exp): Take a const_rtx.
Use FOR_EACH_SUBRTX to iterate over subrtxes.
From-SVN: r214622
gcc/
* caller-save.c: Include rtl-iter.h.
(add_used_regs_1): Delete.
(add_used_regs): Use FOR_EACH_SUBRTX rather than for_each_rtx
to iterate over subrtxes. Assert that any remaining pseudos
have been spilled.
From-SVN: r214621
gcc/
* bt-load.c: Include rtl-iter.h.
(btr_reference_found, find_btr_reference, btr_referenced_p): Delete.
(find_btr_use): Move further up file. Use FOR_EACH_SUBRTX_PTR
to iterate over subrtxes.
(insn_sets_btr_p, new_btr_user, compute_defs_uses_and_gen): Use
find_btr_use rather than btr_referenced_p.
From-SVN: r214620
gcc/
* alias.c: Include rtl-iter.h.
(refs_newer_value_cb): Delete.
(refs_newer_value_p): Use FOR_EACH_SUBRTX instead of for_each_rtx.
From-SVN: r214619
libcpp/
2014-08-27 Edward Smith-Rowland <3dw4rd@verizon.net>
PR cpp/23827 - standard C++ should not have hex float preprocessor
tokens
* libcpp/init.c (lang_flags): Change CXX98 flag for extended numbers
from 1 to 0.
* libcpp/expr.c (cpp_classify_number): Weite error message for improper
use of hex floating literal.
gcc/testsuite/
2014-08-27 Edward Smith-Rowland <3dw4rd@verizon.net>
PR cpp/23827 - standard C++ should not have hex float preprocessor
tokens
* g++.dg/cpp/pr23827_cxx11.C: New.
* g++.dg/cpp/pr23827_cxx98.C: New.
* g++.dg/cpp/pr23827_cxx98_neg.C: New.
* gcc.dg/cpp/pr23827_c90.c: New.
* gcc.dg/cpp/pr23827_c90_neg.c: New.
* gcc.dg/cpp/pr23827_c99.c: New.
From-SVN: r214616
2014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
* c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
with using HOST_WIDE_INT without truncation to 'int'
From-SVN: r214608
gcc/
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* rtl.h (free_EXPR_LIST_list): Strengthen param from rtx * to
rtx_expr_list **.
(alloc_EXPR_LIST): Strengthen return type from rtx to
rtx_expr_list *.
(remove_free_EXPR_LIST_node): Likewise for param.
* reload.h (struct reg_equivs_t): Strengthen field "alt_mem_list"
from rtx to rtx_expr_list *.
* sched-int.h (struct deps_desc): Strengthen fields
"pending_read_mems" and "pending_write_mems" from rtx to
rtx_expr_list *.
* dwarf2out.c (decl_piece_varloc_ptr): Strengthen return type from
rtx to rtx_expr_list *.
* lists.c (alloc_INSN_LIST): Likewise, also for local "r".
(free_EXPR_LIST_list): Strengthen param "listp" from rtx * to
rtx_expr_list **.
(remove_free_EXPR_LIST_node): Likewise. Strengthen local "node"
from rtx to rtx_expr_list *.
* loop-iv.c (simplify_using_initial_values): Strengthen local
"cond_list" from rtx to rtx_expr_list *, and locals "pnode",
"pnote_next" from rtx * to rtx_expr_list **.
* sched-deps.c (remove_from_both_dependence_lists): Strengthen
param "exprp" from rtx * to rtx_expr_list **.
(add_insn_mem_dependence): Strengthen local "mem_list" from
rtx * to rtx_expr_list **. Strengthen local "mem_node" from rtx
to rtx_expr_list *.
* sched-rgn.c (concat_insn_mem_list): Strengthen param "copy_mems"
and local "new_mems" from rtx to rtx_expr_list *. Strengthen
param "old_mems_p" from rtx * to rtx_expr_list **.
* var-tracking.c (struct adjust_mem_data): Strengthen field
"side_effects" from rtx to rtx_expr_list *.
(adjust_insn): Replace NULL_RTX with NULL when assigning to
rtx_expr_list *.
(prepare_call_arguments): Likewise.
From-SVN: r214605
gcc/
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* function.h (struct rtl_data): Strengthen field
"x_stack_slot_list" from rtx to rtx_expr_list *.
* emit-rtl.c (unshare_all_rtl_1): Add a checked cast
when assigning to stack_slot_list.
From-SVN: r214604
gcc/
2014-08-27 David Malcolm <dmalcolm@redhat.com>
* function.h (struct rtl_data): Strengthen field
x_nonlocal_goto_handler_labels from rtx to rtx_expr_list *.
* rtl.h (remove_node_from_expr_list): Strengthen second param from
rtx * to rtx_expr_list **.
* cfgbuild.c (make_edges): In loop over
nonlocal_goto_handler_labels, strengthen local "x" from rtx to
rtx_expr_list *, and use methods of the latter class to clarify
the code.
* cfgrtl.c (cfg_layout_initialize): Strengthen local "x" from rtx to
rtx_expr_list *, and use methods of the latter class to clarify
the code.
* dwarf2cfi.c (create_trace_edges): Likewise for local "lab".
* reload1.c (set_initial_label_offsets): Likewise for local "x".
* rtlanal.c (remove_node_from_expr_list): Strengthen param "listp"
from rtx * to rtx_expr_list **. Strengthen local "temp" from rtx
to rtx_expr_list *. Use methods of the latter class to clarify
the code.
From-SVN: r214603