[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