https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116945
--- Comment #12 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > In C++ (and C) reading uninitialized data is Undefined Behaviour. Which > means you are in the Twilight Zone with nasal demons and all that. The > compiler would be perfectly justified in optimizing away the check. Unlike the C and C++ standards, the Ada standard is freely available at: http://www.ada-auth.org/standards/22rm/html/RM-TTL.html and the 'Valid attribute is specified there: http://www.ada-auth.org/standards/22rm/html/RM-13-9-2.html