De ontwikkelaars van The Free Pascal Compiler hebben in de vorm van 2.2.0 een nieuwe versie van de opensource compiler Free Pascal uitgebracht. De nieuwe versie kan vanaf deze pagina voor een groot aantal platformen gedownload worden en wordt beschikbaar gesteld onder de gpl-licentie. Free Pascal is in staat om lappen code van de ontwikkeltalen (Turbo) Pascal en Delphi te compileren. De ontwikkelaars hebben wederom een flinke waslijst aan veranderingen doorgevoerd. Daarnaast zijn er ook de nodige nieuwe features toegevoegd, waaronder ondersteuning voor de 64bit-versies van Windows en de GameBoy Advance en Nintendo DS. Het volledige changelog kan hieronder gelezen worden:
Free Pascal 2.2.0 contains a lot of bug-fixes and new features. The work on Free Pascal 2.2.0 started halfway during the year 2005. A lot has been improved since then.
Platforms:Compiler:
- New platform: Win64. FPC is the first open source compiler for 64-bit Windows operating systems.
- New processor architecture: 64-bit PowerPC
- PowerPC/64 support for Linux
- Mac OS X on Intel (i386) is now supported
- New platform: Windows CE (Windows Mobile)
- New platform: Nintendo Game Boy Advance
- New platform: Nintendo DS
- Native support for ARM-platform
- GO32V2 DOS platform got a long needed update
RTL:
- Internal linker for win32, win64 and wince, resulting in smaller executables, less memory used during compilation, and faster compile times for programs using large frameworks like for example the Lazarus Component Library.
- Generics (experimental)
- Bit packed arrays and records
- Resourcestrings can now be smartlinked, resulting in smaller executables
- Multiple resource files support
- pointer[low..high] syntax to pass C-style pointer arrays to procedures using open arrays
- Interface delegation
- Proper safecall implementation
- Wide strings are COM/OLE compatible on Windows
- Added several speed optimisations, for example:
- Compiler can omit stack frames (x86 and ARM)
- Compiler can store records in registers
- Tail recursion expansion
- Register renaming optimizations
- Improved optimizer for ARM CPU
- Compiler can initialise local variables, function results, and "out" parameters with several values (command line parameters -gt till -gtttt) to help find uses of uninitialised variables
- Compiler can now properly deal with paths > 255 characters in all cases
- Dwarf debug format support
- Reduced memory usage during compilation
- Lot of small bugs and compatibility fixes
FCL:
- Heap uses less memory
- Improved variants support
- Improved currency support
- Exception handling can be used without SysUtils unit
- Lot of small bug and compatibility fixes
Packages:
- Improved database support
- The obsolete sqlitedataset, interbase, fpodbc, ddg, mysqldb3 and mysqldb4 units are removed
- Lot of small bugs and compatibility fixes
Free Vision:
- Added a new fppkg package manager
- Improved database support
- Added Delphi compatible RichEdit unit
- Apple universal interfaces updated to r204 of the common FPC/GPC/MW interfaces
- Lot of small bugs and compatibility fixes
IDE:
- Now uses resourcestrings
Misc:
- Evaluate window
- Improved HTML rendering
- Improved xterm support
- Small bug fixes
[break]
- Improved documentation
- Better cross compilation support