diff mbox series

[COMMITTED] ada: Avoid crash on illegal constrained type declarations

Message ID 20240513083555.164842-1-poulhies@adacore.com
State New
Headers show
Series [COMMITTED] ada: Avoid crash on illegal constrained type declarations | expand

Commit Message

Marc Poulhiès May 13, 2024, 8:35 a.m. UTC
From: Piotr Trojanek <trojanek@adacore.com>

Fix crash on ACATS test B38003B introduced by a recent cleanup of
per-object constraints.

gcc/ada/

	* sem_util.adb (Get_Index_Bounds): Guard against missing Entity,
	which happens on illegal constrained type declaration.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/sem_util.adb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 5f44b4c26fe..579172515df 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -10542,7 +10542,10 @@  package body Sem_Util is
             H := High_Bound (Range_Expression (Constraint (N)));
          end if;
 
-      elsif Is_Entity_Name (N) and then Is_Type (Entity (N)) then
+      elsif Is_Entity_Name (N)
+        and then Present (Entity (N))
+        and then Is_Type (Entity (N))
+      then
          Rng := Scalar_Range_Of_Type (Entity (N));
 
          if Error_Posted (Rng) then