[gcc/marxin/heads/PR95480-aix-bootstrap-failure] (14 commits) gcov: Fix build on AIX

Martin Liska marxin@gcc.gnu.org
Wed Jun 3 06:09:56 GMT 2020


The branch 'marxin/heads/PR95480-aix-bootstrap-failure' was updated to point to:

 341315a6e73... gcov: Fix build on AIX

It previously pointed to:

 a1ba63c949c... Patch candidate.

Diff:

!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------

  a1ba63c... Patch candidate.

commit a1ba63c949c5b85483ebb73c913b475c4f73f796
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jun 2 16:57:35 2020 +0200

    Patch candidate.


Summary of changes (added commits):
-----------------------------------

  341315a... gcov: Fix build on AIX
  a9312a7... Daily bump.
  44564c4... jit: fix __builtin_unreachable [PR 95426]
  4b68cb3... c++: *this capture in const member fn [PR95193].
  4013baf... RISC-V: Make __divdi3 handle div by zero same as hardware.
  578c013... [Ada] remove last traces of -auxbase
  324276f... coroutines: Wrap co_await in a target expr where needed [PR
  ce95db1... spell ldscript correctly in outputs.exp et al
  b2672dd... aarch64: Fix an ICE in aarch64_short_vector_p [PR95459]
  eca833b... libstdc++: Make debug containers prefer copy ctor to base c
  9582796... aarch64: Add initial support for -mcpu=zeus
  85bce48... Correctly identify stfs if prefixed
  34e5efa... Simplify streaming of tree references
  d3b6767... amdgcn: Remove -mlocal-symbol-id option

commit 341315a6e73c9ad50e8e578be53a02e06ea19ef2
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jun 2 16:57:35 2020 +0200

    gcov: Fix build on AIX
    
    libgcc/ChangeLog:
    
            * libgcov-profiler.c (GCOV_SUPPORTS_ATOMIC): Move to...
            * libgcov.h (GCOV_SUPPORTS_ATOMIC): ...here.
            (gcov_counter_add): Use GCOV_SUPPORTS_ATOMIC guard.
            (gcov_counter_set_if_null): Likewise.

commit a9312a7926079ddb78b5f93681a9f6823422f5e1
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Wed Jun 3 00:16:34 2020 +0000

    Daily bump.

commit 44564c4c811f4751daf363ca019a9f9bed702f4f
Author: David Malcolm <dmalcolm@redhat.com>
Date:   Sun May 31 13:28:41 2020 -0400

    jit: fix __builtin_unreachable [PR 95426]
    
    PR jit/95426 reports a crash deep inside "expand" when using
    __builtin_unreachable via gcc_jit_context_get_builtin_function,
    due to BLOCK_FOR_INSN being erroneously used on a barrier within
    rtl_verify_bb_pointers.
    
    The root cause turns out to be that I didn't implement
    LANG_HOOKS_COMMON_ATTRIBUTE_TABLE and LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE
    for the jit "frontend".  When building a decl for the builtin, the
    libgccjit frontend generates a chain of attributes names, but when
    this is passed to decl_attributes and the attributes are looked up by
    namespace and name within lookup_scoped_attribute_spec, attributes_table
    is empty.  Hence no attributes were being associated with the fndecl,
    and so ECF_NORETURN was not set on the gimple_call (along with various
    other flags missing on the decl, etc), and so the call is treated as
    not terminating its BB, and so the CFG rapidly diverges from the
    equivalent created by the C frontend.
    
    This patch fixes things by implementing these langhooks, copying the
    minimal attribute-handling code from LTO.  I stepped through the
    creation of the fndecl and verified that with this fix it has the same
    attributes as the equivalent created by the C frontend.
    
    gcc/jit/ChangeLog:
            PR jit/95426
            * dummy-frontend.c: Include "options.h", "stringpool.h", and
            "attribs.h".
            (ATTR_EXCL): New, copied from lto/lto-lang.c.
            (attr_noreturn_exclusions): Likewise.
            (attr_returns_twice_exclusions): Likewise.
            (attr_const_pure_exclusions): Likewise.
            (jit_attribute_table): Likewise, copied from lto_attribute_table.
            (jit_format_attribute_table): Likewise, copied from
            lto_format_attribute_table.
            (handle_noreturn_attribute): New, copied from lto/lto-lang.c.
            (handle_leaf_attribute): Likewise.
            (handle_const_attribute): Likewise.
            (handle_malloc_attribute): Likewise.
            (handle_pure_attribute): Likewise.
            (handle_novops_attribute): Likewise.
            (get_nonnull_operand): Likewise.
            (handle_nonnull_attribute): Likewise.
            (handle_nothrow_attribute): Likewise.
            (handle_sentinel_attribute): Likewise.
            (handle_type_generic_attribute): Likewise.
            (handle_transaction_pure_attribute): Likewise.
            (handle_returns_twice_attribute): Likewise.
            (handle_patchable_function_entry_attribute): Likewise.
            (ignore_attribute): Likewise.
            (handle_format_attribute): Likewise.
            (handle_format_arg_attribute): Likewise.
            (handle_fnspec_attribute): Likewise.
            (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE): Define.
            (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Define.
    
    gcc/testsuite/ChangeLog:
            PR jit/95426
            * jit.dg/all-non-failing-tests.h: Add note about...
            * jit.dg/test-builtin-unreachable.c: New test.

commit 4b68cb38ddca37a14a6f2f43de3a6d396ee1bc79
Author: Jason Merrill <jason@redhat.com>
Date:   Mon Jun 1 17:58:57 2020 -0400

    c++: *this capture in const member fn [PR95193].
    
    Here, the capture proxy for *this is const, but its DECL_VALUE_EXPR is not.
    Don't ICE on this; it's a reasonable difference, since in C++ an rvalue of
    scalar type does not have cv-qualifiers.
    
    gcc/cp/ChangeLog:
    
            PR c++/95193
            * pt.c (tsubst_decl): Relax assert.
    
    gcc/testsuite/ChangeLog:
    
            PR c++/95193
            * g++.dg/cpp1z/lambda-this7.C: New test.

commit 4013baf99c38f7bca06a51f8301e8fb195ccfa33
Author: Jim Wilson <jimw@sifive.com>
Date:   Tue Jun 2 11:19:39 2020 -0700

    RISC-V: Make __divdi3 handle div by zero same as hardware.
    
    The ISA manual specifies that divide by zero always returns -1 as the result.
    We were failing to do that when the dividend was negative.
    
    Original patch from Virginie Moser.
    
            libgcc/
            * config/riscv/div.S (__divdi3): For negative arguments, change bgez
            to bgtz.

commit 578c013aa697cb81a46e9b335ce61c82c009c77f
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Tue Jun 2 15:36:49 2020 -0300

    [Ada] remove last traces of -auxbase
    
    Remove occurrences of auxbase that remained in comments.
    
    
    for  gcc/ada/ChangeLog
    
            * lib.ads (Compilation_Switches): Remove -auxbase from
            comments.
            * switch.ads (Is_Internal_GCC_Switch): Likewise.

commit 324276ff9b1aa5128e5cb9f5d43182d1ebab0752
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Tue Jun 2 16:47:54 2020 +0100

    coroutines: Wrap co_await in a target expr where needed [PR95050]
    
    Since the co_await expression is mostly opaque to the existing
    machinery, we were hiding the details of the await_resume return
    value.  If that needs to be wrapped in a target expression, then
    emulate this with the whole co_await.  Similarly, if the await
    expression we build in response to co_await p.yield_value (e)
    is wrapped in a target expression, then we need to transfer that
    wrapper to the resultant CO_YIELD_EXPR (which is, itself, just
    a proxy for the underlying co_await).
    
    gcc/cp/ChangeLog:
    
            PR c++/95050
            * coroutines.cc (build_co_await): Wrap the co_await expression
            in a TARGET_EXPR, where needed.
            (finish_co_yield_expr): Likewise.
    
    gcc/testsuite/ChangeLog:
    
            PR c++/95050
            * g++.dg/coroutines/pr95050.C: New test.

commit ce95db102aab4dea9af24a20de78db2f57c0a37b
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Tue Jun 2 14:33:38 2020 -0300

    spell ldscript correctly in outputs.exp et al
    
    In my recent changes to outputs.exp and gcc-defs.exp, I misreferenced
    dejagnu board property ldscript, singular, as ldscripts, plural.
    
    This probably didn't have much impact on gcc-defs.exp: the code there
    would just prefix with -Wl, any options that amounted to file names,
    and linker scripts probably wouldn't be named without a -T or even an
    -Wl,-T, prefix.
    
    The visible effects were in outputs.exp, that also intended to add the
    ldscript, if present, to the set of options to be passed to the
    compiler driver for linking.  Using the wrong option name, that
    wouldn't work.
    
    
    for  gcc/testsuite/ChangeLog
    
            * gcc.misc-tests/outputs.exp: Spell ldscript correctly.
            * lib/gcc-defs.exp (gcc_adjust_linker_flags): Likewise.

commit b2672dd630c81513e08829adc63294ffeedf5693
Author: Fei Yang <felix.yang@huawei.com>
Date:   Tue Jun 2 18:17:34 2020 +0100

    aarch64: Fix an ICE in aarch64_short_vector_p [PR95459]
    
    In aarch64_short_vector_p, we are simply checking whether a type (and a mode)
    is a 64/128-bit short vector or not.  This should not be affected by the value
    of TARGET_SVE.  Simply leave later code to report an error if SVE is disabled.
    
    2020-06-02  Felix Yang  <felix.yang@huawei.com>
    
    gcc/
            PR target/95459
            * config/aarch64/aarch64.c (aarch64_short_vector_p):
            Leave later code to report an error if SVE is disabled.
    
    gcc/testsuite/
            PR target/95459
            * gcc.target/aarch64/mgeneral-regs_6.c: New test.

commit eca833b81289438ec5ae3ed4c77ffb49cfb65f34
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Jun 2 18:13:08 2020 +0100

    libstdc++: Make debug containers prefer copy ctor to base ctor (PR 90102)
    
    When given a type which can convert to any container-like type, the
    C(const C&) copy constructor and C(const C::_Base&) converting
    constructor are ambiguous. This change replaces the converting
    constructor's parameter with a reference_wrapper-like type so that
    calling that constructor requires an additional user-defined conversion.
    This gives it a lower rank than the copy constructor, avoiding the
    ambiguity.
    
    While testing this change I discovered that __gnu_debug::forward_list
    doesn't have a convering constructor from the std::forward_list base, so
    this adds it.
    
    We should probably consider whether the converting constructors should
    be 'explicit' but I'm not changing that now.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/90102
            * include/debug/deque (deque(const _Base&)): Replace parameter
            with a struct that wraps a const _Base&.
            * include/debug/forward_list (forward_list(_Base_ref)): New
            constructor.
            * include/debug/list (list(const _Base&)): Replace parameter
            with a struct that wraps a const _Base&.
            * include/debug/map.h (map(const _Base&)): Likewise.
            * include/debug/multimap.h (multimap(const _Base&)): Likewise.
            * include/debug/multiset.h (multiset(const _Base&)): Likewise.
            * include/debug/set.h (set(const _Base&)): Likewise.
            * include/debug/unordered_map (unordered_map(const _Base&))
            (unordered_multimap(const _Base&)): Likewise.
            * include/debug/unordered_set (unordered_set(const _Base&))
            (unordered_multiset(const _Base&)): Likewise.
            * testsuite/23_containers/vector/cons/destructible_debug_neg.cc:
            Adjust dg-error line number.
            * include/debug/vector (vector(const _Base&)): Likewise.
            * testsuite/23_containers/deque/debug/90102.cc: New test.
            * testsuite/23_containers/forward_list/debug/90102.cc: New test.
            * testsuite/23_containers/list/debug/90102.cc: New test.
            * testsuite/23_containers/map/debug/90102.cc: New test.
            * testsuite/23_containers/multimap/debug/90102.cc: New test.
            * testsuite/23_containers/multiset/debug/90102.cc: New test.
            * testsuite/23_containers/set/debug/90102.cc: New test.
            * testsuite/23_containers/unordered_map/debug/90102.cc: New test.
            * testsuite/23_containers/unordered_multimap/debug/90102.cc: New test.
            * testsuite/23_containers/unordered_multiset/debug/90102.cc: New test.
            * testsuite/23_containers/unordered_set/debug/90102.cc: New test.
            * testsuite/23_containers/vector/debug/90102.cc: New test.

commit 95827968e5f3e472bbef0ad8b65b0a7537c9cee3
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date:   Tue Jun 2 17:42:48 2020 +0100

    aarch64: Add initial support for -mcpu=zeus
    
    This patch adds support for the Arm Zeus CPU.
    Bootstrapped and tested on aarch64-none-linux-gnu.
    
    gcc/
    
    2020-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
    
            * config/aarch64/aarch64-cores.def (zeus): Define.
            * config/aarch64/aarch64-tune.md: Regenerate.
            * doc/invoke.texi (AArch64 Options): Document zeus -mcpu option.

commit 85bce484d37fdda9c7eadb9bdcdb1ded891462bb
Author: Aaron Sawdey <acsawdey@linux.ibm.com>
Date:   Fri May 29 16:19:10 2020 -0500

    Correctly identify stfs if prefixed
    
    Because reg_to_non_prefixed() only looks at the register being used, it
    doesn't get the right answer for stfs, which leads to us not seeing
    that it has a PCREL symbol ref.  This patch works around this by
    introducing a helper function that inspects the insn to see if it is in
    fact a stfs. Then if we use NON_PREFIXED_DEFAULT, address_to_insn_form()
    can see that it has the PCREL symbol ref.
    
    gcc/ChangeLog:
    
            PR target/95347
            * config/rs6000/rs6000.c (prefixed_store_p): Add special case
            for stfs.
            (is_stfs_insn): New helper function.

commit 34e5efa10a7b514238ed9a914b802898d2d8cb36
Author: Jan Hubicka <jh@suse.cz>
Date:   Tue Jun 2 17:39:58 2020 +0200

    Simplify streaming of tree references
    
            * lto-streamer-in.c (stream_read_tree_ref): Simplify streaming of
            references.
            * lto-streamer-out.c (stream_write_tree_ref): Likewise.

commit d3b6767dce45a7100e4cc32d2986a55f09a2cce2
Author: Andrew Stubbs <ams@codesourcery.com>
Date:   Tue Jun 2 14:41:21 2020 +0100

    amdgcn: Remove -mlocal-symbol-id option
    
    This patch removes the obsolete -mlocal-symbol-id option.  This was used to
    control mangling of local symbol names in order to work around a ROCm runtime
    bug, but that has not been needed in some time, and the mangling was removed
    already.
    
    gcc/ChangeLog:
    
            * config/gcn/gcn-hsa.h (CC1_SPEC): Delete.
            * config/gcn/gcn.opt (-mlocal-symbol-id): Delete.
            * config/gcn/mkoffload.c (main): Don't use -mlocal-symbol-id.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.dg/intermod-1.c: Don't use -mlocal-symbol-id.


More information about the Gcc-cvs mailing list