1. 09 Jun, 2017 29 commits
  2. 08 Jun, 2017 11 commits
    • rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vec_eqv. · 271be653
      [gcc]
      
      2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling
      	for early expansion of vec_eqv.
      
      [gcc/testsuite]
      
      2017-06-08  Will Schmidt  <will_schmidt@vnet.ibm.com>
      
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-char.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-float.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-floatdouble.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-int.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-longlong.c: New.
      	* testsuite/gcc.target/powerpc/fold-vec-logical-eqv-short.c: New.
      
      From-SVN: r249040
      Will Schmidt committed
    • re PR c/81006 (ICE with zero-size array and #pragma omp task depend) · 8ab7005b
      	PR c/81006
      	* c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
      	to sizetype before size_binop.
      
      	* semantics.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
      	to sizetype before size_binop.
      
      	* c-c++-common/gomp/pr81006.c: New test.
      
      From-SVN: r249035
      Jakub Jelinek committed
    • libgo: update to 1.8.3 release · 20e96b48
          
          Reviewed-on: https://go-review.googlesource.com/45150
      
      From-SVN: r249033
      Ian Lance Taylor committed
    • re PR c++/81011 (ICE with #pragma omp task and inaccessible copy-constructor) · 34361776
      	PR c++/81011
      	* cp-gimplify.c (cxx_omp_finish_clause): When changing clause
      	to OMP_CLAUSE_SHARED, also clear OMP_CLAUSE_SHARED_FIRSTPRIVATE
      	and OMP_CLAUSE_SHARED_READONLY flags.
      
      	* g++.dg/gomp/pr81011.C: New test.
      
      From-SVN: r249031
      Jakub Jelinek committed
    • re PR middle-end/81005 (-fsanitize=null and -fsanitize=alignment doesn't check… · 0d05f685
      re PR middle-end/81005 (-fsanitize=null and -fsanitize=alignment doesn't check aggregate arguments of calls)
      
      	PR middle-end/81005
      	* ubsan.c (instrument_null): Avoid pointless code temporary.
      	(pass_ubsan::execute): Instrument aggregate arguments of calls.
      
      	* c-c++-common/ubsan/align-10.c: New test.
      	* c-c++-common/ubsan/null-13.c: New test.
      
      From-SVN: r249030
      Jakub Jelinek committed
    • compiler: lvalue context fixes in Unary_expression::do_get_backend · 3159d897
          
          A couple of the Backend::var_expression invocations in
          Unary_expression::do_get_backend were selecting "lvalue" context
          incorrectly (these var exprs were not in an assignment or LHS
          position); fix is to change back to "rvalue" context.
          
          Reviewed-on: https://go-review.googlesource.com/45136
      
      From-SVN: r249029
      Ian Lance Taylor committed
    • re PR target/81015 (Bad codegen for __builtin_clz(unsigned short)) · 2163b9bc
      	PR target/81015
      	Revert:
      	2016-12-14  Uros Bizjak  <ubizjak@gmail.com>
      
      	PR target/59874
      	* config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
      	(*clzhi2): Ditto.
      
      testsuite/ChangeLog:
      
      	PR target/81015
      	* gcc.target/i386/pr59874-1.c (foo): Call __builtin_ctzs.
      	* gcc.target/i386/pr59874-2.c (foo): Call __builtin_clzs.
      	* gcc.target/i386/pr81015.c: New test.
      
      From-SVN: r249028
      Uros Bizjak committed
    • Remove NO_TRAMPOLINES · 73f49ad7
      2017-06-08  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c-torture/compile/930506-2.c: Use dg-require-effective-target
      	trampolines instead of NO_TRAMPOLINES.
      	* gcc.c-torture/execute/20000822-1.c: Same.
      	* gcc.c-torture/execute/920428-2.c: Same.
      	* gcc.c-torture/execute/920501-7.c: Same.
      	* gcc.c-torture/execute/920612-2.c: Same.
      	* gcc.c-torture/execute/921017-1.c: Same.
      	* gcc.c-torture/execute/921215-1.c: Same.
      	* gcc.c-torture/execute/931002-1.c: Same.
      	* gcc.c-torture/execute/comp-goto-2.c: Same.
      	* gcc.c-torture/execute/nestfunc-1.c: Same.
      	* gcc.c-torture/execute/nestfunc-2.c: Same.
      	* gcc.c-torture/execute/nestfunc-3.c: Same.
      	* gcc.c-torture/execute/nestfunc-5.c: Same.
      	* gcc.c-torture/execute/nestfunc-6.c: Same.
      	* gcc.c-torture/execute/pr24135.c: Same.
      	* gcc.dg/Wtrampolines.c: Same.
      	* gcc.dg/torture/stackalign/comp-goto-1.c: Same.
      	* gcc.dg/torture/stackalign/nested-5.c: Same.
      	* gcc.dg/torture/stackalign/nested-6.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-3.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-4.c: Same.
      	* gcc.dg/torture/stackalign/non-local-goto-5.c: Same.
      	* gcc.dg/trampoline-1.c: Same.
      	* gcc.dg/tree-prof/pr44777.c: Same.
      	* gcc.target/i386/pr67770.c: Same.
      	* lib/gcc.exp (gcc_target_compile): Remove appending of
      	-DNO_TRAMPOLINES to additional_flags.
      	* lib/objc.exp (objc_target_compile): Same.
      
      From-SVN: r249027
      Tom de Vries committed
    • Fix no_trampolines test in check_effective_target_trampolines · b9835925
      2017-06-08  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/target-supports.exp (check_effective_target_trampolines): Test for
      	'gcc,no_trampolines' instead of 'no_trampolines'.
      
      From-SVN: r249026
      Tom de Vries committed
    • predict.c (unlikely_executed_edge_p): Move ahead. · 5591f0dd
      	* predict.c (unlikely_executed_edge_p): Move ahead.
      	(probably_never_executed_edge_p): Use it.
      
      From-SVN: r249025
      Jan Hubicka committed
    • compiler: fix undefined symbol error with unexported method · dadcc51c
          
          When an interface I1 in an imported package has an unexported method,
          and is then embedded into another interface I2, in a different
          package, that has other methods, and a type T2 is converted to I2, we
          failed to ever define the required interface method table.  Naturally
          T2 must implement the unexported method, and must therefore either be
          defined in the same package as I1, or embed a type from that package.
          In this case the compiler was assuming that that package would define
          the interface method table, but of course, since I2 was not defined in
          that package, that did not happen.
          
          The fix is to only assume that the interface method table will be
          defined elsewhere in the case where T2 and I2 are defined in the same
          package.  The compiler ensures that all such interface method tables
          are created, in Gogo::build_interface_method_tables.  This requires
          knowing the package in which an interface type is defined, a simple
          tweak to the importer.
          
          Testing this revealed that the special case for stub methods created
          for the embedded unexported methods of T2 needs to be done for
          function declarations as it currently is for function definitions, so
          that the newly created interface method tables use the correct name.
          
          Testing that revealed that the code to determine the pkgpath symbol
          for such stub methods was wrong.  It assumed that one could call
          pkgpath_for_symbol on the pkgpath to get the pkgpath symbol.  Would
          that it twere so simple.  Instead, add a function to look up the
          package, which must be known, and fetch the pkgpath symbol.
          
          The test for this is https://golang.org/cl/45085.
          
          Reviewed-on: https://go-review.googlesource.com/45086
      
      From-SVN: r249024
      Ian Lance Taylor committed