only evaluate argument once in MCHECK macro.