diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2000-07-31 23:47:19 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-07-31 23:47:19 +0000 |
commit | 6ead1e9971df29c9e71b19d3f2faae33c78e13e0 (patch) | |
tree | 09f352803e0788fc35ed3daa9f4930ebd0f0d29b /gcc/cppmacro.c | |
parent | ed39843b4149642ce7cabec509db61ef46e34b70 (diff) | |
download | gcc-6ead1e9971df29c9e71b19d3f2faae33c78e13e0.zip gcc-6ead1e9971df29c9e71b19d3f2faae33c78e13e0.tar.gz gcc-6ead1e9971df29c9e71b19d3f2faae33c78e13e0.tar.bz2 |
[multiple changes]
2000-07-31 Jakub Jelinek <jakub@redhat.com>
* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
(_cpp_get_token): Don't macro expand a just pasted token if it
was pasted at no_expand_level.
* testsuite/gcc.dg/cpp/paste7.c: New test.
2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
* cppmacro.c (find_param, count_params, save_expansion):
Permit 'defined' as a macro parameter name.
From-SVN: r35394
Diffstat (limited to 'gcc/cppmacro.c')
-rw-r--r-- | gcc/cppmacro.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c index 03a9a99..8d53baf 100644 --- a/gcc/cppmacro.c +++ b/gcc/cppmacro.c @@ -72,7 +72,7 @@ find_param (first, token) unsigned int param = 0; for (; first < token && first->type != CPP_CLOSE_PAREN; first++) - if (first->type == CPP_NAME) + if (first->type == CPP_NAME || first->type == CPP_DEFINED) { param++; if (first->val.node == token->val.node) @@ -139,6 +139,8 @@ count_params (pfile, info) case CPP_COMMENT: continue; /* Ignore -C comments. */ + case CPP_DEFINED: /* 'defined' may be used as a macro + parameter name. */ case CPP_NAME: if (prev_ident) { @@ -429,7 +431,7 @@ save_expansion (pfile, info) dumping macro definitions. They must go first. */ if (list->params_len) for (token = info->first_param; token < info->first; token++) - if (token->type == CPP_NAME) + if (token->type == CPP_NAME || token->type == CPP_DEFINED) { /* Copy null too. */ memcpy (buf, token->val.node->name, token->val.node->length + 1); @@ -443,6 +445,7 @@ save_expansion (pfile, info) switch (token->type) { + case CPP_DEFINED: case CPP_NAME: if (list->paramc == -1) break; |