http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50294
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-05 13:59:44 UTC --- http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00280.html fixes the Storage_Error issue but still ICEs because of the forced sign-extension in output_constructor_regular_field which we do because of Ada having "negative" DECL_FIELD_OFFSET values.