> On Mar 30, 2019, at 9:10 AM, Jonas Maebe <jo...@freepascal.org> wrote:
> 
> FPC always aligns data to its alignment as specified by the platform ABI. 
> {$align x} can be used to limit this alignment to a lower number. It cannot 
> be used to increase it.

This caused us quite a bit of problems with the Metal framework because we 
needed padding fields also. Is this something that could be added or would it 
be a disaster to add padding to record fields? It sounds like there is already 
a mechanism we could extend but I’m not sure.

> 
>> Why not use a similar directive for array alignment? That would solve the 
>> problem I discovered with insert/concat.
>> {$push}
>> {$align-array 4096}
>> type
>>   TIntArray = array of integer;
>> {$pop}
> 
> Arrays are aligned to the alignment requirements of their components. Again, 
> a vector type would solve this, since vectors have their own alignment 
> requirements in the ABIs.

If you saw the original bug report we’re trying to make a custom alignment (of 
4k) for the Metal framework. I propose the syntax because it solves the problem 
of how to assign alignment and there is a precedent for it (i.e. $align).

Can you give some examples of the vector type? I don’t exactly know what you 
guys are referring to.

Regards,
        Ryan Joseph

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to