[Bug target/82012] [8 Regression] libitm build fails for s390x-linux-gnu
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Aug 29 08:26:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82012
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-08-29
CC| |rguenth at gcc dot gnu.org
Component|libitm |target
Version|7.0 |8.0
Target Milestone|--- |8.0
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
__attribute__((always_inline)) __int_type
fetch_add(__int_type __i,
memory_order __m = memory_order_seq_cst) noexcept
{ return __atomic_fetch_add(&_M_i, __i, __m); }
...
__attribute__ ((target("soft-float")))
uint32_t
GTM::gtm_thread::begin_transaction (uint32_t prop, const gtm_jmpbuf *jb)
{
...
so a simpler testcase would be likely (untested)
inline int __attribute__((always_inline)) foo () { return 0; }
int __attribute__((target("soft-float"))) test () { return foo (); }
s390 misses to implement TARGET_CAN_INLINE_P.
The change
2017-08-24 Richard Biener <rguenther@suse.de>
PR target/81921
* targhooks.c (default_target_can_inline_p): Properly
use target_option_default_node when no DECL_FUNCTION_SPECIFIC_TARGET
is present and always compare.
exposed this as it makes the default hook implementation conservatively
correct as opposed to optimistically broken. I would argue all targets
that implements TARGET_OPTION_VALID_ATTRIBUTE_P needs to implement
this hook.
More information about the Gcc-bugs
mailing list