diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc index caa0f56a34d9e46a106662db4778b7ba925fac5d..fadd6b483d5a844454c87964a815693d6de45a07 100644 --- a/gcc/ada/gcc-interface/trans.cc +++ b/gcc/ada/gcc-interface/trans.cc @@ -4527,6 +4527,9 @@ storage_model_access_required_p (Node_Id gnat_node, Entity_Id *gnat_smo) static tree create_temporary (const char *prefix, tree type) { + if (CONTAINS_PLACEHOLDER_P (TYPE_SIZE (type))) + type = maybe_pad_type (type, max_size (TYPE_SIZE (type), true), 0, + Empty, false, false, true); tree gnu_temp = create_var_decl (create_tmp_var_name (prefix), NULL_TREE, type, NULL_TREE,