Ada_Ru форум

Обсуждение языка Ада

Re: Preelaborable_Initialization vs. Root_Storage_Pool

Оставить новое сообщение

Сообщения

Иван Леваше
Re: Preelaborable_Initialization vs. Root_Storage_Pool
2010-01-25 08:46:56
Vadim Godunko writes:

> 
> On 01/16/2010 02:32 PM, Ivan Levashew wrote:
> > 
> > Имеется проблема такого рода:
> > 
> Хорошо бы видеть конкретный код.
> 
> ------------------------------------
> 
> 
В принципе, код не очень сложный (пишу по памяти):

type Reallocable_Storage_Pool is new Root_Storage_Pool with
   abstract private;
pragma Preelaborable_Initialization (Reallocable_Storage_Pool);

private

type Reallocable_Storage_Pool is new Root_Storage_Pool with
   null record;

Выкидывание дополнительных методов, overriding Initialize и 
Finalize на null procedure не дают эффекта. Эффект даёт только 
определение типа как new Limited_Controlled (без Root_Storage_Pool).

Кончилось тем, что я заглянул в RTL и не нашёл там 
pragma Preelaborable_Initialization (Root_Storage_Pool);

В стандарте есть, а в RTL — нет.

Я сильно сомневаюсь, что Preelaborable_Initialization 
восстанавливается магией компилятора, так что причина только в 
этом. Багрепорт пока не писал.
Vadim Godunko
Re: [ada_ru] Re: Preelaborable_Initialization vs. Root_Storage_Pool
2010-01-25 09:22:05
On 01/25/2010 11:46 AM, Ivan Levashew wrote:
> 
> Я сильно сомневаюсь, что Preelaborable_Initialization
> восстанавливается магией компилятора, так что причина только в
> этом. Багрепорт пока не писал.
> 
Надо написать, раз уж обнаружено явное несоответствие стандарту :-)
Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти