6.6.4.2.21 -Wtraditional

Warn about certain constructs that behave differently in traditional and ANSI C.

  • Macro arguments occurring within string constants in the macro body. These would substitute the argument in traditional C, but are part of the constant in ANSI C.
  • A function declared external in one block and then used after the end of the block.
  • A switch statement has an operand of type long.
  • A nonstatic function declaration follows a static one. This construct is not accepted by some traditional C compilers.