https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84190
--- Comment #11 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- It's not technically required (at least for this issue and as regards C standards conformance) simply because options such as -std=c99 / -std=c11 imply -fexcess-precision=standard, so meaning it doesn't make any visible difference whether those accesses are treated as volatile or not. It may still make sense to treat these as volatile accesses (and so force the values to memory, in such a case of a local variable being accessed through a pointer-to-volatile), to accord with user expectations when using volatile.