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

            Bug ID: 120010
           Summary: __attribute__((unused)) does not work for function
                    arguments
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hpa at zytor dot com
  Target Milestone: ---

Created attachment 61242
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61242&action=edit
Test case

__attribute__((unused)) on a type is there to mark that "a variable of that
type are meant to appear possibly unused."

However, it does not work as advertised if that type is used as a function
argument, which is one way that a variable can be created.

This can be a result of different code configuration, for example.

Attached test case when compiled with gcc 15.0.1 20250329 (Fedora 42):

gcc -O2 -Wall -Wextra -c unused.c
unused.c: In function ‘unused’:
unused.c:3:28: warning: unused parameter ‘b’ [-Wunused-parameter]
    3 | int unused(int a, unused_t b, int c)
      |                   ~~~~~~~~~^

Note the warning for the argument b, but not the local variable d.

Reply via email to