1. 23 Nov, 2012 22 commits
    • quadmath-rounding-mode.h: New. · 05abb346
      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
      Tobias Burnus committed
    • re PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by _GLIBCXX_USE_NANOSLEEP) · aa66b299
      	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
      Jonathan Wakely committed
    • Set gcc_version in tsan/Makefile.am · 9cb5411c
      	PR sanitizer/55450
      	* tsan/Makefile.am (gcc_version): New.
      	* tsan/Makefile.in: Regenerated.
      
      From-SVN: r193767
      H.J. Lu committed
    • invoke.texi (-fsanitize=address): Remove obsolete remark. · a1b98cc1
      2012-11-23  Tobias Burnus  <burnus@net-b.de>
      
              * doc/invoke.texi (-fsanitize=address): Remove obsolete
              remark.
      
      From-SVN: r193764
      Tobias Burnus committed
    • asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines from the output. · 644525ff
      	* lib/asan-dg.exp (asan_symbolize): Remove all "BFD: " prefixed lines
      	from the output.
      
      From-SVN: r193763
      Jakub Jelinek committed
    • re PR c++/54046 (wrong control reaches end of non-void function for switch case… · 88cd0e88
      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
      Jakub Jelinek committed
    • i386-c.c (ix86_target_macros_internal): Update handling of core chips. · 340ef734
      
      	* 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
      Jan Hubicka committed
    • re PR rtl-optimization/55388 (ICE in int_mode_for_mode at stor-layout.c:423) · ee88e690
      	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
      Eric Botcazou committed
    • lra.c (lra): Move init_reg_info and expand_reg_info calls before init_insn_recog_data. · afa22e29
      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
      Vladimir Makarov committed
    • re PR c++/55418 (Valgrind: Conditional jump or move depends on uninitialised… · 59ddadab
      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
      Markus Trippelsdorf committed
    • re PR middle-end/55430 (LRA miscompilation of ree.c) · 1a65a008
      	PR middle-end/55430
      	* gcc.dg/pr55430.c: New test.
      
      From-SVN: r193757
      Jakub Jelinek committed
    • [libsanitizer] merge from upstream r168514 · e297eb60
      From-SVN: r193756
      Kostya Serebryany committed
    • tsan.c: Fix up comment formatting. · 8ddf5c28
      	* 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
      Jakub Jelinek committed
    • trans.c (Attribute_to_gnu): Look through a view conversion from constrained to unconstrained form. · 9b17f12b
      	* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
      	a view conversion from constrained to unconstrained form.
      
      From-SVN: r193751
      Eric Botcazou committed
    • decl.c (components_need_strict_alignment): New. · 29e100b3
      	* 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
      Eric Botcazou committed
    • re PR testsuite/52641 (Test cases fail for 16-bit int targets) · 1076781c
      	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
      Georg-Johann Lay committed
    • re PR sanitizer/55435 ([asan] implement an attribute to disable asan… · 77bc5132
      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
      Jakub Jelinek committed
    • predict.c (maybe_hot_count_p): Use threshold from profiled working set instead of hard limit. · b131b583
      
      	* 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
      Teresa Johnson committed
    • re PR middle-end/55430 (LRA miscompilation of ree.c) · b28ece32
      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
      Vladimir Makarov committed
    • Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros. · 64548f3b
      	* 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
      Jakub Jelinek committed
    • Daily bump. · 8e5038ff
      From-SVN: r193740
      GCC Administrator committed
  2. 22 Nov, 2012 17 commits
    • tsan: New directory. · cd0be65c
      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
      Wei Mi committed
    • builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. · 32b4b7f5
      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
      Dmitry Vyukov committed
    • md.texi (RTL Templates Transformation): Use @pxref for cross-reference in parentheses. · bdb6985c
      	* doc/md.texi (RTL Templates Transformation): Use @pxref for
      	cross-reference in parentheses.
      
      From-SVN: r193735
      Uros Bizjak committed
    • i386.md (*jcc<mode>_0_i387): Macroize insn from *fp_jcc_3_387 using X87MODEF mode iterator. · 31daf7a3
      	* config/i386/i386.md (*jcc<mode>_0_i387): Macroize insn
      	from *fp_jcc_3_387 using X87MODEF mode iterator.
      	(*jcc<mode>_0_r_i387): New.
      	(*jccxf_i387): Ditto.
      	(*jccxf_r_i387): Ditto.
      	(*jcc<mode>_i387): Macroize insn from *fp_jcc_1_387 using
      	MODEF mode iterator.
      	(*jcc<mode>_r_i387): Macroize insn from *fp_jcc_1r_387 using
      	MODEF mode iterator.
      	(*jccu<mode>_i387): Macroize insn from *fp_jcc_2_387 using
      	X87MODEF mode iterator.
      	(*jccu<mode>_r_i387): Macroize insn from *fp_jcc_2r_387 using
      	X87MODEF mode iterator.
      	(*jcc{,u}<mode>_i387 splitters): Macroize splitters using
      	X87MODEF mode iterator.
      	(*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Macroize insn
      	from *fp_jcc_4_<mode>_387 using X87MODEF mode iterator.
      	(*jcc<X87MODEF:mode>_<SWI24:mode>_r_i387): New.
      	(*jcc<X87MODEF:mode>_<SWI24:mode>_i387 splitters): Macroize
      	splitters using X87MODEF and SWI24 mode iterators.
      
      From-SVN: r193734
      Uros Bizjak committed
    • Remove documentation for AArch64 constraint 'Utf'. · f6d53c02
      2012-11-22  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      
      	* doc/md.texi (AArch64 family): Remove Utf.
      
      From-SVN: r193732
      Marcus Shawcroft committed
    • i386.md (FPCMP): New mode iterator. · 9220456e
      	* config/i386/i386.md (FPCMP): New mode iterator.
      	(unord): New mode attribute.
      	(*cmp<mode>_0_i387): Macroize insn from *cmpfp_0
      	using X87MODEF mode iterator.
      	(*cmp<mode>_0_cc_i387): Macroize insn from *cmpfp_0_cc using
      	X87MODEF mode iterator.
      	(*cmpxf_i387): Rename from *cmpfp_xf.
      	(*cmpxf_cc_i387): Rename from *cmpfp_xf_cc.
      	(*cmp<mode>_i387): Rename from *cmpfp_<mode>.
      	(*cmp<mode>_cc_i387): Rename from *cmpfp_<mode>_cc.
      	(*cmpu<mode>_i387): Macroize insn from *cmpfp_u using X87MODEF
      	mode iterator.
      	(*cmpu<mode>_cc_i387): Macroize insn from *cmpfp_u_cc using X87MODEF
      	mode iterator.
      	(*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Macroize_insn from
      	*cmpfp_<mode> using X87MODEF mode iterator.
      	(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Macroize_insn from
      	*cmpfp_<mode>_cc using X87MODEF mode iterator.
      	(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
      	*cmpfp_i{,u}_mixed using FPCMP and MODEF mode iterators.
      	(*cmpi<FPCMP:unord><MODEF:mode>_mixed): Macroize insn from
      	*cmpfp_i{,u}_sse using FPCMP and MODEF mode iterators.
      	(*cmpi<CCFPCMP:unord><X87MODEF:mode>_i387): Macroize insn from
      	*cmpfp_i{,u}_387 using FPCMP and X87MODEF mode iterators.
      
      From-SVN: r193731
      Uros Bizjak committed
    • Implement bswaphi2 with rev16 (AArch64) · c16c63bb
      From-SVN: r193729
      Ian Bolton committed
    • Issue an error for -static with fsanitize=address · 10dbfb3e
      	PR sanitizer/55379
      	* gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
      	-fsanitize=address.
      
      From-SVN: r193728
      H.J. Lu committed
    • re PR c++/55137 (Unexpected static structure initialization) · 81ede53a
      	PR c++/55137
      	* semantics.c (verify_constant): Track overflow separately.
      	(reduced_constant_expression_p): Don't check it here.
      	(cxx_eval_constant_expression): Check it on CSTs.
      	(cxx_eval_outermost_constant_expr): Treat overflows as non-constant
      	at this point, but still return the folded version.
      	(potential_constant_expression_1): Don't check overflow.
      
      From-SVN: r193727
      Jason Merrill committed
    • call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR. · 0c0cba54
      	* call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
      	the ADDR_EXPR.
      
      From-SVN: r193726
      Jason Merrill committed
    • Add STATIC_LIBASAN_LIBS for -static-libasan · 03d670c8
      	* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro.  Defined
      	with STATIC_LIBASAN_LIBS.
      	(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
      	* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
      
      From-SVN: r193725
      H.J. Lu committed
    • arm.md (*arm_abssi2): Define predicable attribute. · 099f2693
      2012-11-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/arm.md (*arm_abssi2): Define predicable attribute.
      	(*arm_neg_abssi2): Likewise.
      	* config/arm/thumb2.md (*thumb2_abssi2): Likewise.
      	(*thumb2_neg_abssi2): Likewise.
      
      From-SVN: r193724
      Kyrylo Tkachov committed
    • re PR c++/55432 (Too much constexpr makes the compiler crash) · b51aa2e5
      2012-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/55432
      	* g++.dg/cpp0x/constexpr-55432.C: New.
      
      From-SVN: r193723
      Paolo Carlini committed
    • * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED. · 925e30ff
      From-SVN: r193722
      Jakub Jelinek committed
    • Adjust decimal point of signed accum mode to GCC default. · e13d9d5a
      libgcc/
      	Adjust decimal point of signed accum mode to GCC default.
      
      	PR target/54222
      	* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
      	_divqq_helper.
      	* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
      	(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
      	(__mulha3, __mulsa3)
      	(__divqq3, __divha3, __divsa3): Adjust to new position of
      	decimal point of signed accum types. 
      	
      	(__mulusa3_round): New function.
      	(__mulusa3): Use it.
      	(__divqq_helper): New function.
      	(__udivuqq3): Use it.
      
      gcc/
      	Adjust decimal point of signed accum mode to GCC default.
      
      	PR target/54222
      	* config/avr/avr-modes.def (HA, SA, DA): Remove mode adjustments.
      	(TA): Move decimal point one bit to the right.
      	* config/avr/avr.c (avr_out_fract): Rewrite.
      
      From-SVN: r193721
      Georg-Johann Lay committed
    • configure.tgt (i[3456]86): Handle -mx32 like -m64. · 5eb4cb47
      2012-11-21  Matthias Klose  <doko@ubuntu.com>
      
              * configure.tgt (i[3456]86): Handle -mx32 like -m64.
      
      From-SVN: r193720
      Matthias Klose committed
    • Daily bump. · bb62b356
      From-SVN: r193719
      GCC Administrator committed
  3. 21 Nov, 2012 1 commit
    • atanq.c (atanq): Update from GLIBC. · 7cf8c994
      2012-11-22  David S. Miller  <davem@davemloft.net>
                  Tobias Burnus  <burnus@net-b.de>
                  Joseph Myers  <joseph@codesourcery.com>
      
              * math/atanq.c (atanq): Update from GLIBC. Handle tiny and
              very large arguments properly.
              * math/j0q.c (y0q): Update from GLIBC. Avoid arithmetic
              underflow when 'x' is very small.
              * math/j1q.c (y1q): Ditto.
              * math/log1pq.c (log1pq): Update from GLIBC. Saturate
              nonzero exponents with absolute value below 0x1p-128 to
              +/- 0x1p-128.
              * math/powq.c (powq): Update from GLIBC. If xm1 is
              smaller than LDBL_EPSILON/2.0L, just return xm1.
      
      
      Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
      Co-Authored-By: Tobias Burnus <burnus@net-b.de>
      
      From-SVN: r193716
      David S. Miller committed