FPC 2.4.0 released

We have placed a new major release of the Free Pascal Compiler,
version 2.4.0 on our ftp-servers.

Changes that may break backwards compatibility are documented at:

Downloads are available at:

the main FTP server at





The Free Pascal Compiler Team

                        Free Pascal Compiler

                            Version 2.4.0

                          What's New in 2.4.0

Free Pascal 2.4.0 contains many fixes and new features. While we did not
manage to incorporate all planned additions, we believe this release offers a
nice collection of new functionality and bug fixes.

Please also see http://wiki.freepascal.org/User_Changes_2.4.0 for a list
of changes which may affect the behaviour of previously working code, and
how to cope with these changes.

Some highlights are:

* New platform: Mac OS X/PowerPC64
* New platform: Mac OS X/x86_64
* New platform: Mac OS X/ARM (iPhone)
* New platform: Haiku/i386

* Support for Delphi-style resource handling
* Whole-program optimization infrastructure, which initially supports
program devirtualization and unused virtual method removal
* Much faster compilation of units containing many type-sections
* The ability to suppress individual hints/warnings/notes
* Several improvements to the DWARF debug information generation
* Fixes to the generics support
* Fixes to the interface delegation (implements) support
* Improved cpu register allocation
* Improved ARM/EABI support

* Linearly scaling multi-threaded memory manager
* Support for (advisory) file locking on Unix-based platforms
when using the SysUtils file creation/opening routines
* Support for ANSI ISO Extended Pascal ReadStr/WriteStr
* A UnicodeString type that, while not yet equivalent to Delphi 2009's
UnicodeString type, offers reference counted UnicodeString support on
the Windows, Linux, Mac OS X, FreeBSD and Beos/Haiku platforms.

* Many improvements to the XML units
* Many improvements to the database units
* Updated the common Mac OS X Pascal interfaces to r241, including
header a translation of the CFNetwork framework
* The zipper unit now works correctly on big endian platforms

See http://bugs.freepascal.org/changelog_page.php for the list of reported
bugs which have been fixed in this release.

Posted by Marco van de Voort 2010-01-01