platform/upstream/linaro-gcc.git
10 years ago * backtrace.h (backtrace_syminfo_callback): Add symsize argument.
jakub [Tue, 19 Nov 2013 14:46:03 +0000 (14:46 +0000)]
* backtrace.h (backtrace_syminfo_callback): Add symsize argument.
* elf.c (elf_syminfo): Pass 0 or sym->size to the callback as
last argument.
* btest.c (struct symdata): Add size field.
(callback_three): Add symsize argument.  Copy it to the data->size
field.
(f23): Set symdata.size to 0.
(test5): Likewise.  If sizeof (int) > 1, lookup address of
((uintptr_t) &global) + 1.  Verify symdata.val and symdata.size
values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205028 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * graphite-sese-to-poly.c: Include expr.h.
amacleod [Tue, 19 Nov 2013 13:34:31 +0000 (13:34 +0000)]
* graphite-sese-to-poly.c: Include expr.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205027 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 13:28:35 +0000 (13:28 +0000)]
2013-11-19  Richard Biener  <rguenther@suse.de>

PR middle-end/58956
* tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
loads into stmts that may clobber it.

* gcc.dg/torture/pr58956.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205026 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoSmall cleanups in cgraph.
bernds [Tue, 19 Nov 2013 12:39:06 +0000 (12:39 +0000)]
Small cleanups in cgraph.

* cgraphunit.c (symtab_terminator): New variable.
(queued_nodes): Renamed from first.  Use symtab_terminator as
initializer.
(analyze_functions): Adjust accordingly.
(cgraph_process_new_functions): Return void.
* cgraph.h (cgraph_process_new_functions): Adjust declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205024 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFactor unrelated declarations out of tree.h.
dnovillo [Tue, 19 Nov 2013 12:31:09 +0000 (12:31 +0000)]
Factor unrelated declarations out of tree.h.

This patch applies the rule that functions defined in FOO.c must be
declared in FOO.h. One of the worst offenders in the code base is
tree.h, unsurprisingly.

The patch creates several new headers: attribs.h calls.h fold-const.h
gcc-symtab.h print-rtl.h print-tree.h stmt.h stor-layout.h stringpool.h
tree-nested.h tree-object-size.h varasm.h.

Functions in each corresponding .c file got moved to those headers and
others that already existed. I wanted to make this patch as mechanical
as possible, so I made no attempt to fix problems like having
build_addr defined in tree-inline.c. I left that for later.

There were some declarations that I could not move out of tree.h
because of header poisoning or the use of target macros. We forbid the
inclusion of things like expr.h from FE files. While that's a
reasonable idea, the FE file *still* manage to at expr.c functionality
because the declarations they want to use were defined in tree.h.

The affected files are builtins.h, emit-rtl.h and expr.h.

If that functionality is allowed to be accessed from the FEs,
then I will later move those functions out of expr.c into tree.c.
I have moved these declarations to the bottom of tree.h so they
are easy to identify later.

There is a namespace collision with libcpp. The file gcc/symtab.c
cannot use gcc/symtab.h because the #include command picks up
libcpp/include/symtab.h first. So I named this file gcc-symtab.h
for now.

Finally, I added a new header to PLUGIN_HEADERS to account for the
tree.h refactoring. I did not add all headers factored out of tree.h
because it is unclear (and impossible to tell) what plugins need.
This adds the one header used by the plugins in the testsuite.

This will be changing quite dramatically as we progress with the header
refactoring.

This patch should offer some minimal incremental build advantages
by reducing the size of tree.h. Changes that would otherwise
affected tree.h, will now go to other headers which are less
frequently included.

* tree.h: Include fold-const.h.
(aggregate_value_p): Moved to function.h.
(alloca_call_p): Moved to calls.h.
(allocate_struct_function): Moved to function.h.
(apply_tm_attr): Moved to attribs.h.
(array_at_struct_end_p): Moved to expr.h.
(array_ref_element_size): Moved to tree-dfa.h.
(array_ref_low_bound): Moved to tree-dfa.h.
(array_ref_up_bound): Moved to tree.h.
(assemble_alias): Moved to cgraph.h.
(bit_from_pos): Moved to stor-layout.h.
(build_addr): Moved to tree-nested.h.
(build_duplicate_type): Moved to tree-inline.h.
(build_fold_addr_expr): Moved to fold-const.h.
(build_fold_addr_expr_with_type): Moved to fold-const.h.
(build_fold_addr_expr_with_type_loc): Moved to fold-const.h.
(build_fold_indirect_ref): Moved to fold-const.h.
(build_fold_indirect_ref_loc): Moved to fold-const.h.
(build_personality_function): Moved to tree.h.
(build_range_check): Moved to fold-const.h.
(build_simple_mem_ref): Moved to fold-const.h.
(build_simple_mem_ref_loc): Moved to fold-const.h.
(build_tm_abort_call): Moved to trans-mem.h.
(byte_from_pos): Moved to stor-layout.h.
(call_expr_flags): Moved to calls.h.
(can_move_by_pieces): Moved to expr.h.
(categorize_ctor_elements): Moved to expr.h.
(change_decl_assembler_name): Moved to gcc-symtab.h.
(combine_comparisons): Moved to fold-const.h.
(complete_ctor_at_level_p): Moved to tree.h.
(component_ref_field_offset): Moved to tree-dfa.h.
(compute_builtin_object_size): Moved to tree-object-size.h.
(compute_record_mode): Moved to stor-layout.h.
(constant_boolean_node): Moved to fold-const.h.
(constructor_static_from_elts_p): Moved to varasm.h.
(cxx11_attribute_p): Moved to attribs.h.
(debug_body): Moved to print-tree.h.
(debug_find_tree): Moved to tree-inline.h.
(debug_fold_checksum): Moved to fold-const.h.
(debug_head): Moved to print-tree.h.
(debug_head): Moved to print-tree.h.
(debug_raw): Moved to print-tree.h.
(debug_tree): Moved to print-tree.h.
(debug_vec_tree): Moved to print-tree.h.
(debug_verbose): Moved to print-tree.h.
(debug_verbose): Moved to print-tree.h.
(decl_attributes): Moved to attribs.h.
(decl_binds_to_current_def_p): Moved to varasm.h.
(decl_default_tls_model): Moved to varasm.h.
(decl_replaceable_p): Moved to varasm.h.
(div_if_zero_remainder): Moved to fold-const.h.
(double_int mem_ref_offset): Moved to fold-const.h.
(dump_addr): Moved to print-tree.h.
(element_precision): Moved to machmode.h.
(expand_dummy_function_end): Moved to function.h.
(expand_function_end): Moved to function.h.
(expand_function_start): Moved to function.h.
(expand_label): Moved to stmt.h.
(expr_first): Moved to tree-iterator.h.
(expr_last): Moved to tree-iterator.h.
(finalize_size_functions): Moved to stor-layout.h.
(finish_builtin_struct): Moved to stor-layout.h.
(finish_record_layout): Moved to stor-layout.h.
(fixup_signed_type): Moved to stor-layout.h.
(fixup_unsigned_type): Moved to stor-layout.h.
(flags_from_decl_or_type): Moved to calls.h.
(fold): Moved to fold-const.h.
(fold_abs_const): Moved to fold-const.h.
(fold_binary): Moved to fold-const.h.
(fold_binary_loc): Moved to fold-const.h.
(fold_binary_to_constant): Moved to fold-const.h.
(fold_build1): Moved to fold-const.h.
(fold_build1_initializer_loc): Moved to fold-const.h.
(fold_build1_loc): Moved to fold-const.h.
(fold_build1_stat_loc): Moved to fold-const.h.
(fold_build2): Moved to fold-const.h.
(fold_build2_initializer_loc): Moved to fold-const.h.
(fold_build2_loc): Moved to fold-const.h.
(fold_build2_stat_loc): Moved to fold-const.h.
(fold_build3): Moved to fold-const.h.
(fold_build3_loc): Moved to fold-const.h.
(fold_build3_stat_loc): Moved to fold-const.h.
(fold_build_call_array): Moved to fold-const.h.
(fold_build_call_array_initializer): Moved to fold-const.h.
(fold_build_call_array_initializer_loc): Moved to fold-const.h.
(fold_build_call_array_loc): Moved to fold-const.h.
(fold_build_cleanup_point_expr): Moved to fold-const.h.
(fold_convert): Moved to fold-const.h.
(fold_convert_loc): Moved to fold-const.h.
(fold_convertible_p): Moved to fold-const.h.
(fold_defer_overflow_warnings): Moved to fold-const.h.
(fold_deferring_overflow_warnings_p): Moved to fold-const.h.
(fold_fma): Moved to fold-const.h.
(fold_ignored_result): Moved to fold-const.h.
(fold_indirect_ref): Moved to fold-const.h.
(fold_indirect_ref_1): Moved to fold-const.h.
(fold_indirect_ref_loc): Moved to fold-const.h.
(fold_read_from_constant_string): Moved to fold-const.h.
(fold_real_zero_addition_p): Moved to fold-const.h.
(fold_single_bit_test): Moved to fold-const.h.
(fold_strip_sign_ops): Moved to fold-const.h.
(fold_ternary): Moved to fold-const.h.
(fold_ternary_loc): Moved to fold-const.h.
(fold_unary): Moved to tree-data-ref.h.
(fold_unary_ignore_overflow): Moved to fold-const.h.
(fold_unary_ignore_overflow_loc): Moved to fold-const.h.
(fold_unary_loc): Moved to fold-const.h.
(fold_unary_to_constant): Moved to fold-const.h.
(fold_undefer_and_ignore_overflow_warnings): Moved to fold-const.h.
(fold_undefer_overflow_warnings): Moved to fold-const.h.
(folding_initializer): Moved to fold-const.h.
(free_temp_slots): Moved to function.h.
(generate_setjmp_warnings): Moved to function.h.
(get_attribute_name): Moved to attribs.h.
(get_identifier): Moved to stringpool.h.
(get_identifier_with_length): Moved to stringpool.h.
(get_inner_reference): Moved to tree.h.
(gimple_alloca_call_p): Moved to calls.h.
(gimplify_parameters): Moved to function.h.
(highest_pow2_factor): Moved to expr.h.
(indent_to): Moved to print-tree.h.
(init_attributes): Moved to attribs.h.
(init_dummy_function_start): Moved to function.h.
(init_function_start): Moved to function.h.
(init_inline_once): Moved to tree-inline.h.
(init_object_sizes): Moved to tree-object-size.h.
(init_temp_slots): Moved to function.h.
(init_tree_optimization_optabs): Moved to optabs.h.
(initialize_sizetypes): Moved to stor-layout.h.
(initializer_constant_valid_for_bitfield_p): Moved to varasm.h.
(initializer_constant_valid_p): Moved to varasm.h.
(int_const_binop): Moved to fold-const.h.
(internal_reference_types): Moved to stor-layout.h.
(invert_tree_comparison): Moved to fold-const.h.
(invert_truthvalue): Moved to fold-const.h.
(invert_truthvalue_loc): Moved to fold-const.h.
(is_tm_ending_fndecl): Moved to trans-mem.h.
(is_tm_may_cancel_outer): Moved to trans-mem.h.
(is_tm_pure): Moved to trans-mem.h.
(is_tm_safe): Moved to trans-mem.h.
(layout_decl): Moved to stor-layout.h.
(layout_type): Moved to stor-layout.h.
(lookup_attribute_spec): Moved to attribs.h.
(make_accum_type): Moved to stor-layout.h.
(make_decl_one_only): Moved to varasm.h.
(make_decl_rtl): Moved to tree.h.
(make_decl_rtl_for_debug): Moved to varasm.h.
(make_fract_type): Moved to stor-layout.h.
(make_or_reuse_sat_signed_accum_type): Moved to stor-layout.h.
(make_or_reuse_sat_signed_fract_type): Moved to stor-layout.h.
(make_or_reuse_sat_unsigned_accum_type): Moved to stor-layout.h.
(make_or_reuse_sat_unsigned_fract_type): Moved to stor-layout.h.
(make_or_reuse_signed_accum_type): Moved to stor-layout.h.
(make_or_reuse_signed_fract_type): Moved to stor-layout.h.
(make_or_reuse_unsigned_accum_type): Moved to stor-layout.h.
(make_or_reuse_unsigned_fract_type): Moved to stor-layout.h.
(make_range): Moved to fold-const.h.
(make_range_step): Moved to fold-const.h.
(make_sat_signed_accum_type): Moved to stor-layout.h.
(make_sat_signed_fract_type): Moved to stor-layout.h.
(make_sat_unsigned_accum_type): Moved to stor-layout.h.
(make_sat_unsigned_fract_type): Moved to stor-layout.h.
(make_signed_accum_type): Moved to stor-layout.h.
(make_signed_fract_type): Moved to stor-layout.h.
(make_signed_type): Moved to stor-layout.h.
(make_unsigned_accum_type): Moved to stor-layout.h.
(make_unsigned_fract_type): Moved to stor-layout.h.
(make_unsigned_type): Moved to stor-layout.h.
(mark_decl_referenced): Moved to varasm.h.
(mark_referenced): Moved to varasm.h.
(may_negate_without_overflow_p): Moved to fold-const.h.
(maybe_get_identifier): Moved to stringpool.h.
(merge_ranges): Moved to fold-const.h.
(merge_weak): Moved to varasm.h.
(mode_for_size_tree): Moved to stor-layout.h.
(multiple_of_p): Moved to fold-const.h.
(must_pass_in_stack_var_size): Moved to calls.h.
(must_pass_in_stack_var_size_or_pad): Moved to calls.h.
(native_encode_expr): Moved to fold-const.h.
(native_interpret_expr): Moved to fold-const.h.
(non_lvalue): Moved to fold-const.h.
(non_lvalue_loc): Moved to fold-const.h.
(normalize_offset): Moved to stor-layout.h.
(normalize_rli): Moved to stor-layout.h.
(notice_global_symbol): Moved to varasm.h.
(omit_one_operand): Moved to fold-const.h.
(omit_one_operand_loc): Moved to fold-const.h.
(omit_two_operands): Moved to fold-const.h.
(omit_two_operands_loc): Moved to fold-const.h.
(operand_equal_p): Moved to tree-data-ref.h.
(parse_input_constraint): Moved to stmt.h.
(parse_output_constraint): Moved to stmt.h.
(place_field): Moved to stor-layout.h.
(pop_function_context): Moved to function.h.
(pop_temp_slots): Moved to function.h.
(pos_from_bit): Moved to stor-layout.h.
(preserve_temp_slots): Moved to function.h.
(print_node): Moved to print-tree.h.
(print_node_brief): Moved to print-tree.h.
(print_rtl): Moved to rtl.h.
(process_pending_assemble_externals): Moved to varasm.h.
(ptr_difference_const): Moved to fold-const.h.
(push_function_context): Moved to function.h.
(push_struct_function): Moved to function.h.
(push_temp_slots): Moved to function.h.
(record_tm_replacement): Moved to trans-mem.h.
(relayout_decl): Moved to stor-layout.h.
(resolve_asm_operand_names): Moved to stmt.h.
(resolve_unique_section): Moved to varasm.h.
(rli_size_so_far): Moved to stor-layout.h.
(rli_size_unit_so_far): Moved to stor-layout.h.
(round_down): Moved to fold-const.h.
(round_down_loc): Moved to fold-const.h.
(round_up): Moved to fold-const.h.
(round_up_loc): Moved to fold-const.h.
(set_decl_incoming_rtl): Moved to emit-rtl.h.
(set_decl_rtl): Moved to tree.h.
(set_min_and_max_values_for_integral_type): Moved to stor-layout.h.
(set_user_assembler_name): Moved to varasm.h.
(setjmp_call_p): Moved to calls.h.
(size_binop): Moved to fold-const.h.
(size_binop_loc): Moved to fold-const.h.
(size_diffop): Moved to fold-const.h.
(size_diffop_loc): Moved to fold-const.h.
(size_int_kind): Moved to fold-const.h.
(stack_protect_epilogue): Moved to function.h.
(start_record_layout): Moved to stor-layout.h.
(supports_one_only): Moved to varasm.h.
(swap_tree_comparison): Moved to fold-const.h.
(tm_malloc_replacement): Moved to trans-mem.h.
(tree build_fold_addr_expr_loc): Moved to fold-const.h.
(tree build_invariant_address): Moved to fold-const.h.
(tree_binary_nonnegative_warnv_p): Moved to fold-const.h.
(tree_binary_nonzero_warnv_p): Moved to fold-const.h.
(tree_call_nonnegative_warnv_p): Moved to fold-const.h.
(tree_expr_nonnegative_p): Moved to fold-const.h.
(tree_expr_nonnegative_warnv_p): Moved to fold-const.h.
(tree_output_constant_def): Moved to varasm.h.
(tree_overlaps_hard_reg_set): Moved to stmt.h.
(tree_single_nonnegative_warnv_p): Moved to fold-const.h.
(tree_single_nonzero_warnv_p): Moved to fold-const.h.
(tree_swap_operands_p): Moved to fold-const.h.
(tree_unary_nonnegative_warnv_p): Moved to fold-const.h.
(tree_unary_nonzero_warnv_p): Moved to fold-const.h.
(update_alignment_for_field): Moved to stor-layout.h.
(use_register_for_decl): Moved to function.h.
(variable_size): Moved to rtl.h.
(vector_type_mode): Moved to stor-layout.h.
* cgraph.h: Corresponding changes.
* emit-rtl.h: Corresponding changes.
* expr.h: Corresponding changes.
* function.h: Corresponding changes.
* optabs.h: Corresponding changes.
* trans-mem.h: Corresponding changes.
Protect against multiple inclusion.
* tree-inline.h: Corresponding changes.
* tree-iterator.h: Corresponding changes.
* tree-dfa.h: Include expr.h.
* tree-ssanames.h: Include stringpool.h.
* attribs.h: New file.
* calls.h: New file.
* fold-const.h: New file.
* gcc-symtab.h: New file.
* print-rtl.h: New file.
* print-tree.h: New file.
* stmt.h: New file.
* stor-layout.h: New file.
* strinpool.h: New file.
* tree-nested.h: New file
* tree-object-size.h: New file.
* varasm.h: New file.
* Makefile.in (PLUGIN_HEADERS): Add stringpool.h.

* alias.c: Include varasm.h.
Include expr.h.
* asan.c: Include calls.h.
Include stor-layout.h.
Include varasm.h.
* attribs.c: Include stringpool.h.
Include attribs.h.
Include stor-layout.h.
* builtins.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
Include tree-object-size.h.
* calls.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include attribs.h.
* cfgexpand.c: Include stringpool.h.
Include varasm.h.
Include stor-layout.h.
Include stmt.h.
Include print-tree.h.
* cgraph.c: Include varasm.h.
Include calls.h.
Include print-tree.h.
* cgraphclones.c: Include stringpool.h.
Include function.h.
Include emit-rtl.h.
Move inclusion of rtl.h earlier in the file.
* cgraphunit.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* cilk-common.c: Include stringpool.h.
Include stor-layout.h.
* combine.c: Include stor-layout.h.
* config/aarch64/aarch64-builtins.c: Include stor-layout.h.
Include stringpool.h.
Include calls.h.
* config/aarch64/aarch64.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/alpha/alpha.c: Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/arc/arc.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
Include calls.h.
* config/arm/arm.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/avr/avr-c.c: Include stor-layout.h.
* config/avr/avr-log.c: Include print-tree.h.
* config/avr/avr.c: Include print-tree.h.
Include calls.h.
Include stor-layout.h.
Include stringpool.h.
* config/bfin/bfin.c: Include varasm.h.
Include calls.h.
* config/c6x/c6x.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/cr16/cr16.c: Include stor-layout.h.
Include calls.h.
* config/cris/cris.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
Include stmt.h.
* config/darwin.c: Include stringpool.h.
Include varasm.h.
Include stor-layout.h.
* config/epiphany/epiphany.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/fr30/fr30.c: Include stor-layout.h.
Include varasm.h.
* config/frv/frv.c: Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* config/h8300/h8300.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
Include stringpool.h.
* config/i386/i386.c: Include stringpool.h.
Include attribs.h.
Include calls.h.
Include stor-layout.h.
Include varasm.h.
* config/i386/winnt-cxx.c: Include stringpool.h.
Include attribs.h.
* config/i386/winnt.c: Include stringpool.h.
Include varasm.h.
* config/ia64/ia64-c.c: Include stringpool.h.
* config/ia64/ia64.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/iq2000/iq2000.c: Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/lm32/lm32.c: Include calls.h.
* config/m32c/m32c.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/m32r/m32r.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include calls.h.
* config/m68k/m68k.c: Include calls.h.
Include stor-layout.h.
Include varasm.h.
* config/mcore/mcore.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
Include calls.h.
* config/mep/mep.c: Include varasm.h.
Include calls.h.
Include stringpool.h.
Include stor-layout.h.
* config/microblaze/microblaze.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/mips/mips.c: Include varasm.h.
Include stringpool.h.
Include stor-layout.h.
Include calls.h.
* config/mmix/mmix.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/mn10300/mn10300.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/moxie/moxie.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/msp430/msp430.c: Include stor-layout.h.
Include calls.h.
* config/nds32/nds32.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/pa/pa.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
Include calls.h.
* config/pdp11/pdp11.c: Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/picochip/picochip.c: Include calls.h.
Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* config/rl78/rl78.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/rs6000/rs6000-c.c: Include stor-layout.h.
Include stringpool.h.
* config/rs6000/rs6000.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include print-tree.h.
Include varasm.h.
* config/rx/rx.c: Include varasm.h.
Include stor-layout.h.
Include calls.h.
* config/s390/s390.c: Include print-tree.h.
Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/score/score.c: Include stringpool.h.
Include calls.h.
Include varasm.h.
Include stor-layout.h.
* config/sh/sh-c.c: Include stringpool.h.
Include attribs.h.h.
* config/sh/sh.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/sol2-c.c: Include stringpool.h.
Include attribs.h.
* config/sol2-cxx.c: Include stringpool.h.
* config/sol2.c: Include stringpool.h.
Include varasm.h.
* config/sparc/sparc.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/spu/spu-c.c: Include stringpool.h.
* config/spu/spu.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* config/stormy16/stormy16.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/tilegx/tilegx.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/tilepro/tilepro.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/v850/v850-c.c: Include stringpool.h.
Include attribs.h.
* config/v850/v850.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include calls.h.
* config/vax/vax.c: Include calls.h.
Include varasm.h.
* config/vms/vms.c: Include stringpool.h.
* config/vxworks.c: Include stringpool.h.
* config/xtensa/xtensa.c: Include stringpool.h.
Include stor-layout.h.
Include calls.h.
Include varasm.h.
* convert.c: Include stor-layout.h.
* coverage.c: Include stringpool.h.
Include stor-layout.h.
* dbxout.c: Include varasm.h.
Include stor-layout.h.
* dojump.c: Include stor-layout.h.
* dse.c: Include stor-layout.h.
* dwarf2asm.c: Include stringpool.h.
Include varasm.h.
* dwarf2cfi.c: Include stor-layout.h.
* dwarf2out.c: Include rtl.h.
Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include function.h.
Include emit-rtl.h.
Move inclusion of rtl.h earlier in the file.
* emit-rtl.c: Include varasm.h.
* except.c: Include stringpool.h.
Include stor-layout.h.
* explow.c: Include stor-layout.h.
* expmed.c: Include stor-layout.h.
* expr.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
Include varasm.h.
* final.c: Include varasm.h.
* fold-const.c: Include stor-layout.h.
Include calls.h.
Include tree-iterator.h.
* function.c: Include stor-layout.h.
Include varasm.h.
Include stringpool.h.
* genattrtab.c (write_header): Emit includes for varasm.h,
stor-layout.h and calls.h.
* genautomata.c (main): Likewise.
* genemit.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c (output_prologue): Likewise.
* genpeep.c: Likewise.
* genpreds.c (write_insn_preds_c): Likewise.
* gengtype.c (open_base_files): Add stringpool.h.
* gimple-expr.c: Include stringpool.h.
Include stor-layout.h.
* gimple-fold.c: Include stringpool.h.
Include expr.h.
Include stmt.h.
Include stor-layout.h.
* gimple-low.c: Include tree-nested.h.
Include calls.h.
* gimple-pretty-print.c: Include stringpool.h.
* gimple-ssa-strength-reduction.c: Include stor-layout.h.
Include expr.h.
* gimple-walk.c: Include stmt.h.
* gimple.c: Include calls.h.
Include stmt.h.
Include stor-layout.h.
* gimplify.c: Include stringpool.h.
Include calls.h.
Include varasm.h.
Include stor-layout.h.
Include stmt.h.
Include print-tree.h.
Include expr.h.
* gimplify-me.c: Include stmt.h
Include stor-layout.h
* internal-fn.c: Include stor-layout.h.
* ipa-devirt.c: Include print-tree.h.
Include calls.h.
* ipa-inline-analysis.c: Include stor-layout.h.
Include stringpool.h.
Include print-tree.h.
* ipa-inline.c: Include trans-mem.h.
Include calls.h.
* ipa-prop.c: Include expr.h.
Include stor-layout.h.
Include print-tree.h.
* ipa-pure-const.c: Include print-tree.h.
Include calls.h.
* ipa-reference.c: Include calls.h.
* ipa-split.c: Include stringpool.h.
Include expr.h.
Include calls.h.
* ipa.c: Include calls.h.
Include stringpool.h.
* langhooks.c: Include stringpool.h.
Include attribs.h.
* lto-cgraph.c: Include stringpool.h.
* lto-streamer-in.c: Include stringpool.h.
* lto-streamer-out.c: Include stor-layout.h.
Include stringpool.h.
* omp-low.c: Include stringpool.h.
Include stor-layout.h.
Include expr.h.
* optabs.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* passes.c: Include varasm.h.
* predict.c: Include calls.h.
* print-rtl.c: Include print-tree.h.
* print-tree.c: Include varasm.h.
Include print-rtl.h.
Include stor-layout.h.
* realmpfr.c: Include stor-layout.h.
* reg-stack.c: Include varasm.h.
* sdbout.c: Include varasm.h.
Include stor-layout.h.
* simplify-rtx.c: Include varasm.h.
* stmt.c: Include varasm.h.
Include stor-layout.h.
* stor-layout.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
Include print-tree.h.
* symtab.c: Include rtl.h.
Include print-tree.h.
Include varasm.h.
Include function.h.
Include emit-rtl.h.
* targhooks.c: Include stor-layout.h.
Include varasm.h.
* toplev.c: Include varasm.h.
Include tree-inline.h.
* trans-mem.c: Include calls.h.
Include function.h.
Include rtl.h.
Include emit-rtl.h.
* tree-affine.c: Include expr.h.
* tree-browser.c: Include print-tree.h.
* tree-call-cdce.c: Include stor-layout.h.
* tree-cfg.c: Include trans-mem.h.
Include stor-layout.h.
Include print-tree.h.
* tree-complex.c: Include stor-layout.h.
* tree-data-ref.c: Include expr.h.
* tree-dfa.c: Include stor-layout.h.
* tree-eh.c: Include expr.h.
Include calls.h.
* tree-emutls.c: Include stor-layout.h.
Include varasm.h.
* tree-if-conv.c: Include stor-layout.h.
* tree-inline.c: Include stor-layout.h.
Include calls.h.
* tree-loop-distribution.c: Include stor-layout.h.
* tree-nested.c: Include stringpool.h.
Include stor-layout.h.
* tree-object-size.c: Include tree-object-size.h.
* tree-outof-ssa.c: Include stor-layout.h.
* tree-parloops.c: Include stor-layout.h.
Include tree-nested.h.
* tree-pretty-print.c: Include stor-layout.h.
Include expr.h.
* tree-profile.c: Include varasm.h.
Include tree-nested.h.
* tree-scalar-evolution.c: Include expr.h.
* tree-sra.c: Include stor-layout.h.
* tree-ssa-address.c: Include stor-layout.h.
* tree-ssa-ccp.c: Include stor-layout.h.
* tree-ssa-dce.c: Include calls.h.
* tree-ssa-dom.c: Include stor-layout.h.
* tree-ssa-forwprop.c: Include stor-layout.h.
* tree-ssa-ifcombine.c: Include stor-layout.h.
* tree-ssa-loop-ivopts.c: Include stor-layout.h.
* tree-ssa-loop-niter.c: Include calls.h.
Include expr.h.
* tree-ssa-loop-prefetch.c: Include stor-layout.h.
* tree-ssa-math-opts.c: Include stor-layout.h.
* tree-ssa-operands.c: Include stmt.h.
Include print-tree.h.
* tree-ssa-phiopt.c: Include stor-layout.h.
* tree-ssa-reassoc.c: Include stor-layout.h.
* tree-ssa-sccvn.c: Include stor-layout.h.
* tree-ssa-sink.c: Include stor-layout.h.
* tree-ssa-strlen.c: Include stor-layout.h.
* tree-ssa-structalias.c: Include stor-layout.h.
Include stmt.h.
* tree-ssa-tail-merge.c: Include stor-layout.h.
Include trans-mem.h.
* tree-ssa-uncprop.c: Include stor-layout.h.
* tree-ssa.c: Include stor-layout.h.
* tree-ssanames.c: Include stor-layout.h.
* tree-streamer-in.c: Include stringpool.h.
* tree-streamer-out.c: Include stor-layout.h.
* tree-switch-conversion.c: Include varasm.h.
Include stor-layout.h.
* tree-tailcall.c: Include stor-layout.h.
* tree-vect-data-refs.c: Include stor-layout.h.
* tree-vect-generic.c: Include stor-layout.h.
* tree-vect-loop.c: Include stor-layout.h.
* tree-vect-patterns.c: Include stor-layout.h.
* tree-vect-slp.c: Include stor-layout.h.
* tree-vect-stmts.c: Include stor-layout.h.
* tree-vectorizer.c: Include stor-layout.h.
* tree-vrp.c: Include stor-layout.h.
Include calls.h.
* tree.c: Include stor-layout.h.
Include calls.h.
Include attribs.h.
Include varasm.h.
* tsan.c: Include expr.h.
* ubsan.c: Include stor-layout.h.
Include stringpool.h.
* value-prof.c: Include tree-nested.h.
Include calls.h.
* var-tracking.c: Include varasm.h.
Include stor-layout.h.
* varasm.c: Include stor-layout.h.
Include stringpool.h.
Include gcc-symtab.h.
Include varasm.h.
* varpool.c: Include varasm.h.
* vmsdbgout.c: Include varasm.h.
* xcoffout.c: Include varasm.h.

ada/ChangeLog

* gcc-interface/decl.c: Include stringpool.h
Include stor-layout.h
* gcc-interface/misc.c: Include stor-layout.h
Include print-tree.h
* gcc-interface/trans.c: Include stringpool.h
Include stor-layout.h
Include stmt.h
Include varasm.h
* gcc-interface/utils.c: Include stringpool.h
Include stor-layout.h
Include attribs.h
Include varasm.h
* gcc-interface/utils2.c: Include stringpool.h
Include stor-layout.h
Include attribs.h
Include varasm.h

c-family/ChangeLog

* c-common.c: Include fold-const.h.
Include stor-layout.h.
Include calls.h.
Include stringpool.h.
Include attribs.h.
Include varasm.h.
Include trans-mem.h.
* c-cppbuiltin.c: Include stor-layout.h.
Include stringpool.h.
* c-format.c: Include stringpool.h.
* c-lex.c: Include stringpool.h.
Include stor-layout.h.
* c-pragma.c: Include stringpool.h.
Include attribs.h.
Include varasm.h.
Include gcc-symtab.h.
* c-pretty-print.c: Include stor-layout.h.
Include attribs.h.
* cilk.c: Include stringpool.h.
Include calls.h.

c/ChangeLog

* c-decl.c: Include print-tree.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
Include stringpool.h.
* c-lang.c: Include fold-const.h.
* c-parser.c: Include stringpool.h.
Include attribs.h.
Include stor-layout.h.
Include varasm.h.
Include trans-mem.h.
* c-typeck.c: Include stor-layout.h.
Include trans-mem.h.
Include varasm.h.
Include stmt.h.

cp/ChangeLog

* call.c: Include stor-layout.h.
Include trans-mem.h.
Include stringpool.h.
* class.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
* cp-gimplify.c: Include stor-layout.h.
* cvt.c: Include stor-layout.h.
* decl.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
Include calls.h.
* decl2.c: Include stringpool.h.
Include varasm.h.
Include attribs.h.
Include stor-layout.h.
Include calls.h.
* error.c: Include stringpool.h.
* except.c: Include stringpool.h.
Include trans-mem.h.
Include attribs.h.
* init.c: Include stringpool.h.
Include varasm.h.
* lambda.c: Include stringpool.h.
* lex.c: Include stringpool.h.
* mangle.c: Include stor-layout.h.
Include stringpool.h.
* method.c: Include stringpool.h.
Include varasm.h.
* name-lookup.c: Include stringpool.h.
Include print-tree.h.
Include attribs.h.
* optimize.c: Include stringpool.h.
* parser.c: Include print-tree.h.
Include stringpool.h.
Include attribs.h.
Include trans-mem.h.
* pt.c: Include stringpool.h.
Include varasm.h.
Include attribs.h.
Include stor-layout.h.
* ptree.c: Include print-tree.h.
* repo.c: Include stringpool.h.
* rtti.c: Include stringpool.h.
Include stor-layout.h.
* semantics.c: Include stmt.h.
Include varasm.h.
Include stor-layout.h.
Include stringpool.h.
* tree.c: Include stor-layout.h.
Include print-tree.h.
Include tree-iterator.h.
* typeck.c: Include stor-layout.h.
Include varasm.h.
* typeck2.c: Include stor-layout.h.
Include varasm.h.
* vtable-class-hierarchy.c: Include stringpool.h.
Include stor-layout.h.

fortran/ChangeLog

* decl.c: Include stringpool.h.
* iresolve.c: Include stringpool.h.
* match.c: Include stringpool.h.
* module.c: Include stringpool.h.
* target-memory.c: Include stor-layout.h.
* trans-common.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* trans-const.c: Include stor-layout.h.
* trans-decl.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
Include attribs.h.
* trans-expr.c: Include stringpool.h.
* trans-intrinsic.c: Include stringpool.h.
Include tree-nested.h.
Include stor-layout.h.
* trans-io.c: Include stringpool.h.
Include stor-layout.h.
* trans-openmp.c: Include stringpool.h.
* trans-stmt.c: Include stringpool.h.
* trans-types.c: Include stor-layout.h.
Include stringpool.h.
* trans.c: Include stringpool.h.

go/ChangeLog

* go-backend.c: Include stor-layout.h.
* go-gcc.cc: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* go-lang.c: Include stor-layout.h.

java/ChangeLog

* builtins.c: Include stor-layout.h.
Include stringpool.h.
* class.c: Include stringpool.h.
Include stor-layout.h.
Include varasm.h.
* constants.c: Include stringpool.h.
Include stor-layout.h.
* decl.c: Include stor-layout.h.
Include stringpool.h.
Include varasm.h.
* except.c: Include stringpool.h.
Include stor-layout.h.
* expr.c: Include stringpool.h.
Include stor-layout.h.
* jcf-parse.c: Include stringpool.h.
* mangle.c: Include stringpool.h.
* resource.c: Include stringpool.h.
Include stor-layout.h.
* typeck.c: Include stor-layout.h.
Include stringpool.h.
* verify-glue.c: Include stringpool.h.

lto/ChangeLog
* lto-lang.c: Include stringpool.h.
Include stor-layout.h.
* lto-partition.c: Include gcc-symtab.h.
* lto.c: Include stor-layout.h.

objc/ChangeLog
* objc-act.c: Include stringpool.h.
Include stor-layout.h.
Include attribs.h.
* objc-encoding.c: Include stringpool.h.
Include stor-layout.h.
* objc-gnu-runtime-abi-01.c: Include stringpool.h.
* objc-next-runtime-abi-01.c:
Include stringpool.h.
* objc-next-runtime-abi-02.c: Include stringpool.h.
* objc-runtime-shared-support.c: Include stringpool.h.

testsuite/ChangeLog

* gcc.dg/plugin/selfassign.c: Include stringpool.h.
* gcc.dg/plugin/start_unit_plugin.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205023 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoconfig/
mpolacek [Tue, 19 Nov 2013 11:45:15 +0000 (11:45 +0000)]
config/
* bootstrap-ubsan.mk (POSTSTAGE1_LDFLAGS): Add -ldl.
gcc/c-family/
* c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
call.
(ubsan_instrument_shift): Likewise.
(ubsan_instrument_vla): Likewise.
gcc/
* opts.c (common_handle_option): Add -fsanitize=null option.
Turn off -fdelete-null-pointer-checks option when doing the
NULL pointer checking.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH): Add.
* tree-pass.h (make_pass_ubsan): Declare.
(make_pass_sanopt): Declare.
* timevar.def (TV_TREE_UBSAN): New timevar.
* passes.def: Add pass_sanopt and pass_ubsan.
* ubsan.h (ubsan_null_ckind): New enum.
(ubsan_mismatch_data): New struct.
(ubsan_expand_null_ifn): Declare.
(ubsan_create_data): Adjust declaration.
(ubsan_type_descriptor): Likewise.
* asan.c: Include "ubsan.h".
(pass_data_sanopt): New pass.
(execute_sanopt): New function.
(gate_sanopt): Likewise.
(make_pass_sanopt): Likewise.
(class pass_sanopt): New class.
* ubsan.c: Include tree-pass.h, gimple-ssa.h, gimple-walk.h,
gimple-iterator.h and cfgloop.h.
(PROB_VERY_UNLIKELY): Define.
(tree_type_map_hash): New function.
(ubsan_type_descriptor): Add new parameter.
Improve type name generation.
(ubsan_create_data): Add new parameter.  Add pointer data into
ubsan structure.
(ubsan_expand_null_ifn): New function.
(instrument_member_call): Likewise.
(instrument_mem_ref): Likewise.
(instrument_null): Likewise.
(ubsan_pass): Likewise.
(gate_ubsan): Likewise.
(make_pass_ubsan): Likewise.
(ubsan_instrument_unreachable): Adjust ubsan_create_data call.
(class pass_ubsan): New class.
(pass_data_ubsan): New pass.
* flag-types.h (enum sanitize_code): Add SANITIZE_NULL.
* internal-fn.c (expand_UBSAN_NULL): New function.
* cgraphunit.c (varpool_finalize_decl): Call varpool_assemble_decl
even when !flag_toplevel_reorder.
* internal-fn.def (UBSAN_NULL): New.
gcc/testsuite/
* c-c++-common/ubsan/null-1.c: New test.
* c-c++-common/ubsan/null-2.c: New test.
* c-c++-common/ubsan/null-3.c: New test.
* c-c++-common/ubsan/null-4.c: New test.
* c-c++-common/ubsan/null-5.c: New test.
* c-c++-common/ubsan/null-6.c: New test.
* c-c++-common/ubsan/null-7.c: New test.
* c-c++-common/ubsan/null-8.c: New test.
* c-c++-common/ubsan/null-9.c: New test.
* c-c++-common/ubsan/null-10.c: New test.
* c-c++-common/ubsan/null-11.c: New test.
* gcc.dg/ubsan/c99-shift-2.c: Adjust dg-output.
* c-c++-common/ubsan/shift-1.c: Likewise.
* c-c++-common/ubsan/div-by-zero-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205021 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/c11-complex-1.c: Use dg-add-options ieee.
uros [Tue, 19 Nov 2013 11:28:20 +0000 (11:28 +0000)]
* gcc.dg/c11-complex-1.c: Use dg-add-options ieee.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205020 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * cgraph.c (cgraph_create_indirect_edge): Use get_polymorphic_call_info.
hubicka [Tue, 19 Nov 2013 10:05:54 +0000 (10:05 +0000)]
* cgraph.c (cgraph_create_indirect_edge): Use get_polymorphic_call_info.
* cgraph.h (cgraph_indirect_call_info): Add outer_type, maybe_in_construction
and maybe_derived_type.
* ipa-utils.h (ipa_polymorphic_call_context): New structure.
(ipa_dummy_polymorphic_call_context): New global var.
(possible_polymorphic_call_targets): Add context paramter.
(dump_possible_polymorphic_call_targets): Likewise; update
wrappers.
(possible_polymorphic_call_target_p): Likewise.
(get_polymorphic_call_info): New function.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): New function.
(add_type_duplicate): Remove forgotten debug output.
(method_class_type): Add sanity check.
(maybe_record_node): Add FINALP parameter.
(record_binfo): Add OUTER_TYPE and OFFSET; walk the inner
by info by get_binfo_at_offset.
(possible_polymorphic_call_targets_1): Add OUTER_TYPE/OFFSET parameters;
pass them to record-binfo.
(polymorphic_call_target_d): Add context and FINAL.
(polymorphic_call_target_hasher::hash): Hash context.
(polymorphic_call_target_hasher::equal): Compare context.
(free_polymorphic_call_targets_hash):
(get_class_context): New function.
(contains_type_p): New function.
(get_polymorphic_call_info): New function.
(walk_bases): New function.
(possible_polymorphic_call_targets): Add context parameter; honnor it.
(dump_possible_polymorphic_call_targets): Dump context.
(possible_polymorphic_call_target_p): Add context.
(update_type_inheritance_graph): Update comment.s
(ipa_set_jf_known_type): Assert that compoentn type is known.
(ipa_note_param_call): Do not tamper with offsets.
(ipa_analyze_indirect_call_uses): When offset is being changed; clear
outer type.
(update_indirect_edges_after_inlining): Likewise.
(ipa_write_indirect_edge_info): Stream new fields.
(ipa_read_indirect_edge_info): Stream in new fields.

* ipa/devirt9.C: Verify that the optimization happens already before.
whole-program.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205019 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-pretty-print.c (dump_generic_node): Print class type of
hubicka [Tue, 19 Nov 2013 10:01:54 +0000 (10:01 +0000)]
* tree-pretty-print.c (dump_generic_node): Print class type of
OBJ_TYPE_REF.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205017 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-19 Joey Ye <joey.ye@arm.com>
jye2 [Tue, 19 Nov 2013 10:00:46 +0000 (10:00 +0000)]
2013-11-19  Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.opt (-marm-pic-data-is-text-relative): New option.
        * doc/invoke.texi (-marm-pic-data-is-text-relative): Documentation
        for new option.
        * config/arm/arm.c (arm_option_override): By default disable
        -marm-pic-data-is-text-relative.
        (legitimize_pic_address): Use arm_pic_data_is_text_relative.
        (arm_assemble_integer): Likewise.
        * config/arm/arm.h (TARGET_DEFAULT_PIC_DATA_IS_TEXT_RELATIVE):
        New macro to initialize -marm-pic-data-is-text-relative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205016 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-loop-ivopts.c (enum ainc_type): New.
amker [Tue, 19 Nov 2013 09:48:59 +0000 (09:48 +0000)]
* tree-ssa-loop-ivopts.c (enum ainc_type): New.
(address_cost_data): New field.
(get_address_cost): Compute auto-increment rtx cost in ainc_costs.
Use ainc_costs for auto-increment rtx patterns.
Cleanup TWS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205015 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago[AArch64] Remove v8type attribute.
jgreenhalgh [Tue, 19 Nov 2013 09:36:01 +0000 (09:36 +0000)]
[AArch64] Remove v8type attribute.

gcc/
* config/aarch64/aarch64.md: Remove v8type from all insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205014 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Nov 2013 09:21:07 +0000 (09:21 +0000)]
2013-11-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57517
* tree-predcom.c (combinable_refs_p): Verify the combination
is always executed when the refs are.

* gfortran.fortran-torture/compile/pr57517.f90: New testcase.
* gcc.dg/torture/pr57517.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205010 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * atomic.c: Include sys/types.h.
jakub [Tue, 19 Nov 2013 07:43:09 +0000 (07:43 +0000)]
* atomic.c: Include sys/types.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205008 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-threadupdate.c: Include ssa-iterators.h
law [Tue, 19 Nov 2013 03:47:40 +0000 (03:47 +0000)]
* tree-ssa-threadupdate.c: Include ssa-iterators.h
(copy_phi_arg_into_existing_phi): New function.
(any_remaining_duplicated_blocks): Likewise.
(ssa_fix_duplicate_block_edges): Handle multiple duplicated
blocks on a jump threading path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205004 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-threadupdate.c (thread_through_loop_header): Do not
law [Tue, 19 Nov 2013 03:30:08 +0000 (03:30 +0000)]
* tree-ssa-threadupdate.c (thread_through_loop_header):  Do not
thread through a joiner which has the latch edge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205003 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoreflect: Handle calls to functions that take or return empty structs
ian [Tue, 19 Nov 2013 02:30:03 +0000 (02:30 +0000)]
reflect: Handle calls to functions that take or return empty structs

Fixes issue 6761

This simple change seems to work fine, slightly to my surprise.

This includes the tests I submitted to the main Go repository at
https://codereview.appspot.com/26570046

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205001 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogotest: Recognize PPC ELF v2 function pointers in text section.
ian [Tue, 19 Nov 2013 02:14:40 +0000 (02:14 +0000)]
gotest: Recognize PPC ELF v2 function pointers in text section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205000 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgo: Fix typo for is_dragonfly in configure script.
ian [Tue, 19 Nov 2013 02:11:38 +0000 (02:11 +0000)]
libgo: Fix typo for is_dragonfly in configure script.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204999 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * md.texi (setmem): Document new parameter.
hubicka [Tue, 19 Nov 2013 01:42:47 +0000 (01:42 +0000)]
* md.texi (setmem): Document new parameter.
* optabs.c (maybe_gen_insn): Support 9 operands.
* builtins.c (determine_block_size): Add probable_max_size;
support anti-ranges.
(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
probable_max_size.
* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
emit_block_move, clear_storage_hints, set_storage_via_setmem):
Likewise.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.md (setmem, movmem patterns): Add 9th operand.
* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
argument; pass it to decide_alg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204998 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * md.texi (setmem): Document new parameter.
hubicka [Tue, 19 Nov 2013 01:42:34 +0000 (01:42 +0000)]
* md.texi (setmem): Document new parameter.
* optabs.c (maybe_gen_insn): Support 9 operands.
* builtins.c (determine_block_size): Add probable_max_size;
support anti-ranges.
(expand_builtin_memcpy. expand_builtin_memset_args): Pass around
probable_max_size.
* expr.c (emit_block_move_via_movmem, emit_block_move_hints,
emit_block_move, clear_storage_hints, set_storage_via_setmem):
Likewise.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.md (setmem, movmem patterns): Add 9th operand.
* i386-protos.h (ix86_expand_set_or_movmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Take probable_max_size_exp
argument; pass it to decide_alg.

* gcc.target/i386/memcpy-3.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204997 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR middle-end/59175
hubicka [Tue, 19 Nov 2013 01:30:51 +0000 (01:30 +0000)]
PR middle-end/59175
* gcc.target/i386/memcpy-2.c: Fix template;
add +1 so the testcase passes at 32bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204996 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate n_basic_blocks macro
dmalcolm [Tue, 19 Nov 2013 01:13:23 +0000 (01:13 +0000)]
Eliminate n_basic_blocks macro

gcc/
* basic-block.h (n_basic_blocks_for_function): Rename macro to...
(n_basic_blocks_for_fn): ...this.

(n_basic_blocks): Eliminate macro as work towards making uses of
cfun be explicit.

* cfgloop.c (init_loops_structure): Update for renaming of
"n_basic_blocks_for_function" to "n_basic_blocks_for_fn".
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ipa-utils.c (ipa_merge_profiles): Likewise.
* lto-streamer-in.c (make_new_block): Likewise.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
(dump_function_to_file): Likewise.

* alias.c (init_alias_analysis): Replace usage of "n_basic_blocks"
macro with "n_basic_blocks_for_fn (cfun)".
* bb-reorder.c (partition_hot_cold_basic_blocks): Likewise.
(duplicate_computed_gotos): Likewise.
(reorder_basic_blocks): Likewise.
* bt-load.c (augment_live_range): Likewise.
* cfg.c (expunge_block): Likewise.
(compact_blocks): Likewise.
* cfganal.c (single_pred_before_succ_order): Likewise.
(compute_idf): Likewise.
(flow_dfs_compute_reverse_init): Likewise.
(pre_and_rev_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.
(inverted_post_order_compute): Likewise.
(post_order_compute): Likewise.
(print_edge_list): Likewise.
(find_unreachable_blocks): Likewise.
(mark_dfs_back_edges): Likewise.
* cfgcleanup.c (try_optimize_cfg): Likewise.
(try_forward_edges): Likewise.
* cfghooks.c (dump_flow_info): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
(get_loop_body): Likewise.
(flow_loops_find): Likewise.
* cfgloopmanip.c (add_loop): Likewise.
(remove_path): Likewise.
(find_path): Likewise.
* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
(rtl_verify_bb_layout): Likewise.
(entry_of_function): Likewise.
(rtl_create_basic_block): Likewise.
* coverage.c (coverage_compute_cfg_checksum): Likewise.
* cprop.c (one_cprop_pass): Likewise.
(is_too_expensive): Likewise.
* df-core.c (df_compute_cfg_image): Likewise.
(df_compact_blocks): Likewise.
(df_worklist_dataflow_doublequeue): Likewise.
* dominance.c (calculate_dominance_info): Likewise.
(calc_dfs_tree): Likewise.
(calc_dfs_tree_nonrec): Likewise.
(init_dom_info): Likewise.
* domwalk.c (cmp_bb_postorder): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
(generate_setjmp_warnings): Likewise.
* fwprop.c (build_single_def_use_links): Likewise.
* gcse.c (is_too_expensive): Likewise.
(one_code_hoisting_pass): Likewise.
(one_pre_gcse_pass): Likewise.
* graphite.c (graphite_initialize): Likewise.
* haifa-sched.c (haifa_sched_init): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
* ira.c (split_live_ranges_for_shrink_wrap): Likewise.
* ira-build.c (ira_build): Likewise.
* lcm.c (compute_nearerout): Likewise.
(compute_available): Likewise.
(compute_laterin): Likewise.
(compute_antinout_edge): Likewise.
* lra-lives.c (lra_create_live_ranges): Likewise.
* lra.c (has_nonexceptional_receiver): Likewise.
* mcf.c (create_fixup_graph): Likewise.
* profile.c (branch_prob): Likewise.
* reg-stack.c (convert_regs_2): Likewise.
* regrename.c (regrename_analyze): Likewise.
* reload1.c (has_nonexceptional_receiver): Likewise.
* reorg.c (dbr_schedule): Likewise.
* sched-deps.c (sched_deps_init): Likewise.
* sched-ebb.c (schedule_ebbs): Likewise.
* sched-rgn.c (extend_regions): Likewise.
(schedule_insns): Likewise.
(sched_rgn_init): Likewise.
(extend_rgns): Likewise.
(haifa_find_rgns): Likewise.
* sel-sched-ir.c (recompute_rev_top_order): Likewise.
(sel_recompute_toporder): Likewise.
* sel-sched.c (run_selective_scheduling): Likewise.
* store-motion.c (one_store_motion_pass): Likewise.
(remove_reachable_equiv_notes): Likewise.
* tracer.c (tracer): Likewise.
(tail_duplicate): Likewise.
* tree-cfg.c (gimple_flow_call_edges_add): Likewise.
(dump_cfg_stats): Likewise.
(gimple_dump_cfg): Likewise.
(create_bb): Likewise.
(build_gimple_cfg): Likewise.
* tree-cfgcleanup.c (merge_phi_nodes): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.
(fold_marked_statements): Likewise.
* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Likewise.
* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
* tree-ssa-loop-manip.c (compute_live_loop_exits): Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
* tree-ssa-pre.c (do_pre): Likewise.
(init_pre): Likewise.
(compute_avail): Likewise.
* tree-ssa-reassoc.c (init_reassoc): Likewise.
* tree-ssa-sccvn.c (init_scc_vn): Likewise.
* tree-ssa-tail-merge.c (alloc_cluster_vectors): Likewise.
(init_worklist): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* var-tracking.c (variable_tracking_main_1): Likewise.
(vt_find_locations): Likewise.
(vt_stack_adjustments): Likewise.
* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204995 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * configure.ac: Check for support of __atomic extensions.
ian [Tue, 19 Nov 2013 01:09:47 +0000 (01:09 +0000)]
* configure.ac: Check for support of __atomic extensions.
* internal.h: Declare or #define atomic functions for use in
backtrace code.
* atomic.c: New file.
* dwarf.c (dwarf_lookup_pc): Use atomic functions.
(dwarf_fileline, backtrace_dwarf_add): Likewise.
* elf.c (elf_add_syminfo_data, elf_syminfo): Likewise.
(backtrace_initialize): Likewise.
* fileline.c (fileline_initialize): Likewise.
* Makefile.am (libbacktrace_la_SOURCES): Add atomic.c.
* configure, config.h.in, Makefile.in: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204994 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * libgcov-driver.c (run_accounted): Make global level static.
hubicka [Tue, 19 Nov 2013 01:08:02 +0000 (01:08 +0000)]
* libgcov-driver.c (run_accounted): Make global level static.
(gcov_exit_merge_summary): Silence warning; do not clear
run_accounted here.
(gcov_exit): Clear it here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204993 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * profile.c (compute_branch_probabilities): Do not sanity check run_max.
hubicka [Tue, 19 Nov 2013 00:53:13 +0000 (00:53 +0000)]
* profile.c (compute_branch_probabilities): Do not sanity check run_max.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204992 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * libgcov-driver.c (gcov_exit_merge_summary): Fix setting
hubicka [Tue, 19 Nov 2013 00:50:53 +0000 (00:50 +0000)]
* libgcov-driver.c (gcov_exit_merge_summary): Fix setting
run_accounted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204991 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Tue, 19 Nov 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204990 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-18 Kenneth Zadeck <zadeck@naturalbridge.com>
zadeck [Tue, 19 Nov 2013 00:00:17 +0000 (00:00 +0000)]
2013-11-18 Kenneth Zadeck <zadeck@naturalbridge.com>

* tree.c (int_fits_type_p): Change GET_MODE_BITSIZE to
GET_MODE_PRECISION.
* fold-const.c (fold_single_bit_test_into_sign_test)
(fold_binary_loc):  Change GET_MODE_BITSIZE to
GET_MODE_PRECISION.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204987 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoThis patch fixes an lto profiledbootstrap failure with
tejohnson [Mon, 18 Nov 2013 22:38:51 +0000 (22:38 +0000)]
This patch fixes an lto profiledbootstrap failure with
-freorder-blocks-and-partition enabled. Currently compgotos
is the only pass that goes into cfglayout mode after bb reordering,
which is undesireable (and in the case of -freorder-blocks-and-partition
can cause illegal partitioning) because of the optimizations performed
on the cfg when going into cfglayout mode. Moved compgoto before
bb reordering to avoid these problems.

2013-11-18  Teresa Johnson  <tejohnson@google.com>

* gcc/cfgrtl.c (cfg_layout_initialize): Assert if we
try to go into cfglayout after bb reordering.
* gcc/passes.def: Move compgotos before bb reordering
since it goes into cfglayout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204985 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove all_lto_gen_passes, replace with plain function calls
bernds [Mon, 18 Nov 2013 22:16:37 +0000 (22:16 +0000)]
Remove all_lto_gen_passes, replace with plain function calls

* cgraphunit.c (ipa_passes): Don't execute all_lto_gen_passes.
* lto-streamer-out.c (lto_output, produce_asm_for_decls): No longer
static.
(pass_data_ipa_lto_gimple_out, pass_ipa_lto_gimple_out,
make_pass_ipa_lto_gimple_out, pass_data_ipa_lto_finish_out,
pass_ipa_lto_finish_out, make_pass_ipa_lto_finish_out): Remove.
* lto-streamer.h (lto_output, produce_asm_for_decls): Declare.
* pass-manager.h (GCC_PASS_LISTS, class pass_manager):
Remove all_lto_gen_passes.
* passes.c (pass_manager::dump_passes): Remove its use.
(pass_manager::register_pass): Likewise.
(ipa_read_summaries, ipa_read_optimization_summaries): Likewise.
(pass_manager::pass_manager): Don't initialize or use it.
(write_lto): New static function.
(ipa_write_summaries_1, ipa_write_optimization_summaries): Use it
instead of using all_lto_gen_passes.
* passes.def (all_lto_gen_passes, pass_ipa_lto_gimple_out,
pass_ipa_lto_finish_out): Delete.
* tree-pass.h (make_pass_ipa_lto_gimple_out,
make_pass_ipa_lto_finish_out): Don't declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204984 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * libgcov-driver.c (get_gcov_dump_complete): Update comments.
hubicka [Mon, 18 Nov 2013 22:04:48 +0000 (22:04 +0000)]
* libgcov-driver.c (get_gcov_dump_complete): Update comments.
(all_prg, crc32): Remove static vars.
(gcov_exit_compute_summary): Rewrite to return crc32; do not clear
all_prg.
(gcov_exit_merge_gcda): Add crc32 parameter.
(gcov_exit_merge_summary): Add crc32 and all_prg parameter;
do not account run if it was already accounted.
(gcov_exit_dump_gcov): Add crc32 and all_prg parameters.
(gcov_exit): Initialize all_prg; update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204983 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-threadupdate.c (redirection_data): Record two
law [Mon, 18 Nov 2013 21:57:35 +0000 (21:57 +0000)]
* tree-ssa-threadupdate.c (redirection_data): Record two
duplicated blocks instead of just one.
(local_info): Explain why we don't create a template for the
second duplicated block in a thread path.
(create_block_for_threading): Accept argument indicating array
index into redirection_data to store its result.
(lookup_redirection_data): Initialize both duplicate blocks.
(ssa_create_duplicates): If a jump threading path needs multiple
blocks duplicated, then duplicate them.
(ssa_fix_duplicate_block_edges): Corresponding changes.
(ssa_fixup_template_block, thread_single_edge):  Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204982 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/invoke.texi: Extend -fsanitize=undefined documentation.
mpolacek [Mon, 18 Nov 2013 19:25:33 +0000 (19:25 +0000)]
* doc/invoke.texi: Extend -fsanitize=undefined documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204980 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-18 Andrew Pinski <apinski@cavium.com>
sje [Mon, 18 Nov 2013 19:20:12 +0000 (19:20 +0000)]
2013-11-18  Andrew Pinski <apinski@cavium.com>
    Steve Ellcey  <sellcey@mips.com>

PR target/56552
* config/mips/mips.md (*mov<GPR:mode>_on_<MOVECC:mode>): Remove
type restriction from equality_operator on conditonal move.
(*mov<SCALARF:mode>_on_<MOVECC:mode>): Ditto.
(*mov<GPR:mode>_on_<GPR2:mode>_ne): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204979 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-ssa-threadupdate.c: Fix file block comment.
law [Mon, 18 Nov 2013 19:10:41 +0000 (19:10 +0000)]
    * tree-ssa-threadupdate.c: Fix file block comment.
        Fix minor indention issue.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204978 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * c-c++-common/cilk-plus/PS/reduction-3.c: Use stdlib.h.
law [Mon, 18 Nov 2013 18:44:49 +0000 (18:44 +0000)]
   * c-c++-common/cilk-plus/PS/reduction-3.c: Use stdlib.h.
        Remove spurious FIXME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204977 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
uros [Mon, 18 Nov 2013 18:01:00 +0000 (18:01 +0000)]
* config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
ix86_address_subreg_operand.  Move subreg checks to
ix86_validate_address_register.  Move address override check to
ix86_legitimate_address_p.
(ix86_validate_address_register): New function.
(ix86_legitimate_address_p): Call ix86_validate_address_register
to validate base and index registers.  Add address override check
from ix86_decompose_address.
(ix86_decompose_address): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204976 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * elf.c (SHN_UNDEF): Define.
jakub [Mon, 18 Nov 2013 17:15:07 +0000 (17:15 +0000)]
* elf.c (SHN_UNDEF): Define.
(elf_initialize_syminfo): Add base_address argument.  Ignore symbols
with st_shndx == SHN_UNDEF.  Add base_address to address fields.
(elf_add): Adjust caller.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204975 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * elf.c (phdr_callback): Process info->dlpi_addr == 0 normally.
jakub [Mon, 18 Nov 2013 16:30:44 +0000 (16:30 +0000)]
* elf.c (phdr_callback): Process info->dlpi_addr == 0 normally.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204971 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Mon, 18 Nov 2013 16:21:42 +0000 (16:21 +0000)]
2013-11-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lex.c (search_line_fast): Correct for little endian.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204970 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago [gcc/testsuite]
ktkachov [Mon, 18 Nov 2013 15:50:20 +0000 (15:50 +0000)]
[gcc/testsuite]

* c-c++-common/cilk-plus/PS/body.c: Add fopenmp effective target check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204968 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 18 Nov 2013 15:26:45 +0000 (15:26 +0000)]
2013-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53473
* g++.dg/cpp0x/constexpr-noexcept7.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204967 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Nov 2013 15:25:05 +0000 (15:25 +0000)]
2013-11-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59125
PR tree-optimization/54570
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): When inlining
is not complete do not treat component-references with offset zero
but different fields as equal.
* tree-object-size.c: Include tree-phinodes.h and ssa-iterators.h.
(compute_object_sizes): Apply TLC.  Propagate the constant
results into all uses and fold their stmts.
* passes.def (pass_all_optimizations): Move pass_object_sizes
after the first pass_forwprop and before pass_fre.

* gcc.dg/builtin-object-size-8.c: Un-xfail.
* gcc.dg/builtin-object-size-14.c: New testcase.
* gcc.dg/strlenopt-14gf.c: Adjust.
* gcc.dg/strlenopt-1f.c: Likewise.
* gcc.dg/strlenopt-4gf.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204966 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/c-family/
rsandifo [Mon, 18 Nov 2013 14:52:56 +0000 (14:52 +0000)]
gcc/c-family/
* c-common.c (convert_vector_to_pointer_for_subscript): Remove
cast to unsigned type.

gcc/
* tree.h (tree_to_uhwi): Return an unsigned HOST_WIDE_INT.
* tree.c (tree_to_uhwi): Return an unsigned HOST_WIDE_INT.
(tree_ctz): Remove cast to unsigned type.
* builtins.c (fold_builtin_memory_op): Likewise.
* dwarf2out.c (descr_info_loc): Likewise.
* godump.c (go_output_typedef): Likewise.
* omp-low.c (expand_omp_simd): Likewise.
* stor-layout.c (excess_unit_span): Likewise.
* tree-object-size.c (addr_object_size): Likewise.
* tree-sra.c (analyze_all_variable_accesses): Likewise.
* tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
(simplify_rotate): Likewise.
* tree-ssa-strlen.c (adjust_last_stmt, handle_builtin_memcpy)
(handle_pointer_plus): Likewise.
* tree-switch-conversion.c (check_range): Likewise.
* tree-vect-patterns.c (vect_recog_rotate_pattern): Likewise.
* tsan.c (instrument_builtin_call): Likewise.
* cfgexpand.c (defer_stack_allocation): Add cast to HOST_WIDE_INT.
* trans-mem.c (tm_log_add): Likewise.
* config/aarch64/aarch64.c (aapcs_vfp_sub_candidate): Likewise.
* config/arm/arm.c (aapcs_vfp_sub_candidate): Likewise.
* config/rs6000/rs6000.c (rs6000_aggregate_candidate): Likewise.
* config/mips/mips.c (r10k_safe_mem_expr_p): Make offset unsigned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204964 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Mon, 18 Nov 2013 14:52:42 +0000 (14:52 +0000)]
gcc/
* tree.h (host_integerp, tree_low_cst): Delete.
* tree.c (host_integerp, tree_low_cst): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204963 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ada/
rsandifo [Mon, 18 Nov 2013 14:52:29 +0000 (14:52 +0000)]
gcc/ada/
* gcc-interface/cuintp.c (UI_From_gnu): Use tree_to_shwi rather than
tree_low_cst.

gcc/c-family/
* c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
tree_low_cst.
(complete_array_type): Update comment to refer to tree_to_[su]hwi
rather than tree_low_cst.

gcc/c/
* c-decl.c (grokdeclarator): Update comment to refer to
tree_to_[su]hwi rather than tree_low_cst.

gcc/cp/
* decl.c (reshape_init_array_1): Use tree_to_uhwi rather than
tree_low_cst.
(grokdeclarator): Update comment to refer to tree_to_[su]hwi rather
than tree_low_cst.

gcc/
* expr.h: Update comments to refer to tree_to_[su]hwi rather
than tree_low_cst.
* fold-const.c (fold_binary_loc): Likewise.
* expr.c (store_constructor): Use tree_to_uhwi rather than
tree_low_cst.
* ipa-utils.h (possible_polymorphic_call_target_p): Likewise.
* stmt.c (emit_case_dispatch_table): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204962 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ada/
rsandifo [Mon, 18 Nov 2013 14:52:19 +0000 (14:52 +0000)]
gcc/ada/
* gcc-interface/decl.c, gcc-interface/utils.c, gcc-interface/utils2.c:
Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

gcc/c-family/
* c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/c/
* c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/cp/
* call.c, class.c, decl.c, error.c: Replace tree_low_cst (..., 1) with
tree_to_uhwi throughout.

gcc/objc/
* objc-encoding.c: Replace tree_low_cst (..., 1) with tree_to_uhwi
throughout.

gcc/
* alias.c, asan.c, builtins.c, cfgexpand.c, cgraph.c,
config/aarch64/aarch64.c, config/alpha/predicates.md,
config/arm/arm.c, config/darwin.c, config/epiphany/epiphany.c,
config/i386/i386.c, config/iq2000/iq2000.c, config/m32c/m32c-pragma.c,
config/mep/mep-pragma.c, config/mips/mips.c,
config/picochip/picochip.c, config/rs6000/rs6000.c, cppbuiltin.c,
dbxout.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, fold-const.c,
function.c, gimple-fold.c, godump.c, ipa-cp.c, ipa-prop.c, omp-low.c,
predict.c, sdbout.c, stor-layout.c, trans-mem.c, tree-object-size.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-forwprop.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-niter.c,
tree-ssa-loop-prefetch.c, tree-ssa-strlen.c, tree-stdarg.c,
tree-switch-conversion.c, tree-vect-generic.c, tree-vect-loop.c,
tree-vect-patterns.c, tree-vrp.c, tree.c, tsan.c, ubsan.c, varasm.c:
Replace tree_low_cst (..., 1) with tree_to_uhwi throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204961 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/c-family/
rsandifo [Mon, 18 Nov 2013 14:52:03 +0000 (14:52 +0000)]
gcc/c-family/
* c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
tree_low_cst (..., 0) with tree_to_shwi throughout.

gcc/c/
* c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
throughout.

gcc/cp/
* class.c, dump.c, error.c, init.c, method.c, parser.c, semantics.c:
Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

gcc/go/
* gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
tree_to_shwi throughout.

gcc/java/
* class.c, expr.c: Replace tree_low_cst (..., 0) with tree_to_shwi
throughout.

gcc/objc/
* objc-next-runtime-abi-02.c: Replace tree_low_cst (..., 0) with
tree_to_shwi throughout.

gcc/
* builtins.c, cilk-common.c, config/aarch64/aarch64.c,
config/alpha/alpha.c, config/arm/arm.c, config/c6x/predicates.md,
config/i386/i386.c, config/ia64/predicates.md, config/s390/s390.c,
coverage.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c, expr.h,
fold-const.c, gimple-fold.c, godump.c, ipa-prop.c, omp-low.c,
predict.c, rtlanal.c, sdbout.c, stmt.c, stor-layout.c, targhooks.c,
tree-cfg.c, tree-data-ref.c, tree-inline.c, tree-ssa-forwprop.c,
tree-ssa-loop-prefetch.c, tree-ssa-phiopt.c, tree-ssa-sccvn.c,
tree-ssa-strlen.c, tree-stdarg.c, tree-vect-data-refs.c,
tree-vect-patterns.c, tree.c, tree.h, var-tracking.c, varasm.c:
Replace tree_low_cst (..., 0) with tree_to_shwi throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204959 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Mon, 18 Nov 2013 14:51:45 +0000 (14:51 +0000)]
gcc/
* tree.h (tree_to_shwi, tree_to_uhwi): Declare, with inline expansions.
* tree.c (tree_to_shwi, tree_to_uhwi): New functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204958 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ada/
rsandifo [Mon, 18 Nov 2013 14:51:35 +0000 (14:51 +0000)]
gcc/ada/
* gcc-interface/cuintp.c: Update comments to refer to
tree_fits_shwi_p rather than host_integerp.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use tree_fits_uhwi_p
rather than host_integerp.
* gcc-interface/utils.c (rest_of_record_type_compilation): Likewise.

gcc/
* expr.h: Update comments to refer to tree_fits_[su]hwi_p rather
than host_integerp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204957 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ada/
rsandifo [Mon, 18 Nov 2013 14:51:26 +0000 (14:51 +0000)]
gcc/ada/
* gcc-interface/decl.c, gcc-interface/misc.c, gcc-interface/utils.c:
Replace host_integerp (..., 1) with tree_fits_uhwi_p throughout.

gcc/c-family/
* c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
host_integerp (..., 1) with tree_fits_uhwi_p throughout.

gcc/cp/
* decl.c: Replace host_integerp (..., 1) with tree_fits_uhwi_p
throughout.

gcc/
* builtins.c, config/alpha/alpha.c, config/iq2000/iq2000.c,
config/mips/mips.c, dbxout.c, dwarf2out.c, expr.c, fold-const.c,
gimple-fold.c, godump.c, omp-low.c, predict.c, sdbout.c, stor-layout.c,
tree-dfa.c, tree-sra.c, tree-ssa-forwprop.c, tree-ssa-loop-prefetch.c,
tree-ssa-phiopt.c, tree-ssa-sccvn.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-vect-data-refs.c, tree-vect-patterns.c,
tree.c, varasm.c, alias.c, cfgexpand.c, config/aarch64/aarch64.c,
config/arm/arm.c, config/epiphany/epiphany.c, config/i386/i386.c,
config/m32c/m32c-pragma.c, config/mep/mep-pragma.c,
config/rs6000/rs6000.c, config/sparc/sparc.c, emit-rtl.c, function.c,
gimplify.c, ipa-prop.c, stmt.c, trans-mem.c, tree-cfg.c,
tree-object-size.c, tree-ssa-ccp.c, tree-ssa-loop-ivcanon.c,
tree-stdarg.c, tree-switch-conversion.c, tree-vect-generic.c,
tree-vrp.c, tsan.c, ubsan.c: Replace host_integerp (..., 1) with
tree_fits_uhwi_p throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204956 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/ada/
rsandifo [Mon, 18 Nov 2013 14:51:10 +0000 (14:51 +0000)]
gcc/ada/
* gcc-interface/cuintp.c: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/c-family/
* c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
host_integerp (..., 0) with tree_fits_shwi_p throughout.

gcc/c/
* c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
throughout.

gcc/cp/
* error.c, init.c, parser.c, semantics.c: Replace
host_integerp (..., 0) with tree_fits_shwi_p throughout.

gcc/go/
* gofrontend/expressions.cc: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/java/
* class.c, expr.c: Replace host_integerp (..., 0) with
tree_fits_shwi_p throughout.

gcc/
* builtins.c, config/alpha/alpha.c, config/c6x/predicates.md,
config/ia64/predicates.md, config/iq2000/iq2000.c, config/mips/mips.c,
config/s390/s390.c, dbxout.c, dwarf2out.c, except.c, explow.c, expr.c,
expr.h, fold-const.c, gimple-fold.c, gimple-ssa-strength-reduction.c,
gimple.c, godump.c, graphite-scop-detection.c, graphite-sese-to-poly.c,
omp-low.c, predict.c, rtlanal.c, sdbout.c, simplify-rtx.c,
stor-layout.c, tree-data-ref.c, tree-dfa.c, tree-pretty-print.c,
tree-sra.c, tree-ssa-alias.c, tree-ssa-forwprop.c,
tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
tree-ssa-strlen.c, tree-ssa-structalias.c, tree-vect-data-refs.c,
tree-vect-patterns.c, tree-vectorizer.h, tree.c, var-tracking.c,
varasm.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
throughout.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204955 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Mon, 18 Nov 2013 14:50:47 +0000 (14:50 +0000)]
gcc/
* tree.h (tree_fits_shwi_p, tree_fits_uhwi_p): Declare.
* tree.c (tree_fits_shwi_p, tree_fits_uhwi_p): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204954 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * testsuite/libatomic.c/atomic-compare-exchange-1.c,
jsm28 [Mon, 18 Nov 2013 14:50:11 +0000 (14:50 +0000)]
* testsuite/libatomic.c/atomic-compare-exchange-1.c,
testsuite/libatomic.c/atomic-compare-exchange-2.c,
testsuite/libatomic.c/atomic-compare-exchange-3.c,
testsuite/libatomic.c/atomic-compare-exchange-4.c,
testsuite/libatomic.c/atomic-compare-exchange-5.c,
testsuite/libatomic.c/atomic-exchange-1.c,
testsuite/libatomic.c/atomic-exchange-2.c,
testsuite/libatomic.c/atomic-exchange-3.c,
testsuite/libatomic.c/atomic-exchange-4.c,
testsuite/libatomic.c/atomic-exchange-5.c,
testsuite/libatomic.c/atomic-generic.c,
testsuite/libatomic.c/atomic-load-1.c,
testsuite/libatomic.c/atomic-load-2.c,
testsuite/libatomic.c/atomic-load-3.c,
testsuite/libatomic.c/atomic-load-4.c,
testsuite/libatomic.c/atomic-load-5.c,
testsuite/libatomic.c/atomic-op-1.c,
testsuite/libatomic.c/atomic-op-2.c,
testsuite/libatomic.c/atomic-op-3.c,
testsuite/libatomic.c/atomic-op-4.c,
testsuite/libatomic.c/atomic-op-5.c,
testsuite/libatomic.c/atomic-store-1.c,
testsuite/libatomic.c/atomic-store-2.c,
testsuite/libatomic.c/atomic-store-3.c,
testsuite/libatomic.c/atomic-store-4.c,
testsuite/libatomic.c/atomic-store-5.c: Declare main as returning
int.  Do not require built-in sync support or add target-specific
options.
* testsuite/libatomic.c/atomic-exchange-1.c,
testsuite/libatomic.c/atomic-exchange-2.c,
testsuite/libatomic.c/atomic-exchange-3.c,
testsuite/libatomic.c/atomic-exchange-4.c,
testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of
count from expression using value of count.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204953 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
redi [Mon, 18 Nov 2013 13:52:39 +0000 (13:52 +0000)]
* include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
non-atomic operations.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204949 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc/config/ia64/ia64.c (ia64_split_tmode_move): Mark
kyukhin [Mon, 18 Nov 2013 12:44:59 +0000 (12:44 +0000)]
    * gcc/config/ia64/ia64.c (ia64_split_tmode_move): Mark
        load with `dead' flag if it kills address, not its
        post-increment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204948 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
kyukhin [Mon, 18 Nov 2013 12:30:52 +0000 (12:30 +0000)]
    * builtin-types.def (BT_FN_PTR_CONST_PTR_VAR): New.
        * chkp-builtins.def (BUILT_IN_CHKP_BIND_BOUNDS): New.
        * cfgexpand.c (expand_call_stmt): Expand BUILT_IN_CHKP_BIND_BOUNDS.
        * gimple.c (gimple_call_get_nobnd_arg_index): Remove.
        * gimple.h (gf_mask): Add GF_CALL_WITH_BOUNDS.
        (gimple_call_with_bounds_p): New.
        (gimple_call_set_with_bounds): New.
        (gimple_call_num_nobnd_args): Remove.
        (gimple_call_nobnd_arg): Remove.
        * tree.h (CALL_WITH_BOUNDS_P): New.
        * rtl.h (CALL_EXPR_WITH_BOUNDS_P): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204947 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoremove nolonger needed {cgraph,varpool}_node_{,asm_}name () functions
tbsaunde [Mon, 18 Nov 2013 12:18:12 +0000 (12:18 +0000)]
remove nolonger needed {cgraph,varpool}_node_{,asm_}name () functions

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204946 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.
ebotcazou [Mon, 18 Nov 2013 10:18:08 +0000 (10:18 +0000)]
* gcc-interface/trans.c (TARGET_ABI_OPEN_VMS): Delete as redundant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204944 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by
ebotcazou [Mon, 18 Nov 2013 10:09:10 +0000 (10:09 +0000)]
* gcc-interface/trans.c (Call_to_gnu): For an Out parameter passed by
copy and that don't need to be  copied in, only evaluate its address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204943 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an
ebotcazou [Mon, 18 Nov 2013 09:50:25 +0000 (09:50 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Deal with an
error mark as renamed object in type annotating mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204942 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arm/aarch-cost-tables.h (cortexa53_extra_costs): New table.
ktkachov [Mon, 18 Nov 2013 09:28:17 +0000 (09:28 +0000)]
* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): New table.
* config/arm/arm.c (arm_cortex_a53_tune): New.
* config/arm/arm-cores.def (cortex-a53): Use cortex_a53 tuning struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204941 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libfortran/51828
fxcoudert [Mon, 18 Nov 2013 09:27:11 +0000 (09:27 +0000)]
PR libfortran/51828
* intrinsics/unpack_generic.c (unpack_internal): Let the compiler
know that dim > 0 to avoid warnings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204940 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAMD bdver4 enablement
gganesh [Mon, 18 Nov 2013 09:25:21 +0000 (09:25 +0000)]
AMD bdver4 enablement

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204939 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibsanitizer:
ygribov [Mon, 18 Nov 2013 08:03:16 +0000 (08:03 +0000)]
libsanitizer:
2013-11-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/59106
* asan/Makefile.am (AM_CXXFLAGS): Add -fno-rtti.
* interception/Makefile.am (AM_CXXFLAGS): Likewise.
* lsan/Makefile.am (AM_CXXFLAGS): Likewise.
* sanitizer_common/Makefile.am (AM_CXXFLAGS): Likewise.
* tsan/Makefile.am (AM_CXXFLAGS): Likewise.
* asan/Makefile.in: Regenerate.
* interception/Makefile.in: Regenerate.
* tsan/Makefile.in: Regenerate.
* lsan/Makefile.in: Regenerate.
* sanitizer_common/Makefile.in: Regenerate.

gcc/testsuite:
2013-11-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/59106
* c-c++-common/asan/pr59106.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204934 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Mon, 18 Nov 2013 00:16:55 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204932 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix typo in previous commit.
hubicka [Mon, 18 Nov 2013 00:04:13 +0000 (00:04 +0000)]
Fix typo in previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204929 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/rs6000/rs6000.c (rs6000_emit_move): Use low word of
uweigand [Sun, 17 Nov 2013 23:37:20 +0000 (23:37 +0000)]
* config/rs6000/rs6000.c (rs6000_emit_move): Use low word of
sdmode_stack_slot also in little-endian mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204927 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/md.texi (setmem, movstr): Update documentation.
hubicka [Sun, 17 Nov 2013 23:32:12 +0000 (23:32 +0000)]
* doc/md.texi (setmem, movstr): Update documentation.
* builtins.c (determine_block_size): New function.
(expand_builtin_memcpy): Use it and pass it to
emit_block_move_hints.
(expand_builtin_memset_args): Use it and pass it to
set_storage_via_setmem.
* expr.c (emit_block_move_via_movmem): Add min_size/max_size parameters;
update call to expander.
(emit_block_move_hints): Add min_size/max_size parameters.
(clear_storage_hints): Likewise.
(set_storage_via_setmem): Likewise.
(clear_storage): Update.
* expr.h (emit_block_move_hints, clear_storage_hints,
set_storage_via_setmem): Update prototype.
* i386.c (ix86_expand_set_or_movmem): Add bounds; export.
(ix86_expand_movmem, ix86_expand_setmem): Remove.
(ix86_expand_movmem, ix86_expand_setmem): Remove.
* i386.md (movmem, setmem): Pass parameters.

* gcc.target/i386/memcpy-2.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204926 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/59153
uros [Sun, 17 Nov 2013 23:10:10 +0000 (23:10 +0000)]
PR target/59153
* config/i386/i386.c (ix86_address_subreg_operand): Do not
reject non-integer subregs.
(ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
Move check for invalid x32 constant addresses ...
(ix86_legitimate_address_p): ... here.

testsuite/ChangeLog:

PR target/59153
* gcc.target/i386/pr59153.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204925 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Sun, 17 Nov 2013 19:22:43 +0000 (19:22 +0000)]
/cp
2013-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59123
* decl.c (validate_constexpr_redeclaration): Redeclarations of
variables can differ in constexpr.

/testsuite
2013-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59123
* g++.dg/cpp0x/constexpr-redeclaration1.C: New.
* g++.dg/cpp0x/constexpr-decl.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204923 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2011-11-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Sun, 17 Nov 2013 16:36:51 +0000 (16:36 +0000)]
2011-11-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_frame_related): Add split_reg
parameter and use it in REG_FRAME_RELATED_EXPR note.
(emit_frame_save): Call rs6000_frame_related with extra NULL_RTX
parameter.
(rs6000_emit_prologue): Likewise, but for little endian VSX
stores, pass the source register of the store instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204920 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimple.h: Reorder prototypes to match .c declaration order, and remove
amacleod [Sun, 17 Nov 2013 16:14:46 +0000 (16:14 +0000)]
* gimple.h: Reorder prototypes to match .c declaration order, and remove
protyotypes for functions not in gimple.c.
(LABEL): Move to tree-into-ssa.c.
* gimple.c: Remove unused prototypes.
(get_base_address): Move to tree.c.
* tree.c (get_base_address): Relocate from gimple.c.
* builtins.h (validate_gimple_arglist): Add prototype.
* trans-mem.h (compute_transaction_bits, is_tm_ending): Add prototype.
* cfgexpand.h: New File.
(gimple_assign_rhs_to_tree, estimated_stack_frame_size): Add protoype.
* tree.h (build_addr): Move to tree-nested.h.
* tree-nested.h: New File.
(build_addr, lower_nested_functions, insert_field_into_struct): Add
prototypes.
* tree-inline.h (estimated_stack_frame_size): Remove prototype.
* ipa-inline-analysis.c: Include cfgexpand.h.
* cgraphunit.c: Include tree-nested.h.
* omp-low.c: Likewise.
* tree-parloops.c: Likewise.
* gimple-low.h: Likewise.
* tree-profile.h: Likewise.
* expr.c: Include cfgexpand.h.
* tree-affine.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssa-loop-im.c: Include trans-mem.h.
* tree-ssa-tail-merge.c: Likewise.
* value-prof.c: Include builtins.h and tree-nested.h.
* tree-into-ssa.c (LABEL): Define here.

* fortran/trans-intrinsic.c: Include tree-nested.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204919 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * src/powerpc/ppc_closure.S: Don't bl .Luint128.
amodra [Sun, 17 Nov 2013 14:44:03 +0000 (14:44 +0000)]
* src/powerpc/ppc_closure.S: Don't bl .Luint128.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204918 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPowerPC64 ELFv2 support
amodra [Sun, 17 Nov 2013 14:35:08 +0000 (14:35 +0000)]
PowerPC64 ELFv2 support
* src/powerpc/ffitarget.h: Import from upstream.
* src/powerpc/ffi.c: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* doc/libffi.texi: Likewise.
* testsuite/libffi.call/cls_double_va.c: Likewise.
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204917 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoI forgot the ChangeLog and a comment fix for my last checkin.
emsr [Sun, 17 Nov 2013 01:58:29 +0000 (01:58 +0000)]
I forgot the ChangeLog and a comment fix for my last checkin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204912 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sun, 17 Nov 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204911 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-16 François Dumont <fdumont@gcc.gnu.org>
fdumont [Sat, 16 Nov 2013 20:17:50 +0000 (20:17 +0000)]
2013-11-16  François Dumont  <fdumont@gcc.gnu.org>

* testsuite/23_containers/unordered_set/55043.cc (equal): Add
missing & on rhs parameter.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204906 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * backtrace.h (backtrace_create_state): Correct comment about
ian [Sat, 16 Nov 2013 18:27:17 +0000 (18:27 +0000)]
* backtrace.h (backtrace_create_state): Correct comment about
threading.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204905 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * backtrace.h (backtrace_syminfo): Update comment and parameter
ian [Sat, 16 Nov 2013 18:20:33 +0000 (18:20 +0000)]
* backtrace.h (backtrace_syminfo): Update comment and parameter
name to take any address, not just a PC value.
* elf.c (STT_OBJECT): Define.
(elf_nosyms): Rename parameter pc to addr.
(elf_symbol_search): Rename local variable pc to addr.
(elf_initialize_syminfo): Add STT_OBJECT symbols to elf_symbols.
(elf_syminfo): Rename parameter pc to addr.
* btest.c (global): New global variable.
(test5): New test.
(main): Call test5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204904 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoChanged reference to Ch21 Strings in comments in experimental/string_view*.
emsr [Sat, 16 Nov 2013 18:03:40 +0000 (18:03 +0000)]
Changed reference to Ch21 Strings in comments in experimental/string_view*.
Forgot this in the main patch.  Sorry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204903 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-16 Edward Smith-Rowland <3dw4rd@verizon.net>
emsr [Sat, 16 Nov 2013 17:44:48 +0000 (17:44 +0000)]
2013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N3762 string_view: a non-owning reference to a string.
* include/Makefile.am: Add string_view and string_view.tcc.
* include/Makefile.in: Regenerate.
* include/experimental/string_view: Implement basic_string_view.
* include/experimental/string_view.tcc: Implement basic_string_view.
* testsuite/experimental/string_view/capacity/1.cc: New.
* testsuite/experimental/string_view/cons/char/1.cc: New.
* testsuite/experimental/string_view/cons/char/2.cc: New.
* testsuite/experimental/string_view/cons/char/3.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
* testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
* testsuite/experimental/string_view/element_access/char/1.cc: New.
* testsuite/experimental/string_view/element_access/char/2.cc: New.
* testsuite/experimental/string_view/element_access/char/empty.cc: New.
* testsuite/experimental/string_view/element_access/char/front_back.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
New.
* testsuite/experimental/string_view/element_access/wchar_t/
front_back.cc: New.
* testsuite/experimental/string_view/include.cc: New.
* testsuite/experimental/string_view/inserters/char/1.cc: New.
* testsuite/experimental/string_view/inserters/char/2.cc: New.
* testsuite/experimental/string_view/inserters/char/3.cc: New.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
* testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
* testsuite/experimental/string_view/literals/types.cc: New.
* testsuite/experimental/string_view/literals/values.cc: New.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
New.
* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/1.cc: New.
* testsuite/experimental/string_view/operations/compare/char/13650.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operations/compare/wchar_t/
13650.cc: New.
* testsuite/experimental/string_view/operations/data/char/1.cc: New.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/1.cc: New.
* testsuite/experimental/string_view/operations/find/char/2.cc: New.
* testsuite/experimental/string_view/operations/find/char/3.cc: New.
* testsuite/experimental/string_view/operations/find/char/4.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
* testsuite/experimental/string_view/operations/substr/char/1.cc: New.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
New.
* testsuite/experimental/string_view/operators/char/2.cc: New.
* testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
* testsuite/experimental/string_view/range_access/char/1.cc: New.
* testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char16_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char32_t/1.cc: New.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/wchar_t/1.cc: New.
* testsuite/experimental/string_view/requirements/typedefs.cc: New.
* testsuite/experimental/string_view/types/1.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204902 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arc/arc.c (arc_predicate_delay_insns): New function.
amylaar [Sat, 16 Nov 2013 11:53:21 +0000 (11:53 +0000)]
    * config/arc/arc.c (arc_predicate_delay_insns): New function.
        (pass_data_arc_predicate_delay_insns): New pass_data instance.
        (pass_arc_predicate_delay_insns): New subclass of rtl_opt_class.
        (make_pass_arc_predicate_delay_insns): New function.
        (arc_init): Register pass_arc_predicate_delay_insns if
        flag_delayed_branch is active.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204901 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/arc/constraints.md (Rcq): Simplify register number test.
amylaar [Sat, 16 Nov 2013 11:49:10 +0000 (11:49 +0000)]
  * config/arc/constraints.md (Rcq): Simplify register number test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204900 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Sat, 16 Nov 2013 09:54:42 +0000 (09:54 +0000)]
/cp
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* semantics.c (finish_call_expr): Ensure that for OVERLOADs too
'(&f)(...)' is the same as '(f)(...)', per 13.3.1.1.

/testsuite
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* g++.dg/overload/addr2.C: New.
* g++.old-deja/g++.other/overload11.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204899 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Sat, 16 Nov 2013 09:54:23 +0000 (09:54 +0000)]
/cp
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* semantics.c (finish_call_expr): Ensure that for OVERLOADs too
'(&f)(...)' is the same as '(f)(...)', per 13.3.1.1.

/testsuite
2013-11-16  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29143
* g++.dg/overload/addr2.C: New.
* g++.old-deja/g++.other/overload11.C: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204898 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gimple.h (enum gf_mask): Change the ordering of GF_OMP_* bits.
aldyh [Sat, 16 Nov 2013 01:19:27 +0000 (01:19 +0000)]
* gimple.h (enum gf_mask): Change the ordering of GF_OMP_* bits.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204894 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * MAINTAINERS (Global Reviewers, c++): Remove Mark Mitchell.
dje [Sat, 16 Nov 2013 01:16:51 +0000 (01:16 +0000)]
    * MAINTAINERS (Global Reviewers, c++): Remove Mark Mitchell.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204893 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sat, 16 Nov 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204891 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix typo.
mrs [Sat, 16 Nov 2013 00:16:13 +0000 (00:16 +0000)]
Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204888 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * lib/gcc.exp (gcc_target_compile): Add support for random runtime
mrs [Sat, 16 Nov 2013 00:09:34 +0000 (00:09 +0000)]
* lib/gcc.exp (gcc_target_compile): Add support for random runtime
* lib/g++.exp (g++_target_compile): Likewise.
libraries.
* gcc.dg/cilk-plus/cilk-plus.exp: Improve support for runtime
libraries.  Remove debugging.
* g++.dg/cilk-plus/cilk-plus.exp: Add support to find runtime
libraries.  Remove -O0, redundant with default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204887 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/testsuite:
jsm28 [Sat, 16 Nov 2013 00:05:08 +0000 (00:05 +0000)]
gcc/testsuite:
* c-c++-common/cpp/ucnid-2011-1.c: New test.

libcpp:
* ucnid.tab: Add C11 and C11NOSTART data.
* makeucnid.c (digit): Rename enum value to N99.
(C11, N11, all_languages): New enum values.
(NUM_CODE_POINTS, MAX_CODE_POINT): New macros.
(flags, decomp, combining_value): Use NUM_CODE_POINTS as array
size.
(decomp): Use unsigned int as element type.
(all_decomp): New array.
(read_ucnid): Handle C11 and C11NOSTART.  Use MAX_CODE_POINT.
(read_table): Use MAX_CODE_POINT.  Store all decompositions in
all_decomp.
(read_derived): Use MAX_CODE_POINT.
(write_table): Use NUM_CODE_POINTS.  Print N99, C11 and N11
flags.  Print whole array variable declaration rather than just
array contents.
(char_id_valid, write_context_switch): New functions.
(main): Call write_context_switch.
* ucnid.h: Regenerate.
* include/cpplib.h (struct cpp_options): Add c11_identifiers.
* init.c (struct lang_flags): Add c11_identifiers.
(cpp_set_lang): Set c11_identifiers option from selected language.
* internal.h (struct normalize_state): Document "previous" as
previous starter character.
(NORMALIZE_STATE_UPDATE_IDNUM): Take character as argument.
* charset.c (DIG): Rename enum value to N99.
(C11, N11): New enum values.
(struct ucnrange): Give name to struct.  Use short for flags and
unsigned int for end of range.  Include ucnid.h for whole variable
declaration.
(ucn_valid_in_identifier): Allow for characters up to 0x10FFFF.
Allow for C11 in determining valid characters and valid start
characters.  Use check_nfc for non-Hangul context-dependent
checks.  Only store starter characters in nst->previous.
(_cpp_valid_ucn): Pass new argument to
NORMALIZE_STATE_UPDATE_IDNUM.
* lex.c (lex_identifier): Pass new argument to
NORMALIZE_STATE_UPDATE_IDNUM.  Call NORMALIZE_STATE_UPDATE_IDNUM
after initial non-UCN part of identifier.
(lex_number): Pass new argument to NORMALIZE_STATE_UPDATE_IDNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204886 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-15 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 15 Nov 2013 23:51:23 +0000 (23:51 +0000)]
2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58188
* g++.dg/cpp0x/nsdmi-template8.C: New.

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58725
* g++.dg/cpp0x/nsdmi-template7.C: New.

2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58829
* g++.dg/cpp0x/nsdmi-template6.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204881 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-11-15 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 15 Nov 2013 23:17:23 +0000 (23:17 +0000)]
2013-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58599
* g++.dg/cpp0x/nsdmi-template5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204866 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/sh/sh.c (barrier_align): Return 0 when barrier_or_label
kkojima [Fri, 15 Nov 2013 22:01:33 +0000 (22:01 +0000)]
* config/sh/sh.c (barrier_align): Return 0 when barrier_or_label
is null.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204865 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoWhen file status is unknown, don't set O_CREAT when opening read-only.
jb [Fri, 15 Nov 2013 22:00:36 +0000 (22:00 +0000)]
When file status is unknown, don't set O_CREAT when opening read-only.

2013-11-15  Janne Blomqvist  <jb@gcc.gnu.org>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/59108
* io/unix.c (regular_file): Don't set O_CREAT when opening a file
read-only with unknown status. Mask out O_CREAT when falling back
to opening read-only if ACTION= is not set and read-write fails.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204864 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
aldyh [Fri, 15 Nov 2013 21:43:59 +0000 (21:43 +0000)]
* Makefile.in (C_COMMON_OBJS): Depend on c-cilkplus.o.
* gimple-pretty-print.c (dump_omp_for): Add case for
GF_OMP_FOR_KIND_CILKSIMD.
* gimple.h (enum gf_mask): Restructure entries to add
GF_OMP_FOR_KIND_CILKSIMD.
* gimplify.c (is_gimple_stmt): Add case for CILK_SIMD.
(gimplify_omp_for): Handle CILK_SIMD.
(gimplify_expr): Add ccase for CILK_SIMD.
* omp-low.c (extract_omp_for_data): Handle CILK_SIMD.
(build_outer_var_ref): Same.
(check_omp_nesting_restrictions): Same.
(lower_rec_input_clauses): Same.
(lower_lastprivate_clauses): Same.
(expand_omp_for): Same.
(execute_expand_omp): Check flag_enable_cilkplus.
(execute_lower_omp): Same.
(diagnose_sb_0): Handle CILK_SIMD.
(diagnose_omp_structured_block_errors): Check
flag_enable_cilkplus.
(setjmp_or_longjmp_p): New.
(scan_omp_1_stmt): Error on setjmp/longjmp in a simd construct.
* tree-pretty-print.c (dump_generic_node): Add case for CILK_SIMD.
* tree.def: Add tree code for CILK_SIMD.

testsuite/
* c-c++-common/cilk-plus/PS: New directory.
* g++.dg/cilk-plus/cilk-plus.exp: Run shared tests.
* g++.dg/dg.exp: Run Cilk Plus tests.
* gcc.dg/cilk-plus/cilk-plus.exp: Run shared tests.

c-family/
* c-cilkplus.c: New file.
* c-common.c (readonly_error): Add location argument.
* c-common.h (readonly_error): Same.
(c_finish_cilk_clauses): Protoize.
(c_check_cilk_loop): Same.
c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
Do not fail on error_mark_node.
Abstract increment canonicalization to here...
(c_omp_for_incr_canonicalize_ptr): New.
c-pragma.c (init_pragma): Register "simd" pragma.
c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
(enum pragma_cilk_clause): New.

c/
* c-parser.c (c_parser_cilk_simd): New.
(c_parser_cilk_verify_simd): New.
(c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(c_parser_omp_for_loop): Add case for NE_EXPR.
Set c_break_label for CILK_SIMD.
(c_parser_cilk_clause_vectorlength): New.
(c_parser_cilk_clause_linear): New.
(c_parser_cilk_clause_name): New.
(c_parser_cilk_all_clauses): New.
* c-typeck.c (build_unary_op): Pass location argument to
readonly_error.
(build_modify_expr): Same.
(build_asm_expr): Same.
(c_finish_bc_stmt): Error on break/continue in loops.

cp/
* Make-lang.in (CXX_AND_OBJCXX_OBJS): Depend on cp/cp-cilkplus.o.
* cp-cilkplus.c: New file.
* cp-tree.h (cpp_validate_cilk_plus_loop): Protoize.
* parser.c (cp_parser_cilk_simd): New.
(cp_debug_parser): Add case for IN_CILK_SIMD_FOR.
(cp_parser_jump_statement): Same.
(cp_parser_omp_for_cond): Add new argument.
Add case for NE_EXPR.
(cp_parser_omp_for_loop): Pass new argument to
cp_parser_omp_for_cond.
Handle CILK_SIMD nodes.
Abstract initilization code to..
(cp_parser_omp_for_loop_init): ...here.
(cp_parser_pragma): Add case for PRAGMA_CILK_SIMD.
(cp_parser_cilk_simd_vectorlength): New.
(cp_parser_cilk_simd_linear): New.
(cp_parser_cilk_simd_clause_name): New.
(cp_parser_cilk_simd_all_clauses): New.
(cp_parser_cilk_simd): New.
* parser.h (IN_CILK_SIMD_FOR): New macro.
* pt.c (tsubst_expr): Add case for CILK_SIMD.
* typeck2.c (cxx_readonly_error): Pass location argument to
readonly_error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204863 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc:
wschmidt [Fri, 15 Nov 2013 21:16:32 +0000 (21:16 +0000)]
gcc:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (UNSPEC_VPERM_X, UNSPEC_VPERM_UNS_X):
Remove.
(altivec_vperm_<mode>): Revert earlier little endian change.
(*altivec_vperm_<mode>_internal): Remove.
(altivec_vperm_<mode>_uns): Revert earlier little endian change.
(*altivec_vperm_<mode>_uns_internal): Remove.
* config/rs6000/vector.md (vec_realign_load_<mode>): Revise
commentary.

gcc/testsuite:

2013-11-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/3b-15.c: Revise for little endian.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204862 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from
law [Fri, 15 Nov 2013 21:11:50 +0000 (21:11 +0000)]
* basic-block.h (has_abnormal_or_eh_outgoing_edge): Renamed from
has_abnormal_or_outgoing_edge.  Check for EH edges as well.
* gimple-ssa-isolate-paths.c
(find_implicit_erroneous_behaviour): Corresponding changes.
Do not check stmt_ends_bb_p or GIMPLE_RETURN anymore.
(find_explicit_erroneous_behaviour): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204861 138bc75d-0d04-0410-961f-82ee72b054a4