This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: system.h & warnings
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Subject: Re: system.h & warnings
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 02 Apr 1998 13:09:28 -0700
- cc: egcs at cygnus dot com, wilson at cygnus dot com
- Reply-To: law at cygnus dot com
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