On 2/12/25 5:23 PM, mmalcom...@nvidia.com wrote:
From: Matthew Malcomson <mmalcom...@nvidia.com>
I've posted the patch on the relevant Bugzilla, but also sending to
mailing list. If should have only done one please do mention.
Having it in both places is fine, or send to the mailing list and put a
link to the list in bugzilla.
----------------- 8< ----------- >8 ----------------
When making warnings trigger a failure in template substitution I
could not find any way to trigger the warning about builtin speculation
not being available on the given target.
Turns out I misread the code -- this warning happens when the
speculation_barrier pattern is not defined.
Here we add an effective target to represent
"__builtin_speculation_safe_value is available on this target" and use
that to adjust our test on SFINAE behaviour accordingly.
N.b. this means that we get extra testing -- not just that things work
on targets which support __builtin_speculation_safe_value, but also that
the behaviour works on targets which don't support it.
Tested with AArch64 native, AArch64 cross compiler, and RISC-V cross
compiler (just running the tests that I've changed).
Points of interest for any reviewer:
In the new `check_known_compiler_messages_nocache` procedure I use some
Why is it not enough to look for the message with "[regexp" like
check_alias_available does?
Jason