diff options
Diffstat (limited to 'gcc/fixinc')
-rw-r--r-- | gcc/fixinc/inclhack.def | 10 |
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; |