gcc:
commit6e47b422468d2ada04209b26465b7af81dcbef5b
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Nov 2016 10:06:07 +0000 (23 10:06 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 23 Nov 2016 10:06:07 +0000 (23 10:06 +0000)
tree08fdcd7bc342d222856765ef9f8cff24381b75a7
parent192b73af778e2519d6d83083fb2731fbb56c57eb
gcc:
2016-11-23  Paolo Bonzini  <bonzini@gnu.org>

* system.h (HAVE_DESIGNATED_INITIALIZERS,
HAVE_DESIGNATED_UNION_INITIALIZERS): Do not use
"defined" in macros.
* doc/cpp.texi (Defined): Mention -Wexpansion-to-defined.
* doc/cppopts.texi (Invocation): Document -Wexpansion-to-defined.
* doc/invoke.texi (Warning Options): Document -Wexpansion-to-defined.

gcc/c-family:
2016-11-23  Paolo Bonzini  <bonzini@gnu.org>

* c.opt (Wexpansion-to-defined): New.

gcc/testsuite:
2016-11-23  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/cpp/defined.c: Mark newly introduced warnings and
adjust for warning->pedwarn change.
* gcc.dg/cpp/defined-syshdr.c,
gcc.dg/cpp/defined-Wexpansion-to-defined.c,
gcc.dg/cpp/defined-Wextra-Wno-expansion-to-defined.c,
gcc.dg/cpp/defined-Wextra.c,
gcc.dg/cpp/defined-Wno-expansion-to-defined.c: New testcases.

libcpp:
2016-11-23  Paolo Bonzini  <bonzini@gnu.org>

* include/cpplib.h (struct cpp_options): Add new member
warn_expansion_to_defined.
(CPP_W_EXPANSION_TO_DEFINED): New enum member.
* expr.c (parse_defined): Warn for all uses of "defined"
in macros, and tie warning to CPP_W_EXPANSION_TO_DEFINED.
Make it a pedwarning instead of a warning.
* system.h (HAVE_DESIGNATED_INITIALIZERS): Do not use
"defined" in macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242743 138bc75d-0d04-0410-961f-82ee72b054a4
18 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/doc/cpp.texi
gcc/doc/cppopts.texi
gcc/doc/invoke.texi
gcc/system.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cpp/defined-Wexpansion-to-defined.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/defined-Wextra-Wno-expansion-to-defined.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/defined-Wextra.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/defined-Wno-expansion-to-defined.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/defined-syshdr.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/defined.c
libcpp/ChangeLog
libcpp/expr.c
libcpp/include/cpplib.h
libcpp/system.h