diff options
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index f85b2b5..8045fa5 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -9083,10 +9083,12 @@ set_rm_size (Uint uint_size, tree gnu_type, Entity_Id gnat_entity) if (uint_size == No_Uint) return; - /* Only issue an error if a Value_Size clause was explicitly given. - Otherwise, we'd be duplicating an error on the Size clause. */ + /* Only issue an error if a Value_Size clause was explicitly given for the + entity; otherwise, we'd be duplicating an error on the Size clause. */ gnat_attr_node = Get_Attribute_Definition_Clause (gnat_entity, Attr_Value_Size); + if (Present (gnat_attr_node) && Entity (gnat_attr_node) != gnat_entity) + gnat_attr_node = Empty; /* Get the size as an INTEGER_CST. Issue an error if a size was specified but cannot be represented in bitsizetype. */ |