I think the original intention was to make it work like Wlong-long (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53063#c9), but it seems it doesn't. I think -Wpedantic should enable -Wvariadic-macros, but -Wvariadic-macros should warn on its own without -Wpedantic. (This way one can control -Wvariadic-macros via #pragmas and -Werror= without touching -Wpedantic). Joseph, what do you think? Prathamesh, could you open a PR in bugzilla and add manu@xxxxxxxxxxx in CC and mark it as blocking PR53063 ? I don't think I will have time to fix this in the near future, so patches are appreciated. But it should be an easy fix, just check how Wlong-long works in libcpp/ and c-family/ and follow the same pattern. (The complete fix is to handle CPP options in the *.opt files, but that could be a second step). Cheers, Manuel. On 23 April 2014 12:25, Prathamesh Kulkarni <bilbotheelffriend@xxxxxxxxx> wrote: > Hi, > Consider the following test-case: > #define FOO(a...) > > When compiled with: gcc -E -Wpedantic > the following warning gets printed: > empty-arg.c:1:14: warning: ISO C does not permit named variadic macros > [-Wvariadic-macros] > #define FOO(a...) > ^ > However If I only pass -Wvariadic-macros, the warning is not printed. > For example: > gcc -E -Wvariadic-macros > and neither does gcc -E -Wvariadic-macros -std=c90 > Is that intended ? > > Tested on gcc-4.8.2 > > gcc -v: > Using built-in specs. > COLLECT_GCC=gcc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu > 4.8.2-19ubuntu1' > --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs > --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr > --program-suffix=-4.8 --enable-shared --enable-linker-build-id > --libexecdir=/usr/lib --without-included-gettext > --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 > --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu > --enable-libstdcxx-debug --enable-libstdcxx-time=yes > --enable-gnu-unique-object --disable-libmudflap --enable-plugin > --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk > --enable-gtk-cairo > --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre > --enable-java-home > --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 > --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 > --with-arch-directory=amd64 > --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc > --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 > --with-multilib-list=m32,m64,mx32 --with-tune=generic > --enable-checking=release --build=x86_64-linux-gnu > --host=x86_64-linux-gnu --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)