Subject: Re: Fix for PR#23300 (cpp and -Wtraditional)
To: James Chacon <jmc@NetBSD.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-toolchain
Date: 12/16/2003 08:04:00
On Dec 15, 10:44pm, jmc@NetBSD.org (James Chacon) wrote:
-- Subject: Re: Fix for PR#23300 (cpp and -Wtraditional)

| > Why, it just move a cpp time error to a compile time error?
| 
| Actually no...If you follow this warning's advice and then compile something
| with -traditional-cpp you'll lose. Where you expected something to error out,
| will not, and instead give unexpected results. When in the past all
| pre C89 cpp's I used would have error'd on #error (maybe not with a nice
| 'error' string, but they stopped regardless). This one is special exactly
| for being named 'error'. That's what it was used for both pre and post C89
| and the warning tell you to turn one behavior off when that's obviously not 
| what was intended by whoever wrote the original code it's parsing..

Can you construct an example? So what if the error string is not nice. The
point is that the compilation stops, the error line is displayed and once
you edit the file, you understand exactly what went on. I don't like our
version of gcc to behave differently that anyone elses if it is not
necessary. It has always led to confusion in the past. Remember, we don't
want the in-tree gcc to behave differently than let's say the pkgsrc cross-gcc!

christos