system.h & warnings
Jeffrey A Law
law@cygnus.com
Sat Apr 4 11:01:00 GMT 1998
In message < 199804021620.LAA18789@caip.rutgers.edu >you write:
> One thing I'd like to bring up, the test you used in genoutput.c
> to see if __attribute__ should be used only checks __GNUC__. This can
> fail for stage1 compilers which are gcc but are older versions. E.g.
> these can be either gcc installed by the user or the default compiler
> (like maybe nextstep? I'll bet it fails there.)
Good point.
> I'd like to put something in gansidecl.h to do a rigorous test
> once. Then one can use __attribute__, or macros based on it, more freely.
Yes, I think putting this into gansidecl.h would be fine.
However, I don't want to go littering too much of the source code
with attributes. I don't mind in the generated files because we
very rarely have to look at them :-)
> Should I make a patch to put the following in gansidecl.h?
>
> --Kaveh
>
> > #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
> > # define __attribute__(x)
> > #endif
> >
> > #define ATTRIBUTE_UNUSED __attribute__ ((unused))
> >
> > #define ATTRIBUTE_PRINTF(m, n) __attribute__ ((format (__printf__, m, n)
> ))
> > #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)
> > #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3)
> > #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4)
Why bother with the ATTRIBUTE_UNUSED macro? It isn't significantly
simpler or easier to read than __attribute__ ((unused)).
jeff
More information about the Gcc
mailing list