It's not a bug. There's no support in FPC/Pascal for using constants with a
defined type in other declarations.
Define your MYINTEGERCONST without a type, and it should work.

const
  MYINTEGERCONST = 5;

On Wed, Jun 12, 2019 at 10:30 PM Simon Ameis <sameis....@web.de> wrote:

> Hello,
>
> I'm just porting some C code to pascal. This code contains constant
> structure definitions which use other constants of simple types.
>
> However FPC reports "Error: Illegal expression" when using a constant
> within an constant record definition.
>
> program Project1;
>
> type
>   TMyRecord = record
>     x: Integer;
>   end;
>
> const
>   MYRECORDCONST2: TMyRecord = (x: 5); //< compiles fine
>   MYINTEGERCONST: Integer = 5;        //< defining integer const
>   MYRECORDCONST1: TMyRecord = (x: MYINTEGERCONST); //< using constant is
> no possible
> begin
> end.
>
> Is this intended or should I fill in a bug report? If it's intendet, I'm
> wondering why?
>
> Regards
> Simon Ameis
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to