1. 12 Nov, 2011 1 commit
  2. 11 Nov, 2011 21 commits
  3. 10 Nov, 2011 18 commits
    • extend.texi: Document __atomic_test_and_set and __atomic_clear. · 1aabd05e
      
      2011-11-10  Andrew MacLeod  <amacleod@redhat.com>
      
      	* doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.
      
      From-SVN: r181273
      Andrew MacLeod committed
    • re PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inheritance) · 99c18869
      	PR c++/50973
      	* decl2.c (mark_used): Defer synthesis of virtual functions.
      	* method.c (use_thunk): Make sure the target function has
      	DECL_INTERFACE_KNOWN.
      
      From-SVN: r181272
      Jason Merrill committed
    • re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc implicit.cc) · d660c35e
      	PR middle-end/51038
      
      	libstdc++-v3
      	* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
      	(atomic_signal_fence): Call built-in.
      	(test_and_set, clear): Call new atomic built-ins.
      
      	gcc
      	* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
      	(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
      	(expand_builtin): Add cases for test_and_set and clear.
      	* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
      	(BUILT_IN_ATOMIC_CLEAR): New.
      
      	testsuite
      	* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
      	* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
      	__atomic_clear.
      
      From-SVN: r181271
      Andrew MacLeod committed
    • PR c++/51079, DR 495 · 49fe93f4
      	PR c++/51079, DR 495
      	* call.c (joust): Check the second conversion sequence
      	before checking templates.
      
      From-SVN: r181270
      Jason Merrill committed
    • re PR debug/50983 (incorrect DW_LNS_negate_stmt) · c68b1bc7
      	PR debug/50983
      	* dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
      	value in the current line table.
      
      From-SVN: r181269
      Jason Merrill committed
    • fe.h (Serious_Errors_Detected): New macro. · 033ba5bf
      	* fe.h (Serious_Errors_Detected): New macro.
      	* gcc-interface/gigi.h (build_atomic_load): Declare.
      	(build_atomic_store): Likewise.
      	* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
      	(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
      	Build an atomic load for an In or In Out parameter if needed.
      	Build an atomic store for the assignment of an Out parameter if needed.
      	Build an atomic store to the target if ATOMIC_SYNC is true.
      	(present_in_lhs_or_actual_p): New predicate.
      	(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
      	<N_Explicit_Dereference>: Likewise.
      	<N_Indexed_Component>: Likewise.
      	<N_Selected_Component>: Likewise.
      	<N_Assignment_Statement>: Adjust call to call_to_gnu.
      	Build an atomic store to the LHS if needed.
      	<N_Function_Call>:  Adjust call to call_to_gnu.
      	* gcc-interface/utils2.c: Include toplev.h.
      	(resolve_atomic_size): New static function.
      	(build_atomic_load): New function.
      	(build_atomic_store): Likewise.
      	* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
      
      From-SVN: r181267
      Eric Botcazou committed
    • configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check. · 8b01bdb0
              * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
              * configure, aclocal.m4: Rebuild.
      
      From-SVN: r181266
      Richard Henderson committed
    • gcov.c (struct function_info): Make src an index, not a pointer. · 1ce1b792
      	* gcov.c (struct function_info): Make src an index, not a pointer.
      	(struct source_info): Remove index and next source fields.
      	(fn_end): New static var.
      	(sources_index): Remove.
      	(sources): Now a pointer to an array, not a list.
      	(n_sources, a_sources): New.
      	(process_file): Adjust for changes to read_graph_file. Insert
      	functions into source lists and check line numbers here.
      	(generate_results): Only allocate lines for sources with
      	contents.  Adjust for source array.
      	(release_structures): Likewise.
      	(find_source): Return source index, adjust for source array.
      	(read_graph_file): Return function list.  Don't insert into source
      	lists here.
      	(read_count_file): Take list of functions.
      	(solve_flow_graph): Reverse the arc lists here.
      	(add_line_counts): Adjust for source array.
      
      From-SVN: r181265
      Nathan Sidwell committed
    • re PR middle-end/51077 (Endless recursion with __builtin_object_size) · ea17de23
      	PR middle-end/51077
      	* tree-object-size.c (addr_object_size): Check TREE_CODE of
      	MEM_REF's operand rather than code of the MEM_REF itself.
      
      	* gcc.c-torture/compile/pr51077.c: New test.
      
      From-SVN: r181263
      Jakub Jelinek committed
    • libitm port to Tru64 UNIX · 8851b429
      	* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
      	.hidden.
      	(.note.GNU-stack): Only use if __linux__.
      	* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
      	* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
      	* testsuite/libitm.c/reentrant.c: Likewise.
      	* testsuite/libitm.c/simple-2.c: Likewise.
      	* testsuite/libitm.c/txrelease.c: Likewise.
      	* testsuite/libitm.c++/static_ctor.C: Likewise.
      
      From-SVN: r181262
      Rainer Orth committed
    • libitm: Don't add -mavx if the assembler doesn't support avx. · d4b17902
              * config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
              * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
              * configure.ac (ARCH_X86_AVX): New conditional.
              * Makefile.in, configure: Rebuild.
      
      From-SVN: r181261
      Richard Henderson committed
    • Let the compiler decide whether to inline. · 992b0aa1
      2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
      	* intrinsics/random.c (rnumber_4): Remove inline attribute.
      	(rnumber_8, rnumber_10, rnumber_16): Likewise.
      	* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
      	* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
      	(gf_cputime): Add inline attribute for MingW version.
      	* io/format.c (format_hash): Remove inline attribute.
      	* io/io.h (memset4): Inline function from transfer.c and write.c
      	moved here.
      	* io/transfer.c (min_off): Remove inline attribute.
      	(memset4): Move to io.h.
      	* io/write.c (memset4): Likewise.
      	(memcpy4): Remove inline attribute.
      	* io/write_float.def (calculate_exp): Likewise.
      
      From-SVN: r181260
      Janne Blomqvist committed
    • re PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last… · 154b68db
      re PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last elt 0 in gen_rtx_fmt_ee_stat, at ./genrtl.h:33 with __atomic_nand_fetch())
      
      	PR rtl-optimization/51040
      	* optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND
      	followed by NOT.
      	* builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
      	should be AND followed by NOT.
      	* testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
      	patchup code.
      
      From-SVN: r181259
      Andrew MacLeod committed
    • vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL. · c8bf99b4
      	* vec.h (VEC_BASE): If base is at offset 0 in the structure,
      	use &(P)->base even if P is NULL.
      
      From-SVN: r181258
      Jakub Jelinek committed
    • re PR rtl-optimization/51023 (likely integer wrong code bug) · 03989f55
      	PR rtl-optimization/51023
      	* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
      	val_signbit_known_clear_p for signed comparison narrowing
      	optimization.  Don't check for non-VOIDmode, use
      	HWI_COMPUTABLE_MODE_P macro.
      	<case ZERO_EXTEND>: Don't check for non-VOIDmode.
      	Optimize even when const_op is equal to GET_MODE_MASK (mode),
      	don't optimize if const_op is negative.
      
      	* gcc.c-torture/execute/pr51023.c: New test.
      
      From-SVN: r181257
      Jakub Jelinek committed
    • re PR tree-optimization/51042 (endless recursion in phi_translate) · 4da80bfb
      2011-11-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51042
      	* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
      	self-referential expressions.  Refactor code to avoid duplication.
      
      	* gcc.dg/torture/pr51042.c: New testcase.
      
      From-SVN: r181256
      Richard Guenther committed
    • re PR tree-optimization/51070 (ICE verify_gimple failed) · c07a8cb3
      2011-11-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51070
      	* tree-loop-distribution.c (generate_builtin): Do not replace
      	the loop with a builtin if the partition contains statements which
      	results are used outside of the loop.
      	(pass_loop_distribution): Verify and collect.
      
      	* gcc.dg/torture/pr51070.c: New testcase.
      
      From-SVN: r181255
      Richard Guenther committed
    • re PR tree-optimization/51030 (PHI opt does not handle value-replacement with a transfer function) · 98dd3b73
      2011-11-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/51030
      	* tree-ssa-phiopt.c (jump_function_from_stmt): New function.
      	(value_replacement): Use it to handle trivial non-empty
      	intermediate blocks.
      
      	* gcc.dg/tree-ssa/phi-opt-6.c: New testcase.
      
      From-SVN: r181254
      Richard Guenther committed