bugprone-multiple-statement-macro

检测在无括号条件语句中使用的多语句宏。宏的第一个语句将位于条件语句中,而其他语句将无条件执行。

示例

#define INCREMENT_TWO(x, y) (x)++; (y)++
if (do_increment)
  INCREMENT_TWO(a, b);  // (b)++ will be executed unconditionally.