This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
__STDC_VERSION__ and vararg macro checking
- From: Tommi Kyntola <tommi dot kyntola at ray dot fi>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 14 May 2004 13:28:06 +0300
- Subject: __STDC_VERSION__ and vararg macro checking
- Reply-to: tommi dot kyntola at ray dot fi
I was wondering now that atleast in 3.3.X series the __STDC_VERSION__
is no longer defined by default, how should portable code determine
which vararg macro format can be used?
(or is the -std=c99 or similar intended as mandatory for c99 vararg macros)
I read somewhere that the __STDC_VERSION__ wouldn't be defined
for c++ alone, but that's not the case either. Moreover
with c++ the gcc seems to define the __cplusplus into 1 rather
than year-month combo.
I mean checks like below no longer yield results they used to.
#if (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
#define mydebug(format, ...) printf(format , ## __VA_ARGS__)
#else
#define mydebug(format...) printf(format)
#endif
I'm face to face with gcc versions 2.95.3, 3.0.X and above
and I'm unable to find any reference as to how should I check
the vararg macro support, because each and every web page still
suggests that check. How should it be checked these days?
Please also cc me replies as I'm not on the list.
cheers,
Tommi "Kynde" Kyntola kynde@ts.ray.fi