Commit Graph

113643 Commits

Author SHA1 Message Date
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
GCC Administrator
a592211185 Daily bump.
From-SVN: r181829
2011-11-30 00:19:14 +00:00
Joseph Myers
a4f71b01d1 * config/sh/sh.h (enum reg_class, REG_CLASS_NAMES)
(REG_CLASS_CONTENTS): Add NON_SP_REGS.
	(REGCLASS_HAS_GENERAL_REG): Handle NON_SP_REGS.
	* config/sh/constraints.md (u): New constraint.

From-SVN: r181825
2011-11-29 23:37:06 +00:00
Ian Lance Taylor
b740cb6335 libgo: update to weekly.2011-10-25
Changes were mainly straightforward to merge.

From-SVN: r181824
2011-11-29 23:02:54 +00:00
Oleg Endo
cebc182b78 re PR target/51337 (SH Target: Various testsuite ICEs for -m2a -O0)
PR target/51337
	* config/sh/sh.c (sh_secondary_reload): Add case when FPUL
	register is being loaded from a pseudo in memory.

From-SVN: r181823
2011-11-29 22:52:55 +00:00
Ian Lance Taylor
08ee945e0b runtime: If no sem_timedwait, use pthread_cond_timedwait.
From-SVN: r181821
2011-11-29 21:58:48 +00:00
DJ Delorie
85b8555ed3 .
* configure.ac (rl78-*-*) New case.
	* configure: Regenerate.
	* MAINTAINERS: Add myself as RL78 maintainer.

libgcc
	* config.host (rl78-*-elf): New case.
	* config/rl78: New directory for the Renesas RL78.

gcc
	* config.gcc (rl78-*-elf): New case.
	* doc/extend.texi: Add RL78 documentation.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/contrib.texi: Add RL78.
	* doc/install.texi: Add rl78-*-elf.
	* config/rl78: New directory for the Renesas RL78.

contrib
	* config-list.mk (LIST): Add rl78-elf.

From-SVN: r181819
2011-11-29 16:36:43 -05:00
Jakub Jelinek
c360c0fb8a re PR tree-optimization/51247 (ICE in set_value_range, at tree-vrp.c:417)
PR tree-optimization/51247
	* tree-vrp.c (extract_range_from_assert): For signed 1-bit precision
	types instead of adding 1 subtract -1 and instead of subtracting 1
	add -1 to avoid overflows.

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

From-SVN: r181818
2011-11-29 22:03:09 +01:00
Andreas Tobler
781c528f2e config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up.
2011-11-29  Andreas Tobler  <andreast@fgznet.ch>

	* config.rpath (ld_shlibs): Fix detection of FreeBSD-10 and up.
	(libname_spec): Likewise.
	* configure: Regenerate with autoconf -I ../../.

From-SVN: r181816
2011-11-29 21:12:00 +01:00
Andrew MacLeod
91f59d8bf4 re PR target/50123 (cmpxchg generated for atomic and with zero/or with -1)
2011-11-29  Andrew MacLeod  <amacleod@redhat.com>

	PR target/50123
	* optabs.c (maybe_optimize_fetch_op): New.  Look for more optimal
	instructions for a FECTH_OP or OP_FECTH sequence.
	(expand_atomic_fetch_op): Call maybe_optimize_fetch_op.
	* testsuite/gcc.dg/atomic-op-optimize.c: New.  Test for optimizations.

From-SVN: r181815
2011-11-29 19:42:44 +00:00
Ian Lance Taylor
421ecf992e runtime: If O_CLOEXEC is not defined, define it as 0.
From-SVN: r181814
2011-11-29 19:26:00 +00:00
Sanjoy Das
8afa2bfbdc compiler: Define and use backend-independent Location class.
From Sanjoy Das.

	* go-location.h: New file.
	* go-linemap.cc: New file.
	* go-gcc.cc: Change all uses of source_location to Location.
	* Make-lang.in (GO_OBJS): Add go/go-linemap.o.
	(GO_LINEMAP_H): New variable.
	(GO_LEX_H): Use $(GO_LINEMAP_H).
	(GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
	(go/go-linemap.o): New target.

Co-Authored-By: Ian Lance Taylor <iant@google.com>

From-SVN: r181813
2011-11-29 19:10:50 +00:00
Uros Bizjak
09ad58e618 sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
* config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
	(movdi_via_fpu): Remove.
	(loaddi_via_fpu): New insn pattern.
	(storedi_via_fpu): Ditto.
	(atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu.
	(atomic_storedi_fpu): Ditto.
	* reg-stack.c (get_true_reg): Handle UNSPEC_LDA.
	(subst_stack_regs_pat): Handle UNSPEC_STA.

From-SVN: r181812
2011-11-29 20:03:08 +01:00
Uros Bizjak
c6b4cec7ea i386.md (*floathi<mode>2_i387_with_temp): Do not allocate scratch memory for alternative 0.
* config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
	allocate scratch memory for alternative 0.

From-SVN: r181811
2011-11-29 18:55:29 +01:00
Thomas Koenig
645e511b20 re PR fortran/40958 (module files too large)
2011-11-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/40958
	* module.c (prev_module_line):  New variable.
	(prev_module_column):  New variable.
	(prev_character):  New variable.
	(module_char):  Update the new variables.
	(module_unget_char):  New function.
	(parse_string):  Use module_unget_char.
	(parse_integer):  Likewise.
	(parse_name):  Likewise.

From-SVN: r181810
2011-11-29 17:49:24 +00:00
Michael Meissner
7fa14a0130 Enable target specific builtins and macros when using the target attribute or pragma on rs6000
From-SVN: r181809
2011-11-29 17:33:05 +00:00
David Edelsohn
8f5c9d6659 tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
2011-11-29  Dodji Seketeli  <dodji@redhat.com>

        * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
        (maybe_unwind_expanded_macro_loc): Adjust.

From-SVN: r181808
2011-11-29 11:40:50 -05:00
David Edelsohn
43042ea701 trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl if DECL_ONE_ONLY.
2011-11-21  David Edelsohn  <dje.gcc@gmail.com>
            Aldy Hernandez  <aldyh@redhat.com>

        * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl
        if DECL_ONE_ONLY.
        (ipa_tm_create_version): Same.

Co-Authored-By: Aldy Hernandez <aldyh@redhat.com>

From-SVN: r181807
2011-11-29 11:32:28 -05:00
Bernd Schmidt
89ff14c265 haifa-sched.c (recompute_todo_spec): Simplify and correct the code checking for a clobber of a condition register...
* haifa-sched.c (recompute_todo_spec): Simplify and correct the
	code checking for a clobber of a condition register when deciding
	whether to predicate.

From-SVN: r181806
2011-11-29 15:58:05 +00:00
Bernd Schmidt
4d5ae4eadc config.host (tic6x-*-uclinux): Append to extra_parts.
* config.host (tic6x-*-uclinux): Append to extra_parts.  Fix
	formatting.

From-SVN: r181805
2011-11-29 15:55:38 +00:00
Yufeng Zhang
9645592c93 Use complex floating-point constant in CDBL.
2011-11-29  Yufeng Zhang  <yufeng.zhang@arm.com>

	Use complex floating-point constant in CDBL.

	* gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i.

From-SVN: r181804
2011-11-29 15:27:33 +00:00
Diego Novillo
e62acfd26f gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
* 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: r181803
2011-11-29 09:16:16 -05:00
Sameera Deshpande
635a48fbd6 arm.md (arm_movdi): Update NEG_POOL_RANGE.
* config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
	  (movdf_soft_insn): Likewise.

	* config/arm/fpa.md (thumb2_movdf_fpa): Likewise.

	* config/arm/neon.md (neon_mov<mode>): Likewise.

	* config/arm/vfp.md (movdi_vfp): Likewise.
	  (movdi_vfp_cortexa8): Likewise.
	  (movdf_vfp): Likewise.

From-SVN: r181802
2011-11-29 18:22:27 +05:30
Tobias Burnus
e0516b0583 re PR fortran/51306 (MOVE_ALLOC: Make more middle end friendlier)
2011-11-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51306
        PR fortran/48700
        * check.c (gfc_check_move_alloc): Make sure that from/to
        are both polymorphic or neither.
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
        generate inline code.

2011-11-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51306
        PR fortran/48700
        * gfortran.dg/move_alloc_5.f90: Add dg-error.
        * gfortran.dg/select_type_23.f03: Add dg-error.
        * gfortran.dg/move_alloc_6.f90: New.
        * gfortran.dg/move_alloc_7.f90: New.

From-SVN: r181801
2011-11-29 10:57:40 +01:00
Jakub Jelinek
825298c450 re PR middle-end/50074 (gcc.dg/sibcall-6.c execution test on x86_64 with -fPIC)
PR middle-end/50074
	* expr.c (expand_expr_addr_expr_1): Don't call force_operand for
	EXPAND_SUM modifier.

From-SVN: r181800
2011-11-29 09:48:41 +01:00
François Dumont
40207762a8 hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in...
2011-11-29  François Dumont <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
	useless now that the hashtable implementation put the hash code in
	cache if the hash functor throws.
	* testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
	checking also distance between begin and end iterators to validate
	underlying data model.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/2.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/2.cc: New.

From-SVN: r181799
2011-11-29 07:45:58 +00:00
Ian Lance Taylor
714cb9f01a Implement predefined error interface.
From-SVN: r181798
2011-11-29 07:03:49 +00:00
Ira Rosen
b2a1a74d99 re PR tree-optimization/51301 (Compiler ICE in vect_is_simple_use_1)
PR tree-optimization/51301
        * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
        that the last statement doesn't convert to a bigger type than the
        original type of the computation.

From-SVN: r181797
2011-11-29 07:00:53 +00:00
Richard Henderson
db4e52814d rs6000: Streamline boolval output for compare-and-swap.
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
        Handle overlap between retval and oldval.  Always compute boolval
        from CR0 EQ value.

From-SVN: r181796
2011-11-28 20:50:13 -08:00
Richard Henderson
20bc9eb1b8 rs6000.c (rs6000_expand_atomic_compare_and_swap): Get new pseudo for target after convert_modes.
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
        new pseudo for target after convert_modes.
        (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.

From-SVN: r181795
2011-11-28 20:50:01 -08:00
Richard Henderson
cef86eb288 * libgomp.h (enum memmodel): New.
From-SVN: r181794
2011-11-28 18:19:05 -08:00
GCC Administrator
de4f64c73d Daily bump.
From-SVN: r181793
2011-11-29 00:19:06 +00:00
Uros Bizjak
338a1a221b cdce3.C: Use dg-additional-options.
* g++.dg/cdce3.C: Use dg-additional-options.

From-SVN: r181789
2011-11-28 23:05:46 +01:00
Jakub Jelinek
c32f25b885 re PR debug/50317 (missing DW_OP_GNU_implicit_pointer)
PR debug/50317
	* tree-ssa.c (execute_update_addresses_taken): Remove
	var ={v} {CLOBBER} stmts instead of rewriting them into
	var_N ={v} {CLOBBER}.

From-SVN: r181788
2011-11-28 22:04:45 +01:00
Jakub Jelinek
d3b623c7af re PR middle-end/50907 (EDGE_CROSSING incorrectly set across same section with -freorder-blocks-and-partition -fPIC -fprofile-use)
PR middle-end/50907
	* function.c (convert_jumps_to_returns): When redirecting an edge
	succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag.

	* gcc.dg/tree-prof/pr50907.c: New test.

From-SVN: r181787
2011-11-28 22:04:10 +01:00
Jakub Jelinek
8c29866f7f re PR tree-optimization/50078 (combine wrong code: volatile accesses optimized out)
PR tree-optimization/50078
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
	TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.

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

From-SVN: r181786
2011-11-28 22:03:11 +01:00
Jakub Jelinek
99d8763e19 re PR tree-optimization/50682 (ICE: SIGSEGV in main_block_label with -O2 -fnon-call-exceptions -ftracer)
PR tree-optimization/50682
	* tree-eh.c (maybe_remove_unreachable_handlers): New function.
	* tree-flow.h (maybe_remove_unreachable_handlers): New prototype.
	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.

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

From-SVN: r181785
2011-11-28 22:02:27 +01:00
Andrew MacLeod
62bad7cd05 c-family
* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
	predefines in one place.  Add LOCK_FREE predefines.
	(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
	new func.

	libstdc++-v3
	* include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
	predefined macros.
	* testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
	macro checks.  Check for expected compile time values.

From-SVN: r181784
2011-11-28 20:28:23 +00:00
Rainer Orth
f9c55897eb Cleanup rs6000/t-ppccomm configurations (PR other/51022)
PR other/51022
	* config/rs6000/t-savresfgpr: New file.
	* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
	$(srcdir)/config/rs6000/eabi.S.
	* config/rs6000/t-ppccomm-ldbl: Remove.
	* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
	tmake_file.
	(powerpc-*-eabispe*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
	to tmake_file, remove rs6000/t-ppccomm-ldbl.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.

From-SVN: r181782
2011-11-28 16:02:10 +00:00
Tobias Burnus
56828a291c Really commit the test case:
2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.

From-SVN: r181779
2011-11-28 15:47:39 +01:00
Tobias Burnus
fc2a6c8982 re PR fortran/51308 (PARAMETER attribute conflicts with SAVE attribute)
2011-11-28  Tobias Burnus  <burnus@net-b.de>
            Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/51308
        * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
        conflicts for ISO_C_BINDING variables.
        (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
        as SAVE.

2011-11-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51308
        * gfortran.dg/iso_c_binding_compiler_4.f90: New.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r181778
2011-11-28 15:21:33 +01:00
Paolo Carlini
1a30353af8 re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace))
2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51288
	* include/std/iomanip (get_money, put_money): Use sentry.
	* testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
	Likewise.

From-SVN: r181775
2011-11-28 13:24:23 +00:00
Georg-Johann Lay
49b2772e24 extend.texi (AVR Built-in Functions): Add documentation for __builtin_avr_map8 and __builtin_avr_map16.
* doc/extend.texi (AVR Built-in Functions): Add documentation for
	__builtin_avr_map8 and __builtin_avr_map16.
	* config/avr/avr.md: Document new %t and %T asm output codes.
	(define_c_enum "unspec"): Add UNSPEC_MAP_BITS.
	(adjust_len): Add map_bits.
	(map_bitsqi, map_bitshi): New insns.
	* config/avr/avr-protos.h (avr_out_map_bits): New.
	* config/avr/avr-protos.c (print_operand): Implement %t and %T.
	(adjust_insn_length): Handle ADJUST_LEN_MAP_BITS.
	(avr_double_int_push_digit): New function.
	(avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions.
	(avr_sig_map, avr_map_hamming_byte): New functions.
	(avr_out_swap_bits, avr_out_revert_bits, avr_move_bits,
	avr_out_map_bits): New functions.
	(enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
	(avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16.
	(bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ...
	(avr_expand_builtin): ...and expand them.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
	__BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.

From-SVN: r181773
2011-11-28 09:58:37 +00:00
Ian Lance Taylor
737087cbc8 runtime: Multiplex goroutines onto OS threads.
From-SVN: r181772
2011-11-28 05:45:49 +00:00
Ian Lance Taylor
a01207c473 generic-morestack.c (__splitstack_find): Check for NULL old stack value.
* generic-morestack.c (__splitstack_find): Check for NULL old
	stack value.
	(__splitstack_resetcontext): New function.
	(__splitstack_releasecontext): New function.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

From-SVN: r181771
2011-11-28 05:44:31 +00:00
GCC Administrator
8ce3007a90 Daily bump.
From-SVN: r181770
2011-11-28 00:19:24 +00:00
Aldy Hernandez
9cafc14fe9 trans-mem-2_0.c: Add dg-lto-do link.
gcc/testsuite:
2011-11-27  Aldy Hernandez  <aldyh@redhat.com>
	    Iain Sandoe  <iains@gcc.gnu.org>

	* gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link.  Add dummy
	functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
	* gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link.
	* gcc.dg/lto/trans-mem-1_1.c:  Add dummy functions for
	_ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.


Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>

From-SVN: r181766
2011-11-27 14:09:13 +00:00
Iain Sandoe
2b0b8ab2a6 darwin-crt-tm.c: Correct comments, use correct licence.
libgcc:

	* config/darwin-crt-tm.c: Correct comments, use correct licence.

From-SVN: r181765
2011-11-27 13:57:01 +00:00