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 >=20 > Modified files: > usr.sbin/ppp cbcp.c=20 > Log: > Avoid a rather bizarre warning from gcc 3.1: >=20=20=20 > /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 =C6 =C5 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. ??=3D # ??) ] ??! | ??( [ ??' ^ ??> } ??/ \ ??< { ??- ~ 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 --=20 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>