From: Richard Henderson Date: Fri, 20 Feb 2004 18:42:51 +0000 (-0800) Subject: * doc/invoke.texi: Add -Wvariadic-macros. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c4d376d4fa0dac8d3039a01c3c8b6fde1eb201d;p=gcc.git * doc/invoke.texi: Add -Wvariadic-macros. From-SVN: r78179 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 993c1160ff1..6d85b30951f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-02-20 Richard Henderson + + * doc/invoke.texi: Add -Wvariadic-macros. + 2004-02-20 Kazu Hirata * haifa-sched.c (sched_emit_insn): Remove. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 85912abf995..1b6b8c4fe82 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -232,7 +232,8 @@ in the following sections. -Wsystem-headers -Wtrigraphs -Wundef -Wuninitialized @gol -Wunknown-pragmas -Wunreachable-code @gol -Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol --Wunused-value -Wunused-variable -Wwrite-strings} +-Wunused-value -Wunused-variable -Wwrite-strings @gol +-Wvariadic-macros} @item C-only Warning Options @gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol @@ -2963,6 +2964,13 @@ the warning messages, use @option{-Wno-long-long}. Flags @option{-Wlong-long} and @option{-Wno-long-long} are taken into account only when @option{-pedantic} flag is used. +@item -Wvariadic-macros +@opindex Wvariadic-macros +@opindex Wno-variadic-macros +Warn if variadic macros are used in pedantic ISO C90 mode, or the GNU +alternate syntax when in pedantic ISO C99 mode. This is default. +To inhibit the warning messages, use @option{-Wno-variadic-macros}. + @item -Wdisabled-optimization @opindex Wdisabled-optimization Warn if a requested optimization pass is disabled. This warning does diff --git a/gcc/testsuite/gcc.dg/cpp/Wvariadic-1.c b/gcc/testsuite/gcc.dg/cpp/Wvariadic-1.c new file mode 100644 index 00000000000..88e27932ef1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/Wvariadic-1.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic -Werror" } */ + +#define f(x,...) /* { dg-error "variadic" } */ +#define g(x,y...) /* { dg-error "variadic" } */ +int not_empty; diff --git a/gcc/testsuite/gcc.dg/cpp/Wvariadic-2.c b/gcc/testsuite/gcc.dg/cpp/Wvariadic-2.c new file mode 100644 index 00000000000..f72e311f645 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/Wvariadic-2.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic -Werror -Wno-variadic-macros" } */ + +#define f(x,...) /* { dg-bogus "variadic" } */ +#define g(x,y...) /* { dg-bogus "variadic" } */ +int not_empty; diff --git a/gcc/testsuite/gcc.dg/cpp/Wvariadic-3.c b/gcc/testsuite/gcc.dg/cpp/Wvariadic-3.c new file mode 100644 index 00000000000..056af8389d3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/Wvariadic-3.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1999 -pedantic -Werror" } */ + +#define f(x,...) +#define g(x,y...) /* { dg-error "variadic" } */ +int not_empty; diff --git a/gcc/testsuite/gcc.dg/cpp/Wvariadic-4.c b/gcc/testsuite/gcc.dg/cpp/Wvariadic-4.c new file mode 100644 index 00000000000..428365e0d56 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/Wvariadic-4.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1999 -pedantic -Werror -Wno-variadic-macros" } */ + +#define f(x,...) +#define g(x,y...) +int not_empty;