aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2020-02-28 14:56:31 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-09 04:09:04 -0400
commit10212bd8f06e0f8577e15883cae6f9b7c5f381d8 (patch)
tree714652b3b928748f36919c75ea8a31efc365dba1 /gcc
parentc42006e91e021ec222fd1a24d30eff38554f1d4c (diff)
downloadgcc-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.adb6
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