diff options
author | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-03 10:31:50 +0000 |
---|---|---|
committer | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-07-03 10:31:50 +0000 |
commit | 403c2b12a9761139e0f772761d01dca13cb866d1 (patch) | |
tree | a96da7501f8e8902f4d0dc7373b66cf4c299e1a9 /libcpp | |
parent | 9f92e1a2cc54f71c4768bf62580a34dc1e444e94 (diff) | |
download | gcc-403c2b12a9761139e0f772761d01dca13cb866d1.tar.gz |
2008-06-13 Andrew Haley <aph@redhat.com>
PR preprocessor/33305
* macro.c (replace_args): Print a warning for empty macro
arguments in C89 and C++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137414 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 6 | ||||
-rw-r--r-- | libcpp/macro.c | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 7f069414f7e..2d29a309566 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,9 @@ +2008-06-13 Andrew Haley <aph@redhat.com> + + PR preprocessor/33305 + * macro.c (replace_args): Print a warning for empty macro + arguments in C89 and C++. + 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * Makefile.in ($(srcdir)/aclocal.m4): Update dependencies. diff --git a/libcpp/macro.c b/libcpp/macro.c index 016754bc952..edc2856551a 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -1009,6 +1009,17 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro, macro_arg if (src->flags & PASTE_LEFT) paste_flag = dest - 1; } + else if (CPP_PEDANTIC (pfile) && ! macro->syshdr + && ! CPP_OPTION (pfile, c99) + && ! cpp_in_system_header (pfile)) + { + cpp_error (pfile, CPP_DL_PEDWARN, + "invoking macro %s argument %d: " + "empty macro arguments are undefined" + " in ISO C90 and ISO C++98", + NODE_NAME (node), + src->val.arg_no); + } /* Avoid paste on RHS (even case count == 0). */ if (!pfile->state.in_directive && !(src->flags & PASTE_LEFT)) |