How can I hide “defined but not used” warnings in GCC?

前端 未结 8 1102
栀梦
栀梦 2020-12-04 09:45

I have a bunch of compile time asserts, such as:

CASSERT(isTrue) or CASSERT2(isTrue, prefix_)

When compiling with GCC I get many warnings l

8条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-04 10:12

    Just saw this thread while searching for solutions to this problem. I post here for completeness the solution I found...

    The GCC compiler flags that control unused warnings include:

    -Wunused-function
    -Wunused-label
    -Wunused-parameter
    -Wunused-value
    -Wunused-variable
    -Wunused (=all of the above)
    

    Each of these has a corresponding negative form with "no-" inserted after the W which turns off the warning (in case it was turned on by -Wall, for example). Thus, in your case you should use

    -Wno-unused-function
    

    Of course this works for the whole code, not just compile-time asserts. For function-specific behaviour, have a look at Function attributes.

提交回复
热议问题