fpc-devel · 2021-12
- Functors17
I propose that the support for https://en.wikipedia.org/wiki/Function_object be added to the FPC. A subset of such functionality already existed as a part of my…
- $modeswitch Closures1
The attached modeswitch_closures.patch introduces {$modeswitch Closures}; it is included in {$mode Delphi}. There is a distinction between anonymous routines (defined…
- Initialising method pointers with class methods1
DCC allows the subj (provided that the class type is known at compile time), FPC does not. The attached init_methptr_with_classmeth.patch implements this feature.…
- Assigning class methods, accessed via a class reference type, to procvars4
1) The attached metaclass_meth_to_procvar-1.patch fixes the internal error reported for: [ICE] Assigning class methods, accessed via a class reference type, to…
- Assigning instance methods, accessed via a type, to method pointers1
Subj silently produces invalid codegen: -------8<------- var Z: procedure of object; type R = record procedure Foo; end; procedure R.Foo; begin end; type O = object…
- Parsing procedural type and method directives1
1) The following three routines: pdecsub.pas!parse_parameter_dec pdecvar.pas!maybe_parse_proc_directives ptype.pas!read_named_type\procvar_dec create a dummy typesym for…
- I've asked this before, but perhaps I wasn't specific enough that time: what do I *personally*, specifically need to do to ensure that a native Windows 64-bit build winds up on the FPC website for the next release?59
To be very clear, to me, this is absolutely nothing more than just a matter of building the compiler completely normally. It takes like two minutes all-in. I don't…
- Unexpected range check error (64-bit only)7
Something like this: Int64 := Byte + Byte + (Signed integer type (8,16 or 32 bit) with value < 0) will always give a range check error on X86_64 platform (if range…
- Assembler file option (-a)4
on Linux with FPC 3.2.2 the executable size of programs compiled with fpc -On -a (tried with n 2 or 4) is smaller than when the assembler files are deleted (-a omitted).…
- fpc bug with M115
I don't have an M1 myself, but according to the data from the thread on the lazarus mail list, there is a bug in the 3.3.1 asm generator for M1 var pn8: pint8; //…
- Lazarus server maintenance9
On Monday 27 December 9.00 CET (8.00 GMT) the Lazarus server will be down for maintenance. This affects the following services: * Lazarus website * Lazarus mailinglists…
- jUnit output for fpcunit5
I'm trying to run my fpcunit unit-tests on Gitlab, and let Gitlab show the results. But it can only handle JUnit-like xml. Does someone already have something lying…
- Fixed up !1041
I fixed up the CPU subtype in https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/104 - hopefully the merge request is good now. Gareth aka. Kit This email has…
- fpc make fail target embedded wasm320
make all OS_TARGET=embedded CPU_TARGET=wasm32 BINUTILSPREFIX= OPT="-O-" PP=fpc External command "/home/mattias/pascal/fpc/3.3.1/compiler/ppcrosswasm32 -Tembedded…
- Overlapping addresses between 2 procedures in dwarf info / 3.2.01
I am looking at some oddity I found following up https://forum.lazarus.freepascal.org/index.php/topic,57568.0.html Unfortunately, I have no code yet to reproduce it. I…
- Minor doc error about "const param"8
Actually an commission, but an important one. https://www.freepascal.org/docs-html/current/ref/refsu67.html#x183-20700014.4.4 the contents of the parameter will not be…
- Assigning class non-static methods, accessed via a helper type, to method pointers0
Subj silently produces invalid codegen: -------8<------- type C = class end; type H = class helper for C class procedure Bar; end; class procedure H.Bar; begin…
- Random branchless coding video!0
So I stumbled across this Australian programmer who talks about branchless programming and assembly-level optimisations, and it's interesting because he points out the…
- Windows avr-embedded binutils binaries1
where can I found the avr-embedded windows binaries from the build repocitory ( https://svn.freepascal.org/svn/fpcbuild/binaries/i386-win32 ) ? The link, of course, does…
- Typhon64 or better not?1
I have been a calm readers for years and I want to try something Lazarus. I discovered Typhon64 in the net and wonder if that's someone uses or if there are more…
- Made improvements for the "extra optimisation information" feature0
I made some updates and cleaned things up with the "extra optimisation feature" I started to experiment with a while ago. Well, I've managed to find a better showcase…
- FPC trunk building lazarus trunk fails with compiler AV ?9
FPC trunk building lazarus trunk fails with compiler AV ? An old ghost seems to have resurfaced. I didn't build a development lazarus for a while (I used a stable one…
- Error: Internal error 2006020350
I just got: fpdebugdebugger.pas(4322,1) Error: Internal error 200602035 Even on a clean build. (fpc 3.2.3, updated yesterday) I am not able to create a small example,…
- Bug? "overload" between class.method and plain procedure ?0
Should overload work for the following? Upon seeing the method being overloaded, if (in the class hierarchy) no method with matching signature is found, should…
- Attn: Sven Can not use "specialize" to resolve forward declaration2
https://gitlab.com/freepascal.org/fpc/source/-/issues/39459 You wrote has a constraint that constraint /must/ be adhered to and a forward declaration is /not/ a valid…
- Optimisation challenge!0
I've noticed a bit of a deep potential optimisation for faster code: jne .Lj1806 movb $13,-40(%rbp) cmpq $0,-32(%rbp) je …
- Incorrect debug info for ESP32, linker error?4
When compiling a simple test for esp32 (xtensa-freertos), the incorrect values for DW_AT_low_PC and DW_AT_high_PC are generated. From my inspection of the generated…
- Ordinal optimisation question0
I'm playing around with some node-level optimisations because I've noticed that some Int64 operations on 32-bit platforms can be sped up if the arithmetic is changed…
