From ff6821917192a0e459c2b050723a2a66d4b2cb8f Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Wed, 6 Jun 2007 12:47:17 +0200 Subject: [PATCH] sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion. 2007-04-20 Ed Schonberg * sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion. From-SVN: r125461 --- gcc/ada/sem_smem.adb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_smem.adb b/gcc/ada/sem_smem.adb index 2682c88c7d4..6584867f843 100644 --- a/gcc/ada/sem_smem.adb +++ b/gcc/ada/sem_smem.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1998-2000, Free Software Foundation, Inc. -- +-- Copyright (C) 1998-2007, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -77,6 +77,15 @@ package body Sem_Smem is "not supported in Shared_Passive partitions", Id); + -- Objects with default-initialized types will be rejected when + -- the initialization code is generated. However we must flag tasks + -- earlier on, to prevent expansion of stream attributes that is + -- bound to fail. + + elsif Has_Task (T) then + Error_Msg_N + ("Shared_Passive partitions cannot contain tasks", Id); + -- Currently we do not support unconstrained record types, since we -- use 'Write to write out values. This could probably be special -- cased and handled in the future if necessary. -- 2.30.2