[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