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

From: Greg 'groggy' Lehey <grog_at_FreeBSD.org>
Date: Sat, 10 Nov 2012 17:46:21 +1100
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/calendar.music:231:17: 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)
>> _at__at_ -32,5 +32,5 _at__at_
>>
>>  #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.

OK.

> 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?

Greg
--
Sent from my desktop computer.
Finger grog_at_FreeBSD.org 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 http://tinyurl.com/broken-mua

Received on Sat Nov 10 2012 - 05:46:26 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:32 UTC