On 8 June 2014 13:11, Michael Tokarev <m...@tls.msk.ru> wrote: > 07.06.2014 21:08, Peter Maydell wrote: >> The tcg_out* and tcg_patch* functions are utility routines that may or >> may not be used by a particular backend; mark them with the 'unused' >> attribute to suppress spurious warnings if they aren't used. >> >> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> >> --- >> Do we want to define a QEMU_UNUSED macro in compiler.h? We don't >> seem to have done for the existing uses of this attribute in tree. >> >> tcg/tcg.c | 20 ++++++++++++-------- >> 1 file changed, 12 insertions(+), 8 deletions(-) >> >> diff --git a/tcg/tcg.c b/tcg/tcg.c >> index 2c5732d..fe55d05 100644 >> --- a/tcg/tcg.c >> +++ b/tcg/tcg.c >> @@ -125,19 +125,20 @@ static TCGRegSet tcg_target_available_regs[2]; >> static TCGRegSet tcg_target_call_clobber_regs; >> >> #if TCG_TARGET_INSN_UNIT_SIZE == 1 >> -static inline void tcg_out8(TCGContext *s, uint8_t v) > > Hm. Those are already #ifdef'ed, is it not enough? Which architectures > do not use functions which _are_ declared/defined? > > But I wonder, why to bother at all? This "static inline foo() {..}" idiom > is very common in header files, to define a function which may or may not > be used, and no compiler warns about these.
The other approach we could take would be to move these definitions from this .c file into a .h file (tcg-backend-helpers.h ?). Then clang won't complain (it seems to only warn about unused static-inline-functions in .c files, not in .h files). Richard: do you have a preference? thanks -- PMM