+2001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cpp.texi (poison): Explain the macro expansion exception.
+
2001-03-13 Jakub Jelinek <jakub@redhat.com>
* expr.c (store_expr): Add dont_store_target. If temp is already in
@noindent
will produce an error.
+Note, if the poisoned identifier appears through the result of macro
+expansion it @emph{won't} cause an error. So if you poison an
+identifier you need not worry about system headers defining macros that
+use it.
+
+For example,
+
+@example
+#define strrchr rindex
+#pragma GCC poison rindex
+strrchr(some_string, 'h');
+@end example
+
+@noindent
+will not produce an error.
+
@node Macro Pitfalls,, Poisoning, Macros
@subsection Pitfalls and Subtleties of Macros
@cindex problems with macros