1. 23 May, 2019 3 commits
    • There was a regression for gfortran.dg/fmt_en.f90 for cris-elf that on... · 6dac25d1
      There was a regression for gfortran.dg/fmt_en.f90 for cris-elf
      that on inspection was due to it having acquired a truncation
      call through the runtime.  I updated that and the new tests that
      had "Fortran runtime error: required ftruncate or chsize support
      not present" messages in gfortran.log, ran past cris-elf and
      committed as obvious.  See also
      <https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from
      which I copy-pasted most of this message.  (Yep, 11 years ago.)
      
      gcc/testsuite:
      	* gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90,
      	gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90,
      	gfortran.dg/namelist_89.f90: Gate test on effective_target
      	fd_truncate.
      
      From-SVN: r271536
      Hans-Peter Nilsson committed
    • Bulletproof -fdiagnostics-format=json against bad locations (PR c++/90462) · 30d3ba51
      PR c++/90462 reports an ICE with -fdiagnostics-format=json when
      attempting to serialize a malformed location to JSON.
      
      The compound location_t in question has meaningful "caret" and "start"
      locations, but has UNKNOWN_LOCATION for its "finish" location,
      leading to a NULL pointer dereference when attempting to build a JSON
      string for the filename.
      
      This patch bulletproofs the JSON output so that attempts to write
      a JSON object for a location with a NULL file will lead to an object
      with no "file" key, and attempts to write a compound location with
      UNKNOWN_LOCATION for its start or finish will lead to the corresponding
      JSON child object being omitted.
      
      This patch also adds a json::object::get member function, for self-testing
      the above.
      
      gcc/ChangeLog:
      	PR c++/90462
      	* diagnostic-format-json.cc: Include "selftest.h".
      	(json_from_expanded_location): Only add "file" key for non-NULL
      	file strings.
      	(json_from_location_range): Don't add "start" and "finish"
      	children if they are UNKNOWN_LOCATION.
      	(selftest::test_unknown_location): New selftest.
      	(selftest::test_bad_endpoints): New selftest.
      	(selftest::diagnostic_format_json_cc_tests): New function.
      	* json.cc (json::object::get): New function.
      	(selftest::test_object_get): New selftest.
      	(selftest::json_cc_tests): Call it.
      	* json.h (json::object::get): New decl.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	selftest::diagnostic_format_json_cc_tests.
      	* selftest.h (selftest::diagnostic_format_json_cc_tests): New
      	decl.
      
      gcc/testsuite/ChangeLog:
      	PR c++/90462
      	* g++.dg/pr90462.C: New test.
      
      From-SVN: r271535
      David Malcolm committed
    • Daily bump. · cf9219c7
      From-SVN: r271534
      GCC Administrator committed
  2. 22 May, 2019 29 commits
    • udlit-char-template-neg.C: Expect the error on a different line. · dd2ce663
      	* g++.dg/cpp1y/udlit-char-template-neg.C: Expect the error on a
      	different line.  Check the column number too.
      
      From-SVN: r271530
      Marek Polacek committed
    • PR libstdc++/90557 fix path assignment that alters source · f9b22a0c
      	PR libstdc++/90557
      	* src/c++17/fs_path.cc (path::_List::operator=(const _List&)): Fix
      	reversed arguments to uninitialized_copy_n.
      	* testsuite/27_io/filesystem/path/assign/copy.cc: Check that source
      	is unchanged by copy assignment.
      	* testsuite/util/testsuite_fs.h (compare_paths): Use std::equal to
      	compare path components.
      
      From-SVN: r271527
      Jonathan Wakely committed
    • Add support for constructors and destuctors on GCN · 7039cebf
      2019-05-22  Kwok Cheung Yeung  <kcy@codesourcery.com>
                  Andrew Stubbs  <amd@codesourcery.com>
      
      	gcc/
      	* config.gcc (gcc_cv_initfini_array): Set for AMD GCN.
      	* config/gcn/gcn-run.c (init_array_kernel, fini_array_kernel): New.
      	(kernel): Rename to...
      	(main_kernel): ... this.
      	(load_image): Load _init_array and _fini_array kernels.
      	(run): Add argument for kernel to run.
      	(main): Run init_array_kernel before main_kernel, and
      	fini_array_kernel after.
      	* config/gcn/gcn.c (gcn_handle_amdgpu_hsa_kernel_attribute): Allow
      	amdgpu_hsa_kernel attribute on functions.
      	(gcn_disable_constructors): Delete.
      	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Delete.
      	* config/gcn/crt0.c (size_t): Define.
      	(_init_array, _fini_array): New.
      	(__preinit_array_start, __preinit_array_end,
      	__init_array_start, __init_array_end,
      	__fini_array_start, __fini_array_end): Declare weak references.
      
      Co-Authored-By: Andrew Stubbs <ams@codesourcery.com>
      
      From-SVN: r271526
      Kwok Cheung Yeung committed
    • Fix trampoline execution failures on GCN5. · b7c28a47
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
      
      From-SVN: r271525
      Andrew Stubbs committed
    • gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE. · 5859a68d
      	* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
      
      The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE
      type.
      
      From-SVN: r271524
      Jason Merrill committed
    • PR c++/20408 - unnecessary code for empty struct. · c652ff83
      Here initializing the argument from a TARGET_EXPR isn't an empty class
      copy even though the type is !TREE_ADDRESSABLE, so we should check
      simple_empty_class_p.
      
      	* call.c (build_call_a): Use simple_empty_class_p.
      
      From-SVN: r271523
      Jason Merrill committed
    • PR libstdc++/77691 fix resource_adaptor failures due to max_align_t bugs · 52ea1caf
      Remove the hardcoded whitelist of allocators expected to return memory
      aligned to alignof(max_align_t), because that doesn't work when the
      platform's malloc() and GCC's max_align_t do not agree what the largest
      fundamental alignment is. It's also sub-optimal for user-defined
      allocators that return memory suitable for any fundamental alignment.
      
      Instead use a hardcoded list of alignments that are definitely supported
      by the platform malloc, and use a copy of the allocator rebound to a POD
      type with the requested alignment. Only allocate an oversized
      buffer to use with std::align for alignments larger than any of the
      hardcoded values.
      
      For 32-bit Solaris x86 do not include alignof(max_align_t) in the
      hardcoded values.
      
      	PR libstdc++/77691
      	* include/experimental/memory_resource: Add system header pragma.
      	(__resource_adaptor_common::__guaranteed_alignment): Remove.
      	(__resource_adaptor_common::_Types)
      	(__resource_adaptor_common::__new_list)
      	(__resource_adaptor_common::_New_list)
      	(__resource_adaptor_common::_Alignments)
      	(__resource_adaptor_common::_Fund_align_types): New utilities for
      	creating a list of types with fundamental alignments.
      	(__resource_adaptor_imp::do_allocate): Call new _M_allocate function.
      	(__resource_adaptor_imp::do_deallocate): Call new _M_deallocate
      	function.
      	(__resource_adaptor_imp::_M_allocate): New function that first tries
      	to use an allocator rebound to a type with a fundamental alignment.
      	(__resource_adaptor_imp::_M_deallocate): Likewise for deallocation.
      	* testsuite/experimental/memory_resource/new_delete_resource.cc:
      	Adjust expected allocation sizes.
      	* testsuite/experimental/memory_resource/resource_adaptor.cc: Remove
      	xfail.
      
      From-SVN: r271522
      Jonathan Wakely committed
    • PR c++/86485 - simple_empty_class_p · 7d277e17
      Yet another tweak that would have fixed this bug: we should treat INIT_EXPR
      and MODIFY_EXPR differently for determining whether this is a simple empty
      class copy, since a TARGET_EXPR on the RHS is direct initialization if
      INIT_EXPR but copy if MODIFY_EXPR.
      
      	* cp-gimplify.c (simple_empty_class_p): Also true for MODIFY_EXPR.
      
      From-SVN: r271521
      Jason Merrill committed
    • vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false… · 9ee0fb4c
      vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false matching on 32bit targets.
      
      	* gcc.target/i386/vect-signbitf.c (dg-final): Improve
      	scan-assembler-not string to avoid false matching on 32bit targets.
      
      From-SVN: r271520
      Uros Bizjak committed
    • x86: Don't allocate stack frame nor align stack if not needed · c2080a1f
      get_frame_size () returns used stack slots during compilation, which
      may be optimized out later.  This patch does the followings:
      
      1. Add stack_frame_required to machine_function to indicate that the
      function needs a stack frame.
      2. Change ix86_find_max_used_stack_alignment to set stack_frame_required.
      3. Always call ix86_find_max_used_stack_alignment to check if stack
      frame is needed.
      
      Tested on i686 and x86-64 with
      
      --with-arch=native --with-cpu=native
      
      Tested on AVX512 machine configured with
      
      --with-arch=native --with-cpu=native
      
      gcc/
      
      	PR target/88483
      	* config/i386/i386-options.c (ix86_init_machine_status): Set
      	stack_frame_required to true.
      	* config/i386/i386.c (ix86_get_frame_size): New function.
      	(ix86_frame_pointer_required): Replace get_frame_size with
      	ix86_get_frame_size.
      	(ix86_compute_frame_layout): Likewise.
      	(ix86_find_max_used_stack_alignment): Changed to void.  Set
      	stack_frame_required.
      	(ix86_finalize_stack_frame_flags): Always call
      	ix86_find_max_used_stack_alignment.  Replace get_frame_size with
      	ix86_get_frame_size.
      	* config/i386/i386.h (machine_function): Add stack_frame_required.
      
      gcc/testsuite/
      
      	PR target/88483
      	* gcc.target/i386/stackalign/pr88483-1.c: New test.
      	* gcc.target/i386/stackalign/pr88483-2.c: Likewise.
      
      From-SVN: r271517
      H.J. Lu committed
    • sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition. · 586e53e2
      	* config/i386/sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition.
      
      From-SVN: r271515
      Uros Bizjak committed
    • [aarch64] Introduce flags for SVE2. · 28108a53
      
      This patch adds support in the compiler for the architecture feature
      flags that binutils will use to enable/disable the new "Future
      Architecture Technologies" feature Scalable Vector Extension V2 (SVE2)
      announced at Linaro Connect this week.
      
      The "sve2" extension that enables the core sve2 instructions.
      This also enables the sve extension, since sve is a requirement of sve2.
      
      Extra optional sve2 features are the bitperm, sm4, aes, and sha3 extensions.
      These are all given extra feature flags, "bitperm", "sve2-sm4",
      "sve2-aes", and "sve2-sha3" respectively.
      The sm4, aes, and sha3 extensions are explicitly marked as sve2
      extensions to distinguish them from the corresponding NEON extensions.
      
      When introducing macros to denote these new features we have gone past
      what a 32 bit value can represent which means we need to change the type
      of those variables working with these feature flags to ensure they use
      64 bit quantities.
      
      Tested with bootstrap on aarch64-none-linux-gnu and manually seeing that
      -march=armv8-a+typo prints out the expected flags while using the new
      feature flags does not complain about a missing flag (until reaching the
      assembler).
      
      gcc/ChangeLog:
      
      2019-05-22  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* common/config/aarch64/aarch64-common.c
      	(struct aarch64_option_extension, struct processor_name_to_arch,
      	struct arch_to_arch_name, aarch64_parse_extension, opt_ext_cmp,
      	aarch64_contains_opt,
      	aarch64_get_extension_string_for_isa_flags): Change type of
      	variables storing flags to uint64_t.
      	* config/aarch64/aarch64-option-extensions.def (sve2, sve2-sm4,
      	sve2-aes, sve2-sha3, bitperm): New optional SVE2 extension flags.
      	* config/aarch64/aarch64.c (struct processor,
      	aarch64_parse_arch, aarch64_parse_cpu, aarch64_validate_mcpu,
      	aarch64_validate_march, aarch64_override_options,
      	aarch64_option_print, aarch64_handle_attr_isa_flags,
      	aarch64_declare_function_name, aarch64_start_file): Make flag
      	variables uint64_t.
      	* config/aarch64/aarch64.h (AARCH64_FL_SVE2, AARCH64_FL_SVE2_AES,
      	AARCH64_FL_SVE2_SM4, AARCH64_FL_SVE2_SHA3,
      	AARCH64_FL_SVE2_BITPERM): New macro feature flags.
      	* config/aarch64/aarch64.opt (aarch64_isa_flags): Make uint64_t.
      	* config/aarch64/driver-aarch64.c
      	(struct aarch64_arch_extension, struct aarch64_core_data,
      	struct aarch64_arch_driver_info, host_detect_local_cpu): Make
      	flag variables uint64_t.
      	* doc/invoke.texi: Add documentation for new arguments.
      
      From-SVN: r271514
      Matthew Malcomson committed
    • Fix new coarray failures. · ee49c5a4
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/testsuite/
      	* gfortran.dg/coarray_lock_7.f90: Fix output patterns.
      
      From-SVN: r271513
      Andrew Stubbs committed
    • Fix fortran size_type_node parameter passing. · 0f09fc8a
      2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/fortran/
      	* trans-stmt.c (gfc_trans_critical): Use size_type_node for
      	gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls.
      	(gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all
      	call.
      
      From-SVN: r271512
      Andrew Stubbs committed
    • fortran/89100: Default widths with -fdec-format-defaults · 88a8126a
      gcc/fortran ChangeLog:
      
      2019-05-22  Jeff Law  <law@redhat.com>
                  Mark Eggleston  <mark.eggleston@codethink.com>
      
              PR fortran/89100
              * gfortran.texi: Add Default widths for F, G and I format
              descriptors to Extensions section.
              * invoke.texi: Add -fdec-format-defaults
              * io.c (check_format): Use default widths for i, f and g when
              flag_dec_format_defaults is enabled.
              * lang.opt: Add new option.
              * options.c (set_dec_flags): Add SET_BITFLAG for
              flag_dec_format_defaults.
      
      
      gcc/testsuite ChangeLog:
      
      2019-05-22  Mark Eggleston  <mark.eggleston@codethink.com>
      
              PR fortran/89100
              * gfortran.dg/fmt_f_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_f_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_f_default_field_width_3.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_g_default_field_width_3.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_1.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_2.f90: New test.
              * gfortran.dg/fmt_i_default_field_width_3.f90: New test.
      
      
      libgfortran ChangeLog:
      
      2019-05-22  Jeff Law  <law@redhat.com>
      
              PR fortran/89100
              * io/format.c (parse_format_list): set default width when the
              IOPARM_DT_DEC_EXT flag is set for i, f and g.
              * io/io.h: add default_width_for_integer, default_width_for_float
              and default_precision_for_float.
              * io/write.c (write_boz): extra parameter giving length of data
              corresponding to the type's kind.
              (write_b): pass data length as extra parameter in calls to
              write_boz.
              (write_o): pass data length as extra parameter in calls to
              write_boz.
              (write_z): pass data length as extra parameter in calls to
              write_boz.
              (size_from_kind): also set size is default width is set.
              * io/write_float.def (build_float_string): new paramter inserted
              before result parameter. If default width use values passed
              instead of the values in fnode.
              (FORMAT_FLOAT): macro modified to check for default width and
              calls to build_float_string to pass in default width.
              (get_float_string): set width and precision to defaults when
              needed.
      
      From-SVN: r271511
      Janne Blomqvist committed
    • alias.c (ao_ref_from_mem): Move stack-slot sharing rewrite ... · fa70c221
      2019-05-22  Richard Biener  <rguenther@suse.de>
      
      	* alias.c (ao_ref_from_mem): Move stack-slot sharing
      	rewrite ...
      	* emit-rtl.c (set_mem_attributes_minus_bitpos): ... here.
      
      From-SVN: r271510
      Richard Biener committed
    • Do not use quotes in tests (PR testsuite/90564). · a6149853
      2019-05-22  Martin Liska  <mliska@suse.cz>
      
      	PR testsuite/90564
      	* gcc.target/powerpc/pr80315-1.c: Remove usage of quotes.
      	* gcc.target/powerpc/pr80315-2.c: Likewise.
      	* gcc.target/powerpc/pr80315-3.c: Likewise.
      	* gcc.target/powerpc/pr80315-4.c: Likewise.
      
      From-SVN: r271509
      Martin Liska committed
    • Fix wrong escaping of brackets (PR testsuite/90564). · 0872c677
      2019-05-22  Martin Liska  <mliska@suse.cz>
      
      	PR testsuite/90564
      	* gcc.target/powerpc/pr80315-1.c: Add one extra \ to escape
      	brackets.
      	* gcc.target/powerpc/pr80315-2.c: Likewise.
      	* gcc.target/powerpc/pr80315-3.c: Likewise.
      	* gcc.target/powerpc/pr80315-4.c: Likewise.
      
      From-SVN: r271508
      Martin Liska committed
    • decltype-pr66548.C: Reinstate correct version. · fc907923
      2019-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
            * g++.dg/cpp0x/decltype-pr66548.C: Reinstate correct version.
      
      From-SVN: r271507
      Paolo Carlini committed
    • decltype-pr66548.C: Remove, mistakenly added. · 9f7c6db6
      2019-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
      
            * g++.dg/cpp0x/decltype-pr66548.C: Remove, mistakenly added.
      
      From-SVN: r271506
      Paolo Carlini committed
    • darwin, testsuite fix PR27221 · 17bbb500
      The test can't succeed on 32b powerpc Darwin since the
      ABI demands a different result to the tested one.
      
      2019-05-22  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR testsuite/27221
      	* g++.dg/ext/alignof2.C: XFAIL for 32bit Darwin.
      
      From-SVN: r271505
      Iain Sandoe committed
    • Strip target_clones in copy attribute (PR lto/90500). · 6d86ddc4
      2019-05-22  Martin Liska  <mliska@suse.cz>
      
      	PR lto/90500
      	* c-attribs.c (handle_copy_attribute): Do not copy
      	target_clones attribute.
      2019-05-22  Martin Liska  <mliska@suse.cz>
      
      	PR lto/90500
      	* gcc.target/i386/pr90500-1.c: Make the test-case valid
      	now.
      2019-05-22  Martin Liska  <mliska@suse.cz>
      
      	PR lto/90500
      	* doc/extend.texi: Document the change.
      
      From-SVN: r271504
      Martin Liska committed
    • re PR tree-optimization/90450 (Hash function in gather_mem_refs_stmt does not… · a8aa828b
      re PR tree-optimization/90450 (Hash function in gather_mem_refs_stmt does not match with mem_ref_hasher::equal)
      
      2019-05-22  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90450
      	* tree-ssa-loop-im.c (struct im_mem_ref): Add ref_decomposed.
      	(mem_ref_hasher::equal): Check it.
      	(mem_ref_alloc): Initialize it.
      	(gather_mem_refs_stmt): Set it.
      
      From-SVN: r271503
      Richard Biener committed
    • gimple-fold.c (arith_code_with_undefined_signed_overflow): Add ABS_EXPR. · 8e2c037d
      2019-05-22  Richard Biener  <rguenther@suse.de>
      
      	* gimple-fold.c (arith_code_with_undefined_signed_overflow):
      	Add ABS_EXPR.
      	(rewrite_to_defined_overflow): Handle rewriting ABS_EXPR
      	as ABSU_EXPR.
      
      	* gcc.dg/tree-ssa/ssa-lim-13.c: New testcase.
      
      From-SVN: r271501
      Richard Biener committed
    • [RS6000] Don't pass -many to the assembler · e1542427
      I'd like to remove -many from the options passed by default to the
      assembler, on the grounds that a gcc bug in instruction selection (eg.
      emitting a power9 insn for -mcpu=power8) is better found at assembly
      time than run time.
      
      For now, just do this when --enable-checking or gcc is not a release.
      
      This patch also emits .machine assembler directives for ELF targets
      when functions are compiled for different cpus via attributes or
      pragmas.  That's necessary when the initial -m<cpu> option passed to
      the assembler doesn't enable the superset of all opcodes emitted, as
      seen by a failure of gcc.target/powerpc/clone2.c without .machine
      when building gcc for power8.
      
      rs6000_machine_from_flags deliberately uses ISA_2_4_MASKS rather than
      ISA_2_2_MASKS for power5 because "friz" and other similar instructions
      enabled by gcc with TARGET_FPRND are enabled in gas by "-mpower5".
      (gas -mpower5 supports power5+ too.)  rs6000-cpus.def puts
      OPTION_MASK_FPRND in ISA_2_4_MASKS, so ISA_2_4_MASKS is the one to use
      in deciding to pass "-mpower5" to gas.
      
      O3-pr70130.c also failed on an earlier version of this patch (when
      only testing one ISA bit to determine .machine).  This is a test for a
      power7 vector bug, but on power8 hw check_vect_support_and_set_flags
      passes -mpower8-vector which means the test isn't exercising the
      original bug exactly.  I reckon that is wrong, and similary for other
      vector testcases that ask for a specific cpu.  I've fixed it here by
      explicitly passing -mno-power8-vector and similar vector options.
      
      	* config/rs6000/rs6000.h (ASM_OPT_ANY): Define.
      	(ASM_CPU_SPEC): Conditionally add -many.
      	* config/rs6000/rs6000.c (rs6000_machine): New static var.
      	(rs6000_machine_from_flags, emit_asm_machine): New functions..
      	(rs6000_file_start): ..extracted from here, and modified to
      	test all ISA bits.
      	(rs6000_output_function_prologue): Emit .machine as necessary.
      	* testsuite/gcc.target/powerpc/ppc32-abi-dfp-1.c: Don't use
      	power mnemonics.
      	* testsuite/gcc.dg/vect/O3-pr70130.c: Disable default options
      	added by check_vect_support_and_set_flags.
      	* testsuite/gcc.dg/vect/pr48765.c: Likewise.
      	* testsuite/gfortran.dg/vect/pr45714-b.f: Likewise.
      
      From-SVN: r271500
      Alan Modra committed
    • re PR middle-end/90553 (Register allocation allocates post-incremented… · 0acb03ae
      re PR middle-end/90553 (Register allocation allocates post-incremented address-load of call to call-clobbered register)
      
      	PR middle-end/90553
      	* gcc.dg/torture/pr90553.c: New test.
      
      From-SVN: r271499
      Hans-Peter Nilsson committed
    • re PR middle-end/90553 (Register allocation allocates post-incremented… · 5e21e8e7
      re PR middle-end/90553 (Register allocation allocates post-incremented address-load of call to call-clobbered register)
      
      	PR middle-end/90553
      	* ira-lives.c (process_bb_node_lives): Consider defs
      	for a call insn to be die before the call, not after.
      
      From-SVN: r271498
      Hans-Peter Nilsson committed
    • In <https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01417.html>... · 325437b2
      In <https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01417.html>:
      ...a change introduced in r94104 where BITS_PER_WORD was chosenperhaps because we expect register-sized writes into this area.
      
      See <https://gcc.gnu.org/ml/gcc-patches/2005-01/msg01564.html>
      for the r94104 change.
      
      	* function.c (assign_parm_setup_block): Raise alignment of
      	stacked parameter only for STRICT_ALIGNMENT targets.
      
      From-SVN: r271497
      Hans-Peter Nilsson committed
    • Daily bump. · 0fd67989
      From-SVN: r271496
      GCC Administrator committed
  3. 21 May, 2019 8 commits
    • parser.c (cp_parser_template_declaration_after_parameters): Use… · a2c67a8d
      parser.c (cp_parser_template_declaration_after_parameters): Use DECL_SOURCE_LOCATION in literal operator template errors.
      
      /cp
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* parser.c (cp_parser_template_declaration_after_parameters): Use
      	DECL_SOURCE_LOCATION in literal operator template errors.
      
      /testsuite
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/udlit-tmpl-arg-neg2.C: Check locations too.
      	* g++.dg/cpp0x/udlit-tmpl-parms-neg.C: Likewise.
      
      From-SVN: r271492
      Paolo Carlini committed
    • re PR c++/67184 (Missed optimization with C++11 final specifier) · cdb42a36
      /cp
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67184
      	PR c++/69445
      	* call.c (build_over_call): Devirtualize when the final overrider
      	comes from the base.
      
      /testsuite
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67184
      	PR c++/69445
      	* g++.dg/other/final3.C: New.
      	* g++.dg/other/final4.C: Likewise.
      	* g++.dg/other/final5.C: Likewise.
      
      From-SVN: r271491
      Paolo Carlini committed
    • re PR c++/67184 (Missed optimization with C++11 final specifier) · f2432de6
      /cp
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67184
      	PR c++/69445
      	* call.c (build_over_call): Devirtualize when the final overrider
      	comes from the base.
      
      /testsuite
      2019-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/67184
      	PR c++/69445
      	* g++.dg/other/final3.C: New.
      	* g++.dg/other/final4.C: Likewise.
      	* g++.dg/other/final5.C: Likewise.
      
      From-SVN: r271490
      Paolo Carlini committed
    • LWG 3062 - Unnecessary decay_t in is_execution_policy_v · 34d878c7
          * include/pstl/execution_defs.h (__enable_if_execution_policy):
          Use std::__remove_cvref_t when building with GCC.
      
      From-SVN: r271489
      Thomas Rodgers committed
    • rs6000: wz -> d+p7 · e1dd825b
      
      	* config/rs6000/constraints.md (define_register_constraint "wz"):
      	Delete.
      	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
      	RS6000_CONSTRAINT_wz.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
      	(rs6000_init_hard_regno_mode_ok): Adjust.
      	* config/rs6000/rs6000.md: Replace "wz" constraint by "d" with "p7".
      	* doc/md.texi (Machine Constraints): Adjust.
      
      From-SVN: r271488
      Segher Boessenkool committed
    • rs6000: wl -> d+p6 · c972c90d
      
      	* config/rs6000/constraints.md (define_register_constraint "wl"):
      	Delete.
      	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
      	RS6000_CONSTRAINT_wl.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
      	(rs6000_init_hard_regno_mode_ok): Adjust.
      	* config/rs6000/rs6000.md: Replace "wl" constraint by "d" with "p6".
      	* doc/md.texi (Machine Constraints): Adjust.
      
      From-SVN: r271487
      Segher Boessenkool committed
    • rs6000: wm -> wa+p8v · 66b54d88
      
      	* config/rs6000/constraints.md (define_register_constraint "wm"):
      	Delete.
      	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
      	RS6000_CONSTRAINT_wm.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
      	(rs6000_init_hard_regno_mode_ok): Adjust.
      	* config/rs6000/vsx.md: Replace "wm" constraint by "wa" with "p8v".
      	* doc/md.texi (Machine Constraints): Adjust.
      
      From-SVN: r271486
      Segher Boessenkool committed
    • rs6000: wk -> ws+p8v · c6dd76fa
      
      	* config/rs6000/constraints.md (define_register_constraint "wk"):
      	Delete.
      	* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
      	RS6000_CONSTRAINT_wk.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
      	(rs6000_init_hard_regno_mode_ok): Adjust.
      	* config/rs6000/rs6000.md: Replace "wk" constraint by "ws" with "p8v".
      	* doc/md.texi (Machine Constraints): Adjust.
      
      From-SVN: r271485
      Segher Boessenkool committed