aboutsummaryrefslogtreecommitdiff
path: root/libcpp/directives.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcpp/directives.c')
-rw-r--r--libcpp/directives.c4
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;
}