On Tue, Jul 31, 2018 at 12:25 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
> On Mon, Jul 30, 2018 at 6:16 AM, Richard Biener <rguent...@suse.de> wrote:
>> On Fri, 27 Jul 2018, Richard Earnshaw wrote:
>>
>>>
>>> This patch defines a new intrinsic function
>>> __builtin_speculation_safe_value.  A generic default implementation is
>>> defined which will attempt to use the backend pattern
>>> "speculation_safe_barrier".  If this pattern is not defined, or if it
>>> is not available, then the compiler will emit a warning, but
>>> compilation will continue.
>>>
>>> Note that the test spec-barrier-1.c will currently fail on all
>>> targets.  This is deliberate, the failure will go away when
>>> appropriate action is taken for each target backend.
>>
>> OK.
>>
>> Thanks,
>> Richard.
>>
>>> gcc:
>>>       * builtin-types.def (BT_FN_PTR_PTR_VAR): New function type.
>>>       (BT_FN_I1_I1_VAR, BT_FN_I2_I2_VAR, BT_FN_I4_I4_VAR): Likewise.
>>>       (BT_FN_I8_I8_VAR, BT_FN_I16_I16_VAR): Likewise.
>>>       * builtin-attrs.def (ATTR_NOVOPS_NOTHROW_LEAF_LIST): New attribute
>>>       list.
>>>       * builtins.def (BUILT_IN_SPECULATION_SAFE_VALUE_N): New builtin.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_PTR): New internal builtin.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_1): Likewise.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_2): Likewise.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_4): Likewise.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_8): Likewise.
>>>       (BUILT_IN_SPECULATION_SAFE_VALUE_16): Likewise.
>>>       * builtins.c (expand_speculation_safe_value): New function.
>>>       (expand_builtin): Call it.
>>>       * doc/cpp.texi: Document predefine __HAVE_SPECULATION_SAFE_VALUE.
>>>       * doc/extend.texi: Document __builtin_speculation_safe_value.
>>>       * doc/md.texi: Document "speculation_barrier" pattern.
>>>       * doc/tm.texi.in: Pull in TARGET_SPECULATION_SAFE_VALUE and
>>>       TARGET_HAVE_SPECULATION_SAFE_VALUE.
>>>       * doc/tm.texi: Regenerated.
>>>       * target.def (have_speculation_safe_value, speculation_safe_value): 
>>> New
>>>       hooks.
>>>       * targhooks.c (default_have_speculation_safe_value): New function.
>>>       (default_speculation_safe_value): New function.
>>>       * targhooks.h (default_have_speculation_safe_value): Add prototype.
>>>       (default_speculation_safe_value): Add prototype.
>>>
>
> I got
>
> ../../src-trunk/gcc/targhooks.c: In function ‘bool
> default_have_speculation_safe_value(bool)’:
> ../../src-trunk/gcc/targhooks.c:2319:43: error: unused parameter
> ‘active’ [-Werror=unused-parameter]
>  default_have_speculation_safe_value (bool active)
>                                       ~~~~~^~~~~~


Me too.

Committed this patch as obvious.

Ian


2018-07-31  Ian Lance Taylor  <i...@golang.org>

* targhooks.c (default_have_speculation_safe_value): Add
ATTRIBUTE_UNUSED.
Index: gcc/targhooks.c
===================================================================
--- gcc/targhooks.c     (revision 263179)
+++ gcc/targhooks.c     (working copy)
@@ -2316,7 +2316,7 @@ default_preferred_else_value (unsigned,
 
 /* Default implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE.  */
 bool
-default_have_speculation_safe_value (bool active)
+default_have_speculation_safe_value (bool active ATTRIBUTE_UNUSED)
 {
 #ifdef HAVE_speculation_barrier
   return active ? HAVE_speculation_barrier : true;

Reply via email to