プログラマは、過激な最適化をして良い部分と、全く最適化をしてはいけない部分を知っているので、
俺としては、単純に、関数単位で最適化をON/OFF出来るようにすればいいだけだと思うのだが、
コンパイラ側は「1mmたりともゆずらねえ、可能な限りの最適化は行う」なので、今がある。

-fstrict-flex-arrays については、仕様化したんだから書き直せ、というのも一理あるが、
構造体の最後に付いてる[0]なんてその使い方をするに決まってるわけだし、わざわざ指定する価値もない。
(手間が増えるだけ。ただ、コンパイラ作成側は自分以外の手間が増えても問題ないという態度。これは昔から。
ただそもそも指定したところで速くなるコードが存在しない。
《=有るとしたら最初から不要なのだから削除しとけであって、つまり unreachable なコード区画なわけだし》
だからオプションとして整備する価値もないはずなのだが、コンパイラ作成側としては、『成果』として必要なんだろ)

ただその後、コンパイラ作成側の主戦場はRustに移行したので、C/C++界隈は浄化されたはず。
そしてRustの場合は最初からこれを知ってたから、
「コンパイラは何をしてもいい、プログラマに明示的に書かせろ」が強化されてるはず。
なのでまあ、今は、そういうのはRustでどうぞ、だと思うよ。