diff options
Diffstat (limited to 'gcc/ada/sem_type.adb')
-rw-r--r-- | gcc/ada/sem_type.adb | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index 105dc53bc55..57bbb3de759 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -824,6 +824,9 @@ package body Sem_Type is then return True; + -- Ada0Y (AI-50217): Additional branches to make the shadow entity + -- compatible with its real entity. + elsif From_With_Type (T1) then -- If the expected type is the non-limited view of a type, the @@ -2134,15 +2137,19 @@ package body Sem_Type is if B1 = B2 then return B1; - elsif (T1 = Universal_Integer and then Is_Integer_Type (T2)) - or else (T1 = Universal_Real and then Is_Real_Type (T2)) - or else (T1 = Any_Fixed and then Is_Fixed_Point_Type (T2)) + elsif False + or else (T1 = Universal_Integer and then Is_Integer_Type (T2)) + or else (T1 = Universal_Real and then Is_Real_Type (T2)) + or else (T1 = Universal_Fixed and then Is_Fixed_Point_Type (T2)) + or else (T1 = Any_Fixed and then Is_Fixed_Point_Type (T2)) then return B2; - elsif (T2 = Universal_Integer and then Is_Integer_Type (T1)) - or else (T2 = Universal_Real and then Is_Real_Type (T1)) - or else (T2 = Any_Fixed and then Is_Fixed_Point_Type (T1)) + elsif False + or else (T2 = Universal_Integer and then Is_Integer_Type (T1)) + or else (T2 = Universal_Real and then Is_Real_Type (T1)) + or else (T2 = Universal_Fixed and then Is_Fixed_Point_Type (T1)) + or else (T2 = Any_Fixed and then Is_Fixed_Point_Type (T1)) then return B1; |