|
From: <sv...@va...> - 2010-02-19 16:50:57
|
Author: tom
Date: 2010-02-19 16:50:45 +0000 (Fri, 19 Feb 2010)
New Revision: 11051
Log:
Add parentheses round the "zzarg" macro argument when using it as it
may expand to an expression which may mean we wind up doing the cast
before evaluating the expression... Closes #227570.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-generic.h
Modified: trunk/coregrind/m_syswrap/priv_syswrap-generic.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2010-02-18 15:54:45 UTC (rev 11050)
+++ trunk/coregrind/m_syswrap/priv_syswrap-generic.h 2010-02-19 16:50:45 UTC (rev 11051)
@@ -252,23 +252,23 @@
extern SysRes ML_(generic_PRE_sys_mmap) ( TId, UW, UW, UW, UW, UW, Off64T );
-#define PRE_timeval_READ(zzname, zzarg) \
- do { \
- struct vki_timeval *zztv = (struct vki_timeval *)zzarg; \
- PRE_FIELD_READ(zzname, zztv->tv_sec); \
- PRE_FIELD_READ(zzname, zztv->tv_usec); \
+#define PRE_timeval_READ(zzname, zzarg) \
+ do { \
+ struct vki_timeval *zztv = (struct vki_timeval *)(zzarg); \
+ PRE_FIELD_READ(zzname, zztv->tv_sec); \
+ PRE_FIELD_READ(zzname, zztv->tv_usec); \
} while (0)
-#define PRE_timeval_WRITE(zzname, zzarg) \
- do { \
- struct vki_timeval *zztv = (struct vki_timeval *)zzarg; \
- PRE_FIELD_WRITE(zzname, zztv->tv_sec); \
- PRE_FIELD_WRITE(zzname, zztv->tv_usec); \
+#define PRE_timeval_WRITE(zzname, zzarg) \
+ do { \
+ struct vki_timeval *zztv = (struct vki_timeval *)(zzarg); \
+ PRE_FIELD_WRITE(zzname, zztv->tv_sec); \
+ PRE_FIELD_WRITE(zzname, zztv->tv_usec); \
} while (0)
-#define POST_timeval_WRITE(zzarg) \
- do { \
- struct vki_timeval *zztv = (struct vki_timeval *)zzarg; \
- POST_FIELD_WRITE(zztv->tv_sec); \
- POST_FIELD_WRITE(zztv->tv_usec); \
+#define POST_timeval_WRITE(zzarg) \
+ do { \
+ struct vki_timeval *zztv = (struct vki_timeval *)(zzarg); \
+ POST_FIELD_WRITE(zztv->tv_sec); \
+ POST_FIELD_WRITE(zztv->tv_usec); \
} while (0)
|