[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/8] xen/misc: Remove or annotate possibly-unused functions
On 10/02/16 13:06, Jan Beulich wrote: >>>> On 09.02.16 at 21:01, <andrew.cooper3@xxxxxxxxxx> wrote: >> --- a/xen/common/rcupdate.c >> +++ b/xen/common/rcupdate.c >> @@ -141,12 +141,6 @@ static inline int rcu_batch_before(long a, long b) >> return (a - b) < 0; >> } >> >> -/* Is batch a after batch b ? */ >> -static inline int rcu_batch_after(long a, long b) >> -{ >> - return (a - b) > 0; >> -} > To me it is the nature of inline functions that they may or may not be > used, regardless of whether they live in a header file (where I would > have supposed Clang won't warn about, but the change below makes > me assume I'm wrong) or in a source file. > >> --- a/xen/include/xen/compat.h >> +++ b/xen/include/xen/compat.h >> @@ -134,14 +134,16 @@ >> #define CHECK_NAME_(k, n, tag) __check ## tag ## k ## _ ## n >> >> #define CHECK_TYPE(name) \ >> -static inline int CHECK_NAME(name, T)(xen_ ## name ## _t *x, \ >> - compat_ ## name ## _t *c) \ >> +static inline int __maybe_unused \ >> +CHECK_NAME(name, T)(xen_ ## name ## _t *x, \ >> + compat_ ## name ## _t *c) \ >> { \ >> return x == c; \ >> } >> #define CHECK_TYPE_(k, n) \ >> -static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, \ >> - k compat_ ## n *c) \ >> +static inline int __maybe_unused \ >> +CHECK_NAME_(k, n, T)(k xen_ ## n *x, \ >> + k compat_ ## n *c) \ >> { \ >> return x == c; \ >> } >> @@ -154,14 +156,14 @@ static inline int CHECK_NAME_(k, n, T)(k xen_ ## n *x, >> \ >> sizeof(k compat_ ## n)) * 2] >> >> #define CHECK_FIELD_COMMON(name, t, f) \ >> -static inline int name(xen_ ## t ## _t *x, compat_ ## t ## _t *c) \ >> +static inline int __maybe_unused name(xen_ ## t ## _t *x, compat_ ## t ## >> _t *c) \ >> { \ >> BUILD_BUG_ON(offsetof(xen_ ## t ## _t, f) != \ >> offsetof(compat_ ## t ## _t, f)); \ >> return &x->f == &c->f; \ >> } >> #define CHECK_FIELD_COMMON_(k, name, n, f) \ >> -static inline int name(k xen_ ## n *x, k compat_ ## n *c) \ >> +static inline int __maybe_unused name(k xen_ ## n *x, k compat_ ## n *c) \ >> { \ >> BUILD_BUG_ON(offsetof(k xen_ ## n, f) != \ >> offsetof(k compat_ ## n, f)); \ > So if these are all noticed to be unused, why would others in other > header files not be? Because they are instantiated in translation units, with no callers, by code like common/trace.c: #ifdef CONFIG_COMPAT #include <compat/trace.h> #define xen_t_buf t_buf CHECK_t_buf; #undef xen_t_buf #else #define compat_t_rec t_rec #endif This was the first example which blew up. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |