1. 30 Nov, 2016 19 commits
    • Implement LWG 2534, Constrain rvalue stream operators. · a7da4881
      * include/std/istream (__is_convertible_to_basic_istream): New.
      (__is_extractable): Likewise.
      (operator>>(basic_istream<_CharT, _Traits>&&, _Tp&&)):
      Turn the stream parameter into a template parameter
      and constrain.
      * include/std/ostream (__is_convertible_to_basic_ostream): New.
      (__is_insertable): Likewise.
      (operator<<(basic_ostream<_CharT, _Traits>&&, const _Tp&)):
      Turn the stream parameter into a template parameter
      and constrain.
      * testsuite/27_io/basic_istream/extractors_other/char/4.cc: New.
      * testsuite/27_io/basic_istream/extractors_other/wchar_t/4.cc:
      Likewise.
      * testsuite/27_io/basic_ostream/inserters_other/char/6.cc: Likewise.
      * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc: Likewise.
      
      From-SVN: r243006
      Ville Voutilainen committed
    • re PR fortran/78592 (ICE in gfc_find_specific_dtio_proc, at fortran/interface.c:4939) · 40109581
      2016-11-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78592
      	* interface.c (gfc_find_specific_dtio_proc): Rearrange code to avoid
      	dereferencing a null pointer.
      
      2016-11-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78592
      	* gfortran.dg/dtio_18.f90: New test case.
      
      From-SVN: r243005
      Janus Weil committed
    • Introduce -fdump-ipa-clones dump output · 0bdad123
      	* cgraph.c (symbol_table::initialize): Initialize
      	ipa_clones_dump_file.
      	(cgraph_node::remove): Report to ipa_clones_dump_file.
      	* cgraph.h: Add new argument (suffix) to cloning methods.
      	* cgraphclones.c (dump_callgraph_transformation): New function.
      	(cgraph_node::create_clone): New argument.
      	(cgraph_node::create_virtual_clone): Likewise.
      	(cgraph_node::create_version_clone): Likewise.
      	* dumpfile.c: Add .ipa-clones dump file.
      	* dumpfile.h (enum tree_dump_index): Add TDI_clones
      	* ipa-inline-transform.c (clone_inlined_nodes): Report operation
      	to dump_callgraph_transformation.
      
      From-SVN: r243004
      Martin Liska committed
    • Support nested functions (PR sanitizer/78541). · fb61d96c
      	PR sanitizer/78541
      	* gcc.dg/asan/pr78541-2.c: New test.
      	* gcc.dg/asan/pr78541.c: New test.
      	PR sanitizer/78541
      	* asan.c (asan_expand_mark_ifn): Properly
      	select a VAR_DECL from FRAME.* component reference.
      
      From-SVN: r243003
      Martin Liska committed
    • Add missing file · e03fb6ec
      From-SVN: r243002
      Martin Liska committed
    • [libstdc++, testsuite] Add dg-require-thread-fence · dfad822a
      2016-11-30  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* testsuite/experimental/type_erased_allocator/2.cc: Add
      	dg-require-thread-fence.
      
      From-SVN: r243001
      Christophe Lyon committed
    • simplify-rtx: Add missing line for previous commit (PR78583) · 2df22b5f
      The comment for the added case to simplify_truncation reads
      
        /* Turn (truncate:M1 (*_extract:M2 (reg:M2) (len) (pos))) into
           (*_extract:M1 (truncate:M1 (reg:M2)) (len) (pos')) if possible without
           changing len.  */
      
      but I forgot to check the two modes M2 are actually the same.
      
      
      	PR rtl-optimization/78583
      	* simplify-rtx.c (simplify_truncation): Add check missing from the
      	previous commit.
      
      From-SVN: r243000
      Segher Boessenkool committed
    • combine: Don't mess with subregs of floating point (PR78590) · 4a954e06
      PR78590 shows a problem in change_zero_ext, where we change a zero_extend
      of a subreg to a logical and.  We should only do this if the thing we are
      taking the subreg of is a scalar integer, otherwise we will take a subreg
      of (e.g.) a float in a different size, which is nonsensical and hits an
      assert.
      
      
      	PR rtl-optimization/78590
      	* combine.c (change_zero_ext): Transform zero_extend of subregs only
      	if the subreg_reg is a scalar integer mode.
      
      From-SVN: r242999
      Segher Boessenkool committed
    • re PR tree-optimization/78586 (Wrong code caused by printf-return-value) · 053d5e0c
      	PR tree-optimization/78586
      	* gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or
      	TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR.
      	Don't build_int_cst min/max twice.  Formatting fix.
      
      	* gcc.c-torture/execute/pr78586.c: New test.
      
      From-SVN: r242998
      Jakub Jelinek committed
    • Fix PR78588 - rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too… · ced17de6
      Fix PR78588 - rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type
      
      Building gcc with -fsanitize=undefined shows:
       rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type 'long unsigned int'
      
      This happens because if_then_else_cond() in combine.c calls
      num_sign_bit_copies() in rtlanal.c with mode==BLKmode.
      
      5205   bitwidth = GET_MODE_PRECISION (mode);
      5206   if (bitwidth > HOST_BITS_PER_WIDE_INT)
      5207     return 1;
      5208
      5209   nonzero = nonzero_bits (x, mode);
      5210   return nonzero & (HOST_WIDE_INT_1U << (bitwidth - 1))
      5211          ? 1 : bitwidth - floor_log2 (nonzero) - 1;
      
      This causes (bitwidth - 1) to wrap around.
      
      	PR rtl-optimization/78588
      	* combine.c (if_then_else_cond): Also guard against BLKmode.
      	* rtlanal.c (num_sign_bit_copies1): Add assert.
      
      From-SVN: r242997
      Markus Trippelsdorf committed
    • re PR fortran/78573 ([OOP] ICE in resolve_component, at fortran/resolve.c:13405) · a4f15a7d
      2016-11-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78573
      	* decl.c (build_struct): On error, return directly and do not build
      	class symbol.
      
      2016-11-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/78573
      	* gfortran.dg/class_61.f90: New test case.
      
      From-SVN: r242996
      Janus Weil committed
    • arc-common.c (arc_handle_option): Remove unused variables. · a195e177
              * common/config/arc/arc-common.c (arc_handle_option): Remove unused
              variables.
      
      From-SVN: r242994
      Jeff Law committed
    • lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and… · 48855443
      lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and SCLASS to avoid false positive out of bounds...
      
      	* lra-constraints.c (check_and_process_move): Constrain the
      	range of DCLASS and SCLASS to avoid false positive out of bounds
      	array index warning.
      
      From-SVN: r242993
      Jeff Law committed
    • runtime: fixes for -buildmode=c-archive · fbe9724c
          
          With -buildmode=c-archive, initsig is called before the memory
          allocator has been initialized.  The code was doing a memory
          allocation because of the call to funcPC(sigtramp).  When escape
          analysis is fully implemented, that call should not allocate.  For
          now, finesse the issue by calling a C function to get the C function
          pointer value of sigtramp.
          
          When returning from a call from C to a Go function, a deferred
          function is run to go back to syscall mode.  When the call occurs on a
          non-Go thread, that call sets g to nil, making it impossible to add
          the _defer struct back to the pool.  Just drop it and let the garbage
          collector clean it up.
          
          Reviewed-on: https://go-review.googlesource.com/33675
      
      From-SVN: r242992
      Ian Lance Taylor committed
    • Remove stray character from install.texi · f521b293
      gcc/ChangeLog:
      	* doc/install.texi (--with-target-bdw-gc): Remove stray '@'.
      
      From-SVN: r242991
      David Malcolm committed
    • substring locations and # line directives (PR preprocessor/78569) · 94f597df
      The ICE in PR preprocessor/78569 appears to be due to an attempt to
      generate substring locations in a .i file where the underlying .c file
      has changed since the .i file was generated.
      
      This can't work, so it seems safest for the on-demand substring
      locations to be unavailable for such files, falling back to
      "whole string" locations for such cases.
      
      gcc/ChangeLog:
      	PR preprocessor/78569
      	* input.c (get_substring_ranges_for_loc): Fail gracefully if
      	line directives were present.
      
      gcc/testsuite/ChangeLog:
      	PR preprocessor/78569
      	* gcc.dg/format/pr78569.c: New test case.
      
      From-SVN: r242990
      David Malcolm committed
    • Daily bump. · 3517d13b
      From-SVN: r242988
      GCC Administrator committed
    • Makefile.def: Remove reference to boehm-gc target module. · 114bf3f1
      <toplevel>
      
      2016-11-30  Matthias Klose  <doko@ubuntu.com>
      
              * Makefile.def: Remove reference to boehm-gc target module.
              * configure.ac: Include pkg.m4, check for --with-target-bdw-gc
              options and for the bdw-gc pkg-config module.
              * configure: Regenerate.
              * Makefile.in: Regenerate.
      
      gcc/
      
      2016-11-30  Matthias Klose  <doko@ubuntu.com>
      
              * doc/install.texi: Document configure options --enable-objc-gc
              and --with-target-bdw-gc.
      
      config/
      
      2016-11-30  Matthias Klose  <doko@ubuntu.com>
      
              * pkg.m4: New file.
      
      libobjc/
      
      2016-11-30  Matthias Klose  <doko@ubuntu.com>
      
              * configure.ac (--enable-objc-gc): Allow to configure with a
              system provided boehm-gc.
              * configure: Regenerate.
              * Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure.
              * gc.c: Include system bdw-gc headers.
              * memory.c: Likewise
              * objects.c: Likewise
      
      boehm-gc/
      
      2016-11-30  Matthias Klose  <doko@ubuntu.com>
      
              Remove
      
      From-SVN: r242985
      Matthias Klose committed
    • re PR target/78594 (Bug in November 11th, 2016 change to rs6000.md) · a2b403c8
      2016-11-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78594
      	* config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add
      	'x' to stxsi<wd>x print pattern, so that QImode and HImode values
      	residing in traditional altivec registers can be stored
      	correctly.
      
      From-SVN: r242983
      Michael Meissner committed
  2. 29 Nov, 2016 21 commits