diff options
author | Ghjuvan Lacambre <lacambre@adacore.com> | 2020-02-28 14:56:31 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-09 04:09:04 -0400 |
commit | 10212bd8f06e0f8577e15883cae6f9b7c5f381d8 (patch) | |
tree | 714652b3b928748f36919c75ea8a31efc365dba1 /gcc | |
parent | c42006e91e021ec222fd1a24d30eff38554f1d4c (diff) | |
download | gcc-10212bd8f06e0f8577e15883cae6f9b7c5f381d8.zip gcc-10212bd8f06e0f8577e15883cae6f9b7c5f381d8.tar.gz gcc-10212bd8f06e0f8577e15883cae6f9b7c5f381d8.tar.bz2 |
[Ada] Fix wrong type being used for range check generation
2020-06-09 Ghjuvan Lacambre <lacambre@adacore.com>
gcc/ada/
* sem_res.adb (Resolve_Qualified_Expression): Use Subtype_Mark
type.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/sem_res.adb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 6e26ffb..15d08fe 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -10004,8 +10004,10 @@ package body Sem_Res is -- check may convert an illegal static expression and result in warning -- rather than giving an error (e.g Integer'(Integer'Last + 1)). - if Nkind (N) = N_Qualified_Expression and then Is_Scalar_Type (Typ) then - Apply_Scalar_Range_Check (Expr, Typ); + if Nkind (N) = N_Qualified_Expression + and then Is_Scalar_Type (Target_Typ) + then + Apply_Scalar_Range_Check (Expr, Target_Typ); end if; -- AI12-0100: Once the qualified expression is resolved, check whether |