Skip to content
  • David Rientjes's avatar
    compiler: introduce __used and __maybe_unused · 0d7ebbbc
    David Rientjes authored
    
    
    __used is defined to be __attribute__((unused)) for all pre-3.3 gcc
    compilers to suppress warnings for unused functions because perhaps they
    are referenced only in inline assembly.  It is defined to be
    __attribute__((used)) for gcc 3.3 and later so that the code is still
    emitted for such functions.
    
    __maybe_unused is defined to be __attribute__((unused)) for both function
    and variable use if it could possibly be unreferenced due to the evaluation
    of preprocessor macros.  Function prototypes shall be marked with
    __maybe_unused if the actual definition of the function is dependant on
    preprocessor macros.
    
    No update to compiler-intel.h is necessary because ICC supports both
    __attribute__((used)) and __attribute__((unused)) as specified by the gcc
    manual.
    
    __attribute_used__ is deprecated and will be removed once all current
    code is converted to using __used.
    
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Adrian Bunk <bunk@stusta.de>
    Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    0d7ebbbc