https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33483
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- It might makes sense to provide the functionality under the -Wunevaluated-expression option for compatibility with clang: $ cat u.c && clang -Wall -c u.c int foo (int i) { int a [i]; return sizeof (a [i++]); } u.c:4:19: warning: expression with side effects has no effect in an unevaluated context [-Wunevaluated-expression] return sizeof (a [i++]); ^ 1 warning generated.