aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2021-11-16 12:19:13 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2021-12-01 10:24:41 +0000
commite3102ec09c9b7e58312f3c18c841679db5778458 (patch)
treec5fd057e4eddbb76671c01a48e287e79c0cdc82b
parentb940999de44208a0659d9441393fa3f62be24f28 (diff)
downloadgcc-e3102ec09c9b7e58312f3c18c841679db5778458.zip
gcc-e3102ec09c9b7e58312f3c18c841679db5778458.tar.gz
gcc-e3102ec09c9b7e58312f3c18c841679db5778458.tar.bz2
[Ada] Do not free task for _parent
gcc/ada/ * exp_ch7.adb (Cleanup_Record): Don't process parent.
-rw-r--r--gcc/ada/exp_ch7.adb5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb
index cd9ff21..68d1da9 100644
--- a/gcc/ada/exp_ch7.adb
+++ b/gcc/ada/exp_ch7.adb
@@ -4629,8 +4629,9 @@ package body Exp_Ch7 is
Comp := First_Component (U_Typ);
while Present (Comp) loop
- if Has_Task (Etype (Comp))
- or else Has_Simple_Protected_Object (Etype (Comp))
+ if Chars (Comp) /= Name_uParent
+ and then (Has_Task (Etype (Comp))
+ or else Has_Simple_Protected_Object (Etype (Comp)))
then
Tsk :=
Make_Selected_Component (Loc,