diff options
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r-- | gcc/ada/gcc-interface/utils.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index cc25973..7de76637 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -1507,7 +1507,7 @@ built: || TREE_OVERFLOW (orig_size) || tree_int_cst_lt (size, orig_size)))) { - Node_Id gnat_error_node = Empty; + Node_Id gnat_error_node; /* For a packed array, post the message on the original array type. */ if (Is_Packed_Array_Impl_Type (gnat_entity)) @@ -1517,8 +1517,12 @@ built: || Ekind (gnat_entity) == E_Discriminant) && Present (Component_Clause (gnat_entity))) gnat_error_node = Last_Bit (Component_Clause (gnat_entity)); - else if (Present (Size_Clause (gnat_entity))) + else if (Has_Size_Clause (gnat_entity)) gnat_error_node = Expression (Size_Clause (gnat_entity)); + else if (Has_Object_Size_Clause (gnat_entity)) + gnat_error_node = Expression (Object_Size_Clause (gnat_entity)); + else + gnat_error_node = Empty; /* Generate message only for entities that come from source, since if we have an entity created by expansion, the message will be |