Waldek Hebisch wrote:
Well, I am trying to get int correct spirit to fit well with the rest of the compiler. My question about other C compilers were motiveted by the following problems: -- GCC 3.x headers forbids (using #pragma GCC poison) Berkeley functions bcopy, bzero, bcmp, rindex, is it OK to eliminate them completly from GPC
Actually, I've done so to a large extent recently. I'll upload a patch soon. I'm trying to get some more bugs fixed that were reported recently, but if you'd like to have my changes now, let me know.
-- currentely I get many warnings, mostly about dropping const qualifier from pointers, I would like elminate them
Sure. As you've probably seen, there are a number of places in GPC where that's already been done -- often conditionally with `#ifdef EGCS97'. (Since EGCS97 is out of date, we'll never port to it, so it can be regarded as equivalent to gcc-3; if you want to rename the conditional, go ahead, but it doesn't matter much, and once GPC works stable with gcc-3, we can eliminate all the conditionals, anyway.)
-- GPC uses gansidecl.h, which is absent in GCC 3.x, currently I just copied gansidecl.h from 2.5.3, but I would like to eliminate it -- are ANSI compatibility macros mandatory in GPC (I very much prefer just giving full prototypes, including types and argument names, but of course I will use what is considered proper for GPC)
In the long run, it's, of course, the best to do it like the rest of the current GCC sources. However, since we currently have to maintain compatibility to older GCC versions, I wouldn't suggest to do anything that requires extensive changes (many ifdefs etc.). It seems easier to do that after porting to gcc-3, when we only have to deal with one GCC version.
-- in few places GCC extensions are handy. But I other folks wish to compile GPC with other C compilers, then I will avoid them
It's better to avoid them.
Frank