Traditional cpp (was: /usr/bin/calendar broken on current)

Greg 'groggy' Lehey grog at
Sat Nov 10 06:46:26 UTC 2012

On Friday,  9 November 2012 at 13:52:24 +0100, Dimitry Andric wrote:
> On 2012-11-09 08:26, Greg 'groggy' Lehey wrote:> On Thursday,  8 November
> 2012 at 22:58:37 -0800, Manfred Antar wrote:
>>> Sometime in the last week calendar stopped working.
>>> not sure the cause
>>> here is some of the output:
>>> /usr/share/calendar/ warning: missing terminating '
>>> character [-Winvalid-pp-token]
>>> 12/16   Don McLean's "American Pie" is released, 1971
>>>                   ^
>> This is unexpected fallout from the transition from gcc to clang.
>> calendar invokes cpp, and it seems that clang's cpp doesn't like what
>> it sees.  This patch works around the issue:
>> --- pathnames.h	(revision 242777)
>> +++ pathnames.h	(working copy)
>> @@ -32,5 +32,5 @@
>>  #include <paths.h>
>> -#define	_PATH_CPP	"/usr/bin/cpp"
>> +#define	_PATH_CPP	"/usr/bin/gcpp"
>>  #define	_PATH_INCLUDE	"/usr/share/calendar"
>> Clearly that's not the solution.  I'll investigate.
> Looks like yet another cpp -traditional abuse.

Use or abuse?  In any case, it's not the only one.  In the Good Old
Days people did things like that.  So, it seems, does imake, and I'm
sure others will come out of the woodwork.

> Clang will most likely never support traditional preprocessing.


> It is probably better to just use sed or awk for this kind of
> trickery.

I'm not sure that's the way to go.  It's more work than it's worth.

What we really need is a traditional cpp.  That's not difficult:
there's one in 4.3BSD (all 32 kB of source).  OpenBSD also had one,
though it's gone now, so presumably that one has a clean license.
Both appear to be from pcc.  Should we import it into the tree as,
say, tradcpp?

Sent from my desktop computer.
Finger grog at for PGP public key.
See complete headers for address and phone numbers.
This message is digitally signed.  If your Microsoft MUA reports
problems, please read
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <>

More information about the freebsd-current mailing list