LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :


ну то есть было:

unit Test;
interface

procedure something; inline; begin end;

implementation

end.

а чтобы fpc собирать начал, из этого надо сделать
unit Test;

interface

procedure something;

implementation

procedure something; begin end;

end.


Строго говоря, современный FPC отлично умеет inline, причем указание директивы допустимо и в обоих разделах, и только в одном из ;-) Но реализация должна быть, сюрприз-сюрприз, в разделе реализации ;-)

Если попробовать сохранить inline, под это нужно заводить отдельную ветку, ибо для VP пригоден только вариант с inline-кодом в интерфейс-разделе. Дублировать фрагмент кода и там и там — так себе идея.
Можно обойти при помощи {$i FileName}:

unit Test;
interface

procedure someshit;
{$IFDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

implementation

procedure someshit;
{$IFNDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

end.

Ну, или
1) как изначально предложено, отказаться от inline вовсе, либо
2) отказаться от inline только для VP ;-)
unit Test;
interface

procedure someshit;

implementation

procedure someshit; 
{$IFNDEF VIRTUALPASCAL}inline;{$ENDIF}
begin
end;

end.

Исправление bormant, :


ну то есть было:

unit Test;
interface

procedure something; inline; begin end;

implementation

end.

а чтобы fpc собирать начал, из этого надо сделать
unit Test;

interface

procedure something;

implementation

procedure something; begin end;

end.


Строго говоря, современный FPC отлично умеет inline, причем указание директивы допустимо и в обоих разделах, и только в одном из ;-) Но реализация должна быть, сюрприз-сюрприз, в разделе реализации ;-)

Если попробовать сохранить inline, под это нужно заводить отдельную ветку, ибо для VP пригоден только вариант с inline-кодом в интерфейс-разделе. Дублировать фрагмент кода и там и там — так себе идея.
Можно обойти при помощи {$i FileName}:

unit Test;
interface

procedure someshit;
{$IFDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

implementation

procedure someshit;
{$IFNDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

end.

Ну, или
1) как изначально предложено, отказаться от inline вовсе, либо 2) отказаться от inline только для VP ;-)
unit Test;
interface

procedure someshit;

implementation

procedure someshit; 
{$IFNDEF VIRTUALPASCAL}inline;{$ENDIF}
begin
end;

end.

Исправление bormant, :


ну то есть было:

unit Test;
interface

procedure something; inline; begin end;

implementation

end.

а чтобы fpc собирать начал, из этого надо сделать
unit Test;

interface

procedure something;

implementation

procedure something; begin end;

end.


Строго говоря, современный FPC отлично умеет inline, причем достаточно указание директивы допустимо и в обоих разделах, и только в одном из ;-) Но реализация должна быть, сюрприз-сюрприз, в разделе реализации ;-)

Если попробовать сохранить inline, под это нужно заводить отдельную ветку, ибо для VP пригоден только вариант с inline-кодом в интерфейс-разделе. Дублировать фрагмент кода и там и там — так себе идея.
Можно обойти при помощи {$i FileName}:

unit Test;
interface

procedure someshit;
{$IFDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

implementation

procedure someshit;
{$IFNDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

end.

Ну, или
1) как изначально предложено, отказаться от inline вовсе, либо 2) отказаться от inline только для VP ;-)
unit Test;
interface

procedure someshit;

implementation

procedure someshit; 
{$IFNDEF VIRTUALPASCAL}inline;{$ENDIF}
begin
end;

end.

Исходная версия bormant, :


ну то есть было:

unit Test;
interface

procedure something; inline; begin end;

implementation

end.

а чтобы fpc собирать начал, из этого надо сделать
unit Test;

interface

procedure something;

implementation

procedure something; begin end;

end.


Строго говоря, современный FPC отлично умеет inline, причем достаточно указание директивы допустимо и в обоих разделах, и только в одном из ;-)

Если попробовать сохранить inline, под это нужно заводить отдельную ветку, ибо для VP пригоден только вариант с inline-кодом в интерфейс-разделе. Дублировать фрагмент кода и там и там — так себе идея.
Можно обойти при помощи {$i FileName}:

unit Test;
interface

procedure someshit;
{$IFDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

implementation

procedure someshit;
{$IFNDEF VIRTUALPASCAL}
  inline;
  {$i someshit.pi}
{$ENDIF}

end.

Ну, или
1) как изначально предложено, отказаться от inline вовсе, либо 2) отказаться от inline только для VP ;-)
unit Test;
interface

procedure someshit;

implementation

procedure someshit; 
{$IFNDEF VIRTUALPASCAL}inline;{$ENDIF}
begin
end;

end.