https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81429
Bug ID: 81429 Summary: maybe_unused attribute triggers syntax error when used on first argument to a constructor Product: gcc Version: 7.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jeff.benshetler at stackpath dot com Target Milestone: --- Created attachment 41746 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41746&action=edit Preprocessed file that triggers the bug. maybe_unused attribute triggers syntax error when used on first argument to a constructor Systm Type: Linux bnx1-lab1-dfw0.stackpath.systems 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Options given when GCC was configured/built: tar xzf gcc-7.1.0.tar.gz cd gcc-7.1.0 ./contrib/download_prerequisites cd .. mkdir objdir-7.1.0 cd objdir-7.1.0 ../gcc-7.1.0/configure --prefix=/opt/gcc-7.1.0 --enable-languages=c,c++ --disable-multilib make -j60 sudo make install Complete command line that triggers the bug: g++ -Wall -Wextra -save-temps -c maybe_unused.cpp Compiler Output maybe_unused.cpp:3:9: error: expected unqualified-id before ‘[’ token Foo([[maybe_unused]] int x) // fails ^ maybe_unused.cpp:3:9: error: expected ‘)’ before ‘[’ token This bug occurs with gcc-6.3.0, gcc-6.4.0, gcc-7.1.0. clang-3.9 is fine with the code.