1. 11 Apr, 2019 15 commits
  2. 10 Apr, 2019 14 commits
  3. 09 Apr, 2019 11 commits
    • c-ada-spec.c (print_destructor): Deal with deleting destructors. · 53a3f614
      	* c-ada-spec.c (print_destructor): Deal with deleting destructors.
      	(dump_ada_declaration) <FUNCTION_DECL>: Likewise.
      
      From-SVN: r270239
      Eric Botcazou committed
    • Add comments and style fixes to <variant> · 9d89b73c
      	* include/std/variant: Adjust whitespace. Add comments.
      	(_Multi_array): Leave primary template undefined.
      	(_Multi_array<_Tp>): Define partial specialization for base case of
      	recursion.
      	(__gen_vtable_impl, __gen_vtable): Remove redundant && from type
      	which is always a reference.
      	(__gen_vtable::_S_apply()): Remove function, inline body into
      	default member initializer.
      	* testsuite/20_util/variant/visit.cc: Test with noncopyable types.
      
      From-SVN: r270238
      Jonathan Wakely committed
    • Fix std::visit to support arbitrary callables · 8701cb5e
      The __visitor_result_type helper didn't use std::invoke and so didn't
      compile when the visitor was a pointer-to-member rather than a function
      object. Use std::invoke_result instead.
      
      	* include/std/variant (__variant_idx_cookie): Add member type.
      	(__visitor_result_type): Remove.
      	(__do_visit): Use invoke_result instead of __visitor_result_type.
      	* testsuite/20_util/variant/visit.cc: New test.
      
      From-SVN: r270237
      Jonathan Wakely committed
    • PR libstdc++/90008 remove unused capture from variant rel ops · bc203bf0
      	PR libstdc++/90008
      	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Remove
      	unused capture.
      	* testsuite/20_util/variant/90008.cc: New test.
      
      From-SVN: r270236
      Jonathan Wakely committed
    • * gcc.target/i386/ifcvt-onecmpl-abs-1.c · 51d63c03
      	(dg-options): Use -O2 -fdump-rtl-ce1.
      	(dg-final): Scan ce1 RTL dump instead of asm dump.
      
      From-SVN: r270234
      Uros Bizjak committed
    • Add PSTL internal namespace qualifications · 0360f9ad
      	* include/pstl/algorithm_impl.h: Add namespace qualification.
      	* include/pstl/execution_defs.h: Add namespace qualification.
      	* include/pstl/execution_impl.h: Add namespace qualification.
      	* include/pstl/numeric_impl.h: Add namespace qualification.
      	* include/pstl/parallel_backend_tbb.h: Add namespace qualification.
      	* include/pstl/unseq_backend_simd.h: Add namespace qualification.
      	* include/pstl/parallel_backend_utils.h: Include <cassert>.
      
      From-SVN: r270231
      Thomas Rodgers committed
    • re PR translation/90011 (trailing space in diagnostic) · 8a22feb6
      	PR translation/90011
      	* typeck2.c (check_narrowing): Remove trailing space from diagnostics.
      
      From-SVN: r270229
      Jakub Jelinek committed
    • Hi there, · e009dfb3
      The "*neon_mov<mode>" patterns for 128 bit sized quantities uses the "Dn"
      constraint to match vmov.f32 and vmov.i<vec-width> patterns.
      This constraint boils down to using the `neon_immediate_valid` function.
      Once the constraint has matched, the output C statement asserts that function
      passes.
      
      The output C statement calls `neon_immediate_valid` with the mode taken from the
      iterator, while the constraint takes the mode from the operand.
      This can cause a discrepency when the operand is a CONST_INT, as the constraint
      passes VOIDmode which `neon_immediate_valid` treats as DImode, while the C
      statement passes the mode of the iterator which can be TImode.
      When this happens, the `neon_immediate_valid` can fail in the second call (if
      e.g. the CONST_INT is a valid immediate in DImode but not TImode) which would
      trigger the assertion.
      
      The testcase added with this patch triggers this when compiled with an arm cross
      compiler using the command line below.
      gcc -march=armv8-a -c neon-immediate-timode.c -O1 -mfloat-abi=hard -mfpu=neon-fp-armv8
      
      This patch splits the original "Dn" constraint into three new constraints, "DN"
      for TImode CONST_INT, "Dn" for DImode CONST_INT, and "Dm" for CONST_VECTOR.
      Splitting things up this way requires using one extra alternative in the
      "*neon_mov<mode>" patterns, but makes it clear from the constraint what mode is
      being used.
      
      We also remove the behaviour of treating VOIDmode as DImode in
      `neon_valid_immediate` since the original "Dn" constraint was the only place
      that functionality was used.  VOIDmode is now never passed to that function.
      An assertion has been added to the function to ensure this problem is caught
      earlier on.
      
      Bootstrapped on arm-none-linux-gnueabihf
      Regtested on cross-compiler arm-none-eabi
      
      gcc/ChangeLog:
      
      2019-04-09  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/90024
      	* config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter.
      	* config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint
      	into three.
      	* config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode
      	differences directly.
      	(*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-09  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR target/90024
      	* gcc.dg/torture/neon-immediate-timode.c: New test.
      
      From-SVN: r270226
      Matthew Malcomson committed
    • re PR translation/90011 (trailing space in diagnostic) · 765f8786
      	PR translation/90011
      	* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
      	from diagnostics.
      	* config/arm/freebsd.h (LINK_SPEC): Remove trailing space from -p
      	diagnostics.
      	* config/riscv/freebsd.h (LINK_SPEC): Likewise.
      	* config/aarch64/aarch64-freebsd.h (FBSD_TARGET_LINK_SPEC): Likewise.
      	* config/darwin.h (DRIVER_SELF_SPECS, ASM_FINAL_SPEC): Remove
      	trailing space from -gsplit-dwarf diagnostics.
      
      From-SVN: r270225
      Jakub Jelinek committed
    • re PR middle-end/89998 (ICE: verify_gimple failed in printf-return-value) · a73468e8
      	PR tree-optimization/89998
      	* gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type
      	instead of integer_type_node if possible, don't add ranges if return
      	type is not compatible with int.
      	* gimple-fold.c (gimple_fold_builtin_sprintf,
      	gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded
      	integer_type_node.
      
      	* gcc.c-torture/compile/pr89998-1.c: New test.
      	* gcc.c-torture/compile/pr89998-2.c: New test.
      
      From-SVN: r270224
      Jakub Jelinek committed
    • Come up with bootstrap-lto-lean config. · 1c67e69c
      2019-04-09  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Regenerate.
      	* Makefile.tpl: Pass GENERATOR_CFLAGS
      	in all stages.
      2019-04-09  Martin Liska  <mliska@suse.cz>
      
      	* bootstrap-lto-lean.mk: New file.
      2019-04-09  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Use GENERATOR_CFLAGS for all generators.
      	* doc/install.texi: Document the new config.
      
      From-SVN: r270223
      Martin Liska committed