[Ada] Fix compile time evaluation of shift intrinsics
authorArnaud Charlet <charlet@adacore.com>
Fri, 20 Nov 2020 15:18:22 +0000 (10:18 -0500)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 14 Dec 2020 15:51:53 +0000 (10:51 -0500)
gcc/ada/

* sem_eval.adb (Fold_Shift): Compute values using the base type.

gcc/ada/sem_eval.adb

index b519016b46e54d8001ade65419c129fe963c709c..68498e6caaf0e3fdf1d5991f0779303ac20730b3 100644 (file)
@@ -4785,7 +4785,7 @@ package body Sem_Eval is
       Static     : Boolean := False;
       Check_Elab : Boolean := False)
    is
-      Typ : constant Entity_Id := Etype (Left);
+      Typ : constant Entity_Id := Base_Type (Etype (Left));
 
       procedure Check_Elab_Call;
       --  Add checks related to calls in elaboration code