On Sun, Apr 2, 2023, at 5:17 PM, Paul Eggert wrote:
> That macro dates back to /usr/include header files that would play
> tricks like this
>
> #define _IO(n, x) (('n'<<8)+x)
>
> #define TIOCFOO _IO(T, 1)
Yeah, I thought it had to be something like that...
>
That macro dates back to /usr/include header files that would play
tricks like this
#define _IO(n, x) (('n'<<8)+x)
#define TIOCFOO _IO(T, 1)
and would expect TIOCFOO to be equivalent to (('T'<<8)+1). This sort of
trick worked with K C compilers but does not work with C89+. To
Hello, Zack,
I don't know the answer, but I have a hunch that may hopefully ring a
bell for someone who went through those pains: the included headers
relied heavily on ioctl macros, that, on early Unices, often abused
pre-std preprocessor macro quirks about quoting, in ways that would only
have
After the AC_TYPE_GETGROUPS patch I just sent and one more
I have stacked up locally, the very last use of AC_EGREP_CPP
and/or AC_EGREP_HEADER in a stock Autoconf macro will be in
AC_PROG_GCC_TRADITIONAL, which does this:
AC_DEFUN([AC_PROG_GCC_TRADITIONAL],
[AC_REQUIRE([AC_PROG_CC])dnl
if test