gcc.git
11 years agoepiphany.opt (-may-round-for-trunc): New option.
Joern Rennecke [Wed, 28 Nov 2012 13:28:57 +0000 (13:28 +0000)]
epiphany.opt (-may-round-for-trunc): New option.

        * config/epiphany/epiphany.opt (-may-round-for-trunc): New option.
        * config/epiphany/epiphany.md (*fix_truncsfsi2_i): Take it into account.

From-SVN: r193891

11 years agoepiphany.md (mov<mode>, [...]): Check for misaligned memory operands.
Joern Rennecke [Wed, 28 Nov 2012 13:21:59 +0000 (13:21 +0000)]
epiphany.md (mov<mode>, [...]): Check for misaligned memory operands.

        * config/epiphany/epiphany.md (mov<mode>, *mov<mode>_insn): Check
        for misaligned memory operands.
        * config/epiphany/predicates.md (misaligned_operand): New predicate.

From-SVN: r193890

11 years agoepiphany.h (HARD_REGNO_RENAME_OK): Define.
Joern Rennecke [Wed, 28 Nov 2012 13:18:25 +0000 (13:18 +0000)]
epiphany.h (HARD_REGNO_RENAME_OK): Define.

        * config/epiphany/epiphany.h (HARD_REGNO_RENAME_OK): Define.
        * config/epiphany/epiphany-protos.h (epiphany_regno_rename_ok): Declare.
        * config/epiphany/epiphany.c (epiphany_regno_rename_ok): New function.

From-SVN: r193889

11 years agore PR tree-optimization/54547 (FAIL: gcc.dg/tree-ssa/pr37508.c scan-tree-dump-times...
Richard Biener [Wed, 28 Nov 2012 12:18:39 +0000 (12:18 +0000)]
re PR tree-optimization/54547 (FAIL: gcc.dg/tree-ssa/pr37508.c scan-tree-dump-times vrp1 "Folding" 3)

2012-11-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54547
* tree-vrp.c (set_and_canonicalize_value_range): Handle
1-bit anti-ranges explicitely.
(extract_range_from_assert): Properly canonicalize all
built anti-ranges.

From-SVN: r193888

11 years agoFix date and trailing space in previous commit.
Eric Botcazou [Wed, 28 Nov 2012 10:58:11 +0000 (10:58 +0000)]
Fix date and trailing space in previous commit.

From-SVN: r193887

11 years agostor-layout.c (layout_type): Do not clear TREE_OVERFLOW on overflowed zeroes, except...
Eric Botcazou [Wed, 28 Nov 2012 10:51:19 +0000 (10:51 +0000)]
stor-layout.c (layout_type): Do not clear TREE_OVERFLOW on overflowed zeroes, except in one specific case.

* stor-layout.c (layout_type) <ARRAY_TYPE>: Do not clear TREE_OVERFLOW
on overflowed zeroes, except in one specific case.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
valid_constant_size_p to detect too large objects.
<E_Subprogram_Type>: Likewise for too large return types.
(allocatable_size_p): Call valid_constant_size_p in the fixed case.
(annotate_value) <INTEGER_CST>: Simplify.
<BIT_AND_EXPR>: Deal with negative values here.
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
valid_constant_size_p to detect too large objects on the LHS.
* gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
And use TYPE_SIZE_UNIT throughout.
(must_pass_by_ref): Likewise.
* gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
<tcc_binary>: Likewise.  Call size_binop instead of fold_build2.
<tcc_expression>: Simplify.
* gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
to detect too large allocations.

From-SVN: r193886

11 years agore PR c++/55497 (Local array (char[]) initialized with a size taken from a static...
Paolo Carlini [Wed, 28 Nov 2012 10:49:39 +0000 (10:49 +0000)]
re PR c++/55497 (Local array (char[]) initialized with a size taken from a static variable creates an ICE)

2012-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55497
* g++.dg/init/pr55497.C: New.

From-SVN: r193885

11 years agore PR middle-end/55266 (vector expansion: 24 movs for 4 adds)
Marc Glisse [Wed, 28 Nov 2012 10:11:27 +0000 (11:11 +0100)]
re PR middle-end/55266 (vector expansion: 24 movs for 4 adds)

2012-11-28  Marc Glisse  <marc.glisse@inria.fr>

PR middle-end/55266
* fold-const.c (fold_ternary_loc) [BIT_FIELD_REF]: Handle
CONSTRUCTOR with vector elements.
* tree-ssa-propagate.c (valid_gimple_rhs_p): Handle CONSTRUCTOR
and BIT_FIELD_REF.

From-SVN: r193884

11 years agore PR testsuite/55327 (FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect ...
Richard Biener [Wed, 28 Nov 2012 09:32:30 +0000 (09:32 +0000)]
re PR testsuite/55327 (FAIL: gcc.dg/vect/slp-perm-8.c scan-tree-dump-times vect "vectorized 1 loops" 2)

2012-11-28  Richard Biener  <rguenther@suse.de>

PR testsuite/55327
* gcc.dg/vect/slp-perm-8.c: Mark worker as noinline.
* gcc.dg/vect/slp-perm-9.c: Likewise.

From-SVN: r193883

11 years agore PR c/35634 (operand of pre-/postin-/decrement not promoted)
Richard Biener [Wed, 28 Nov 2012 09:27:10 +0000 (09:27 +0000)]
re PR c/35634 (operand of pre-/postin-/decrement not promoted)

2012-11-28  Richard Biener  <rguenther@suse.de>

PR c/35634
* gimple.h (gimplify_self_mod_expr): Declare.
* gimplify.c (gimplify_self_mod_expr): Export.  Take a different
type for performing the arithmetic in.
(gimplify_expr): Adjust.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Strip
sign conversions we can re-apply after adjusting the IV.

c-family/
* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
here and use a type with proper overflow behavior for types that would
need to be promoted for the arithmetic.

* gcc.dg/torture/pr35634.c: New testcase.
* g++.dg/torture/pr35634.C: Likewise.
* gcc.dg/vect/pr18536.c: Mark worker function noinline.

From-SVN: r193882

11 years agofunctional (_Mem_fn): Constrain function call operators to avoid ambiguities.
Jonathan Wakely [Wed, 28 Nov 2012 01:42:25 +0000 (01:42 +0000)]
functional (_Mem_fn): Constrain function call operators to avoid ambiguities.

* include/std/functional (_Mem_fn): Constrain function call operators
to avoid ambiguities. Use perfect forwarding.
* testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
tests.
* testsuite/20_util/function_objects/mem_fn/forward.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193879

11 years agoDaily bump.
GCC Administrator [Wed, 28 Nov 2012 00:18:18 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193878

11 years agore PR rtl-optimization/55006 (aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops...
Steven Bosscher [Wed, 28 Nov 2012 00:17:34 +0000 (00:17 +0000)]
re PR rtl-optimization/55006 (aermod.f90 is miscompiled with '-m64 -O2 -funroll-loops' after revision 192526)

PR rtl-optimization/55006
* loop-unroll.c (struct iv_to_split): Add new 'orig_var' member.
(analyze_iv_to_split_insn): Record it.
(maybe_strip_eq_note_for_split_iv): New function to remove REG_EQUAL
notes that refer to IVs that are being split.
(apply_opt_in_copies): Use maybe_strip_eq_note_for_split_iv.  Twice.
Use FOR_BB_INSNS_SAFE.

From-SVN: r193876

11 years agocompiler: Implement //go:nointerface comments.
Ian Lance Taylor [Wed, 28 Nov 2012 00:08:16 +0000 (00:08 +0000)]
compiler: Implement //go:nointerface comments.

From-SVN: r193874

11 years agortl.h (debug_bb_n_slim, [...]): Remove prototypes.
Steven Bosscher [Tue, 27 Nov 2012 22:26:15 +0000 (22:26 +0000)]
rtl.h (debug_bb_n_slim, [...]): Remove prototypes.

* rtl.h (debug_bb_n_slim, debug_bb_slim, debug_insn_slim): Remove
prototypes.
(debug_rtl_slim): Rename to dump_rtl_slim.
(print_value_slim): Rename to dump_value_slim.
* ira.c (ira_update_equiv_info_by_shuffle_insn): Update
print_value_slim user.
* lra.c (lra_process_new_insns): Use dump_insn_slim to dump single
insns.  Use dump_rtl_slim for insn chains.
* lra-constraints.c (get_reload_reg): Update print_value_slim user.
(process_addr_reg): Likewise.
(equiv_address_substitution): Likewise.
(inherit_reload_reg): Likewise.  Use dump_insn_slim to dump single
insns.
(check_and_process_move): Likewise.
(lra_constraints): Likewise.
(split_reg): Likewise.
(update_ebb_live_info): Likewise.
(remove_inheritance_pseudos): Likewise.
* sched-vis.c: Don't include sched-int.h.
Remove #ifdef INSN_SCHEDULING tests.
(print_value_slim): Rename to dump_value_slim.  Simplify a few
cases using GET_RTX_NAME.
(print_pattern): Do not handle UNSPEC and UNSPECV here, explain why.
(print_insn): Reorganize code to be independent of INSN_SCHEDULING.
Always print CALL_INSN patterns.  Harmonize INSN_UID dumping template.
Handle NOTE_INSN_CALL_ARG_LOCATION.
(dump_rtl_slim): Copied from debug_rtl_slim.
(debug_rtl_slim): Wrapper around dump_rtl_slim to stderr.
* haifa-sched.c (schedule_insn): Update print_insn user.

From-SVN: r193873

11 years agore PR fortran/55476 (Bogus warning "Pointer might outlive the pointer target")
Tobias Burnus [Tue, 27 Nov 2012 22:20:44 +0000 (23:20 +0100)]
re PR fortran/55476 (Bogus warning "Pointer might outlive the pointer target")

2012-11-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55476
        * expr.c (gfc_check_pointer_assign): Fix check
        pointer-might-outlive-target check for host_assoc.

2012-11-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/55476
        * gfortran.dg/warn_target_lifetime_3.f90: New.

From-SVN: r193872

11 years agore PR rtl-optimization/55458 (ICE: in assign_by_spills, at lra-assigns.c:1212 with...
Vladimir Makarov [Tue, 27 Nov 2012 22:01:14 +0000 (22:01 +0000)]
re PR rtl-optimization/55458 (ICE: in assign_by_spills, at lra-assigns.c:1212 with -fPIC -m32 and simple asm volatile)

2012-11-27  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55458
* lra-assigns.c: Include rtl-error.h.
(assign_by_spills): Report about asm inpossible constraints.
* Makefile.in (lra-assigns.c): Add $(RTL_ERROR_H).

2012-11-27  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/55458
* gcc.target/i386/pr55458.c: New test.

From-SVN: r193871

11 years agoFix incorrect @headername Doxygen macro invocation.
Ollie Wild [Tue, 27 Nov 2012 20:52:02 +0000 (20:52 +0000)]
Fix incorrect @headername Doxygen macro invocation.

Format is @headername{hdr1,hdr2} not @headername{hdr1 or hdr2}.

2012-11-27  Ollie Wild  <aaw@google.com>

* include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro
invocation.

From-SVN: r193869

11 years agore PR rtl-optimization/55489 (insane PRE memory usage with PIE (translate.i))
Paolo Bonzini [Tue, 27 Nov 2012 20:29:15 +0000 (20:29 +0000)]
re PR rtl-optimization/55489 (insane PRE memory usage with PIE (translate.i))

2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>

PR rtl-optimization/55489
* gcse.c (compute_transp): Precompute a canonical version
of XEXP (x, 0), and pass it to canon_true_dependence.

* alias.c (init_alias_analysis): Fix allocation of reg_known_value.

From-SVN: r193868

11 years agoFix bootstrap failure with --enable-gather-detailed-mem-stats.
Diego Novillo [Tue, 27 Nov 2012 18:20:30 +0000 (13:20 -0500)]
Fix bootstrap failure with --enable-gather-detailed-mem-stats.

This patch restores bootstrap when detailed memory stats are enabled.
No functional changes.

Tested on x86_64.  Committed to trunk.

2012-11-27  Diego Novillo  <dnovillo@google.com>

* vec.h: Replace 'class vec' with 'struct vec' everywhere.
(ggc_internal_cleared_alloc_stat): Remove.
(va_gc::reserve): Add PASS_MEM_STAT to ggc_realloc_stat call.
(va_stack::reserve): Add PASS_MEM_STAT to va_heap::reserve call.
(vec<T, A, vl_embed>::copy): Replace ALONE_MEM_STAT_DECL with
ALONE_CXX_MEM_STAT_INFO.
(vec_safe_reserve): Replace MEM_STAT_DECL with CXX_MEM_STAT_INFO.
(vec_safe_reserve_exact): Likewise.
(vec_alloc): Likewise.
(vec_safe_grow): Likewise.
(vec_safe_grow_cleared): Likewise.
(vec_safe_push): Likewise.
(vec_safe_insert): Likewise.
(vec_safe_splice): Likewise.
(vec_alloc): Likewise.
(vec_check_alloc): Likewise.

From-SVN: r193864

11 years agotree-cfg.c (verify_gimple_comparison): Verify that vector comparison returns a vector.
Marc Glisse [Tue, 27 Nov 2012 18:01:45 +0000 (19:01 +0100)]
tree-cfg.c (verify_gimple_comparison): Verify that vector comparison returns a vector.

2012-11-27  Marc Glisse  <marc.glisse@inria.fr>

* tree-cfg.c (verify_gimple_comparison): Verify that vector
comparison returns a vector.

From-SVN: r193862

11 years agocollect2.c (main): Call find_file_set_debug.
Meador Inge [Tue, 27 Nov 2012 16:55:47 +0000 (16:55 +0000)]
collect2.c (main): Call find_file_set_debug.

2012-11-27  Meador Inge  <meadori@codesourcery.com>

* collect2.c (main): Call find_file_set_debug.
(find_a_find, add_prefix, prefix_from_env, prefix_from_string):
Factor out into ...
* file-find.c (New file): ... here and ...
* file-find.h (New file): ... here.
* gcc-ar.c (standard_exec_prefix): New variable.
(standard_libexec_prefix): Ditto.
(tooldir_base_prefix) Ditto.
(self_exec_prefix): Ditto.
(self_libexec_prefix): Ditto.
(self_tooldir_prefix): Ditto.
(target_version): Ditto.
(path): Ditto.
(target_path): Ditto.
(setup_prefixes): New function.
(main): Rework how wrapped programs are found.
* Makefile.in (OBJS-libcommon-target): Add file-find.o.
(AR_OBJS): New variable.
(gcc-ar$(exeext)): Add dependency on $(AR_OBJS).
(gcc-nm$(exeext)): Ditto.
(gcc-ranlib(exeext)): Ditto.
(COLLECT2_OBJS): Add file-find.o.
(collect2.o): Add file-find.h prerequisite.
(file-find.o): New rule.

From-SVN: r193859

11 years agoipa-prop.c (ipa_modify_call_arguments): Set loc correctly.
Dehao Chen [Tue, 27 Nov 2012 16:16:10 +0000 (16:16 +0000)]
ipa-prop.c (ipa_modify_call_arguments): Set loc correctly.

2010-11-27  Dehao Chen  <dehao@google.com>

* ipa-prop.c (ipa_modify_call_arguments): Set loc correctly.
* emit-rtl.c (last_location): Remove unused variable.

From-SVN: r193857

11 years agoi386.md (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Remove unneeded temporary.
Uros Bizjak [Tue, 27 Nov 2012 16:01:09 +0000 (17:01 +0100)]
i386.md (*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Remove unneeded temporary.

* config/i386/i386.md
(*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Remove
unneeded temporary.

From-SVN: r193856

11 years agocfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
Dehao Chen [Tue, 27 Nov 2012 14:39:33 +0000 (14:39 +0000)]
cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.

2012-11-27  Dehao Chen  <dehao@google.com>

* cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly.
(cfg_layout_merge_blocks): Likewise.

From-SVN: r193852

11 years agopasses.c (init_optimization_passes): Add pass_asan and pass_tsan to -Og optimization...
Jakub Jelinek [Tue, 27 Nov 2012 14:14:02 +0000 (15:14 +0100)]
passes.c (init_optimization_passes): Add pass_asan and pass_tsan to -Og optimization passes.

* passes.c (init_optimization_passes): Add pass_asan and pass_tsan
to -Og optimization passes.

From-SVN: r193850

11 years ago[libsanitizer] merge from upstream r168699
Kostya Serebryany [Tue, 27 Nov 2012 14:01:46 +0000 (14:01 +0000)]
[libsanitizer] merge from upstream r168699

From-SVN: r193849

11 years agoHandle OPT_SPECIAL_XXX in LTO
H.J. Lu [Tue, 27 Nov 2012 13:56:31 +0000 (13:56 +0000)]
Handle OPT_SPECIAL_XXX in LTO

PR lto/54795
* lto-opts.c (lto_write_options): Also handle
OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
OPT_SPECIAL_program_name.

PR lto/55474
* lto-wrapper.c (merge_and_complain): Handle
OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.

Co-Authored-By: Markus Trippelsdorf <markus@trippelsdorf.de>
From-SVN: r193848

11 years agore PR middle-end/52650 (FAIL: gcc.dg/torture/pr51106-2.c * (internal compiler error))
Jakub Jelinek [Tue, 27 Nov 2012 13:38:32 +0000 (14:38 +0100)]
re PR middle-end/52650 (FAIL: gcc.dg/torture/pr51106-2.c  *  (internal compiler error))

PR middle-end/52650
* function.c (instantiate_virtual_regs_in_insn): Don't delete invalid
asm gotos, instead just clear their template and inputs.

From-SVN: r193846

11 years agore PR tree-optimization/55110 (Internal compiler error in vectorizable_reduction...
Jakub Jelinek [Tue, 27 Nov 2012 13:34:11 +0000 (14:34 +0100)]
re PR tree-optimization/55110 (Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633)

PR tree-optimization/55110
* tree-vect-loop.c (vectorizable_reduction): Don't assert
that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.

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

From-SVN: r193845

11 years agogimple-fold.c (fold_stmt_1): Remove unnecessary code.
Richard Biener [Tue, 27 Nov 2012 12:06:52 +0000 (12:06 +0000)]
gimple-fold.c (fold_stmt_1): Remove unnecessary code.

2012-11-27  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_stmt_1): Remove unnecessary code.

From-SVN: r193844

11 years agoconfigure.ac: Disable libsanitizer if we're not building C++.
Siddhesh Poyarekar [Tue, 27 Nov 2012 10:52:54 +0000 (10:52 +0000)]
configure.ac: Disable libsanitizer if we're not building C++.

* configure.ac: Disable libsanitizer if we're not building C++.
* configure: Regenerate.

From-SVN: r193842

11 years agoarm.c (thumb1_reorg): New function.
Bin Cheng [Tue, 27 Nov 2012 09:55:33 +0000 (09:55 +0000)]
arm.c (thumb1_reorg): New function.

* config/arm/arm.c (thumb1_reorg): New function.
(arm_reorg): Call thumb1_reorg.
(thumb1_final_prescan_insn): Record src operand in thumb1_cc_op0.
* config/arm/arm.md : Remove peephole2 patterns which rewrite move
into subtract of ZERO.

From-SVN: r193841

11 years agore PR middle-end/55331 (ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre)
Richard Biener [Tue, 27 Nov 2012 09:20:02 +0000 (09:20 +0000)]
re PR middle-end/55331 (ICE: SIGSEGV in substitute_and_fold with -O2 -fno-tree-fre)

2012-11-27  Richard Biener  <rguenther@suse.de>

PR middle-end/55331
* gimple-fold.c (gimplify_and_update_call_from_tree): Replace
stmt with a NOP instead of removing it.

* g++.dg/opt/pr55331.C: New testcase.

From-SVN: r193839

11 years agoDaily bump.
GCC Administrator [Tue, 27 Nov 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193836

11 years agoloop-invariant.c (check_invariant_table_size): Take sizeof of the right type.
Steven Bosscher [Tue, 27 Nov 2012 00:17:25 +0000 (00:17 +0000)]
loop-invariant.c (check_invariant_table_size): Take sizeof of the right type.

* loop-invariant.c (check_invariant_table_size): Take sizeof of
the right type.

* reorg.c (resource_conflicts_p): Use hard_reg_set_intersect_p.
(rare_destination): Remove.
(mostly_true_jump): Simplify.  Base result on REG_BR_PROP notes if
available, otherwise assume branches are not taken.
(fill_eager_delay_slots): Update mostly_true_jump call.
(relax_delay_slots): Likewise.

From-SVN: r193834

11 years agofunctional (__is_socketlike): Change from class template to alias template.
Jonathan Wakely [Mon, 26 Nov 2012 23:53:36 +0000 (23:53 +0000)]
functional (__is_socketlike): Change from class template to alias template.

* include/std/functional (__is_socketlike): Change from class
template to alias template.

From-SVN: r193832

11 years agore PR libstdc++/55463 (Result of std::mem_fn doesn't accept rvalues)
Jonathan Wakely [Mon, 26 Nov 2012 23:53:29 +0000 (23:53 +0000)]
re PR libstdc++/55463 (Result of std::mem_fn doesn't accept rvalues)

PR libstdc++/55463
* include/std/functional (_Mem_fn): Handle rvalue objects. Add
noexcept-specifications.
* testsuite/20_util/function_objects/mem_fn/55463.cc: New.
* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193831

11 years ago* gcc.dg/20050811-2.c: Change -dv option to -graph option.
Steven Bosscher [Mon, 26 Nov 2012 22:58:41 +0000 (22:58 +0000)]
* gcc.dg/20050811-2.c: Change -dv option to -graph option.

From-SVN: r193830

11 years ago* reorg.c (redundant_insn): Do not handle DEBUG_INSNs.
Eric Botcazou [Mon, 26 Nov 2012 21:58:09 +0000 (21:58 +0000)]
* reorg.c (redundant_insn): Do not handle DEBUG_INSNs.

From-SVN: r193829

11 years ago54455.c: Require scheduling.
Georg-Johann Lay [Mon, 26 Nov 2012 18:47:23 +0000 (18:47 +0000)]
54455.c: Require scheduling.

* gcc.dg/54455.c: Require scheduling.
* gcc.dg/c1x-align-4.c: Skip avr.
* gcc.dg/pr44024.c: Skip avr in final scan.

From-SVN: r193827

11 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Mon, 26 Nov 2012 18:46:12 +0000 (18:46 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

PR testsuite/52641
* gcc.c-torture/execute/20120919-1.x: New file (int32plus).
* gcc.dg/pr54676.c: Make work for 16-bit int.

From-SVN: r193826

11 years agore PR target/55277 (ICE in assign_by_spills, at lra-assigns.c:1217)
Vladimir Makarov [Mon, 26 Nov 2012 18:08:44 +0000 (18:08 +0000)]
re PR target/55277 (ICE in assign_by_spills, at lra-assigns.c:1217)

2012-11-26  Vladimir Makarov  <vmakarov@redhat.com>

PR target/55277
* gcc.target/i386/pr55227.c: New test.

2012-11-26  Vladimir Makarov  <vmakarov@redhat.com>

PR target/55277
* lra-constraints.c (in_class_p): Check reg class contents too.

From-SVN: r193824

11 years agoaarch64-builtins.c (aarch64_builtin_decls): New.
James Greenhalgh [Mon, 26 Nov 2012 17:48:13 +0000 (17:48 +0000)]
aarch64-builtins.c (aarch64_builtin_decls): New.

gcc/
* config/aarch64/aarch64-builtins.c (aarch64_builtin_decls): New.
(aarch64_init_simd_builtins): Store declaration after builtin
initialisation.
(aarch64_builtin_decl): New.
* config/aarch64/aarch64-protos.h (aarch64_builtin_decl): New.
* config/aarch64/aarch64.c (TARGET_BUILTIN_DECL): Define.

From-SVN: r193823

11 years agoinvoke.texi: Remove -dv documentation.
Steven Bosscher [Mon, 26 Nov 2012 16:47:58 +0000 (16:47 +0000)]
invoke.texi: Remove -dv documentation.

gcc/
* doc/invoke.texi: Remove -dv documentation.  Fix up graph dump related
documentation.  Document the '-graph' dump option.  Complete the '-slim'
dump option documentation.

* common.opt (Variable graph_dump_format): Remove.
* flag-types.h (enum graph_dump_types): Remove.
* flags.h (dump_for_graph): Remove.
* opts.c (decode_d_option): Remove -dv handling.
* sched-int.h (print_insn, print_pattern, print_value): Move prototypes
from here ...
* rtl.h: ...to here.  Add note that these functions ought to be in
another file.
* sched-vis.c (print_insn): Add detailed dump for insn notes.
* print-rtl.c (dump_for_graph): Remove.
(print_rtx): Remove dump_for_graph related code.
* graph.c: Almost complete re-write to dump DOT (GraphViz) dumps
instead of VCG dumps.
* graph.h (print_rtl_graph_with_bb): Update prototype.
* passes.c (finish_optimization_passes): Fix profile dump finishing.
Unconditionally loop over graph dumps to finalize.
(execute_function_dump): Split code to dump graphs to separate block.
(execute_one_pass): Don't set TDF_GRAPH here, let the dump option
decoders do their job.

* ddg.c (vcg_print_ddg): Make it a DEBUG_FUNCTION.
* toplev.c: Don't include graph.h.
* tree-optimize.c: Don't include graph.h.

testsuite/
* testsuite/gcc.dg/20050811-1.c: Change -dv option to -graph option
to -fdump-rtl-all.
* testsuite/gcc.dg/pr37858.c: Remove -dv option.

From-SVN: r193821

11 years agoRemove redundant variable in hash_set.
Marek Polacek [Mon, 26 Nov 2012 16:38:32 +0000 (16:38 +0000)]
Remove redundant variable in hash_set.

From-SVN: r193820

11 years agotree.h (DECL_RESTRICTED_P): Delete.
Eric Botcazou [Mon, 26 Nov 2012 13:56:23 +0000 (13:56 +0000)]
tree.h (DECL_RESTRICTED_P): Delete.

* tree.h (DECL_RESTRICTED_P): Delete.
(DECL_READ_P): Add comment.
(DECL_NONSHAREABLE): Likewise.
(TYPE_NO_FORCE_BLK): Fix comment.
(struct tree_decl_common): Remove decl_restricted_flag, add decl_flag_3.
* tree-emutls.c (new_emutls_decl): Do not deal with DECL_RESTRICTED_P.
* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Likewise.
* tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
fortran/
* trans-decl.c (gfc_finish_var_decl): Do not set DECL_RESTRICTED_P.

* alias.c (nonoverlapping_component_refs_p): Fix thinko.

From-SVN: r193815

11 years agosourcebuild.texi: Document arm_v8_vfp_ok.
Kyrylo Tkachov [Mon, 26 Nov 2012 12:37:55 +0000 (12:37 +0000)]
sourcebuild.texi: Document arm_v8_vfp_ok.

gcc/

2012-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* doc/sourcebuild.texi: Document arm_v8_vfp_ok.

gcc/testsuite/

2012-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* lib/target-supports.exp (check_effective_target_arm_v8_vfp_ok):
 New procedure.
(add_options_for_arm_v8_vfp): New procedure.
* gcc.target/arm/vrintaf32.c: New test.
* gcc.target/arm/vrintaf64.c: Likewise.
* gcc.target/arm/vrintmf32.c: Likewise.
* gcc.target/arm/vrintmf64.c: Likewise.
* gcc.target/arm/vrintpf32.c: Likewise.
* gcc.target/arm/vrintpf64.c: Likewise.
* gcc.target/arm/vrintrf32.c: Likewise.
* gcc.target/arm/vrintrf64.c: Likewise.
* gcc.target/arm/vrintxf32.c: Likewise.
* gcc.target/arm/vrintxf64.c: Likewise.
* gcc.target/arm/vrintzf32.c: Likewise.
* gcc.target/arm/vrintzf64.c: Likewise.

From-SVN: r193814

11 years agoarm.h (TARGET_FPU_ARMV8): New macro.
Kyrylo Tkachov [Mon, 26 Nov 2012 12:33:02 +0000 (12:33 +0000)]
arm.h (TARGET_FPU_ARMV8): New macro.

gcc/

2012-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.h (TARGET_FPU_ARMV8): New macro.
* config/arm/arm.md (UNSPEC_VRINTZ, UNSPEC_VRINTP, UNSPEC_VRINTM)
(UNSPEC_VRINTR, UNSPEC_VRINTX, UNSPEC_VRINTA): New unspecs.
(f_rints, f_rintd): New types.
* config/arm/iterators.md (VRINT): New int iterator.
(F_fma_type): Remove.
(vfp_type): New mode attribute.
(vfp_double_cond): Likewise.
(vrint_pattern, vrint_variant, vrint_predicable): New int attribute.
* config/arm/vfp.md (fma<SDF:mode>4): Use vfp_type iterator
instead of F_fma_type.
(*fmsub<SDF:mode>4, *fnmsub<SDF:mode>4, *fnmadd<SDF:mode>4): Likewise.
(<vrint_pattern><SDF:mode>2): New pattern.

From-SVN: r193813

11 years agofold-const.c (const_binop): Adjust comment.
Eric Botcazou [Mon, 26 Nov 2012 12:01:07 +0000 (12:01 +0000)]
fold-const.c (const_binop): Adjust comment.

* fold-const.c (const_binop): Adjust comment.
(extract_muldiv_1): Likewise.
(fold_comparison): Likewise.
* stor-layout.c (place_field): Fix typo.
* tree.c (double_int_fits_to_tree_p): Remove obsolete comment.
(force_fit_type_double): Likewise.  Fix long line.

From-SVN: r193812

11 years agore PR fortran/54997 (-Wunused-function gives false warnings)
Janus Weil [Mon, 26 Nov 2012 11:16:31 +0000 (12:16 +0100)]
re PR fortran/54997 (-Wunused-function gives false warnings)

2012-11-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54997
* decl.c (match_procedure_decl): Don't set 'referenced' attribute
for PROCEDURE declarations.
* parse.c (gfc_fixup_sibling_symbols,parse_contained): Don't set
'referenced' attribute for all contained procedures.
* trans-decl.c (gfc_get_symbol_decl): Allow for unreferenced procedures.
(build_function_decl): Set TREE_USED for referenced procedures.

2012-11-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54997
* gfortran.dg/warn_unused_function_2.f90: New.

From-SVN: r193811

11 years agoarm.h (TARGET_LDRD): Reject Thumb1 targets.
Greta Yorsh [Mon, 26 Nov 2012 10:38:23 +0000 (10:38 +0000)]
arm.h (TARGET_LDRD): Reject Thumb1 targets.

2012-11-26  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.h (TARGET_LDRD): Reject Thumb1 targets.

From-SVN: r193810

11 years agore PR fortran/54881 ([OOP] ICE in fold_convert_loc, at fold-const.c:2016)
Janus Weil [Mon, 26 Nov 2012 10:30:12 +0000 (11:30 +0100)]
re PR fortran/54881 ([OOP] ICE in fold_convert_loc, at fold-const.c:2016)

2012-11-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54881
* match.c (select_derived_set_tmp,select_class_set_tmp): Removed and
unified into ...
(select_type_set_tmp): ... this one. Set POINTER argument according to
selector.
* trans-intrinsic.c (gfc_conv_associated): Use 'gfc_class_data_get'
instead of 'gfc_add_data_component'.

2012-11-26  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54881
* gfortran.dg/associated_6.f90: New.
* gfortran.dg/select_type_30.f03: New.

From-SVN: r193809

11 years agot-linux (MULTIARCH_DIRNAME): Fix unbalanced parentheses.
Matthias Klose [Mon, 26 Nov 2012 09:41:45 +0000 (09:41 +0000)]
t-linux (MULTIARCH_DIRNAME): Fix unbalanced parentheses.

2012-11-26  Matthias Klose  <doko@ubuntu.com>

        * config/rs6000/t-linux (MULTIARCH_DIRNAME): Fix unbalanced
        parentheses.

From-SVN: r193807

11 years agore PR tree-optimization/54471 (FAIL: gcc.dg/sms-8.c execution test)
Jakub Jelinek [Mon, 26 Nov 2012 09:19:30 +0000 (10:19 +0100)]
re PR tree-optimization/54471 (FAIL: gcc.dg/sms-8.c execution test)

PR tree-optimization/54471
* tree-vrp.c (extract_range_from_binary_expr_1): For MULT_EXPR,
don't canonicalize range if min2 is zero.

* gcc.dg/tree-ssa/vrp86.c: New test.
* gcc.c-torture/execute/pr54471.c: New test.

From-SVN: r193806

11 years agore PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, ...
Hans-Peter Nilsson [Mon, 26 Nov 2012 03:25:57 +0000 (03:25 +0000)]
re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution,  -Os (et al))

PR middle-end/55030
* gcc.dg/guality/pr36728-1.c, gcc.dg/guality/pr36728-2.c (foo): Don't
use volatile asms, use plain asms.   Where the output value for the
asm is unused, write a global variable.

From-SVN: r193803

11 years agore PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, ...
Hans-Peter Nilsson [Mon, 26 Nov 2012 03:22:15 +0000 (03:22 +0000)]
re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution,  -Os (et al))

PR middle-end/55030
* builtins.c (expand_builtin_setjmp_receiver): Update comment
regarding purpose of blockage.
* emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for
the head comment.
* rtlanal.c (volatile_insn_p): Ditto.
* doc/md.texi (blockage): Update similarly.  Change wording to
require one of two forms, rather than implying a wider choice.
* cse.c (cse_insn): Where checking for blocking insns, use
volatile_insn_p instead of manual check for volatile ASM.
* dse.c (scan_insn): Ditto.
* cselib.c (cselib_process_insn): Ditto.

From-SVN: r193802

11 years agoDaily bump.
GCC Administrator [Mon, 26 Nov 2012 00:18:38 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193801

11 years agosw-1.c (dg-options): Add -mtune=generic.
Uros Bizjak [Sun, 25 Nov 2012 22:04:02 +0000 (23:04 +0100)]
sw-1.c (dg-options): Add -mtune=generic.

* gcc.target/i386/sw-1.c (dg-options): Add -mtune=generic.

From-SVN: r193798

11 years agosse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>): Do not depend on TARGET_SSE_TYPEL...
Uros Bizjak [Sun, 25 Nov 2012 20:36:38 +0000 (21:36 +0100)]
sse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>): Do not depend on TARGET_SSE_TYPELESS_STORES.

* config/i386/sse.md (<sse>_loadu<ssemodesuffix><avxsizesuffix>):
Do not depend on TARGET_SSE_TYPELESS_STORES.
(<sse2>_loaddqu<avxsizesuffix>): Ditto.
(<sse>_storeu<ssemodesuffix><avxsizesuffix>): Fix handling of
TARGET_SSE_TYPELESS_STORES.
(<sse2>_storedqu<avxsizesuffix>): Ditto.

From-SVN: r193797

11 years agore PR libquadmath/55462 (FAIL: gfortran.dg/quad_2.f90 -O* execution test after...
Tobias Burnus [Sun, 25 Nov 2012 19:59:07 +0000 (20:59 +0100)]
re PR libquadmath/55462 (FAIL: gfortran.dg/quad_2.f90  -O*  execution test after revision 193770)

2012-11-25  Tobias Burnus  <burnus@net-b.de>

        PR libquadmath/55462
        * strtod/strtod_l.c (round_and_return): Use HAVE_FENV_H
        instead of nonexisting HAVE_GET_ROUNDING_MODE.

From-SVN: r193796

11 years agore PR fortran/30146 (Redefining do-variable in excecution cycle)
Thomas Koenig [Sun, 25 Nov 2012 17:24:09 +0000 (17:24 +0000)]
re PR fortran/30146 (Redefining do-variable in excecution cycle)

2012-11-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/30146
* frontend-passes.c (doloop_warn):  New function.
(doloop_list):  New static variable.
(doloop_size):  New static variable.
(doloop_level):  New static variable.
(gfc_run_passes): Call doloop_warn.
(doloop_code):  New function.
(doloop_function):  New function.
(gfc_code_walker):  Keep track of DO level.

2012-11-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/30146
* gfortran.dg/do_check_6.f90:  New test.

From-SVN: r193793

11 years agocompiler: Don't use memcmp for equality if struct has trailing padding.
Ian Lance Taylor [Sun, 25 Nov 2012 00:55:35 +0000 (00:55 +0000)]
compiler: Don't use memcmp for equality if struct has trailing padding.

From-SVN: r193791

11 years agoDaily bump.
GCC Administrator [Sun, 25 Nov 2012 00:18:12 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193790

11 years agotm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.
Steven Bosscher [Sun, 25 Nov 2012 00:05:33 +0000 (00:05 +0000)]
tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.

gcc/
* doc/tm.texi.in (DELAY_SLOTS_FOR_EPILOGUE): Remove documentation.
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
* doc/tm.texi: Regenerate.
* reorg.c (fill_simple_delay_slots): Remove code conditional on
DELAY_SLOTS_FOR_EPILOGUE being defined.
(make_return_insns, dbr_schedule): Likewise.
* system.h (DELAY_SLOTS_FOR_EPILOGUE): Poison.
(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.

From-SVN: r193787

11 years agore PR c++/55446 (array new with size zero vanishes from object code)
Paolo Carlini [Sat, 24 Nov 2012 23:45:45 +0000 (23:45 +0000)]
re PR c++/55446 (array new with size zero vanishes from object code)

/cp
2012-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55446
* init.c (build_vec_init): Do not early return error_mark_mode
when integer_all_onesp (maxindex).

/testsuite
2012-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/55446
* g++.dg/init/new41.C: New.

From-SVN: r193785

11 years agosyscall: Fix handling of Unix domain @ addresses.
Ian Lance Taylor [Sat, 24 Nov 2012 20:46:59 +0000 (20:46 +0000)]
syscall: Fix handling of Unix domain @ addresses.

From-SVN: r193783

11 years ago[libsanitizer] add mach_override and enable libsanitizer on darwin
Jack Howarth [Sat, 24 Nov 2012 18:24:13 +0000 (18:24 +0000)]
[libsanitizer] add mach_override and enable libsanitizer on darwin

From-SVN: r193781

11 years agot-linux64 (MULTILIB_OSDIRNAMES): Use x86_64-linux-gnux32 as multiarch name for x32.
Matthias Klose [Sat, 24 Nov 2012 17:01:07 +0000 (17:01 +0000)]
t-linux64 (MULTILIB_OSDIRNAMES): Use x86_64-linux-gnux32 as multiarch name for x32.

2012-11-24  Matthias Klose  <doko@ubuntu.com>

        * gcc/config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use
        x86_64-linux-gnux32 as multiarch name for x32.

From-SVN: r193779

11 years agore PR fortran/55314 (Rejects some valid ALLOCATE statements)
Thomas Koenig [Sat, 24 Nov 2012 15:00:16 +0000 (15:00 +0000)]
re PR fortran/55314 (Rejects some valid ALLOCATE statements)

2012-11-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55314
* resolve.c (resolve_allocate_deallocate):  Compare all
subscripts when deciding if to reject a (de)allocate
statement.

2012-11-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/55314
* gfortran.dg/allocate_error_4.f90:  New test.

From-SVN: r193778

11 years agogcc-gdb-test.exp (gdb-test): Pass -- as first argument to send_log.
Hans-Peter Nilsson [Sat, 24 Nov 2012 09:39:38 +0000 (09:39 +0000)]
gcc-gdb-test.exp (gdb-test): Pass -- as first argument to send_log.

* lib/gcc-gdb-test.exp (gdb-test): Pass -- as first argument
to send_log.

From-SVN: r193777

11 years agoconfigure.ac (multiarch): Use $enableval instead of $withval.
Matthias Klose [Sat, 24 Nov 2012 02:25:50 +0000 (02:25 +0000)]
configure.ac (multiarch): Use $enableval instead of $withval.

2012-11-24  Matthias Klose  <doko@ubuntu.com>

        * configure.ac (multiarch): Use $enableval instead of $withval.
        * configure: Regenerate.
        * config/i386/t-kfreebsd (MULTILIB_OSDIRNAMES): Filter out x32.

From-SVN: r193776

11 years agoDon't pass void to fegetround
H.J. Lu [Sat, 24 Nov 2012 01:12:59 +0000 (01:12 +0000)]
Don't pass void to fegetround

PR bootstrap/55455
* quadmath-rounding-mode.h (get_rounding_mode): Don't pass
void to fegetround.

From-SVN: r193775

11 years agoDaily bump.
GCC Administrator [Sat, 24 Nov 2012 00:18:05 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193774

11 years agoAdd the missing file
H.J. Lu [Fri, 23 Nov 2012 23:37:45 +0000 (15:37 -0800)]
Add the missing file

From-SVN: r193771

11 years agoquadmath-rounding-mode.h: New.
Tobias Burnus [Fri, 23 Nov 2012 22:11:40 +0000 (23:11 +0100)]
quadmath-rounding-mode.h: New.

2012-11-23  Tobias Burnus  <burnus@net-b.de>
            Joseph Myers  <joseph@codesourcery.com>

        * quadmath-rounding-mode.h: New.
        * printf/fpioconst.c: Update from GLIBC. Fix strtod rounding.
        * printf/fpioconst.h: Ditto.
        * printf/printf_fp.c (__quadmath_printf_fp): Update from GLIBC.
        Make printf respect the rounding mode for decimal output.
        * printf/printf_fphex.c (__quadmath_printf_fphex): Update from
        GLIBC.  Make printf respect the rounding mode for hex output.
        * strtod/strtod_l.c: Update from GLIBC. Make strtod respect the
        rounding mode. Fix strtod handling of underflow.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r193770

11 years agore PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by _GLIBCXX_USE_NANOS...
Jonathan Wakely [Fri, 23 Nov 2012 22:11:23 +0000 (22:11 +0000)]
re PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by _GLIBCXX_USE_NANOSLEEP)

PR libstdc++/52680
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
sleep if nanosleep is not available. Bump libtool revision.
* config.h.in: Regenerate.
* configure: Likewise.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
* include/std/thread (this_thread::__sleep_for): Add.
(this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
Declare unconditionally.
* src/c++11/thread.cc (this_thread::__sleep_for): Define.
* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
check_v3_target_sleep.
* testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
dg-require-sleep.
* testsuite/30_threads/condition_variable_any/53830.cc: Update.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.

From-SVN: r193769

11 years agoSet gcc_version in tsan/Makefile.am
H.J. Lu [Fri, 23 Nov 2012 21:14:05 +0000 (13:14 -0800)]
Set gcc_version in tsan/Makefile.am

PR sanitizer/55450
* tsan/Makefile.am (gcc_version): New.
* tsan/Makefile.in: Regenerated.

From-SVN: r193767

11 years agoinvoke.texi (-fsanitize=address): Remove obsolete remark.
Tobias Burnus [Fri, 23 Nov 2012 17:14:56 +0000 (18:14 +0100)]
invoke.texi (-fsanitize=address): Remove obsolete remark.

2012-11-23  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-fsanitize=address): Remove obsolete
        remark.

From-SVN: r193764

11 years agoasan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines from the output.
Jakub Jelinek [Fri, 23 Nov 2012 16:05:03 +0000 (17:05 +0100)]
asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines from the output.

* lib/asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines
from the output.

From-SVN: r193763

11 years agore PR c++/54046 (wrong control reaches end of non-void function for switch case with...
Jakub Jelinek [Fri, 23 Nov 2012 16:04:03 +0000 (17:04 +0100)]
re PR c++/54046 (wrong control reaches end of non-void function for switch case with throw and default)

PR c++/54046
* Makefile.in (gimple-low.o): Depend on langhooks.h.
* gimple-low.c: Include langhooks.c.
(block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
by default call lang_hooks.block_may_fallthru.
* langhooks.h (struct lang_hooks): Add block_may_fallthru
langhook.
* langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
(LANG_HOOKS_INITIALIZER): Use it.

* cp-objcp-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Redefine.
* cp-objcp-common.c (cxx_block_may_fallthru): New function.
* cp-tree.h (cxx_block_may_fallthru): New prototype.

* g++.dg/warn/Wreturn-type-8.C: New test.

From-SVN: r193762

11 years agoi386-c.c (ix86_target_macros_internal): Update handling of core chips.
Jan Hubicka [Fri, 23 Nov 2012 16:02:09 +0000 (17:02 +0100)]
i386-c.c (ix86_target_macros_internal): Update handling of core chips.

* i386-c.c (ix86_target_macros_internal): Update handling of core
chips.
* i386.c (DUMMY_STRINGOP_ALGS): Update
(*_cost): Update.
(core_cost): Copy from generic64_cost; fix stringop descriptors.
(m_CORE2_32, m_CORE2_64, m_COREI7_32, m_COREI7_64, m_CORE2I7_32,
m_CORE2I7_64): Remove.
(m_CORE2, m_COREI7, m_CORE2I7): Update.
(initial_ix86_tune_features): Update.
(processor_target): Update.
(ix86_option_override_internal): Update.
(ix86_option_override_internal): Remove PROCESSOR_CORE2_64,
PROCESSOR_COREI7_64 special cases.
(decide_alg): Add noalign parameter; set it.
(ix86_expand_movmem, ix86_expand_setmem): Update noalign handling.
(ix86_issue_rate): Update.
(ia32_multipass_dfa_lookahead): Update.
(ix86_sched_init_global): Update.
(get_builtin_code_for_version): Update.
* i386.h (stringop_strategy): Add noalign flag.
(TARGET_CORE2_32, TARGET_CORE2_64, TARGET_COREI7_32, TARGET_COREI7_64):
Remove.
(TARGET_CORE2, TARGET_COREI7): New.
(enum processor_type): Remove PROCESSOR_CORE2_32, PROCESSOR_CORE2_64,
PROCESSOR_COREI7_32, PROCESSOR_COREI7_64; add PROCESSOR_CORE2,
PROCESSOR_COREI7.

From-SVN: r193761

11 years agore PR rtl-optimization/55388 (ICE in int_mode_for_mode at stor-layout.c:423)
Eric Botcazou [Fri, 23 Nov 2012 16:00:26 +0000 (16:00 +0000)]
re PR rtl-optimization/55388 (ICE in int_mode_for_mode at stor-layout.c:423)

PR rtl-optimization/55388
* alias.c (nonoverlapping_component_refs_p): Handle bitfields.
* emit-rtl.c (adjust_address_1): Deal with VOIDmode early.
* expmed.c (store_bit_field): Turn the call to adjust_address
into a call to adjust_bitfield_address_size.

From-SVN: r193760

11 years agolra.c (lra): Move init_reg_info and expand_reg_info calls before init_insn_recog_data.
Vladimir Makarov [Fri, 23 Nov 2012 15:55:58 +0000 (15:55 +0000)]
lra.c (lra): Move init_reg_info and expand_reg_info calls before init_insn_recog_data.

2012-11-23  Vladimir Makarov  <vmakarov@redhat.com>

* lra.c (lra): Move init_reg_info and expand_reg_info calls before
init_insn_recog_data.

From-SVN: r193759

11 years agore PR c++/55418 (Valgrind: Conditional jump or move depends on uninitialised value...
Markus Trippelsdorf [Fri, 23 Nov 2012 15:34:45 +0000 (15:34 +0000)]
re PR c++/55418 (Valgrind: Conditional jump or move depends on uninitialised value(s) in implicitly_declare_fn() method.c:1623)

2012-11-23  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR c++/55418
* method.c (implicitly_declare_fn): Properly initialize trivial_p.

From-SVN: r193758

11 years agore PR middle-end/55430 (LRA miscompilation of ree.c)
Jakub Jelinek [Fri, 23 Nov 2012 15:12:58 +0000 (16:12 +0100)]
re PR middle-end/55430 (LRA miscompilation of ree.c)

PR middle-end/55430
* gcc.dg/pr55430.c: New test.

From-SVN: r193757

11 years ago[libsanitizer] merge from upstream r168514
Kostya Serebryany [Fri, 23 Nov 2012 14:46:25 +0000 (14:46 +0000)]
[libsanitizer] merge from upstream r168514

From-SVN: r193756

11 years agotsan.c: Fix up comment formatting.
Jakub Jelinek [Fri, 23 Nov 2012 14:28:19 +0000 (15:28 +0100)]
tsan.c: Fix up comment formatting.

* tsan.c: Fix up comment formatting.
(instrument_gimple): Ignore gimple_clobber_p stmts.
(pass_tsan, pass_tsan_O0): Remove TODO_update_address_taken
from todo_flags_finish.

From-SVN: r193755

11 years agotrans.c (Attribute_to_gnu): Look through a view conversion from constrained to uncons...
Eric Botcazou [Fri, 23 Nov 2012 11:06:07 +0000 (11:06 +0000)]
trans.c (Attribute_to_gnu): Look through a view conversion from constrained to unconstrained form.

* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
a view conversion from constrained to unconstrained form.

From-SVN: r193751

11 years agodecl.c (components_need_strict_alignment): New.
Eric Botcazou [Fri, 23 Nov 2012 10:42:50 +0000 (10:42 +0000)]
decl.c (components_need_strict_alignment): New.

* gcc-interface/decl.c (components_need_strict_alignment): New.
(components_to_record): Do not pack the variants if one of the fields
needs strict alignment.  Likewise for the variant part as a whole.
Specify the position of the variants even if the size isn't specified,
but do not specify the size of the variant part in this case.

From-SVN: r193750

11 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Fri, 23 Nov 2012 10:08:49 +0000 (10:08 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

PR testsuite/52641
* gcc.dg/unroll_5.c: Add dg-require-effective-target int32plus.
* gcc.dg/pr55150-1.c: Same.
* gcc.dg/torture/pr54894.c: Add size32plus.

From-SVN: r193749

11 years agore PR sanitizer/55435 ([asan] implement an attribute to disable asan instrumentation...
Jakub Jelinek [Fri, 23 Nov 2012 09:02:28 +0000 (10:02 +0100)]
re PR sanitizer/55435 ([asan] implement an attribute to disable asan instrumentation for a particular function)

PR sanitizer/55435
* c-common.c (handle_no_address_safety_analysis_attribute): New
function.
(c_common_attribute_table): Add no_address_safety_analysis.

* asan.c (gate_asan): Don't instrument functions with
no_address_safety_analysis attribute.
(gate_asan_O0): Use !optimize && gate_asan ().
* doc/extend.texi (no_address_safety_analysis): Document new
function attribute.

* c-c++-common/asan/attrib-1.c: New test.

From-SVN: r193748

11 years agopredict.c (maybe_hot_count_p): Use threshold from profiled working set instead of...
Teresa Johnson [Fri, 23 Nov 2012 08:49:43 +0000 (08:49 +0000)]
predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit.

* predict.c (maybe_hot_count_p): Use threshold from profiled working
set instead of hard limit.
(cgraph_maybe_hot_edge_p): Invoke maybe_hot_count_p() instead of
directly checking limit.
* params.def (HOT_BB_COUNT_FRACTION): Remove.
(HOT_BB_COUNT_WS_PERMILLE): New parameter.
* invoke.texi (hot-bb-count-fraction): Remove.
(hot-bb-count-ws-permille): Document.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r193747

11 years ago[libsanitizer] a script to help merging asan/tsan from upstream
Kostya Serebryany [Fri, 23 Nov 2012 04:09:17 +0000 (04:09 +0000)]
[libsanitizer] a script to help merging asan/tsan from upstream

From-SVN: r193743

11 years agore PR middle-end/55430 (LRA miscompilation of ree.c)
Vladimir Makarov [Fri, 23 Nov 2012 01:29:07 +0000 (01:29 +0000)]
re PR middle-end/55430 (LRA miscompilation of ree.c)

2012-11-22  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/55430
* lra.c: Move #include "hard-reg-set.h" before #include "rtl.h".
(new_insn_reg): Update biggest_mode.
(collect_non_operand_hard_regs): Check eliminable regs too.
(initialize_lra_reg_info_element): Initialize biggest_mode.
(add_regs_to_insn_regno_info): Ignore non-allocatable
non-eliminable hard regs.
(lra.c): Move setting lra_no_alloc_regs before
init_insn_recog_data.
* lra-constraints.c (simplify_operand_subreg): Add a comment.
(lra_constraints): Ignore equivalent memory of
regs occuring in paradoxical subregs.
* lra-lives.c (lra_create_live_ranges): Add a comment.

From-SVN: r193742

11 years agoMakefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
Jakub Jelinek [Fri, 23 Nov 2012 00:31:54 +0000 (01:31 +0100)]
Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.

* tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
* Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
automake conditional instead of !MULTISUBDIR32.
* configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
for 64-bit multilib.
* configure.ac: Check for void * size, source in configure.tgt,
define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
* configure: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.

From-SVN: r193741

11 years agoDaily bump.
GCC Administrator [Fri, 23 Nov 2012 00:18:03 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r193740

11 years agotsan: New directory.
Wei Mi [Thu, 22 Nov 2012 22:03:11 +0000 (22:03 +0000)]
tsan: New directory.

libsanitizer/
* tsan: New directory. Import tsan runtime from llvm.
* configure.ac: Add 64 bits tsan build.
* Makefile.am: Likewise.
* configure: Regenerated.
* Makefile.in: Likewise.

From-SVN: r193737

11 years agobuiltins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
Dmitry Vyukov [Thu, 22 Nov 2012 21:56:58 +0000 (13:56 -0800)]
builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.

2012-11-22  Dmitry Vyukov  <dvyukov@google.com>
    Wei Mi  <wmi@google.com>

* builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins.
* sanitizer.def: Ditto.
* Makefile.in (tsan.o): Add tsan.o target.
(BUILTINS_DEF): Add sanitizer.def.
* passes.c (init_optimization_passes): Add tsan passes.
* tree-pass.h (register_pass_info): Ditto.
* toplev.c (compile_file): Ditto.
* doc/invoke.texi: Document tsan related options.
* gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
-fsanitize=thread.
* tsan.c: New file about tsan.
* tsan.h: Ditto.
* common.opt: Add -fsanitize=thread.

Co-Authored-By: Wei Mi <wmi@google.com>
From-SVN: r193736

11 years agomd.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses.
Uros Bizjak [Thu, 22 Nov 2012 21:44:24 +0000 (22:44 +0100)]
md.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses.

* doc/md.texi (RTL Templates Transformation): Use @pxref for
cross-reference in parentheses.

From-SVN: r193735