They don't necessarily "break" it for gcc but the fact that there are repeated flags (eg. -w,-ftree-slp-vectorize, -fno-strict-aliasing), seemingly redundant (-ftree-slp-vectorize after -O3) and apparently conflicting options (eg. both -O2 and -O3) indicates it should at least be reviewed.