Commit a1f6eff2 by Nathan Sidwell

Remove bogus __has_include controlling macro

I noticed, but ignored this code when addressing p80005, but having
fixed up defined(X) on the modules branch, I could see where it came
from, and it's obviously wrong as we've just pulled out a string
contant from the token.

	* expr.c (parse_has_include): Remove bogus controlling macro code.
parent e8e66971
2020-01-24 Nathan Sidwell <nathan@acm.org>
* expr.c (parse_has_include): Remove bogus controlling macro code.
2020-01-20 Nathan Sidwell <nathan@acm.org>
PR preprocessor/80005
......
......@@ -2211,14 +2211,12 @@ parse_has_include (cpp_reader *pfile, cpp_hashnode *op, include_type type)
pfile->state.angled_headers = false;
bool bracket = token->type != CPP_STRING;
cpp_hashnode *node = NULL;
char *fname = NULL;
if (token->type == CPP_STRING || token->type == CPP_HEADER_NAME)
{
fname = XNEWVEC (char, token->val.str.len - 1);
memcpy (fname, token->val.str.text + 1, token->val.str.len - 2);
fname[token->val.str.len - 2] = '\0';
node = token->val.node.node;
}
else if (token->type == CPP_LESS)
fname = _cpp_bracket_include (pfile);
......@@ -2241,8 +2239,5 @@ parse_has_include (cpp_reader *pfile, cpp_hashnode *op, include_type type)
cpp_error (pfile, CPP_DL_ERROR,
"missing ')' after \"%s\" operand", NODE_NAME (op));
if (node)
pfile->mi_ind_cmacro = node;
return result;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment