Commit Graph

113890 Commits

Author SHA1 Message Date
GCC Administrator
7371639a96 Daily bump.
From-SVN: r181901
2011-12-02 00:18:49 +00:00
Ian Lance Taylor
f4c016e605 runtime: Remove temporary runtime_cond_wait function.
From-SVN: r181897
2011-12-01 23:50:48 +00:00
Kaz Kojima
9a944f5885 re PR target/50814 (SH Target: SHAD / SHLD instructions not used on SH2A)
PR target/50814.
	* config/sh/sh.c (expand_ashiftrt): Handle TARGET_SH2A same as
	TARGET_SH3.
	(shl_sext_kind): Likewise.
	* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise.
	* config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a):
	Remove.
	(ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3.
	(ashlsi3): Likewise.
	(ashrsi3_d): Likewise.
	(lshrsi3_d): Likewise.
	(lshrsi3): Likewise.

From-SVN: r181896
2011-12-01 23:01:58 +00:00
Paolo Carlini
c2985fe559 re PR c++/51326 (ICE with invalid override)
/cp
2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51326
	* call.c (build_user_type_conversion_1): Early return NULL if
	expr is NULL_TREE.

/testsuite
2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51326
	* g++.dg/inherit/crash3.C: New.

From-SVN: r181895
2011-12-01 22:13:19 +00:00
Diego Novillo
c21e80b889 re PR bootstrap/51346 (LTO bootstrap failed with bootstrap-profiled)
PR bootstrap/51346
	* ipa-inline.c (can_inline_edge_p): If the edge E has a
	statement, use the statement's inline indicator instead
	of E's.
	Remove consistency check.

From-SVN: r181894
2011-12-01 16:05:10 -05:00
Diego Novillo
d4e5417a2f Revert
2011-11-29   Diego Novillo  <dnovillo@google.com>

		* gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
		Update field call_stmt_cannot_inline_p from call
		graph edge, if needed.
		* gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.

From-SVN: r181893
2011-12-01 16:04:21 -05:00
Nathan Sidwell
0e485da09d re PR gcov-profile/51113 (rev. 181105 causes Firefox profiledbuild failure)
PR gcov-profile/51113
	* coverage.c (build_var): Keep coverage variables static.

	testsuite/
	* lib/gcov.exp (verify-lines): Add support for xfailing.
	(run-gcov): Likewise.
	* gcc.misc-tests/gcov-13.c: Xfail weak function.
	* gcc.misc-tests/gcov-16.c: Remove.
	* gcc.misc-tests/gcov-17.c: Remove.
	* g++.dg/gcov-8.C: Remove.
	* g++.dg/gcov-9.C: Remove.
	* g++.dg/gcovpart-12b.C: New.
	* g++.dg/gcov-12.C: New.

From-SVN: r181892
2011-12-01 19:58:51 +00:00
Jakub Jelinek
78336739de re PR tree-optimization/51356 (FAIL: gfortran.dg/anyallcount_1.f90 -O3 (internal compiler error) on powerpc-apple-darwin9 with -m32)
PR tree-optimization/51356
	* tree-vect-patterns.c (vect_recog_bool_pattern): Give up if
	vectype doesn't have VECTOR_MODE_P.

From-SVN: r181891
2011-12-01 20:14:03 +01:00
Jakub Jelinek
ec8c1492af re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
	* tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing
	as unnecessary a store to a variable with gimple reg type.
	* tree-ssa-live.c (remove_unused_locals): Clear TREE_ADDRESSABLE bit
	on local unreferenced variables.
	* cfgexpand.c (expand_gimple_basic_block): Don't emit DEBUG_INSNs
	for !target_for_debug_bind variables.

From-SVN: r181890
2011-12-01 20:12:54 +01:00
Ian Lance Taylor
e411850054 compiler: add error to list of built-in types.
From-SVN: r181889
2011-12-01 18:57:10 +00:00
Patrick Marlier
b0d0a2918f re PR middle-end/51273 (ICE: vector VEC(inline_summary_t,base) index domain error, in inline_summary at ipa-inline.h:193 with -O -fgnu-tm, transaction_safe and overloaded contructor)
PR middle-end/51273
        * cgraph.h (cgraph_call_node_duplication_hooks): Declare.
        * cgraph.c (cgraph_call_node_duplication_hooks): Make global.
        * cgraphunit.c (cgraph_copy_node_for_versioning): Call it.

From-SVN: r181887
2011-12-01 09:46:32 -08:00
Andrew Pinski
fdb415fe09 re PR lto/51198 ([c++0x] [4.7 Regression] ICE with -flto and non-static data member initializers)
2011-12-01  Andrew Pinski  <apinski@cavium.com>

	PR lto/51198
	* tree.c (free_lang_data_in_decl): Clear FIELD_DECL's
	DECL_INITIAL also.

2011-12-01  Andrew Pinski  <apinski@cavium.com>

	PR lto/51198
	* g++.dg/torture/pr51198.C: New testcase.

From-SVN: r181886
2011-12-01 09:13:05 -08:00
Ian Lance Taylor
17dcf07581 runtime: Rename sigignore to sig_ignore for Solaris.
From-SVN: r181885
2011-12-01 17:08:12 +00:00
Jakub Jelinek
7e8b1c4bd8 re PR tree-optimization/51246 (ICE in replace_ref_with, at tree-predcom.c:1309)
PR tree-optimization/51246
	* tree-predcom.c (replace_ref_with): Handle also clobber on the
	rhs.

	* gcc.c-torture/compile/pr51246.c: New test.

From-SVN: r181884
2011-12-01 18:03:33 +01:00
Jakub Jelinek
0397b96547 re PR rtl-optimization/51014 (ICE: in apply_opt_in_copies, at loop-unroll.c:2283 with -O2 -g -funroll-loops)
PR rtl-optimization/51014
	* loop-unroll.c (apply_opt_in_copies): Ignore label DEBUG_INSNs
	both from bb and orig_bb.

	* g++.dg/opt/pr51014.C: New test.

From-SVN: r181883
2011-12-01 17:57:07 +01:00
Uros Bizjak
c8218030cc lto-lang.c (lto_attribute_table): Handle *tm regparm.
* lto-lang.c (lto_attribute_table): Handle *tm regparm.
	(ignore_attribute): New.

From-SVN: r181882
2011-12-01 17:38:21 +01:00
Janne Blomqvist
8627f5f5de Make a few helper functions static.
2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* module.c (dt_lower_string): Make static.
	(dt_upper_string): Likewise.

From-SVN: r181881
2011-12-01 17:21:13 +02:00
Joern Rennecke
6ebbd277eb re PR tree-optimization/50802 (FAIL: gcc.c-torture/execute/arith-rand-ll.c execution at -O2 and -Os)
PR tree-optimization/50802
        * tree-vrp.c (simplify_conversion_using_ranges): Rewrite test
        considering what happens to ranges during sign changes and/or
        intermediate narrowing conversions.

From-SVN: r181880
2011-12-01 14:25:24 +00:00
Janne Blomqvist
d7fb38e9ac PR 25708 Avoid seeking when parsing strings and when peeking.
2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/25708
	* module.c (parse_string): Read string into resizable array
	instead of parsing twice and seeking.
	(peek_atom): New implementation avoiding seeks.
	(require_atom): Save and set column and line explicitly for error
	handling.

From-SVN: r181879
2011-12-01 16:12:37 +02:00
Jakub Jelinek
c136d69611 re PR bootstrap/51201 (build error without Ada compiler installed)
PR bootstrap/51201
	* gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.

From-SVN: r181877
2011-12-01 10:36:59 +01:00
Paolo Carlini
a95888bb35 re PR c++/51367 (Broken diagnostic: 'pointer_type' not supported by dump_expr)
/cp
2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51367
	* pt.c (unify_inconsistency): Use either %qT or %qE depending on
	whether parm is a type or non-type parameter.

/cp
2011-12-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51367
	* g++.dg/template/error47.C: New.

From-SVN: r181876
2011-12-01 09:34:43 +00:00
Janne Blomqvist
12f300a8aa Don't call stat before opening a file.
2011-12-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* misc.c (gfc_open_file): Don't call stat.

From-SVN: r181875
2011-12-01 10:55:32 +02:00
Ian Lance Taylor
3e68d6d75a compiler/runtime: Copy channel implementation from master library.
From-SVN: r181874
2011-12-01 08:06:16 +00:00
Jason Merrill
04f7a48edd re PR c++/51009 (ICE in verify_gimple_stmt)
PR c++/51009
	* name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
	* decl.c (build_aggr_init_full_exprs): Just assert that it's true.
	(check_initializer): Here too.

From-SVN: r181872
2011-12-01 00:40:54 -05:00
John David Anglin
06dd33ac5e re PR other/51272 (ld: Unsatisfied symbol "_ITM_registerTMCloneTable" in file /test/gnu/gcc/objdir/)
PR other/51272
	* config/pa/stublib.c (_ITM_registerTMCloneTable): New stub.
	(_ITM_deregisterTMCloneTable): Likewise.
	(__register_frame_info): Fix unused warning.
	(__deregister_frame_info, __cxa_finalize, _Jv_RegisterClasses,
	pthread_default_stacksize_np): Likewise.
	* config/pa/t-stublib (LIBGCCSTUB_OBJS): Add new objects and rules.

From-SVN: r181870
2011-12-01 02:37:06 +00:00
Benjamin Kosnik
a152e96f01 acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove size-specific macros.
2011-11-30  Benjamin Kosnik  <bkoz@redhat.com>

        * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
        size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
        _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
        _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
        indicate use of C++11 atomic builtins.
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
        * include/Makefile.in: Regenerate.
        * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
        * libsupc++/Makefile.in: Regenerate.

        * include/bits/atomic_base.h: Move lock-free property macros...
        * libsupc++/atomic_lockfree_defines.h: ...here.
        * include/std/future: Use C++11 macros.
        * libsupc++/eh_ptr.cc: Same.
        * libsupc++/eh_throw.cc: Same.
        * libsupc++/exception: Same.
        * libsupc++/exception_ptr.h: Same.
        * libsupc++/guard.cc: Same.
        * libsupc++/nested_exception.cc: Same.
        * libsupc++/nested_exception.h: Same.
        * src/future.cc: Same.

        * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.

        * doc/doxygen/user.cfg.in
        * doc/xml/manual/concurrency_extensions.xml

        * testsuite/18_support/exception_ptr/lifespan.cc
        * testsuite/lib/libstdc++.exp

From-SVN: r181869
2011-12-01 02:20:32 +00:00
John David Anglin
de21ce7fa8 re PR middle-end/50283 (FAIL: g++.dg/eh/simd-1.C execution test)
PR middle-end/50283
	* config/pa/pa.md (in_branch_delay): Disallow frame related insns.
	(in_nullified_branch_delay): Likewise.
	(in_call_delay): Likewise.

From-SVN: r181868
2011-12-01 02:08:10 +00:00
GCC Administrator
48325d1cb6 Daily bump.
From-SVN: r181867
2011-12-01 00:18:55 +00:00
Richard Henderson
062f93f255 Swap the action and jmpbuf arguments to GTM_longjmp
On several ABIs, the first register parameter is the same as
the return value register.  Moving the action parameter first
avoids the need for register shuffling on these targets.

        * libitm_i.h (GTM_longjmp): Swap first and second arguments.
        * beginend.c (_ITM_abortTransaction): Update to match.
        (GTM::gtm_thread::restart): Likewise.
        * config/alpha/sjlj.S (GTM_longjmp): Likewise.
        * config/x86/sjlj.S (GTM_longjmp): Likewise.

From-SVN: r181863
2011-11-30 14:29:33 -08:00
Richard Henderson
c08472eaf6 predict.c (expr_expected_value_1): Assume compare-and-swap builtin boolean return is true.
* predict.c (expr_expected_value_1): Assume compare-and-swap builtin
        boolean return is true.

From-SVN: r181862
2011-11-30 14:19:02 -08:00
Jakub Jelinek
ed079c4be7 re PR rtl-optimization/51044 (gfortran.dg/alloc_comp_class_2.f90 gfortran.dg/widechar_intrinsics_10.f90 -O1 ICE)
PR rtl-optimization/51044
	* dse.c (emit_inc_dec_insn_before): Ensure new_insn is an instruction
	rather than just insn body.

From-SVN: r181861
2011-11-30 23:02:14 +01:00
Jakub Jelinek
5c43016f2d re PR target/50725 (-O3 -mstackrealign -march=core2 generates invalid prologue code in callee procedure)
PR target/50725
	* function.c (thread_prologue_and_epilogue_insns): If
	stack_realign_drap, add drap_reg to SET_UP_BY_PROLOGUE
	regset.

	* gcc.target/i386/pr50725.c: New test.

From-SVN: r181860
2011-11-30 23:00:28 +01:00
Jakub Jelinek
336ead04ab re PR middle-end/51089 (internal compiler error: verify_flow_info failed)
PR middle-end/51089
	* tree-eh.c (cleanup_empty_eh_merge_phis): Add check to
	avoid creating duplicate edges here.
	(cleanup_empty_eh_unsplit): And remove it in the caller.

	* gfortran.dg/gomp/pr51089.f90: New test.

From-SVN: r181859
2011-11-30 22:59:04 +01:00
Andrew Pinski
9abfe98649 re PR c/51321 (__builtin_types_compatible_p (any_type_t[1][], any_other_type_t) crashes GCC)
2011-11-30  Andrew Pinski  <apinski@cavium.com>

	PR c/51321
	* c-parser.c (c_parser_postfix_expression): Check groktypename results
	before looking at the main variant.

2011-11-30  Andrew Pinski  <apinski@cavium.com>

	* gcc.dg/pr51321.c: New testcase.

From-SVN: r181857
2011-11-30 11:55:36 -08:00
Jakub Jelinek
9790c19e52 re PR rtl-optimization/48721 (ICE: verify_flow_info failed: missing barrier after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks)
PR rtl-optimization/48721
	* sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
	reg_pending_barrier to TRUE_BARRIER.

	* gcc.target/i386/pr48721.c: New test.

From-SVN: r181856
2011-11-30 19:58:33 +01:00
Jakub Jelinek
bbf81a5fae re PR rtl-optimization/48721 (ICE: verify_flow_info failed: missing barrier after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks)
PR rtl-optimization/48721
	* sched-ebb.c (begin_move_insn): Insert empty unreachable
	block after BARRIER if insn is followed by it.

From-SVN: r181855
2011-11-30 19:53:46 +01:00
Paolo Carlini
23ffb99e94 re PR c++/51299 ([C++11] erroneous nullptr warning on dynamic cast)
/cp
2011-11-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51299
	* rtti.c (ifnonnull): Use nullptr_node.
	(build_dynamic_cast_1): Call cp_truthvalue_conversion instead
	of c_common_truthvalue_conversion.

/testsuite
2011-11-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51299
	* g++.dg/warn/Wzero-as-null-pointer-constant-4.C: New.

From-SVN: r181854
2011-11-30 18:31:30 +00:00
Richard Henderson
2e65f38f1b sparc: Add -mmemory-model command-line option.
* config/sparc/sparc-opts.h (enum sparc_memory_model_type): New.
	* config/sparc/sparc.opt (mmemory-model=): New option.
	* doc/invoke.texi (Sparc Options): Document it.
	* config/sparc/sparc.c (sparc_option_override): Provide default
	for sparc_memory_model.
	(sparc_emit_membar_for_model): Omit barrier combinations that are
	implied by the memory model.

From-SVN: r181853
2011-11-30 08:10:24 -08:00
Richard Henderson
99ee7887c6 sparc: Convert to atomic_exchange.
* config/sparc/sync.md (I124MODE): New mode iterator.
        (memory_barrier): Remove.
        (atomic_exchangesi): New.
        (swapsi): Rename from *swapsi.
        (atomic_test_and_set<I124MODE>): New.
        (ldstubqi): Rename from *ldstubqi, merge with expander.
        (ldstub<I24MODE>): Rename from *ldstub<I24MODE>, merge with expander.
        (sync_lock_test_and_setsi): Remove.
        (sync_lock_test_and_set<I12MODE>): Remove.

From-SVN: r181852
2011-11-30 07:58:53 -08:00
Richard Henderson
470b6e5160 sparc: Convert to atomic_compare_and_swap.
* config/sparc/constraints.md ("w"): New.
        * config/sparc/predicates.md (mem_noofs_operand): New.
        * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static.
        Generate the boolean result of the atomic_compare_exchange.
        (sparc_expand_compare_and_swap): New.
        * config/sparc/sync.md (atomic_compare_and_swap<I>): New.
        (atomic_compare_and_swap<I48MODE>_1): Rename from
        *sync_compare_and_swap<I48MODE>, use mem_noofs_operand.
        (*atomic_compare_and_swapdi_v8plus): Rename from
        *sync_compare_and_swapdi_v8plus, use mem_noofs_operand.
        (sync_compare_and_swap<I12MODE>): Remove.
        (sync_compare_and_swap<I48MODE>): Remove.

From-SVN: r181851
2011-11-30 07:53:45 -08:00
Richard Henderson
cfe8fee796 sparc: Convert to atomic_load/store.
* config/sparc/predicates.md (register_or_v9_zero_operand): New.
        * config/sparc/sparc.md (UNSPEC_ATOMIC): New.
        * config/sparc/sync.md (atomic_load<I>): New.
        (atomic_loaddi_1, atomic_store<I>, atomic_storedi_1): New.

From-SVN: r181849
2011-11-30 07:48:13 -08:00
Richard Henderson
9a7389088f sparc: Convert to mem_thread_fence.
* config/sparc/predicates.md (zero_or_v7_operand): New.
        * config/sparc/sparc.c (sparc_emit_membar_for_model): New.
        * config/sparc/sparc-protos.h: Update.
        * config/sparc/sync.md (mem_thread_fence): New.
        (memory_barrier): Use sparc_emit_membar_for_model.
        (membar, *membar_empty, *membar_storestore, *membar_storeload): New.
        (*membar_v8): Accept and ignore the membar mask.
        (*membar): Accept and print the membar mask.

From-SVN: r181848
2011-11-30 07:46:22 -08:00
Matthew Gretton-Dann
ef5784915f arm.c (arm_issue_rate): Cortex-A15 can triple issue.
* gcc/config/arm/arm.c (arm_issue_rate): Cortex-A15 can triple issue.
	* gcc/config/arm/arm.md (mul64): New attribute.
	(generic_sched): Cortex-A15 is not scheduled generically.
	(cortex-a15.md): Include.
	* gcc/config/arm/cortex-a15.md: New machine description.
	* gcc/config/arm/t-arm (MD_INCLUDES): Add cortex-a15.md.

From-SVN: r181843
2011-11-30 13:51:35 +00:00
Matthew Gretton-Dann
c819d921c9 * gcc/config/arm/t-arm (MD_INCLUDES): Ensure all md files are listed.
From-SVN: r181842
2011-11-30 13:41:04 +00:00
Iain Sandoe
fea3ca9130 shift flag_next/gnu_runtime to modern opts system.
gcc:

	* doc/tm.texi.in (NEXT_OBJC_RUNTIME): Update macro description.
	* doc/tm.texi: Regenerate.
	* flags.h (flag_next_runtime): Remove references.
	* toplev.c: Likewise.
	* defaults.h (NEXT_OBJC_RUNTIME): Provide default.
	* gccspec.c (lang_specific_driver): Adjust use of NEXT_OBJC_RUNTIME.
	* config/darwin.c (darwin_override_options): Provide default
	Objective-C abi settings and target conflict checks.
	* config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Remove unused
	code. Adjust indenting.

gcc/c-family:

	* c.opt (fgnu-runtime): Provide full description.
	(fnext-runtime): Likewise.
	* c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.

From-SVN: r181837
2011-11-30 10:42:58 +00:00
Matthew Gretton-Dann
0f14d442fc MAINTAINERS (write-after-approval): Add self.
* MAINTAINERS (write-after-approval): Add self.

From-SVN: r181836
2011-11-30 09:53:56 +00:00
Alan Modra
ab6dd406ba re PR libgomp/51298 (libgomp team_barrier locking failures)
PR libgomp/51298
	* config/linux/bar.h: Use atomic rather than sync builtins.
	* config/linux/bar.c: Likewise.  Add missing acquire
	synchronisation on generation field.
	* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
	double unlock.

From-SVN: r181833
2011-11-30 15:14:13 +10:30
Alan Modra
b40c885f18 ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
* ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
	* critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
	* config/linux/mutex.h: Use atomic rather than sync builtins.
	* config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
	* config/linux/omp-lock.h: Comment fix.
	* config/linux/arm/mutex.h: Delete.
	* config/linux/powerpc/mutex.h: Delete.
	* config/linux/ia64/mutex.h: Delete.
	* config/linux/mips/mutex.h: Delete.

From-SVN: r181832
2011-11-30 14:32:53 +10:30
Alan Modra
3e348fccfa re PR libgomp/51249 (semaphore implemetation for linux leaves threads blocked)
PR libgomp/51249
	* config/linux/sem.h: Rewrite.
	* config/linux/sem.c: Rewrite.

From-SVN: r181831
2011-11-30 14:13:57 +10:30
Ian Lance Taylor
b87974949f runtime: Copy runtime_panicstring from master library.
From-SVN: r181830
2011-11-30 00:21:52 +00:00