diff options
author | Javier Miranda <miranda@adacore.com> | 2020-07-25 13:16:32 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-10-21 03:22:43 -0400 |
commit | ac38961bad550e8054eff14466fdc8884bee1502 (patch) | |
tree | 33088ec69dd5055260677735c759ec9ee66c0d28 | |
parent | 73764bae1d416524fc06e0f01f81c7274ec0937b (diff) | |
download | gcc-ac38961bad550e8054eff14466fdc8884bee1502.zip gcc-ac38961bad550e8054eff14466fdc8884bee1502.tar.gz gcc-ac38961bad550e8054eff14466fdc8884bee1502.tar.bz2 |
[Ada] Spurious error in taft ammendment derivation of CPP type
gcc/ada/
* sem_ch3.adb (Build_Derived_Type): Propagate convention of
class-wide parent.
-rw-r--r-- | gcc/ada/sem_ch3.adb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index be5ed67..a8baad9 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -9751,6 +9751,13 @@ package body Sem_Ch3 is Set_Convention (Derived_Type, Convention (Parent_Base)); + if Is_Tagged_Type (Derived_Type) + and then Present (Class_Wide_Type (Derived_Type)) + then + Set_Convention (Class_Wide_Type (Derived_Type), + Convention (Class_Wide_Type (Parent_Base))); + end if; + -- Set SSO default for record or array type if (Is_Array_Type (Derived_Type) or else Is_Record_Type (Derived_Type)) |