Having casually compared compilers for decades now, its often been the case that gcc would compile things that other compilers would fail on. However, it was almost always a case of gcc being more permissive of bad things, than those other compilers failing when they shouldn't.
Over time, gcc has become less permissive of such bad things, so this problem crops up a lot less than it used to.
Its kinda surprising that these sort of changes are still happening version to version, but it likely is par for the course.
Just remember, its not that the update broke your code. Rather, its that your code was already broken, the compiler previously let it slide, and now it isn't. (Or the default on some compiler error/warning flag changed, which can be an easy fix if you look closely and figure out what it was.)
The only change in 1.9.0 that's been an issue for me so far, is the new default build output settings. However, fixing that was literally finding a box to check.