aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2018-08-20 12:39:36 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2018-08-20 12:39:36 +0000
commit3fb558b154f795983ae6a9dd6478e18a2c846584 (patch)
tree2c06bad74d6dafddb11979c263020425a716902c /gcc
parentb655b8fc7eb4af02231fa0105dddd90a8cfceea1 (diff)
downloadgcc-3fb558b154f795983ae6a9dd6478e18a2c846584.zip
gcc-3fb558b154f795983ae6a9dd6478e18a2c846584.tar.gz
gcc-3fb558b154f795983ae6a9dd6478e18a2c846584.tar.bz2
[PATCH] #assert becomes macro-like
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01140.html libcpp/ * include/cpp-id-data.h (struct answer): Delete. * include/cpplib.h (struct answer): Don't forward-declare. (enum cpp_macro_kind): Add cmk_assert. (struct cpp_macro): Union parms and next assert chain. (union _cpp_hashnode_value): 'answer' field is cpp_macro. * directives.c (parse_answer): Convert to use cpp_macro. Return true on success. (parse_assertion, find_answer, _cpp_test_assertion, cpp_do_assert) (cpp_do_unassert): Convert to use cpp_macro. * macro.c (warn_of_redefinition, _cpp_new_macro) (check_trad_stringification, cpp_macro_definition): Adjust macro parm access. * traditional.c (_cpp_replacement_text_len) (_cpp_copy_replacement_text, _cpp_create_trad_definition): Likewise. gcc/c-family/ * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm access. From-SVN: r263658
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c-ada-spec.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 6cdade5..9ff4728 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-20 Nathan Sidwell <nathan@acm.org>
+
+ * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
+ access.
+
2018-08-17 Nathan Sidwell <nathan@acm.org>
* c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
diff --git a/gcc/c-family/c-ada-spec.c b/gcc/c-family/c-ada-spec.c
index 4b21d71..5e0dea4 100644
--- a/gcc/c-family/c-ada-spec.c
+++ b/gcc/c-family/c-ada-spec.c
@@ -69,7 +69,7 @@ macro_length (const cpp_macro *macro, int *supported, int *buffer_len,
(*param_len)++;
for (i = 0; i < macro->paramc; i++)
{
- cpp_hashnode *param = macro->params[i];
+ cpp_hashnode *param = macro->parm.params[i];
*param_len += NODE_LEN (param);
@@ -101,7 +101,7 @@ macro_length (const cpp_macro *macro, int *supported, int *buffer_len,
if (token->type == CPP_MACRO_ARG)
*buffer_len +=
- NODE_LEN (macro->params[token->val.macro_arg.arg_no - 1]);
+ NODE_LEN (macro->parm.params[token->val.macro_arg.arg_no - 1]);
else
/* Include enough extra space to handle e.g. special characters. */
*buffer_len += (cpp_token_len (token) + 1) * 8;
@@ -252,7 +252,7 @@ dump_ada_macros (pretty_printer *pp, const char* file)
*buf_param++ = '(';
for (i = 0; i < macro->paramc; i++)
{
- cpp_hashnode *param = macro->params[i];
+ cpp_hashnode *param = macro->parm.params[i];
memcpy (buf_param, NODE_NAME (param), NODE_LEN (param));
buf_param += NODE_LEN (param);
@@ -291,7 +291,7 @@ dump_ada_macros (pretty_printer *pp, const char* file)
case CPP_MACRO_ARG:
{
cpp_hashnode *param =
- macro->params[token->val.macro_arg.arg_no - 1];
+ macro->parm.params[token->val.macro_arg.arg_no - 1];
memcpy (buffer, NODE_NAME (param), NODE_LEN (param));
buffer += NODE_LEN (param);
}