Take the following example:

  static 
  int a (void)
  {
        return a();
  }

  int 
  main ()
  {
        return 0;
  }

GCC doesn't warn that a() is an unused function.

This is problematic if you remove all calls to a() from your code. Although a()
uses itself, GCC should warn that no other function is using it, so that the
user could remove it.


-- 
           Summary: gcc doesn't warn if a static recursive function is
                    unused
           Product: gcc
           Version: 4.2.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: csaavedra at igalia dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36392

Reply via email to