summaryrefslogtreecommitdiff
path: root/gcc/fixinc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fixinc')
-rw-r--r--gcc/fixinc/inclhack.def10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index bbdd401b27a..94517191e67 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -587,6 +587,16 @@ fix = {
/*
* Fix CTRL macros
+ *
+ * Basically, what is supposed to be happening is that every
+ * _invocation_ of the "_CTRL()" or "CTRL()" macros is supposed to have
+ * its argument inserted into single quotes. We _must_ do this because
+ * ANSI macro substitution rules prohibit looking inside quoted strings
+ * for the substitution names. A side effect is that the quotes are
+ * inserted in the definitions of those macros as well. So, the last
+ * three sed expressions are supposed to clean up the definitions, as
+ * long as those definitions are using "c", "g" or "x" as the macro
+ * argument :). Yuck.
*/
fix = {
hackname = ioctl_fix_ctrl;