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.
This commit is contained in:
Nathan Sidwell 2020-01-24 04:19:36 -08:00
parent e8e66971cd
commit a1f6eff20e
2 changed files with 4 additions and 5 deletions

View File

@ -1,3 +1,7 @@
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

View File

@ -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;
}