On Mon, Jun 6, 2011 at 10:58 AM, Christian Bruel <christian.br...@st.com> wrote:
>
>
>>> OK, the only difference is that we don't have the node analyzed here, so
>>> externally_visible, etc are not set. With the initial proposal the
>>> warning
>>> was emitted only if the function could not be inlined. Now it will be
>>> emitted for each  DECL_COMDAT (decl)&&  !DECL_DECLARED_INLINE_P (decl))
>>> even
>>> if not preemptible, so conservatively we don't want to duplicate the
>>> availability check.
>>
>> Hm, I'm confused.  Do all DECL_COMDAT functions have the
>> always_inline attribute set?  I would have expected
>>
>> +      if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (decl)))
>> +       {
>> +         if (!DECL_DECLARED_INLINE_P (decl))
>> +           warning (OPT_Wattributes,
>> +                    "always_inline not declared inline might not be
>> inlinable");
>> +       }
>>
>
> I meant !DECL_COMDAT || !DECL_DECLARED_INLINE_P. but I was overprecautious.
> Didn't realize that member functions was already marked with
> DECLARED_INLINED_P even if not explicitly set. So OK one check is enough
>
>> do you get excessive warnings with this?
>>
>
> No I don't. That's enough to catch the original issue

Ok.  The patch is ok with the !DECL_DECLARED_INLINE_P check
if it still passes bootstrap & regtest.

Thanks,
Richard.

> Cheers
>
> Christian
>

Reply via email to