OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago * config/sh/sh.h (enum reg_class, REG_CLASS_NAMES)
jsm28 [Tue, 29 Nov 2011 23:37:06 +0000 (23:37 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181825 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgo: update to weekly.2011-10-25
ian [Tue, 29 Nov 2011 23:02:54 +0000 (23:02 +0000)]
libgo: update to weekly.2011-10-25

Changes were mainly straightforward to merge.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181824 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51337
kkojima [Tue, 29 Nov 2011 22:52:55 +0000 (22:52 +0000)]
PR target/51337
* config/sh/sh.c (sh_secondary_reload): Add case when FPUL
register is being loaded from a pseudo in memory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181823 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoruntime: If no sem_timedwait, use pthread_cond_timedwait.
ian [Tue, 29 Nov 2011 21:58:48 +0000 (21:58 +0000)]
runtime: If no sem_timedwait, use pthread_cond_timedwait.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181821 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago.
dj [Tue, 29 Nov 2011 21:36:43 +0000 (21:36 +0000)]
.
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181819 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51247
jakub [Tue, 29 Nov 2011 21:03:09 +0000 (21:03 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181818 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Andreas Tobler <andreast@fgznet.ch>
andreast [Tue, 29 Nov 2011 20:12:00 +0000 (20:12 +0000)]
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 ../../.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181816 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 29 Nov 2011 19:42:44 +0000 (19:42 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181815 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoruntime: If O_CLOEXEC is not defined, define it as 0.
ian [Tue, 29 Nov 2011 19:26:00 +0000 (19:26 +0000)]
runtime: If O_CLOEXEC is not defined, define it as 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181814 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocompiler: Define and use backend-independent Location class.
ian [Tue, 29 Nov 2011 19:10:50 +0000 (19:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181813 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
uros [Tue, 29 Nov 2011 19:03:08 +0000 (19:03 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181812 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
uros [Tue, 29 Nov 2011 17:55:29 +0000 (17:55 +0000)]
* config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
allocate scratch memory for alternative 0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181811 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 29 Nov 2011 17:49:24 +0000 (17:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181810 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoEnable target specific builtins and macros when using the target attribute or pragma...
meissner [Tue, 29 Nov 2011 17:33:05 +0000 (17:33 +0000)]
Enable target specific builtins and macros when using the target attribute or pragma on rs6000

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181809 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Dodji Seketeli <dodji@redhat.com>
dje [Tue, 29 Nov 2011 16:40:50 +0000 (16:40 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181808 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-21 David Edelsohn <dje.gcc@gmail.com>
dje [Tue, 29 Nov 2011 16:32:28 +0000 (16:32 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181807 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * haifa-sched.c (recompute_todo_spec): Simplify and correct the
bernds [Tue, 29 Nov 2011 15:58:05 +0000 (15:58 +0000)]
* haifa-sched.c (recompute_todo_spec): Simplify and correct the
code checking for a clobber of a condition register when deciding
whether to predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181806 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config.host (tic6x-*-uclinux): Append to extra_parts. Fix
bernds [Tue, 29 Nov 2011 15:55:38 +0000 (15:55 +0000)]
* config.host (tic6x-*-uclinux): Append to extra_parts.  Fix
formatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181805 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com>
yufeng [Tue, 29 Nov 2011 15:27:33 +0000 (15:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181804 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
dnovillo [Tue, 29 Nov 2011 14:16:16 +0000 (14:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181803 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
sameerad [Tue, 29 Nov 2011 12:52:27 +0000 (12:52 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181802 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 29 Nov 2011 09:57:40 +0000 (09:57 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181801 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50074
jakub [Tue, 29 Nov 2011 08:48:41 +0000 (08:48 +0000)]
PR middle-end/50074
* expr.c (expand_expr_addr_expr_1): Don't call force_operand for
EXPAND_SUM modifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181800 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-29 François Dumont <fdumont@gcc.gnu.org>
fdumont [Tue, 29 Nov 2011 07:45:58 +0000 (07:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181799 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoImplement predefined error interface.
ian [Tue, 29 Nov 2011 07:03:49 +0000 (07:03 +0000)]
Implement predefined error interface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181798 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51301
irar [Tue, 29 Nov 2011 07:00:53 +0000 (07:00 +0000)]
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181797 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agors6000: Streamline boolval output for compare-and-swap.
rth [Tue, 29 Nov 2011 04:50:13 +0000 (04:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181796 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
rth [Tue, 29 Nov 2011 04:50:01 +0000 (04:50 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181795 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * libgomp.h (enum memmodel): New.
rth [Tue, 29 Nov 2011 02:19:05 +0000 (02:19 +0000)]
    * libgomp.h (enum memmodel): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181794 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Tue, 29 Nov 2011 00:19:06 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181793 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * g++.dg/cdce3.C: Use dg-additional-options.
uros [Mon, 28 Nov 2011 22:05:46 +0000 (22:05 +0000)]
* g++.dg/cdce3.C: Use dg-additional-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181789 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/50317
jakub [Mon, 28 Nov 2011 21:04:45 +0000 (21:04 +0000)]
PR debug/50317
* tree-ssa.c (execute_update_addresses_taken): Remove
var ={v} {CLOBBER} stmts instead of rewriting them into
var_N ={v} {CLOBBER}.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181788 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50907
jakub [Mon, 28 Nov 2011 21:04:10 +0000 (21:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181787 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50078
jakub [Mon, 28 Nov 2011 21:03:11 +0000 (21:03 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181786 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/50682
jakub [Mon, 28 Nov 2011 21:02:27 +0000 (21:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181785 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago c-family
amacleod [Mon, 28 Nov 2011 20:28:23 +0000 (20:28 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181784 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCleanup rs6000/t-ppccomm configurations (PR other/51022)
ro [Mon, 28 Nov 2011 16:02:10 +0000 (16:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181782 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoReally commit the test case:
burnus [Mon, 28 Nov 2011 14:47:39 +0000 (14:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181779 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-28 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 28 Nov 2011 14:21:33 +0000 (14:21 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181778 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 28 Nov 2011 13:24:23 +0000 (13:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181775 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/extend.texi (AVR Built-in Functions): Add documentation for
gjl [Mon, 28 Nov 2011 09:58:37 +0000 (09:58 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181773 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoruntime: Multiplex goroutines onto OS threads.
ian [Mon, 28 Nov 2011 05:45:49 +0000 (05:45 +0000)]
runtime: Multiplex goroutines onto OS threads.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181772 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * generic-morestack.c (__splitstack_find): Check for NULL old
ian [Mon, 28 Nov 2011 05:44:31 +0000 (05:44 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181771 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 28 Nov 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181770 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/testsuite:
iains [Sun, 27 Nov 2011 14:09:13 +0000 (14:09 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181766 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgcc:
iains [Sun, 27 Nov 2011 13:57:01 +0000 (13:57 +0000)]
libgcc:

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181765 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgcc:
iains [Sun, 27 Nov 2011 13:52:49 +0000 (13:52 +0000)]
libgcc:

* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181764 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:18:25 +0000 (10:18 +0000)]
gcc/
PR target/51278
* config/mips/mips.c (mips_rtx_costs): Handle baddu.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181763 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:14:57 +0000 (10:14 +0000)]
gcc/
* config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181762 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:09:32 +0000 (10:09 +0000)]
gcc/
* config/mips/mips-protos.h (mips_emit_binary): Declare.
* config/mips/mips.c (mips_emit_binary): Make global.
(mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode.
(mips_conditional_register_usage): Don't treat LO and HI as
register operands in MIPS16 mode.
(mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16
for MIPS16 code.
* config/mips/predicates.md (muldiv_target_operand): New predicate.
(move_operand): Allow hilo_operand.
* config/mips/mips.md (mul<mode>3): Explicitly specify LO as the
target of MIPS16 multiplies, then move it into the target register.
(mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand.
(<u>mulsidi3_32bit_mips16): New expander.
(<u>mulsidi3_32bit): Use muldiv_target_operand.
(<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP.
(<u>mulsidi3_64bit): Require !TARGET_MIPS16.  Split into
<u>mulsidi3_64bit_split.
(<u>mulsidi3_64bit_mips16): New expander.
(<u>mulsidi3_64bit_split): Likewise, using expansions from
two previous define_splits.
(<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use
muldiv_target_operand.
(<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code.
(<su>mulsi3_highpart_internal): Require !TARGET_MIPS16.
Split into <su>mulsi3_highpart_split.
(<su>mulsi3_highpart_split): New expander.
(<su>muldi3_highpart): Turn into a define_expand.
Use <su>muldi3_highpart_split for MIPS16 code.
(<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart.
Require !TARGET_MIPS16.  Split into <su>muldi3_highpart_split.
(<su>muldi3_highpart_split): New expander.
(<u>mulditi3): Explicitly specify LO as the target of MIPS16
multiplies, then move it into the target register.
(<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand.
(divmod<mode>4, udivmod<mode>4): Turn into define_expands.
Use <u>divmod<mode>4_split for MIPS16 code, then explicitly
move LO into operand 0.
(divmod<mode>4_internal, udivmod<mode>4_internal): Renamed
from <u>divmod<mode>4.  Use muldiv_target_operand.
Require !TARGET_MIPS16.  Split into <u>divmod<mode>4_split.
(<u>divmod<mode>4_split): New expander.
(<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand.
(mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand.

gcc/testsuite/
* gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c,
gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c,
gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c,
gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c,
gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c,
gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c,
gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c,
gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c,
gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c,
gcc.target/mips/div-1.c, gcc.target/mips/div-2.c,
gcc.target/mips/div-3.c, gcc.target/mips/div-4.c,
gcc.target/mips/div-5.c, gcc.target/mips/div-6.c,
gcc.target/mips/div-7.c, gcc.target/mips/div-8.c,
gcc.target/mips/div-9.c, gcc.target/mips/div-10.c,
gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests.
* gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16.
* gcc.target/mips/fix-r4000-2.c (foo): Likewise.
* gcc.target/mips/fix-r4000-3.c (foo): Likewise.
* gcc.target/mips/fix-r4000-4.c (foo): Likewise.
* gcc.target/mips/fix-r4000-5.c (foo): Likewise.
* gcc.target/mips/fix-r4000-6.c (foo): Likewise.
* gcc.target/mips/fix-r4000-7.c (foo): Likewise.
* gcc.target/mips/fix-r4000-8.c (foo): Likewise.
* gcc.target/mips/fix-r4000-9.c (foo): Likewise.
* gcc.target/mips/fix-r4000-10.c (foo): Likewise.
* gcc.target/mips/fix-r4000-11.c (foo): Likewise.
* gcc.target/mips/fix-r4000-12.c (foo): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181761 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/
rsandifo [Sun, 27 Nov 2011 10:09:15 +0000 (10:09 +0000)]
gcc/
* hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set
and x_operand_reg_set.
(accessible_reg_set, operand_reg_set): New macros.
* reginfo.c (init_reg_sets): Initialize accessible_reg_set and
operand_reg_set.
(saved_accessible_reg_set, saved_operand_reg_set): New variables.
(save_register_info): Save them.
(restore_register_info): Restore them.
(init_reg_sets_1): Limit operand_reg_set to accessible_reg_set.
Remove NO_REGS registers from operand_reg_set.  Treat members
of operand_reg_set as fixed.
* recog.c (general_operand): Check operand_reg_set rather than
NO_REGS.
(register_operand, nonmemory_operand): Likewise.
* varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of
register variables.  Check accessible_reg_set and operand_reg_set.
* config/mips/mips.c (mips_conditional_register_usage): Remove
inaccessible register from accessible_reg_set, rather than just
making them fixed.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp
imply -mno-dspr2.
* gcc.target/mips/no-dsp-1.c: New test.
* gcc.target/mips/soft-float-1.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181760 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/pa/pa-linux.h (TARGET_GAS): Remove comment.
gerald [Sun, 27 Nov 2011 05:50:12 +0000 (05:50 +0000)]
* config/pa/pa-linux.h (TARGET_GAS): Remove comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181759 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
gerald [Sun, 27 Nov 2011 02:42:21 +0000 (02:42 +0000)]
* doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
of i386.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181758 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * scripts/run_doxygen (problematic): Change Linux reference to
gerald [Sun, 27 Nov 2011 01:09:22 +0000 (01:09 +0000)]
* scripts/run_doxygen (problematic): Change Linux reference to
GNU/Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181757 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
gerald [Sun, 27 Nov 2011 00:21:28 +0000 (00:21 +0000)]
* doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
Fix reference to GCC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181756 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoarm: Install __sync libfuncs for Linux.
rth [Sun, 27 Nov 2011 00:20:48 +0000 (00:20 +0000)]
arm: Install __sync libfuncs for Linux.

        * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
        for Linux.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181755 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sun, 27 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181754 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix expand_atomic_fetch_op wrt unused_result.
rth [Sun, 27 Nov 2011 00:10:18 +0000 (00:10 +0000)]
Fix expand_atomic_fetch_op wrt unused_result.

        * optabs.c (expand_atomic_fetch_op): Always return result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181750 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix init_sync_libfuncs_1 iteration.
rth [Sun, 27 Nov 2011 00:06:16 +0000 (00:06 +0000)]
Fix init_sync_libfuncs_1 iteration.

        * optabs.c (init_sync_libfuncs_1): Include max in iteration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181749 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoomp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.
rth [Sun, 27 Nov 2011 00:01:04 +0000 (00:01 +0000)]
omp-low: Assume anything aligned to BIGGEST_ALIGNMENT is aligned.

        * omp-low.c (expand_omp_atomic): Assume anything aligned to
        BIGGEST_ALIGNMENT is aligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181748 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agom68k: Implement CAS and TAS patterns.
rth [Sat, 26 Nov 2011 23:59:56 +0000 (23:59 +0000)]
m68k: Implement CAS and TAS patterns.

        * config/m68k/m68k.md (UNSPECV_CAS_1, UNSPECV_CAS_2): New.
        (UNSPECV_TAS_1, UNSPECV_TAS_2): New.
        (I): New mode iterator.
        (xz): New mode attribute.
        * config/m68k/sync.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181747 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agom68k-linux: Implement atomic operations via syscall.
rth [Sat, 26 Nov 2011 23:57:37 +0000 (23:57 +0000)]
m68k-linux: Implement atomic operations via syscall.

libgcc/
* config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
* config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
gcc/
* config/m68k/linux-atomic.c: New file.
* config/m68k/t-linux: New file.
* config.host (m68k-uclinux, m68k-linux): Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181746 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR gcov-profile/51297
nathan [Sat, 26 Nov 2011 21:44:24 +0000 (21:44 +0000)]
PR gcov-profile/51297
* gcov.c (main): Allocate initial names and sources arrays.
(find_source): Don't check for null name or source arrays here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181745 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agocrtstuff: adjust tm clones for no attribute hidden
rth [Sat, 26 Nov 2011 21:16:49 +0000 (21:16 +0000)]
crtstuff: adjust tm clones for no attribute hidden

        * crtstuff.c (__TMC_LIST__): Mark used not unused.
        (__TMC_END__): Only declare if hidden is available; in the definition,
        if hidden is unavailable add a null record.
        (deregister_tm_clones, register_tm_clones): New.
        (__do_global_dtors_aux, frame_dummy): Use them.
        (__do_global_dtors, __do_global_ctors_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181744 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/49912
jakub [Sat, 26 Nov 2011 20:50:28 +0000 (20:50 +0000)]
PR rtl-optimization/49912
* cfgrtl.c (rtl_verify_flow_info_1): Ignore also EDGE_PRESERVE bit
when counting n_branch.

* g++.dg/other/pr49912.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181743 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
uros [Sat, 26 Nov 2011 15:48:39 +0000 (15:48 +0000)]
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
effective target.
* gcc.dg/vect/fast-math-bb-slp-call-2.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181742 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
uros [Sat, 26 Nov 2011 15:35:33 +0000 (15:35 +0000)]
* gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
effective target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181741 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libstdc++/51296
redi [Sat, 26 Nov 2011 15:15:22 +0000 (15:15 +0000)]
PR libstdc++/51296
* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on alpha*-*-osf*.
* testsuite/30_threads/future/cons/constexpr.cc: Disable debug
symbols.
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181740 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.
uros [Sat, 26 Nov 2011 10:55:09 +0000 (10:55 +0000)]
* config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181739 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50074
amylaar [Sat, 26 Nov 2011 09:21:47 +0000 (09:21 +0000)]
    PR middle-end/50074
        * calls.c (mem_overlaps_already_clobbered_arg_p):
        Return false if no outgoing arguments have been stored so far.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181738 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Sat, 26 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181735 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * trans-array.c (set_loop_bounds): Remove dead conditions.
mikael [Fri, 25 Nov 2011 20:24:10 +0000 (20:24 +0000)]
* trans-array.c (set_loop_bounds): Remove dead conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181731 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agofortran/
mikael [Fri, 25 Nov 2011 20:18:21 +0000 (20:18 +0000)]
fortran/
PR fortran/51250
PR fortran/43829
* trans-array.c (gfc_trans_create_temp_array): Get dimension from
the right gfc_ss struct.

testsuite/
PR fortran/51250
PR fortran/43829
* gfortran.dg/inline_sum_3.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181730 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR testsuite/51258
uros [Fri, 25 Nov 2011 19:30:58 +0000 (19:30 +0000)]
PR testsuite/51258
* lib/target-supports.exp
(check_effective_target_sync_long_long): Also supported on 32bit
x86 targets.  Add comment about required dg-options.
Add alpha*-*-* targets.
(check_effective_target_sync_long_long_runtime): Ditto.

* gcc.dg/atomic-op-4.c (dg-options): Add -march=pentium for
32bit x86 targets.
* gcc.dg/atomic-compare-exchange-4.c: Ditto.
* gcc.dg/atomic-exchange-4.c: Ditto.
* gcc.dg/atomic-load-4.c: Ditto.
* gcc.dg/atomic-store-4.c: Ditto.
* gcc.dg/di-longlong64-sync-1.c: Ditto.
* gcc.dg/di-sync-multithread.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181728 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR testsuite/51258
uros [Fri, 25 Nov 2011 17:41:44 +0000 (17:41 +0000)]
PR testsuite/51258
* lib/target-supports.exp
(check_effective_target_sync_int_128_runtime): New procedure.
(check_effective_target_sync_long_long_runtime): Ditto.
(check_effective_target_sync_long_long): Add arm*-*-*.
(check_effective_target_sync_longlong): Remove.

* gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
* gcc.dg/atomic-compare-exchange-5.c: Ditto.
* gcc.dg/atomic-exchange-5.c: Ditto.
* gcc.dg/atomic-load-5.c: Ditto.
* gcc.dg/atomic-store-5.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
* gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
effective target.
* gcc.dg/atomic-compare-exchange-4.c: Ditto.
* gcc.dg/atomic-exchange-4.c: Ditto.
* gcc.dg/atomic-load-4.c: Ditto.
* gcc.dg/atomic-store-4.c: Ditto.
* gcc.dg/di-longlong64-sync-1.c: Ditto.
* gcc.dg/di-sync-multithread.c: Ditto.
* gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
* gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181727 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Nov 2011 16:26:47 +0000 (16:26 +0000)]
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50408
        * trans-decl.c (gfc_get_module_backend_decl): Also copy
        ts.u.derived from the gsym if the ts.type is BT_CLASS.
        (gfc_get_extern_function_decl): Copy also the backend_decl
        for the symbol's ts.u.{derived,cl} from the gsym.
        * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
        return if "from" and "to" are the same.

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

        PR fortran/50408
        * gfortran.dg/whole_file_35.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181725 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Nov 2011 15:18:06 +0000 (15:18 +0000)]
2011-11-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51302
        * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.

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

        PR fortran/51302
        * gfortran.dg/volatile13.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181724 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoAdd myself in write-after-approval list
sameerad [Fri, 25 Nov 2011 15:01:16 +0000 (15:01 +0000)]
Add myself in write-after-approval list

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181723 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
gjl [Fri, 25 Nov 2011 15:00:39 +0000 (15:00 +0000)]
* config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181722 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Fri, 25 Nov 2011 13:35:13 +0000 (13:35 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR other/51011
* tree.h (is_builtin_name): No longer external.
* builtins.c (is_builtin_name): Make static.
* varasm.c (incorporeal_function_p): __sync and __atomic external calls
are not incorporeal and may need asm label processing.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181721 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50566
gjl [Fri, 25 Nov 2011 10:46:10 +0000 (10:46 +0000)]
PR target/50566
* config/avr/avr-protos.h (avr_log_t): Add field .builtin.
* config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
Don't bypass TARGET_ALL_DEBUG.  Print self-info with ?.
(avr_log_vadump): Support %D and %X to print double_int.
(avr_double_int_pop_digit): New static function.
(avr_dump_double_int_hex): New static function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181718 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix ChangeLog typo for last commit.
kyukhin [Fri, 25 Nov 2011 10:34:16 +0000 (10:34 +0000)]
Fix ChangeLog typo for last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181715 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51287
kyukhin [Fri, 25 Nov 2011 09:46:27 +0000 (09:46 +0000)]
   PR target/51287
       * i386.c (distance_non_agu_define): Fix insn attr check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181713 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Fri, 25 Nov 2011 03:00:38 +0000 (03:00 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

PR c/51256
* c-common.c (get_atomic_generic_size): Check for various error
conditions
(resolve_overloaded_atomic_exchange,
resolve_overloaded_atomic_compare_exchange,
resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
error_mark_node for error conditions.
* gcc.dg/atomic-pr51256.c: New.  Test error conditions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181709 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Fri, 25 Nov 2011 01:00:44 +0000 (01:00 +0000)]
/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51227
* pt.c (instantiate_class_template_1): If lambda_function (type)
is NULL_TREE do not instantiate_decl.

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

PR c++/51227
* g++.dg/cpp0x/lambda/lambda-ice5.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181707 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 25 Nov 2011 00:18:59 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181706 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 24 Nov 2011 23:14:31 +0000 (23:14 +0000)]
2011-11-24  Andrew MacLeod  <amacleod@redhat.com>

* optab.c (maybe_emit_atomic_exchange): New.  Try to emit an
atomic_exchange pattern.
(maybe_emit_sync_lock_test_and_set): New.  Try to emit an exchange
using __sync_lock_test_and_set.
(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
exchange using a compare_and_swap loop.
(expand_sync_lock_test_and_set): New.  Expand sync_lock_test_and_set.
(expand_atomic_test_and_set): New.  Expand test_and_set operation.
(expand_atomic_exchange): Use new maybe_emit_* functions.
(expand_atomic_store): Use new maybe_emit_* functions.
* builtins.c (expand_builtin_sync_lock_test_and_set): Call
expand_sync_lock_test_and_set routine.
(expand_builtin_atomic_exchange): Remove parameter from call.
(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
(expand_builtin_atomic_test_and_set): Add target and simply call
expand_atomic_test_and_set.
(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
* expr.h (expand_atomic_exchange): Add parameter.
(expand_sync_lock_test_and_set): New prototype.
(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181702 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRevert revision 181357.
hjl [Thu, 24 Nov 2011 22:11:12 +0000 (22:11 +0000)]
Revert revision 181357.

gcc/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* config/i386/i386.h (processor_costs): Revert revision 181357.
* config/i386/i386.c (cost models): Likewise.
(core_cost): Likewise.
(promote_duplicated_reg): Likewise.
(promote_duplicated_reg_to_size): Likewise.
(processor_target): Likewise.
(expand_set_or_movmem_via_loop_with_iter): Likewise.
(expand_set_or_movmem_via_loop): Likewise.
(emit_strset): Likewise.
(expand_movmem_epilogue): Likewise.
(expand_setmem_epilogue): Likewise.
(expand_movmem_prologue): Likewise.
(expand_setmem_prologue): Likewise.
(expand_constant_movmem_prologue): Likewise.
(expand_constant_setmem_prologue): Likewise.
(decide_alg): Likewise.
(decide_alignment): Likewise.
(ix86_expand_movmem): Likewise.
(ix86_expand_setmem): Likewise.
(ix86_slow_unaligned_access): Likewise.
* config/i386/i386.md (strset): Likewise.
* config/i386/sse.md (vec_dupv4si): Likewise.
(vec_dupv2di): Likewise.

gcc/testsuite/

2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>

PR target/51134
* gcc.target/i386/sw-1.c: Revert revision 181357.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181701 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/avr/avr.md (*rotlhi2.15): Set length to 4.
gjl [Thu, 24 Nov 2011 21:12:00 +0000 (21:12 +0000)]
* config/avr/avr.md (*rotlhi2.15): Set length to 4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181700 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-24 Tobias Burnus <burnus@net-b.de>
burnus [Thu, 24 Nov 2011 17:57:41 +0000 (17:57 +0000)]
2011-11-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51218
        * resolve.c (pure_subroutine): If called subroutine is
        impure, unset implicit_pure.
        (resolve_function): Move impure check to simplify code.

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

        PR fortran/51218
        * gfortran.dg/implicit_pure_1.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181698 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix several atomic tests on 32-bit x86 (PR testsuite/51258)
ro [Thu, 24 Nov 2011 16:34:09 +0000 (16:34 +0000)]
Fix several atomic tests on 32-bit x86 (PR testsuite/51258)

PR testsuite/51258
* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
* gcc.dg/atomic-exchange-5.c: Likewise.
* gcc.dg/atomic-load-5.c: Likewise.
* gcc.dg/atomic-op-5.c: Likewise.
* gcc.dg/atomic-store-5.c: Likewise.
* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181697 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix bootstrap error in s-taprop-tru64.adb
ro [Thu, 24 Nov 2011 16:27:31 +0000 (16:27 +0000)]
Fix bootstrap error in s-taprop-tru64.adb

* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181696 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/50290
jakub [Thu, 24 Nov 2011 15:23:18 +0000 (15:23 +0000)]
PR rtl-optimization/50290
* gcc.dg/pr50290.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181694 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-data-ref.c (initialize_data_dependence_relation): Update
razya [Thu, 24 Nov 2011 14:07:36 +0000 (14:07 +0000)]
    * tree-data-ref.c (initialize_data_dependence_relation): Update
        * comment for the
        self dependence case.
        (compute_self_dependence): Remove.
        * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
        compute_self_dependenc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181691 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Thu, 24 Nov 2011 10:20:43 +0000 (10:20 +0000)]
/cp
2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51290
* class.c (build_base_path): For the null pointer check use
nullptr_node instead of integer_zero_node.

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

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181690 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR bootstrap/50888
jakub [Thu, 24 Nov 2011 07:18:16 +0000 (07:18 +0000)]
PR bootstrap/50888
* prims.cc: Don't include ctype.h.
(c_isspace): Define.
(next_property_key, next_property_value): Use it instead
of isspace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181685 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * c-decl.c (warn_if_shadowing): Don't warn if shadowed
amodra [Thu, 24 Nov 2011 02:45:21 +0000 (02:45 +0000)]
* c-decl.c (warn_if_shadowing): Don't warn if shadowed
identifier is from system header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181684 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 24 Nov 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181683 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-23 François Dumont <fdumont@gcc.gnu.org>
fdumont [Wed, 23 Nov 2011 20:30:18 +0000 (20:30 +0000)]
2011-11-23  François Dumont <fdumont@gcc.gnu.org>

PR libstdc++/41975
* include/bits/hashtable.h (_Hashtable<>): Major data model
modification to limit performance impact of empty buckets in
erase(iterator) implementation.
* include/bits/hashtable_policy.h (_Hashtable_iterator,
_Hashtable_const_iterator): Remove not used anymore.
* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
_M_grow_factor, just use natural evolution of prime numbers. Add
_M_prev_size to know when the number of buckets can be reduced.
* include/bits/unordered_set.h (__unordered_set<>,
__unordered_multiset<>), unordered_map.h (__unordered_map<>,
__unordered_multimap<>): Change default value of cache hash code
template parameter, false for integral types with noexcept hash
functor, true otherwise.
* include/debug/unordered_map, unordered_set: Adapt transformation
from iterator/const_iterator to respectively
local_iterator/const_local_iterator.
* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
New.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
* testsuite/23_containers/unordered_multiset/erase/1.cc,
24061-multiset.cc: Add checks on the number of bucket elements.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
multiset_single.cc, multiset_single_move.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181677 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/51261
jakub [Wed, 23 Nov 2011 20:29:08 +0000 (20:29 +0000)]
PR target/51261
* config/i386/i386.c (decide_alg): Initialize *dynamic_check
even if !optimize.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181676 138bc75d-0d04-0410-961f-82ee72b054a4