1. 23 Sep, 2014 19 commits
    • re PR c++/61857 (An init-capturing lambda is parsed incorrectly when used in a braced-init-list) · 9a9f3c8f
      /cp
      2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61857
      	* parser.c (cp_parser_skip_to_closing_square_bracket,
      	cp_parser_array_designator_p): New.
      	(cp_parser_initializer_list): Use the latter.
      
      /testsuite
      2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/61857
      	* g++.dg/cpp1y/lambda-init10.C: New.
      
      From-SVN: r215528
      Paolo Carlini committed
    • [libsanitizer merge from upstream r218156] · 866e32ad
      From-SVN: r215527
      Kostya Serebryany committed
    • rs6000.md (f32_vsx): New mode attributes to refine the constraints used on… · e8ee4054
      rs6000.md (f32_vsx): New mode attributes to refine the constraints used on 32/64-bit floating point...
      
      2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000.md (f32_vsx): New mode attributes to
      	refine the constraints used on 32/64-bit floating point moves.
      	(f32_av): Likewise.
      	(f64_vsx): Likewise.
      	(f64_dm): Likewise.
      	(f64_av): Likewise.
      	(BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
      	(BOOL_REGS_OP1): Likewise.
      	(BOOL_REGS_OP2): Likewise.
      	(BOOL_REGS_UNARY): Likewise.
      	(mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
      	32/64-bit floating point moves.  Do not use wa, instead use ww/ws
      	for moves involving VSX registers.  Do not use constraints that
      	target VSX registers for decimal types.
      	(mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
      	(mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
      
      From-SVN: r215521
      Michael Meissner committed
    • tree.h (int_bit_position): Turn into inline function; implement using wide int. · 10b8fa2e
      	* tree.h (int_bit_position): Turn into inline function;
      	implement using wide int.
      	* tree.c (int_bit_position): Remove.
      
      From-SVN: r215518
      Jan Hubicka committed
    • re PR fortran/63331 (Fortran -fcompare-debug issues) · 54f9184b
      	PR fortran/63331
      	* trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
      	instead of VAR_DECL for base_decl.
      
      	* gfortran.dg/pr63331.f90: New test.
      
      From-SVN: r215516
      Jakub Jelinek committed
    • re PR bootstrap/63280 (Double free in GCC compiled with LTO and -O3.) · ad01608e
      gcc/
      	PR bootstrap/63280
      	* target-globals.c (target_globals::~target_globals): Fix location
      	of ira_int destruction.
      
      From-SVN: r215515
      Richard Sandiford committed
    • gnu.ver: Adjust basic_ostream exports. · 48e968a7
      	* config/abi/pre/gnu.ver: Adjust basic_ostream exports.
      	* include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
      	to ostream constructor.
      	* include/std/ostream (basic_ostream(basic_iostream*)): Change to take
      	parameter by reference, to avoid ambiguity.
      	* testsuite/27_io/basic_ostream/cons/char/null.cc: New.
      
      From-SVN: r215510
      Jonathan Wakely committed
    • [AArch64] Enable shrink wrapping. · 4f942779
      From-SVN: r215508
      Renlin Li committed
    • [AArch64] Default to -fsched-pressure · de72c50f
      From-SVN: r215503
      Wilco Dijkstra committed
    • Make all gcc.dg/guality/const-volatile.c subtests PASS under LTO. · 84eca542
      Some subtests were reported as UNSUPPORTED when running under LTO.
      That was just because the relevant variables were optimized out.
      Mark those variables as used. Now const-volatile reports 192 PASS.
      
      gcc/testsuite/ChangeLog
      
      	* gcc.dg/guality/const-volatile.c (i): Mark as used.
      	(ci): Likewise.
      	(pci): Likewise.
      	(pvi): Likewise.
      	(pcvi): Likewise.
      	(cip): Likewise.
      	(foo): Likewise.
      	(cfoo): Likewise.
      
      From-SVN: r215502
      Mark Wielaard committed
    • gcc-gdb-test.exp: Handle old GDB "short int" and "long int" types. · 0043a6c9
      Old GDB might show short and long as short int and long int. This made
      gcc.dg/guality/const-volatile.c ans restrict.c fail on older GDBs.
      According to the patch that changed this in newer versions of GDB
      this was a bug: https://sourceware.org/ml/gdb-patches/2012-09/msg00455.html
      
      The patch transforms the types "short int" and "long int" coming from
      GDB to plain "short" and "long". And a variant has been added to the
      const-volatile.c testcase to make sure short and long long are handled
      correctly now with older GDB.
      
      gcc/testsuite/ChangeLog
      
      	* lib/gcc-gdb-test.exp (gdb-test): Transform gdb types "short int"
      	and "long int" to plain "short" and "long".
      	* gcc.dg/guality/const-volatile.c (struct bar): New struct
      	containing short and long long fields.
      	(bar): New variable to test the type.
      
      From-SVN: r215501
      Mark Wielaard committed
    • cfgcleanup.c (try_optimize_cfg): Do not remove label with LABEL_PRESERVE_P flag set. · 6c979aa1
      
      gcc/
      	* cfgcleanup.c (try_optimize_cfg): Do not remove label
      	with LABEL_PRESERVE_P flag set.
      
      From-SVN: r215498
      Ilya Enkovich committed
    • re PR c++/62155 (ICE in tsubst_copy, at cp/pt.c:12544) · a5476024
      2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/62155
      	* g++.dg/cpp0x/lambda/lambda-62155.C: New.
      
      From-SVN: r215497
      Paolo Carlini committed
    • AVX-512. Add vshufpd insn patterns. · b2d623e5
      gcc/
      	* config/i386/sse.md
      	(define_expand "avx_shufpd256<mask_expand4_name>"): Add masking.
      	(define_insn "avx_shufpd256_1<mask_name>"): Ditto.
      	(define_expand "sse2_shufpd<mask_expand4_name>"): Ditto.
      	(define_insn "sse2_shufpd_v2df_mask"): New.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r215496
      Alexander Ivchenko committed
    • AVX-512. Add vshufps insn patterns. · fc01a1ac
      gcc/
      	* config/i386/sse.md
      	(define_expand "avx_shufps256<mask_expand4_name>"): Add masking.
      	(define_insn "avx_shufps256_1<mask_name>"): Ditto.
      	(define_expand "sse_shufps<mask_expand4_name>"): Ditto.
      	(define_insn "sse_shufps_v4sf_mask"): New.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r215495
      Alexander Ivchenko committed
    • AVX-512. Add rest of vunpck[lh]ps. · 47145255
      gcc/
      	* config/i386/sse.md
      	(define_insn "avx_unpckhps256<mask_name>"): Add masking.
      	(define_insn "vec_interleave_highv4sf<mask_name>"): Ditto.
      	(define_insn "avx_unpcklps256<mask_name>"): Ditto.
      	(define_insn "unpcklps128_mask"): New.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r215494
      Alexander Ivchenko committed
    • AVX-512. Add masked vunpck[lh]pd. · 8fd83a54
      gcc/
      	* config/i386/sse.md
      	(define_insn "avx_unpckhpd256<mask_name>"): Add masking.
      	(define_insn "avx512vl_unpckhpd128_mask"): New.
      	(define_expand "avx_movddup256<mask_name>"): Add masking.
      	(define_expand "avx_unpcklpd256<mask_name>"): Ditto.
      	(define_insn "*avx_unpcklpd256<mask_name>"): Ditto.
      	(define_insn "avx512vl_unpcklpd128_mask"): New.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r215493
      Alexander Ivchenko committed
    • Remove LIBGCC2_LONG_DOUBLE_TYPE_SIZE target macro. · 9a79452d
      This patch removes the target macro LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
      
      After recent changes, this macro was used in two ways in libgcc: to
      determine the mode of long double in dfp-bit.h, and to determine
      whether a particular mode has excess precision for use in complex
      multiplication.
      
      The former is concerned specifically with long double: it relates to
      use of strtold for converting between decimal and binary floating
      point.  This is replaced by comparing __LDBL_MANT_DIG__ with the
      appropriate __LIBGCC_*_MANT_DIG__ macro.  The latter is replaced
      __LIBGCC_*_EXCESS_PRECISION__ predefined macros.
      
      Remarks:
      
      * Comparing (__LDBL_MANT_DIG__ == __LIBGCC_XF_MANT_DIG__) is more
        fragile than it looks; it's possible for XFmode to have 53-bit
        mantissa (TARGET_96_ROUND_53_LONG_DOUBLE, on FreeBSD and
        DragonFlyBSD 32-bit), in which case such a comparison would not
        distinguish XFmode and DFmode as possible modes for long double.
        Fortunately, no target supporting that form of XFmode also supports
        long double = double (but if some target did, we'd need e.g. an
        additional macro giving the exponent range of each mode).
      
        Furthermore, this code doesn't actually get used for x86 (or any
        other target with XFmode support), because x86 uses BID not DPD and
        BID has its own conversion code (which handles conversions for both
        XFmode and TFmode without needing to go via strtold).  And FreeBSD
        and DragonFlyBSD aren't among the targets with DFP support.  So
        while in principle this code is fragile and it's a deficiency that
        it can't support both XFmode and TFmode at once (something that
        can't be solved with the string conversion approach without libc
        having TS 18661 functions such as strtof128), all these issues
        should not be a problem in practice.
      
      * If other cases of excess precision are supported in future, the code
        for defining __LIBGCC_*_EXCESS_PRECISION__ may need updating.
        Although the most likely such cases might not actually involve
        excess precision for any mode used in libgcc - FLT_EVAL_METHOD being
        32 to do _Float16 arithmetic on _Float32 should have the effect of
        _Complex _Float16 arithmetic using __mulsc3 and __divsc3, rather
        than currently nonexistent __mulhc3 and __divhc3 as in bug 63250 for
        ARM.
      
      * As has been noted in the context of simultaneous support for
        __float128 and __ibm128 on Power, the semantics of macros such as
        LONG_DOUBLE_TYPE_SIZE are problematic because they rely on a
        poorly-defined precision value for floating-point modes (which seems
        to be intended as the number of significant bits in the
        representation, e.g. 80 for XFmode which may be either 12 or 16
        bytes) uniquely identifying a mode (although defining an arbitrarily
        different value for one of the modes you wish to distinguish may
        work as a hack).  It would be cleaner to have a target hook that
        gives a machine mode directly for float, double and long double,
        rather than going via these precision values.  By eliminating all
        use of these macros (FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
        LONG_DOUBLE_TYPE_SIZE) from code built for the target, this patch
        facilitates such a conversion to a hook (which I suppose would take
        some suitable enum as an argument to identify which of the three
        types to return a mode for).
      
        (The issue of multiple type support for DFP conversions would apply
        in that Power case.
        <https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01084.html> doesn't
        seem to touch on it, but it would seem reasonable to punt on it
        initially as hard to fix.  There would also be the issue of getting
        functions such as __powikf2, __mulkc3, __divkc3 defined, but that's
        rather easier to address.)
      
      Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
      
      gcc:
      	* doc/tm.texi.in (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* doc/tm.texi: Regenerate.
      	* system.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Poison.
      	* config/alpha/alpha.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/i386/i386-interix.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
      	Remove.
      	* config/i386/i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/i386/rtemself.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/ia64/ia64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/m68k/m68k.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
      	Remove.
      	* config/mips/mips.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/mips/n32-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/msp430/msp430.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/rl78/rl78.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/rs6000/rs6000.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/rx/rx.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/s390/s390.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/sparc/freebsd.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/sparc/linux.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/sparc/linux64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	* config/sparc/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
      	Remove.
      
      gcc/c-family:
      	* c-cppbuiltin.c (c_cpp_builtins): Define
      	__LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
      	modes.
      
      libgcc:
      	* dfp-bit.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      	(__LIBGCC_XF_MANT_DIG__): Define if not already defined.
      	(LONG_DOUBLE_HAS_XF_MODE): Define in terms of
      	__LIBGCC_XF_MANT_DIG__.
      	(__LIBGCC_TF_MANT_DIG__): Define if not already defined.
      	(LONG_DOUBLE_HAS_TF_MODE): Define in terms of
      	__LIBGCC_TF_MANT_DIG__.
      	* libgcc2.c (NOTRUNC): Define in terms of
      	__LIBGCC_*_EXCESS_PRECISION__, not LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
      	* libgcc2.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
      
      From-SVN: r215491
      Joseph Myers committed
    • Daily bump. · 6c499348
      From-SVN: r215489
      GCC Administrator committed
  2. 22 Sep, 2014 21 commits
    • runtime: Mark runtime_goexit function as noinline. · 76deefd0
      If the compiler inlines this function into kickoff, it may reuse
      the TLS block address to load g. However, this is not necessarily
      correct, as the call to g->entry in kickoff may cause the TLS
      address to change. If the wrong value is loaded for g->status in
      runtime_goexit, it may cause a runtime panic.
      
      By marking the function as noinline we prevent the compiler from
      reusing the TLS address.
      
      From-SVN: r215484
      Ian Lance Taylor committed
    • charset.c (conversion): Rename to ... · d87fc699
      
      	* charset.c (conversion): Rename to ...
      	(cpp_conversion): ... this one; update.
      	* files.c (file_hash_entry): Rename to ...
      	(cpp_file_hash_entry): ... this one ; update.
      
      From-SVN: r215482
      Jan Hubicka committed
    • tree-ssa-ccp.c (prop_value_d): Rename to ... · 46842bfe
      
      	* tree-ssa-ccp.c (prop_value_d): Rename to ...
      	(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
      	* ipa-prop.c (struct type_change_info): Rename to ...
      	(prop_type_change_info): ... this; update uses.
      	* ggc-page.c (globals): Rename to ...
      	(static struct ggc_globals): ... this; update uses.
      	* tree-ssa-loop-im.c (mem_ref): Rename to ...
      	(im_mem_ref): ... this; update uses.
      	* ggc-common.c (loc_descriptor): Rename to ...
      	(ggc_loc_descriptor): ... this; update uses.
      	* lra-eliminations.c (elim_table): Rename to ...
      	(lra_elim_table): ... this; update uses.
      	* bitmap.c (output_info): Rename to ...
      	(bitmap_output_info): ... this; update uses.
      	* gcse.c (expr): Rename to ...
      	(gcse_expr) ... this; update uses.
      	(occr): Rename to ...
      	(gcse_occr): .. this; update uses.
      	* tree-ssa-copy.c (prop_value_d): Rename to ...
      	(prop_value_t): ... this.
      	* predict.c (block_info_def): Rename to ...
      	(block_info): ... this; update uses.
      	(edge_info_def): Rename to ...
      	(edge_info): ... this; update uses.
      	* profile.c (bb_info): Rename to ...
      	(bb_profile_info): ... this; update uses.
      	* alloc-pool.c (output_info): Rename to ...
      	(pool_output_info): ... this; update uses.
      	* ipa-cp.c (topo_info): Rename to ..
      	(ipa_topo_info): ... this; update uses.
      	* tree-nrv.c (nrv_data): Rename to ...
      	(nrv_data_t): ... this; update uses.
      	* ipa-split.c (bb_info): Rename to ...
      	(split_bb_info): ... this one.
      	* profile.h (edge_info): Rename to ...
      	(edge_profile_info): ... this one; update uses.
      	* dse.c (bb_info): Rename to ...
      	(dse_bb_info): ... this one; update uses.
      	* cprop.c (occr): Rename to ...
      	(cprop_occr): ... this one; update uses.
      	(expr): Rename to ...
      	(cprop_expr): ... this one; update uses.
      
      From-SVN: r215481
      Jan Hubicka committed
    • tree-ssa-ccp.c (prop_value_d): Rename to ... · 11478306
      
      	* tree-ssa-ccp.c (prop_value_d): Rename to ...
      	(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
      	* ipa-prop.c (struct type_change_info): Rename to ...
      	(prop_type_change_info): ... this; update uses.
      	* ggc-page.c (globals): Rename to ...
      	(static struct ggc_globals): ... this; update uses.
      	* tree-ssa-loop-im.c (mem_ref): Rename to ...
      	(im_mem_ref): ... this; update uses.
      	* ggc-common.c (loc_descriptor): Rename to ...
      	(ggc_loc_descriptor): ... this; update uses.
      	* lra-eliminations.c (elim_table): Rename to ...
      	(lra_elim_table): ... this; update uses.
      	* bitmap.c (output_info): Rename to ...
      	(bitmap_output_info): ... this; update uses.
      	* gcse.c (expr): Rename to ...
      	(gcse_expr) ... this; update uses.
      	(occr): Rename to ...
      	(gcse_occr): .. this; update uses.
      	* tree-ssa-copy.c (prop_value_d): Rename to ...
      	(prop_value_t): ... this.
      	* predict.c (block_info_def): Rename to ...
      	(block_info): ... this; update uses.
      	(edge_info_def): Rename to ...
      	(edge_info): ... this; update uses.
      	* profile.c (bb_info): Rename to ...
      	(bb_profile_info): ... this; update uses.
      	* alloc-pool.c (output_info): Rename to ...
      	(pool_output_info): ... this; update uses.
      	* ipa-cp.c (topo_info): Rename to ..
      	(ipa_topo_info): ... this; update uses.
      	* tree-nrv.c (nrv_data): Rename to ...
      	(nrv_data_t): ... this; update uses.
      	* ipa-split.c (bb_info): Rename to ...
      	(split_bb_info): ... this one.
      	* profile.h (edge_info): Rename to ...
      	(edge_profile_info): ... this one; update uses.
      	* dse.c (bb_info): Rename to ...
      	(dse_bb_info): ... this one; update uses.
      	* cprop.c (occr): Rename to ...
      	(cprop_occr): ... this one; update uses.
      	(expr): Rename to ...
      	(cprop_expr): ... this one; update uses.
      
      From-SVN: r215480
      Jan Hubicka committed
    • semantics.c (finish_non_static_data_member): In diagnostic, give error at point… · 6863c41a
      semantics.c (finish_non_static_data_member): In diagnostic, give error at point of use and note at point of declaration.
      
      	* semantics.c (finish_non_static_data_member): In diagnostic, give
      	error at point of use and note at point of declaration.
      
      From-SVN: r215479
      Jason Merrill committed
    • re PR c++/63320 (bogus ‘this’ was not captured for this lambda function error) · a546927c
      	PR c++/63320
      	PR c++/60463
      	PR c++/60755
      	* lambda.c (maybe_resolve_dummy, lambda_expr_this_capture): Handle
      	not finding 'this'.
      
      From-SVN: r215478
      Jason Merrill committed
    • re PR c++/62219 ([c++11] Spurious error for lambda in a friend function of a… · 05424ee6
      re PR c++/62219 ([c++11] Spurious error for lambda in a friend function of a class template with a default template parameters)
      
      /cp
      2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/62219
      	* pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P.
      
      /testsuite
      2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/62219
      	* g++.dg/cpp0x/lambda/lambda-template14.C: New.
      
      From-SVN: r215477
      Paolo Carlini committed
    • [Testsuite] Add tests of reductions using whole-vector-shifts (ior) · 69e69c01
      	* gcc.dg/vect/vect-reduc-or_1.c: New test.
      	* gcc.dg/vect/vect-reduc-or_2.c: New test.
      
      From-SVN: r215475
      Alan Lawrence committed
    • Makefile.in (check-parallel-%): Add @. · 2eac0853
      gcc/
      	* Makefile.in (check-parallel-%): Add @.
      libstdc++-v3/
      	* testsuite/Makefile.am (%/site.exp): Add @.
      	(check-DEJAGNU): Likewise.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r215474
      Jason Merrill committed
    • [Testsuite] Add tests of reductions using whole-vector-shifts (multiplication) · c50c91a9
      	* lib/target-supports.exp (check_effective_target_whole_vector_shift):
      	New.
      
      	* gcc.dg/vect/vect-reduc-mul_1.c: New test.
      	* gcc.dg/vect/vect-reduc-mul_2.c: New test.
      
      From-SVN: r215473
      Alan Lawrence committed
    • decl.c (poplevel): Don't warn about unused vars in template scope. · aed67566
      	* decl.c (poplevel): Don't warn about unused vars in template scope.
      	* error.c (dump_decl): Handle variable templates.
      
      From-SVN: r215472
      Jason Merrill committed
    • [AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c · f421c516
      gcc/
      
      	* config/aarch64/geniterators.sh: New.
      	* config/aarch64/iterators.md (VDQF_DF): New.
      	* config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h.
      	* config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove.
      
      From-SVN: r215471
      James Greenhalgh committed
    • Include <bits/uses_allocator.h> in <stack> and <queue>. · 7666d649
      	* include/bits/stl_queue.h: Include missing header.
      	* include/bits/stl_stack.h: Likewise.
      	* testsuite/23_containers/priority_queue/requirements/
      	uses_allocator.cc: New.
      	* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
      	* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
      
      From-SVN: r215470
      Jonathan Wakely committed
    • msp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent. · 0acc6765
      	* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
      	-lnosys when -msim absent.
      
      From-SVN: r215469
      Peter A. Bigot committed
    • status_cxx2011.xml: Update C++11 status. · bd0a790a
      	* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
      	* doc/xml/manual/status_cxx2014.xml: Update TS status.
      	* doc/html/manual/status.html: Regenerate.
      
      From-SVN: r215468
      Jonathan Wakely committed
    • mutex (try_lock): Do not swallow exceptions. · 726d3136
      	* include/std/mutex (try_lock): Do not swallow exceptions.
      	* testsuite/30_threads/try_lock/4.cc: Fix test.
      
      From-SVN: r215467
      Jonathan Wakely committed
    • Fix ChangeLog date in my last commit. · ed26fe9e
      From-SVN: r215466
      Jonathan Wakely committed
    • Workaround following [PATCH] Pul all constants last in tree_swap_operands_p · c71abde7
      https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
      gcc/:
              * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.
      
      From-SVN: r215465
      Alan Lawrence committed
    • Make streams movable and swappable. · 9b817548
      	PR libstdc++/54316
      	PR libstdc++/53626
      	* config/abi/pre/gnu.ver: Add new exports.
      	* config/io/basic_file_stdio.h (__basic_file): Support moving and
      	swapping.
      	* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
      	Likewise.
      	* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
      	Likewise.
      	* include/bits/fstream.tcc (basic_filebuf): Likewise.
      	* include/bits/move.h (__exchange): Define for C++11 mode.
      	* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
      	swapping.
      	* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
      	* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
      	basic_fstream): Likewise.
      	* include/std/ios: Remove whitespace.
      	* include/std/istream (basic_istream, basic_iostream): Support moving
      	and swapping.
      	* include/std/ostream (basic_ostream): Likewise.
      	* include/std/sstream (basic_stringbuf, basic_istringstream,
      	basic_ostringstream, basic_stringstream): Likewise.
      	* include/std/streambuf (basic_streambuf): Do not default copy
      	constructor and assignment on first declaration.
      	* include/std/utility (exchange): Forward to __exchange.
      	* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
      	* src/c++11/Makefile.am: Add stream-related files.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
      	New file for explicit instantiation definitions.
      	* src/c++11/ios.cc: Move from src/c++98 to here.
      	(ios_base::_M_move, ios_base::_M_swap): Define.
      	* src/c++11/ios-inst.cc: Move from src/c++98 to here.
      	* src/c++11/iostream-inst.cc: Likewise.
      	* src/c++11/istream-inst.cc: Likewise.
      	* src/c++11/ostream-inst.cc: Likewise.
      	* src/c++11/sstream-inst.cc: Likewise.
      	* src/c++11/streambuf-inst.cc: Likewise.
      	* src/c++98/Makefile.am: Remove stream-related files.
      	* src/c++98/Makefile.in: Regenerate.
      	* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
      	instantiations.
      	* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
      	* src/c++98/ios-inst.cc: Move to src/c++11/.
      	* src/c++98/ios.cc: Move to src/c++11/.
      	* src/c++98/iostream-inst.cc: Likewise.
      	* src/c++98/istream-inst.cc: Likewise.
      	* src/c++98/ostream-inst.cc: Likewise.
      	* src/c++98/sstream-inst.cc: Likewise.
      	* src/c++98/streambuf-inst.cc: Likewise.
      	* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
      	* testsuite/27_io/basic_fstream/cons/move.cc: New.
      	* testsuite/27_io/basic_fstream/assign/1.cc: New.
      	* testsuite/27_io/basic_ifstream/cons/move.cc: New.
      	* testsuite/27_io/basic_ifstream/assign/1.cc: New.
      	* testsuite/27_io/basic_istringstream/assign/1.cc: New.
      	* testsuite/27_io/basic_istringstream/cons/move.cc: New.
      	* testsuite/27_io/basic_ofstream/cons/move.cc: New.
      	* testsuite/27_io/basic_ofstream/assign/1.cc: New.
      	* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
      	* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
      	* testsuite/27_io/basic_stringstream/assign/1.cc: New.
      	* testsuite/27_io/basic_stringstream/cons/move.cc: New.
      
      From-SVN: r215463
      Jonathan Wakely committed
    • Add --inline option to contrib/mklog · 38278d8a
      2014-09-22  Tom de Vries  <tom@codesourcery.com>
      
      	* mklog: Add --inline option.
      
      From-SVN: r215462
      Tom de Vries committed
    • gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors around. · 931002b2
      2014-09-22  Richard Biener  <rguenther@suse.de>
      
      	* gimplify.c (gimplify_init_constructor): Do not leave
      	non-GIMPLE vector constructors around.
      	* tree-cfg.c (verify_gimple_assign_single): Verify that
      	CONSTRUCTORs have gimple elements.
      
      From-SVN: r215461
      Richard Biener committed