Date: 14 May 2002 20:41:26 +0200 From: Dag-Erling Smorgrav <des@ofug.org> To: Brian Somers <brian@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.sbin/ppp cbcp.c Message-ID: <xzpu1pa373d.fsf@flood.ping.uio.no> In-Reply-To: <200205141332.g4EDWUG59102@freefall.freebsd.org> References: <200205141332.g4EDWUG59102@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Brian Somers <brian@FreeBSD.org> writes:
> brian 2002/05/14 06:32:30 PDT
>
> Modified files:
> usr.sbin/ppp cbcp.c
> Log:
> Avoid a rather bizarre warning from gcc 3.1:
>
> /usr/src/usr.sbin/ppp/cbcp.c:566:61: warning: trigraph ??! ignored
It's not bizarre at all - trigraphs are possibly the most reviled
feature of C89, meant to provide alternatives to some characters such
as [ ] { } ~ | which in some character sets common on PCs at that time
were replaced with national characters (for instance, [ ] looked like
Æ Å on computers using "Norwegian ASCII", before we got codepage 865).
'??!' is the trigraph sequnce for '|'. Here's the full set:
5.2.1.1 Trigraph sequences
[#1] All occurrences in a source file of the following
sequences of three characters (called trigraph sequences11))
are replaced with the corresponding single character.
??= # ??) ] ??! |
??( [ ??' ^ ??> }
??/ \ ??< { ??- ~
No other trigraph sequences exist. Each ? that does not
begin one of the trigraphs listed above is not changed.
[#2] EXAMPLE The following source line
printf("Eh???/n");
becomes (after replacement of the trigraph sequence ??/)
printf("Eh?\n");
Trigraphs are so unpopular (and useless on modern systems) that GCC
just warns about them, without converting them to the corresponding
single character.
DES
--
Dag-Erling Smorgrav - des@ofug.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?xzpu1pa373d.fsf>
