Message ID | 201104191306.29559.ebotcazou@adacore.com |
---|---|
State | New |
Headers | show |
On Tue, Apr 19, 2011 at 1:06 PM, Eric Botcazou <ebotcazou@adacore.com> wrote: > Hi, > > tree_inlinable_function_p issues the -Winline warning only if > > /* We only warn for functions declared `inline' by the user. */ > do_warning = (warn_inline > && DECL_DECLARED_INLINE_P (fn) > && !DECL_NO_INLINE_WARNING_P (fn) > && !DECL_IN_SYSTEM_HEADER (fn)); > > is true, so in particular only if DECL_NO_INLINE_WARNING_P is not set. Now > expand_call_inline also issues the -Winline warning > > else if (warn_inline && DECL_DECLARED_INLINE_P (fn) > && !DECL_IN_SYSTEM_HEADER (fn) > && reason != CIF_UNSPECIFIED > && !lookup_attribute ("noinline", DECL_ATTRIBUTES (fn)) > /* Do not warn about not inlined recursive calls. */ > && !cgraph_edge_recursive_p (cg_edge) > /* Avoid warnings during early inline pass. */ > && cgraph_global_info_ready) > > but disregards the DECL_NO_INLINE_WARNING_P flag. > > Tested on i586-suse-linux, OK for the mainline? Ok. Thanks, Richard. > > 2011-04-19 Eric Botcazou <ebotcazou@adacore.com> > > * tree-inline.c (expand_call_inline): Do not issue a -Winline warning > if DECL_NO_INLINE_WARNING_P is set on the function. > > > -- > Eric Botcazou >
Index: tree-inline.c =================================================================== --- tree-inline.c (revision 172693) +++ tree-inline.c (working copy) @@ -3744,7 +3744,9 @@ expand_call_inline (basic_block bb, gimp _(cgraph_inline_failed_string (reason))); sorry ("called from here"); } - else if (warn_inline && DECL_DECLARED_INLINE_P (fn) + else if (warn_inline + && DECL_DECLARED_INLINE_P (fn) + && !DECL_NO_INLINE_WARNING_P (fn) && !DECL_IN_SYSTEM_HEADER (fn) && reason != CIF_UNSPECIFIED && !lookup_attribute ("noinline", DECL_ATTRIBUTES (fn))