1. 07 Feb, 2019 4 commits
  2. 06 Feb, 2019 18 commits
    • re PR rtl-optimization/89225 (LRA hang on ppc64le compiling glibc starting with r268404) · f8dc3fb2
      2019-02-06  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/89225
      	* lra-constaints.c (simplify_operand_subreg): Add subreg mode
      	sizes check.
      
      2019-02-06  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/89225
      	* gcc.target/powerpc/pr89225.c: New.
      
      From-SVN: r268597
      Vladimir Makarov committed
    • i386.c (ix86_expand_prologue): Emit a memory blockage after restoring registers… · a4f73f96
      i386.c (ix86_expand_prologue): Emit a memory blockage after restoring registers saved to allocate the frame on...
      
      	* config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
      	after restoring registers saved to allocate the frame on Windows.
      
      From-SVN: r268593
      Eric Botcazou committed
    • * eo.po: Update. · 2f2205e2
      From-SVN: r268592
      Joseph Myers committed
    • re PR go/89199 (libgo regression in implementation of CompareAndSwap functions… · 73fe55d7
      re PR go/89199 (libgo regression in implementation of CompareAndSwap functions resulting in intermittent testcase failures on ppc64le power9 after r268458)
      
      	PR go/89199
          sync/atomic: use strong form of atomic_compare_exchange_n
          
          In the recent change to use atomic_compare_exchange_n I thought we
          could use the weak form, which can spuriously fail. But that is not
          how it is implemented in the gc library, and it is not what the rest
          of the library expects.
          
          Thanks to Lynn Boger for identifying the problem.
          
          Fixes https://gcc.gnu.org/PR89199
          
          Reviewed-on: https://go-review.googlesource.com/c/161359
      
      From-SVN: r268591
      Ian Lance Taylor committed
    • re PR fortran/71860 ([OOP] ICE on pointing to null(mold), verify_gimple failed) · 16e2bcd5
      2019-02-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/71860
      	* gfortran.dg/null_10.f90: New test.
      
      From-SVN: r268590
      Thomas Koenig committed
    • Fix locations in conversion_null_warnings (PR c++/71302) · aa9dc193
      PR c++/71302 reports that g++ shows poor locations for
      -Wzero-as-null-pointer-constant for pointers in function calls,
      using the close parenthesis of the call, rather than showing the
      pertinent argument.
      
      This particular case was fixed in GCC 8, but regressed on trunk
      in r260973.
      
      This patch fixes the regression, and adds column numbers to the
      test cases (where they're correct) to avoid regressing them in the
      future.  There are still various places where the locations aren't
      correct, but fixing them isn't stage 4 material.
      
      gcc/cp/ChangeLog:
      	PR c++/71302
      	* call.c (get_location_for_expr_unwinding_for_system_header): New
      	function.
      	(conversion_null_warnings): Use it when getting locations for
      	EXPR, effectively adding a call to
      	get_location_for_expr_unwinding_for_system_header for
      	-Wconversion-null and making use of EXPR_LOCATION for
      	-Wzero-as-null-pointer-constant.
      
      gcc/testsuite/ChangeLog:
      	PR c++/71302
      	* g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Add expected
      	column numbers to dg-warning directives where they are correct.
      	* g++.dg/warn/Wzero-as-null-pointer-constant-5.C: Likewise.
      	* g++.dg/warn/Wzero-as-null-pointer-constant-7.C: Likewise.
      	* g++.dg/warn/Wzero-as-null-pointer-constant-8.C: New test.
      
      From-SVN: r268589
      David Malcolm committed
    • Fix gcc.dg/debug/dwarf2/inline5.c with Solaris as (PR debug/87451) · d0307ff2
      	PR debug/87451
      	* gcc.dg/debug/dwarf2/inline5.c: Allow for non-comment before
      	"(DIE (0x[0-9a-f]*) DW_TAG_variable".
      	xfail scan-assembler-not with Solaris as.
      
      From-SVN: r268588
      Rainer Orth committed
    • * ru.po: Update. · d24b0ba3
      From-SVN: r268587
      Joseph Myers committed
    • PR libstdc++/89102 fix common_type<> and common_type<T> specializations · 373c726e
      This is a partial implementation of the revised std::common_type rules
      from P0435R1.
      
      	PR libstdc++/89102 (partial)
      	* include/std/type_traits (common_type<>): Define.
      	(common_type<T>): Derive from common_type<T, T>.
      	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
      	Test zero-length template argument list.
      	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
      	Test additional single argument cases.
      	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
      	Adjust expected error.
      
      From-SVN: r268586
      Jonathan Wakely committed
    • vsx-vector-6.p7.c: Update instruction counts and target. · 12f82acc
      2019-02-06  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vsx-vector-6.p7.c: Update instruction
      	counts and target.
      	* gcc.target/powerpc/vsx-vector-6.p8.c: Update instruction
      	counts and target.
      	* gcc.target/powerpc/vsx-vector-6.p9.c: Update instruction
      	counts and target.
      
      From-SVN: r268585
      Bill Seurer committed
    • s-linux__x32.ads: Resync list of signals with s-linux.ads · b49fa5e0
      	* libgnarl/s-linux__x32.ads: Resync list of signals with s-linux.ads
      
      From-SVN: r268576
      Arnaud Charlet committed
    • re PR tree-optimization/89182 ([graphite] ICE in extract_affine, at graphite-sese-to-poly.c:280) · 124f4f57
      2019-02-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/89182
      	* graphite.h (cached_scalar_evolution_in_region): Declare.
      	* graphite.c (struct seir_cache_key): New.
      	(struct sese_scev_hash): Likewise.
      	(seir_cache): New global.
      	(cached_scalar_evolution_in_region): New function.
      	(graphite_transform_loops): Allocate and release seir_cache.
      	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
      	cached_scalar_evolution_in_region.
      	* graphite-scop-detection.c (scop_detection::can_represent_loop):
      	Simplify.
      	(scop_detection::graphite_can_represent_expr: Use
      	cached_scalar_evolution_in_region.
      	(scop_detection::stmt_simple_for_scop_p): Likewise.
      	(find_params_in_bb): Likewise.
      	(gather_bbs::before_dom_children): Likewise.
      	* graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
      	(add_loop_constraints): Likewise.
      
      	* gfortran.dg/graphite/pr89182.f90: New testcase.
      
      From-SVN: r268575
      Richard Biener committed
    • re PR c/89211 (ICE in int_mode_for_mode, at stor-layout.c:403) · cfc30fd1
      	PR c/89211
      	* c-parser.c (c_parser_declaration_or_fndef): Don't update
      	DECL_ARGUMENTS of d if it has been defined already.  Use a single if
      	instead of 3 nested ifs.
      
      	* gcc.dg/pr89211.c: New test.
      
      From-SVN: r268574
      Jakub Jelinek committed
    • re PR middle-end/89210 (ICE tree check: expected integer_cst, have real_cst in… · 47635817
      re PR middle-end/89210 (ICE tree check: expected integer_cst, have real_cst in to_wide, at tree.h:5600)
      
      	PR middle-end/89210
      	* fold-const-call.c (fold_const_vec_convert): Pass true as last
      	operand to new_unary_operation only if both element types are integral
      	and it isn't a widening conversion.  Return NULL_TREE if
      	new_unary_operation failed.
      
      	* c-c++-common/builtin-convertvector-2.c: New test.
      
      From-SVN: r268573
      Jakub Jelinek committed
    • re PR go/89019 (LTO and gccgo cause ICE during free_lang_data) · ce4321c9
      gcc/go:
              PR go/89019
              * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
              placeholder structs as requiring structural equality.
              (Gcc_backend::set_placeholder_pointer_type): Propagate the
      	canonical type from the desired pointer type to the placeholder
      	pointer type.
      gcc/testsuite/:
              * lib/go-torture.exp: Test compiling with -flto.
      
      From-SVN: r268572
      Nikhil Benesch committed
    • Fix type of extern array declared in inner scope with outer initialization shadowed (PR c/88584). · fbe83e6b
      As reported in bug 88584, if you have a file-scope array with external
      linkage, initialized at file scope, and that array is shadowed at
      block scope, and is declared again with external linkage and an
      incomplete type in an inner scope, it is wrongly given a complete type
      in that inner scope when the correct C semantics give it an incomplete
      type (only the visible declarations contribute to the type in a given
      scope).
      
      In general, issues with the types of external linkage declarations
      being different in different scopes were addressed by my fixes for bug
      13801, for GCC 4.0.  In this case, however, the code in pushdecl
      dealing with giving declarations the right type in each scope works
      fine, and the type is subsequently modified by complete_array_type
      called from finish_decl: finish_decl is trying to complete an array
      type based on an initializer, but that's only correct for the original
      initialization at file scope, not for such a declaration in an inner
      scope (it's harmless but unnecessary in the case where the original
      declaration is still visible in the inner scope).  Thus, this patch
      changes finish_decl to stop this logic applying for such an external
      declaration in an inner scope.  (An erroneous attempt to include an
      initializer for an extern variable in an inner scope is diagnosed
      elsewhere.)
      
      This is a regression from GCC 3.4, which properly rejected the code in
      question (quite likely by accident).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc/c:
      	PR c/88584
      	* c-decl.c (finish_decl): Do not complete array types for arrays
      	with external linkage not at file scope.
      
      gcc/testsuite:
      	PR c/88584
      	* gcc.dg/redecl-18.c: New test.
      
      From-SVN: r268571
      Joseph Myers committed
    • Daily bump. · e9f061bd
      From-SVN: r268570
      GCC Administrator committed
  3. 05 Feb, 2019 18 commits
    • Update .po files. · 4f2f8148
      gcc/po:
      	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
      	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
      	zh_TW.po: Update.
      
      libcpp/po:
      	* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
      	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
      	vi.po, zh_CN.po, zh_TW.po: Update.
      
      From-SVN: r268567
      Joseph Myers committed
    • PR libstdc++/89128 add deduction guides for container adaptors · 5bb89e0a
      	PR libstdc++/89128
      	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
      	guides.
      	* include/bits/stl_stack.h (stack): Likewise.
      	* testsuite/23_containers/priority_queue/deduction.cc: New test.
      	* testsuite/23_containers/queue/deduction.cc: New test.
      	* testsuite/23_containers/stack/deduction.cc: New test.
      
      From-SVN: r268566
      Jonathan Wakely committed
    • re PR c++/89187 (ICE in initialize_argument_information, at calls.c:2023) · d397e394
      	PR c++/89187
      	* optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on
      	PARM_DECLs of the thunk.
      	* lambda.c (maybe_add_lambda_conv_op): Likewise.
      
      	* g++.dg/opt/pr89187.C: New test.
      
      From-SVN: r268564
      Jakub Jelinek committed
    • libgccjit: introduce gcc_jit_context_add_driver_option · 216090cc
      gcc/jit/ChangeLog:
      2019-02-05  Andrea Corallo <andrea.corallo@arm.com>
      
      	* docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag.
      	* docs/topics/contexts.rst (Additional driver options): New
      	section.
      	* jit-playback.c (invoke_driver): Add call to append_driver_options.
      	* jit-recording.c: Within namespace gcc::jit...
      	(recording::context::~context): Free the optnames within
      	m_driver_options.
      	(recording::context::add_driver_option): New method.
      	(recording::context::append_driver_options): New method.
      	(recording::context::dump_reproducer_to_file): Add driver
      	options.
      	* jit-recording.h: Within namespace gcc::jit...
      	(recording::context::add_driver_option): New method.
      	(recording::context::append_driver_options): New method.
      	(recording::context::m_driver_options): New field.
      	* libgccjit++.h (gccjit::context::add_driver_option): New
      	method.
      	* libgccjit.c (gcc_jit_context_add_driver_option): New API
      	entrypoint.
      	* libgccjit.h (gcc_jit_context_add_driver_option): New API
      	entrypoint.
      	(LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New
      	macro.
      	* libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag.
      
      gcc/testsuite/ChangeLog:
      2019-02-05  Andrea Corallo <andrea.corallo@arm.com>
      
      	* jit.dg/add-driver-options-testlib.c: Add support file for
      	test-add-driver-options.c testcase.
      	* jit.dg/all-non-failing-tests.h: Add note about
      	test-add-driver-options.c
      	* jit.dg/jit.exp (jit-dg-test): Update to support
      	add-driver-options-testlib.c compilation.
      	* jit.dg/test-add-driver-options.c: New testcase.
      
      From-SVN: r268563
      Andrea Corallo committed
    • re PR rtl-optimization/11304 (Wrong code production with -fomit-frame-pointer) · 6fc4ecbc
      	PR rtl-optimization/11304
      	* gcc.target/i386/call-1.c (set_eax): Add "eax" clobber.
      	* gcc.target/i386/call-2.c: New test.
      
      From-SVN: r268562
      Jakub Jelinek committed
    • PR c++/89158 - by-value capture of constexpr variable broken. · 0d806438
      	* call.c (convert_like_real) <case ck_user>: Call mark_exp_read
      	instead of mark_rvalue_use.
      
      	* g++.dg/cpp0x/lambda/lambda-89158.C: New test.
      
      From-SVN: r268561
      Marek Polacek committed
    • compiler: check duplicate implicit indexes in slices/arrays · b81e1cd5
          
          Fixes golang/go#28186.
          
          Reviewed-on: https://go-review.googlesource.com/c/160832
      
      From-SVN: r268554
      Ian Lance Taylor committed
    • Fix pr84711.c testcase · 959dcbc8
      On powerpc64-linux, this testcase complains the ABI for vector args
      has changed, making the testcase fail (excess output).  This patch
      shuts up that warning.
      
      
      	* gcc.dg/vect/pr84711.c: Use -Wno-psabi.
      
      From-SVN: r268553
      Segher Boessenkool committed
    • S/390: Remove load and test fp splitter · 64c8e85a
      gcc/ChangeLog:
      
      2019-02-05  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	PR target/88856
      	* config/s390/s390.md: Remove load and test FP splitter.
      
      From-SVN: r268550
      Andreas Krebbel committed
    • re PR target/89112 (Incorrect code generated by rs6000 memcmp expansion) · faaeebd6
      2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/89112
      	* config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
      	expand_compare_loop, expand_block_compare_gpr,
      	expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
      	REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
      	#include "profile-count.h" and "predict.h" for types and functions
      	needed to work with REG_BR_PROB notes.
      
      From-SVN: r268547
      Aaron Sawdey committed
    • re PR target/89112 (Incorrect code generated by rs6000 memcmp expansion) · 60f34f08
      2019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
      
      	PR target/89112
      	* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
      	for the long branch case.
      
      From-SVN: r268546
      Aaron Sawdey committed
    • vec-extract-sint128-1.c: Require int128 effective target. · 44381cb6
      	* gcc.target/powerpc/vec-extract-sint128-1.c: Require int128 effective
      	target.
      	* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.
      
      From-SVN: r268545
      Jakub Jelinek committed
    • re PR target/89188 (ICE in pre_and_rev_post_order_compute, at cfganal.c:1055) · c6477561
      	PR target/89188
      	* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
      	can throw, non-call exceptions are enabled and we can't delete
      	dead exceptions or alter cfg.  Set must_clean if
      	delete_insn_and_edges returns true, don't set it blindly for calls.
      	Assert that delete_unreachable_blocks is called only if can_alter_cfg.
      
      	* g++.dg/opt/pr89188.C: New test.
      
      From-SVN: r268544
      Jakub Jelinek committed
    • PR libstdc++/89194 untangle is_convertible and is_nothrow_convertible · ed99e818
      The additional logic added to __is_convertible_helper in order to
      support is_nothrow_convertible makes some uses of is_convertible
      ill-formed. This appears to be due to PR c++/87603, but can be avoided
      just by defining a separate helper for is_nothrow_convertible. The same
      problems are likely to still exist for is_nothrow_convertible, but that
      is new and so won't cause regressions for existing users of
      is_convertible.
      
      	PR libstdc++/89194
      	* include/std/type_traits (__is_convertible_helper)
      	(__is_convertible_helper<_From, _To, false>): Revert changes to
      	support is_nothrow_convertible.
      	(__is_nt_convertible_helper): New helper.
      	(is_nothrow_convertible): Use __is_nt_convertible_helper.
      
      From-SVN: r268543
      Jonathan Wakely committed
    • re PR rtl-optimization/89195 (Corrupted stack offset after combine) · 7356fbde
      	PR rtl-optimization/89195
      	* combine.c (make_extraction): For MEMs, don't extract bytes outside
      	of the original MEM.
      
      	* gcc.c-torture/execute/pr89195.c: New test.
      
      From-SVN: r268542
      Jakub Jelinek committed
    • vec-extract-slong-1.c: Require p8 execution hardware. · cff2ddc9
      gcc/testsuite/ChangeLog:
      
      2019-02-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/vec-extract-slong-1.c: Require p8 execution
      	hardware.
      	* gcc.target/powerpc/vec-extract-schar-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sint128-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sshort-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-ulong-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uchar-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-sint-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uint128-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-ushort-1.c: Likewise.
      	* gcc.target/powerpc/vec-extract-uint-1.c: Likewise.
      
      From-SVN: r268541
      Kelvin Nilsen committed
    • re PR tree-optimization/88606 (ICE: verify_type failed (error: type variant… · f461f938
      re PR tree-optimization/88606 (ICE: verify_type failed (error: type variant differs by TYPE_TRANSPARENT_AGGR))
      
      2019-02-05  Richard Biener  <rguenther@suse.de>
      
      	PR c/88606
      	* c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on
      	all type variants when not supported.
      
      From-SVN: r268540
      Richard Biener committed
    • Restore previous behaviour of test · 39bc6f87
      Go back to using CopyConsOnlyType as before r265485, because it works
      again now. Add test using DelAnyAssign for completeness and additional
      coverage.
      
      	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: Restore
      	use of CopyConsOnlyType, but also test DelAnyAssign for completeness.
      
      From-SVN: r268539
      Jonathan Wakely committed