Beware macro argument multiple expansion...

This commit is contained in:
Brendan Eich 2008-08-11 14:44:22 -07:00
parent a2af1922f6
commit 0280e606df

View File

@ -2668,8 +2668,9 @@ js_Interpret(JSContext *cx)
: normalJumpTable))
# define ENABLE_TRACER(flag) \
JS_BEGIN_MACRO \
JS_ASSERT((flag) == !!JS_TRACE_MONITOR(cx).recorder); \
jumpTable = (flag) ? recordingJumpTable : normalJumpTable; \
bool flag_ = (flag); \
JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \
jumpTable = flag_ ? recordingJumpTable : normalJumpTable; \
JS_END_MACRO
#else
# define LOAD_INTERRUPT_HANDLER(cx) \
@ -2678,8 +2679,9 @@ js_Interpret(JSContext *cx)
? 0 : 255))
# define ENABLE_TRACER(flag) \
JS_BEGIN_MACRO \
JS_ASSERT((flag) == !!JS_TRACE_MONITOR(cx).recorder); \
switchMask = (flag) ? 0 : 255; \
bool flag_ = (flag); \
JS_ASSERT(flag_ == !!JS_TRACE_MONITOR(cx).recorder); \
switchMask = flag_ ? 0 : 255; \
JS_END_MACRO
#endif