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

            Bug ID: 91304
           Summary: maybe_unused attribute ignored on variable declared in
                    if declaration
           Product: gcc
           Version: 9.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: barry.revzin at gmail dot com
  Target Milestone: ---

Reduced from StackOverflow (https://stackoverflow.com/q/57281641/2069064):

int f();

void g()
{   
  if ([[maybe_unused]] int i = f()) { }
}

Even though i is declared [[maybe_unused]], this still emits a warning:

<source>: In function 'void g()':
<source>:5:28: warning: unused variable 'i' [-Wunused-variable]
    5 |   if ([[maybe_unused]] int i = f()) { }
      |                            ^

Reply via email to