https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67064 --- Comment #2 from Sebastian Huber <sebastian.huber@embedded-brains.de> --- Indeed -std=gnu++98 gets rid of this error. So this is working as intended for C++11 and later? This is really nice in combination with defines and macros that use ( ) around its content.