Re: [fpc-devel] Published record

2024-08-17 Thread Kostas Michalopoulos via fpc-devel
On 8/16/24 8:40 PM, Michalis Kamburelis via fpc-devel wrote: If we could instead just put TVector3 in the published section, and make it exposed in the object inspector (maybe adding some additional code to use RTTI, but that is made *once*, not every time we need to expose TVector3) this would b

Re: [fpc-devel] make OPT= OPTFPC= NEWOPT=

2023-10-07 Thread Kostas Michalopoulos via fpc-devel
On 10/6/23 16:11, Marco van de Voort via fpc-devel wrote: OPT= always to my best knowledge NEWOPT is opt only for later cycles and the rest, iow not for the first FPC bootstrap cycle (that might be started with an older compiler version).  So it is for additional options that are not supporte

[fpc-devel] rtl_do_close is not called in the embedded and freertos targets

2023-08-21 Thread Kostas Michalopoulos via fpc-devel
Hi all, I was looking at the RTL code to see if the embedded target could be used as a workaround for unsupported OSes (e.g. some custom kernel) and noticed that there are some global function pointers used as callbacks for system-specific functionality - which is neat. However i also notice

Re: [fpc-devel] WebAssembly compilation problems - Wasm32 symbol xxx without index value error

2023-03-28 Thread Kostas Michalopoulos via fpc-devel
On 3/28/23 02:12, Michalis Kamburelis via fpc-devel wrote: We're experimenting with compiling Castle Game Engine using FPC WebAssembly target. [..] x3dcamerautils.pas(344,0) Error: Wasm32 symbol X3DFIELDS$_$TSFROTATION_$__$$_SETVALUE$TGENERICVECTOR4 without index value error FWIW i experienced

Re: [fpc-devel] Is this supposed to work (generic)?

2023-03-28 Thread Kostas Michalopoulos via fpc-devel
On 3/26/23 14:30, Martin Frb via fpc-devel wrote: >generic GenLinkedList = class > Data: D; > Next: T; >end; >TSome = class; >TSome = class(specialize GenLinkedList); AFAIK "specialize" essentially "pastes" the parameters (after some checking) so it'd be as if you had d

Re: [fpc-devel] Additional generic type constraints

2023-02-23 Thread Kostas Michalopoulos via fpc-devel
On 2/22/23 15:11, Sven Barth wrote: Kostas Michalopoulos via fpc-devel <mailto:fpc-devel@lists.freepascal.org>> schrieb am Mi., 22. Feb. 2023, 10:37: > Because Delphi doesn't have them and when constraints were implemented > they were implemented for

Re: [fpc-devel] Additional generic type constraints

2023-02-22 Thread Kostas Michalopoulos via fpc-devel
Because Delphi doesn't have them and when constraints were implemented they were implemented for Delphi compatibility. Can they be added? The original announcement ~13 years ago mentioned that those could be added at some point. "object" and "operator X" would be quite useful for me. I tried

[fpc-devel] Wasm/embedded target compilation error

2022-07-28 Thread Kostas Michalopoulos via fpc-devel
Hi all, I was trying to use the Wasm/embedded target to port a game i made some time ago[0] to WebAssembly to run inside a browser, but i am getting a bunch of errors that i can't figure out the issue. When compiling with the embedded wasm assembler i get errors like: SndEmit.pas(171) Error

Re: [fpc-devel] Defer keyword

2021-05-10 Thread Kostas Michalopoulos via fpc-devel
On 5/11/2021 4:09 AM, Ryan Joseph via fpc-devel wrote: On May 10, 2021, at 5:59 PM, Kostas Michalopoulos via fpc-devel wrote: You do not need any special language feature for that, you can simply do something like ReleaseLater(TObject.Create) yes but we can't get back the refe

Re: [fpc-devel] Defer keyword

2021-05-10 Thread Kostas Michalopoulos via fpc-devel
On 5/8/2021 8:27 PM, Ryan Joseph via fpc-devel wrote: That was a bad example. It's for ANY class really. o := TObject.Create.AutoRelease; Then next event cycle the autorelease pool frees all the objects added to it. Very simple but effective however we can't do this in Pascal without a new pe

Re: [fpc-devel] Allow object type property getter to expose a field as one of its base/parent types (patch included)

2020-08-11 Thread Kostas Michalopoulos via fpc-devel
Any further thoughts on this? I am already using it in a new project for quite some time now and it has proven to be very useful in several cases by exposing read only views of the same container that is used internally by classes without additional boilerplate and with fast access and rtti availab

Re: [fpc-devel] Advanced objects

2020-07-23 Thread Kostas Michalopoulos via fpc-devel
There should be at least support for operators. I have a custom dynamic array object type (i use objects instead of classes to avoid unnecessary heap allocations) which would benefit a lot from such support. I worked around not having management operators by putting the data fields and core functio

Re: [fpc-devel] Advanced objects

2020-07-22 Thread Kostas Michalopoulos via fpc-devel
Hi, I'd also like to repeat that question since i was just trying to use management operators for a generic object type (not class, not record) that i want it to automatically initialize/shutdown itself (right now i'm doing it manually but i'd prefer it if the compiler would do that for me) and fo

Re: [fpc-devel] Allow object type property getter to expose a field as one of its base/parent types (patch included)

2020-06-13 Thread Kostas Michalopoulos via fpc-devel
On Sat, Jun 13, 2020 at 12:07 PM Sven Barth via fpc-devel wrote: > I'm against it. It would essentially mean that you can't use the same > field for the setter or that you'd need to go through a method. > Exchanging one restriction (can't use a base class for the property) for > another (can't use

[fpc-devel] Allow object type property getter to expose a field as one of its base/parent types (patch included)

2020-06-03 Thread Kostas Michalopoulos via fpc-devel
Hello, I'd like to add a small feature for property getters to allow themselves be exposed as a base type of the real field. Example: === program ExposeDerivedAsBase; {$mode objfpc} type TBase = class end; TDerived = class(TBase) end; TSomething = class private FProp: TDerived;

Re: [fpc-devel] FPC 3.2.0RC1 released!

2020-04-01 Thread Kostas Michalopoulos via fpc-devel
Hm, for me the new compiler produces slightly slower results. The difference is tiny, but consistent. I use my raytracing benchmark from here: http://runtimeterror.com/tools/raybench/ The results on my AMD Ryzen 3700X are: FPC 3.0.4: 3.984 seconds FPC 3.2.0RC1: 4.047 seconds As i wrote, the dif