diff options
Diffstat (limited to 'libcpp/directives.c')
-rw-r--r-- | libcpp/directives.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libcpp/directives.c b/libcpp/directives.c index 0a8569a..ba92ec2 100644 --- a/libcpp/directives.c +++ b/libcpp/directives.c @@ -571,6 +571,10 @@ lex_macro_node (cpp_reader *pfile, bool is_def_or_undef) || node == pfile->spec_nodes.n__has_include_next__)) cpp_error (pfile, CPP_DL_ERROR, "\"__has_include__\" cannot be used as a macro name"); + else if (is_def_or_undef + && node == pfile->spec_nodes.n__has_attribute__) + cpp_error (pfile, CPP_DL_ERROR, + "\"__has_attribute__\" cannot be used as a macro name"); else if (! (node->flags & NODE_POISONED)) return node; } |