[kaffe] building with gcc 2.95 (variadic macro issue in config/katomic.h)

gian paolo ciceri gp.ciceri at acm.org
Fri Apr 1 03:06:49 PST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello all,
there's still an issue to build kaffe cvs with gcc 2.95.x: the variadic
macro syntax is changed (thanks dalibor for the analysis).
So in config/katomic.h, at least, there's something to change.

so here's my trivial fix:
- ----
#if __GNUC__ == 2

#define __atomic_val_bysize(pre, post, mem, args...)		\
~  ({								\
~    __typeof (*mem) __result;				      \
~    if (sizeof (*mem) == 1)				      \
~      __result = pre##_8_##post (mem, args...);			      \
~    else if (sizeof (*mem) == 2)				      \
~      __result = pre##_16_##post (mem, args...);		      \
~    else if (sizeof (*mem) == 4)				      \
~      __result = pre##_32_##post (mem, args...);		     \
~    else if (sizeof (*mem) == 8)			      \
~      __result = pre##_64_##post (mem, args...);	      \
~    else						\
~      abort ();						      \
~    __result;						      \
~  })
#define __atomic_bool_bysize(pre, post, mem, args...)		\
~  ({							      \
~    int __result;					      \
~    if (sizeof (*mem) == 1)					\
~      __result = pre##_8_##post (mem, args...);		      \
~    else if (sizeof (*mem) == 2)			      \
~      __result = pre##_16_##post (mem, args...);	      \
~    else if (sizeof (*mem) == 4)			      \
~      __result = pre##_32_##post (mem, args...);		      \
~    else if (sizeof (*mem) == 8)				     \
~      __result = pre##_64_##post (mem, args...);		      \
~    else							      \
~      abort ();							      \
~    __result;							      \
~  })

#else

... the actual macro definitions

#endif

- ----

regards
/gp

- --
gian paolo ciceri - japanman
suddenthinks, excellence through refactoring
++39 340 7218101
gp.ciceri at acm.org
gp.ciceri at suddenthinks.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFCTStI5CXmEF0gaHgRAiAfAJ0cpspYWB7CFpsv6XhzOsBpNqW/2gCfdaC0
YfHvuMGvOyKlMfDpUHMOdks=
=sSxg
-----END PGP SIGNATURE-----




More information about the kaffe mailing list