If you think if standard-driven changes to the compiler will never break your C89 code, because you're using the -std=c89 switch or whatever, you are pretty naive.
The only guaranteed way your compiler won't break your code is if it's left alone.
That can happen due to changes unrelated to new standards too. So if you are worried about compiler changes, then definitely freeze the compiler version you use.
Alternatively invest in in quality assurance to verify that your code still works with a new compiler version.
The only guaranteed way your compiler won't break your code is if it's left alone.