Re: [fpc-pascal] pointer to char vs pchar

2023-03-27 Thread Sven Barth via fpc-pascal
Am 24.03.2023 um 15:04 schrieb Benito van der Zander via fpc-pascal: why is a pointer to a char not a pchar (for type helpers)? Because that's how helpers work in Delphi as well: The address operator has as a result an expression that allows the use of a helper for the raw Pointer type (no ma

Re: [fpc-pascal] Cache-line alignment for records

2023-03-27 Thread denisgolovan via fpc-pascal
> It is possible > (https://gitlab.com/freepascal.org/fpc/source/-/blob/main/tests/test/talignrec1.pp), > but it is subject to the same limitations when declaring variables of > those types. > > Jonas Aha. Nice! Does it work recursively? I mean - does it work when aligned record is itself a f

Re: [fpc-pascal] Cache-line alignment for records

2023-03-27 Thread Jonas Maebe via fpc-pascal
On 27/03/2023 21:25, denisgolovan via fpc-pascal wrote: But it's still not possible to attach alignment to type itself instead of variable, right? It is possible (https://gitlab.com/freepascal.org/fpc/source/-/blob/main/tests/test/talignrec1.pp), but it is subject to the same limitations wh

Re: [fpc-pascal] Cache-line alignment for records

2023-03-27 Thread denisgolovan via fpc-pascal
> However, the maximum alignment you can specify this way is limited per > target (hardcoded in the compiler). In 3.2.x, it's 16 bytes for most > desktop targets. On 3.3.x, it's 64 bytes for most desktop targets. > > Jonas But it's still not possible to attach alignment to type itself instead

Re: [fpc-pascal] Cache-line alignment for records

2023-03-27 Thread Jonas Maebe via fpc-pascal
On 27/03/2023 09:28, Matias Ezequiel Vara Larsen via fpc-pascal wrote: Apologies in the case this subject has been already discussed. I require that some global variables be cache-line aligned. This is a requirement for per-CPU variables that are statically defined to prevent cache ping-pong. Is

[fpc-pascal] Cache-line alignment for records

2023-03-27 Thread Matias Ezequiel Vara Larsen via fpc-pascal
Hello everyone, Apologies in the case this subject has been already discussed. I require that some global variables be cache-line aligned. This is a requirement for per-CPU variables that are statically defined to prevent cache ping-pong. Is there any way to do this at fpc when the record is decl