aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGary Dismukes <dismukes@adacore.com>2008-05-27 10:50:04 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-05-27 10:50:04 +0200
commit491016e57014542fa5f69d27d2c944c5c6bd5289 (patch)
treecc84d84cd3df9c42fd27fb77354cf4e22757f942 /gcc
parent393148620c7bb43f25c976a32daf205c90f33b54 (diff)
downloadgcc-491016e57014542fa5f69d27d2c944c5c6bd5289.zip
gcc-491016e57014542fa5f69d27d2c944c5c6bd5289.tar.gz
gcc-491016e57014542fa5f69d27d2c944c5c6bd5289.tar.bz2
sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype to the known type entity E...
2008-05-27 Gary Dismukes <dismukes@adacore.com> * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype to the known type entity E, rather than setting it to Any_Type. Fixes possible blowup in function Base_Init_Proc, as called from Freeze_Entity for objects whose type had an illegal constraint. From-SVN: r135979
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/sem_ch3.adb4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index a3f036a..9fb7e94 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -10186,7 +10186,9 @@ package body Sem_Ch3 is
Set_Ekind (Def_Id, Subtype_Kind (Ekind (T)));
end if;
- Set_Etype (Def_Id, Any_Type);
+ -- Set Etype to the known type, to reduce chances of cascaded errors
+
+ Set_Etype (Def_Id, E);
Set_Error_Posted (Def_Id);
end Fixup_Bad_Constraint;