Re: cvs commit: src/include stdio.h src/lib/libc/stdio clrerr.c feof.c ferror.c fileno.c getc.c getchar.c local.h putc.c putchar.c xprintf.c

[ Available lists | Index of cvs-src | Month of May 2008 | Week of 5 May 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
John Baldwin <jhb@freebsd.org>
Date
5 May 2008 20:47:22
Subject
Re: cvs commit: src/include stdio.h src/lib/libc/stdio clrerr.c feof.c ferror.c fileno.c getc.c getchar.c local.h putc.c putchar.c xprintf.c
Message-ID
200805051637.43073.jhb@freebsd.org


[ Hide this part ]
On Monday 05 May 2008 03:24:17 pm Peter Jeremy wrote:
> On Mon, May 05, 2008 at 02:59:28PM -0400, John Baldwin wrote:
> >On Monday 05 May 2008 02:40:03 pm Alfred Perlstein wrote:
> >> I'm _not_ objecting, just interested in why.
> >>
> >> Any references to discussions on this? Are we now safe for
> >> future compat or something?
> >
> >Having FILE be opaque broke just about every 'configure' script on the
> >planet. :(
>
> Either autoconf and friends are _intended_ as impediments to
> portability or they are completely broken by design.

It appears that autoconf only believes a type is real if you can typedef it to
another type, cast 0 to a valid pointer to the new typedef'd type, and do a
sizeof() of the typdef'd type. The last is where having an opaque type
breaks down for scripts that want to make sure FILE is a real type.

--
John Baldwin


Elapsed time: 0.295 seconds