sem_smem.adb (Check_Shared_Var): Check explicitly for as task object, to prevent subsequent expansion.

2007-04-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_smem.adb (Check_Shared_Var): Check explicitly for as task object,
	to prevent subsequent expansion.

From-SVN: r125461
This commit is contained in:
Ed Schonberg 2007-06-06 12:47:17 +02:00 committed by Arnaud Charlet
parent 13f34a3ff1
commit ff68219171
1 changed files with 10 additions and 1 deletions

View File

@ -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.