http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55830
Bug #: 55830
Summary: inline and __attribute__((always_inline)) treated
differently for unused-function warning
Classification: Unclassified
Product: gcc
Version: 4.7.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: [email protected]
ReportedBy: [email protected]
Consider the case of a header file containing definitions of static inline
functions, included in a number of source files (which may not use all of the
defined functions), compiled with C99 and -Wall -Wextra.
If the functions are defined as "static inline", GCC will mask the "unused
function" warning.
However, if the functions are defined as "static
__attribute__((always_inline))", then GCC will omit "unused function" warnings
whenever one of them is not used in a given source file.
This really should be consistent, and it would be ideal to maintain the
no-warning behavior and have that apply to both cases.