Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2025-06

FPC 3.2.4-rc1 available

8 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Florian Klämpfl

Hello,

As some might have noticed, We have placed the first release candidate of the Free Pascal Compiler version 3.2.4 on our download servers already for some time.

You can help improve the upcoming 3.2.4 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.2.4 <http://wiki.freepascal.org/Testers_3.2> or in the maillist.

Changes that may break backwards compatibility will be documented at: http://wiki.freepascal.org/User_Changes_3.2.4 <http://wiki.freepascal.org/User_Changes_3.2.>

Downloads are available at

https://downloads.freepascal.org/fpc/beta/3.2.4-rc1

The evaluation time frame for this release is at least two weeks, so bug reports within that period will be looked at before the final release is branched.

Enjoy!

The Free Pascal Compiler Team

******************************************************************************

Free Pascal Compiler

Version 3.2.4

******************************************************************************

Free Pascal 3.2.4 is a minor release of the 3.2.x fixes branch. As such, it contains mostly fixes of bugs discovered in the previous version, plus some updates for included packages.

There are currently no known changes which might result in incompatibility with the previous version 3.2.2.

The main highlights of this version:
* large number of issue and bug fixes
* FPC development switched to git, all tools adapted accordingly
* fixes to avoid year 2038 problem
* updated translations of compiler messages
* Issues with newer glibc fixed

Platforms:
* Support for new AVR targets: megaAVR 0 and tinyAVR 0/1
* FreeBSD 12 support
* Darwin: made -gl working

Utilities:
* FPDoc: markdown support
* fpcres: several improvements

Packages:
* fcl-image improved, e.g. resolution support and orientation flag support
* fcl-base: thread pool support
* fcl-pdf: pdf reader
* vcl-compat significantly improved

Reply by email

Adriaan van Os
to Florian Klämpfl
Florian Klämpfl wrote 5 lines
Hello, As some might have noticed, We have placed the first release candidate of the Free Pascal Compiler version 3.2.4 on our download servers already for some time.

Thanks ! Great that there is an RC1 for fpc-3.2.4.

I tried building the compiler on macOS 14 using fpc.3.2.2 as the bootstrap compiler. This worked. I am a bit surprised however that the built compiler says

Free Pascal Compiler version 3.2.2 [2021/05/16] for aarch64

although it correctly installs into /usr/local/lib/fpc/3.2.4 and /usr/local/bin.

I also tried building a (patched) Lazarus 4.0, and it worked.

Regards,

Adriaan van Os

Reply by email

Florian Klämpfl
to Adriaan van Os
Show quoted text 12 lines
Am 20.06.2025 um 12:13 schrieb Adriaan van Os via fpc-devel : Florian Klämpfl via fpc-devel wrote: > Hello, > As some might have noticed, We have placed the first release candidate of the Free Pascal Compiler > version 3.2.4 on our download servers already for some time. Thanks ! Great that there is an RC1 for fpc-3.2.4. I tried building the compiler on macOS 14 using fpc.3.2.2 as the bootstrap compiler. This worked. I am a bit surprised however that the built compiler says

What sources did you use?

Free Pascal Compiler version 3.2.2 [2021/05/16] for aarch64 although it correctly installs into /usr/local/lib/fpc/3.2.4 and /usr/local/bin.
Show quoted text 9 lines
I also tried building a (patched) Lazarus 4.0, and it worked. Regards, Adriaan van Os _______________________________________________ fpc-devel maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply by email

n7800
to Florian Klämpfl: As some might have noticed, We have placed the first release candidate of the Free Pascal…

The wiki links are incorrect and lead to non-existent pages. I downloaded the email to my PC to verify where the links point, and they are indeed incorrect: ~~~
You can help improve the upcoming 3.2.4 release by downloading and testing this release. If you want you can report what you have done = here:
http://wiki.freepascal.org/Testers_3.2.4 =
<http://wiki.freepascal.org/Testers_3.2>  or in the maillist.  
Changes that may break backwards compatibility will be documented at: http://wiki.freepascal.org/User_Changes_3.2.4 =
<http://wiki.freepascal.org/User_Changes_3.2.>
~~~
 
 
 
 

Show quoted text 64 lines
Пятница, 20 июня 2025, 1:19 +05:00 от Florian Klämpfl via fpc-devel :   Hello, As some might have noticed, We have placed the first release candidate of the Free Pascal Compiler version 3.2.4 on our download servers already for some time. You can help improve the upcoming 3.2.4 release by downloading and testing this release. If you want you can report what you have done here: http://wiki.freepascal.org/Testers_3.2.4   or in the maillist. Changes that may break backwards compatibility will be documented at: http://wiki.freepascal.org/User_Changes_3.2.4 Downloads are available at  https://downloads.freepascal.org/fpc/beta/3.2.4-rc1 The evaluation time frame for this release is at least two weeks, so bug reports within that period will be looked at before the final release is branched. Enjoy! The Free Pascal Compiler Team   ******************************************************************************                               Free Pascal Compiler                                   Version 3.2.4   ******************************************************************************   Free Pascal 3.2.4 is a minor release of the 3.2.x fixes branch. As such, it contains mostly fixes of bugs discovered in the previous version, plus some updates for included packages.   There are currently no known changes which might result in incompatibility with the previous version 3.2.2.   The main highlights of this version:   * large number of issue and bug fixes   * FPC development switched to git, all tools adapted accordingly   * fixes to avoid year 2038 problem   * updated translations of compiler messages   * Issues with newer glibc fixed   Platforms:   * Support for new AVR targets: megaAVR 0 and tinyAVR 0/1   * FreeBSD 12 support   * Darwin: made -gl working   Utilities:   * FPDoc: markdown support   * fpcres: several improvements   Packages:   * fcl-image improved, e.g. resolution support and orientation flag support   * fcl-base: thread pool support   * fcl-pdf: pdf reader   * vcl-compat significantly improved   _______________________________________________ fpc-devel maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

 

Reply by email

Adriaan van Os
to Florian Klämpfl: As some might have noticed, We have placed the first release candidate of the Free Pascal…
Florian Klämpfl wrote 5 lines
Hello, As some might have noticed, We have placed the first release candidate of the Free Pascal Compiler version 3.2.4 on our download servers already for some time.

Below test program compiles with fpc-3.2.2. but not with fpc-3.2.4 rc1 This is on MacOS 14 with an M2.

Regards,

Adriaan van Os

administrator% /usr/local/lib/fpc/3.2.2/ppca64 generics01.pas Free Pascal Compiler version 3.2.2 [2021/05/16] for aarch64 ...
Compiling generics01.pas
...
Assembling generics01
32 lines compiled, 0.5 sec
4 warning(s) issued
36 note(s) issued

administrator% /usr/local/lib/fpc/3.2.4/ppca64 generics01.pas Free Pascal Compiler version 3.2.4-rc1 [2025/06/20] for aarch64 ...
Compiling generics01.pas
generics01.pas(21,15) Error: function header doesn't match the previous declaration "ValueNotify(constref TPluginFormat;TCollectionNotification);" generics.dictionariesh.inc(99,15) Error: Found declaration: ValueNotify(const TPluginFormat;TCollectionNotification);
generics01.pas(24,1) Fatal: There were 2 errors compiling module, stopping

{$mode delphiunicode}
unit generics01;
interface
uses
   Classes, Generics.Collections;
type
   TPluginFormatID = Integer;
   TPluginFormat = class abstract
   public
     Name: string;
   end;
   TPluginFormatList = class(TDictionary<TPluginFormatID, TPluginFormat>)
   protected
     procedure ValueNotify({$IFDEF fpc}constref{$ELSE}const{$ENDIF}Value: TPluginFormat; Action:
TCollectionNotification); override;
   end;
implementation
procedure TPluginFormatList.ValueNotify({$IFDEF fpc}constref{$ELSE}const{$ENDIF}Value:
TPluginFormat; Action: TCollectionNotification);
begin
end;
begin
end.

Reply by email

J. Gareth Moreton
to Adriaan van Os

I hope there's time for this.  If this merge request is approved, can it be cherry-picked for 3.2.4 as well?

https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1049

It fixes a bug in the register allocator that I have reason to believe has been around for some time.

Kit

Adriaan van Os wrote 78 lines
Florian Klämpfl via fpc-devel wrote: >   Hello, > > As some might have noticed, We have placed the first release > candidate of the Free Pascal Compiler > version 3.2.4 on our download servers already for some time. Below test program compiles with fpc-3.2.2. but not with fpc-3.2.4 rc1 This is on MacOS 14 with an M2. Regards, Adriaan van Os administrator% /usr/local/lib/fpc/3.2.2/ppca64 generics01.pas Free Pascal Compiler version 3.2.2 [2021/05/16] for aarch64 ... Compiling generics01.pas ... Assembling generics01 32 lines compiled, 0.5 sec 4 warning(s) issued 36 note(s) issued administrator% /usr/local/lib/fpc/3.2.4/ppca64 generics01.pas Free Pascal Compiler version 3.2.4-rc1 [2025/06/20] for aarch64 ... Compiling generics01.pas generics01.pas(21,15) Error: function header doesn't match the previous declaration "ValueNotify(constref TPluginFormat;TCollectionNotification);" generics.dictionariesh.inc(99,15) Error: Found declaration: ValueNotify(const TPluginFormat;TCollectionNotification); generics01.pas(24,1) Fatal: There were 2 errors compiling module, stopping {$mode delphiunicode} unit generics01; interface uses   Classes, Generics.Collections; type   TPluginFormatID = Integer;   TPluginFormat = class abstract   public     Name: string;   end;   TPluginFormatList = class(TDictionary<TPluginFormatID, TPluginFormat>)   protected     procedure ValueNotify({$IFDEF fpc}constref{$ELSE}const{$ENDIF}Value: TPluginFormat; Action: TCollectionNotification); override;   end; implementation procedure TPluginFormatList.ValueNotify({$IFDEF fpc}constref{$ELSE}const{$ENDIF}Value: TPluginFormat; Action: TCollectionNotification); begin end; begin end. _______________________________________________ fpc-devel maillist  -  https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
This email has been checked for viruses by Avast antivirus software. www.avast.com

Reply by email

Michalis Kamburelis
to Florian Klämpfl: As some might have noticed, We have placed the first release candidate of the Free Pascal…
You can help improve the upcoming 3.2.4 release by downloading and testing this release.

I tested the FPC 3.2.4-rc1 on Castle Game Engine, and examples from repos on https://github.com/modern-pascal/ . I found one issue, reported as https://gitlab.com/freepascal.org/fpc/source/-/issues/41300 .

( You decide how critical it is. From our side, we have options to workaround it, e.g. disabling "inline" for one Lerp or expanding it manually. )

Note: I'd say to note in user changes (
https://wiki.freepascal.org/User_Changes_3.2.4 ) the change from constref->const in the callbacks for Generics.Collections comparers, like visible here:
https://github.com/modern-pascal/modern-pascal-introduction/blob/master/code-samples/generics_sorting.dpr .

Regards,
Michalis

Reply by email