[Ada] Deal with enumeration types with very large size
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 29 Apr 2020 19:42:22 +0000 (21:42 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Fri, 19 Jun 2020 08:17:22 +0000 (04:17 -0400)
2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* exp_attr.adb (Get_Integer_Type): Return the largest supported
unsigned integer type if need be.

gcc/ada/exp_attr.adb

index 30bb7cce1e47117df5962c65167d8ae9ae9c2be6..f21ec9e91173e347be42a867ae15f4ec57867d3d 100644 (file)
@@ -1766,7 +1766,7 @@ package body Exp_Attr is
             Int_Typ := Standard_Unsigned;
 
          else
-            raise Program_Error;
+            Int_Typ := Standard_Long_Long_Unsigned;
          end if;
 
          return Int_Typ;