This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/68582] New: -Wunused-function doesn't warn about unused static __attribute__((noreturn)) functions


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68582

            Bug ID: 68582
           Summary: -Wunused-function doesn't warn about unused static
                    __attribute__((noreturn)) functions
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: palves at redhat dot com
  Target Milestone: ---

With:

 $ gcc6 -v:
 ...
 GNU C11 (GCC) version 6.0.0 20151117 (experimental) (x86_64-pc-linux-gnu)
 ...

This warns, as expected:

 $ cat not-used.c 
 void abort(void);
 static void foo (void) { abort (); }
 int main () {return 0;}
 $ gcc6 not-used.c -o not-used -Wunused-function 
 not-used.c:2:13: warning: âfooâ defined but not used [-Wunused-function]
  static void foo (void) { abort (); }
              ^~~

Adding __attribute__((noreturn)) to foo silences the warning:

 $ cat not-used.c 
 void abort(void);
 static __attribute__((noreturn)) void foo (void) { abort (); }
 int main () {return 0;}
 $ gcc6 not-used.c -o not-used -Wunused-function 
 $

Couldn't find this documented in the manual.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]