http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50558
--- Comment #2 from Eugeniy Meshcheryakov <eugen at debian dot org> 2011-09-28 13:51:43 UTC --- Output with -gnatG looks different for two programs. For good.ada: with pkg; procedure test is begin T1b : pkg__data_record := ( data => 255); pkg.pkg__data_register := T1b; end test; test.adb:5:25: no value supplied for component "Reserved" For test.ada: with pkg; with pkg.pkg__reg; procedure test is begin pkg.pkg__reg.pkg__reg__data_register := ( data => 255); return; end test; But manually adding a temporary variable does not help.