[fpc-devel] FPC 2.4.2 RC1 available

Luiz Americo Pereira Camara luizmed at oi.com.br
Wed Oct 13 02:19:50 CEST 2010


Marco van de Voort escreveu:
> Hello,
>
> We have placed the first release-candidate of the Free Pascal Compiler
> version 2.4.2 on our ftp-servers.
>   

It does not compile the following program

It works with both 240 and 251

Luiz

> You can help improve the upcoming 2.4.2 release by downloading and
> testing this release. If you want you can report what you have done here:
> http://wiki.freepascal.org/Testers_2.4.2
>
> Changes that may break backwards compatibility are documented at:
> http://wiki.freepascal.org/User_Changes_2.4.2
>
> Downloads are available at:
>
> the main FTP server at
>
> ftp://ftp.freepascal.org/pub/fpc/beta/2.4.2-rc1/
>
> and
>
> ftp://freepascal.stack.nl/pub/fpc/beta/2.4.2-rc1/
>
> Enjoy!
>
> The Free Pascal Compiler Team
>
>
>
>                             Free Pascal Compiler
>
>                                 Version 2.4.2-RC1
>
> ******************************************************************************
>                               What's New in 2.4.2
> ******************************************************************************
>
> Free Pascal 2.4.2 contains many fixes and a few new features. Most bugfixes
> in the RTL and packages before june 2010 have been merged.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.4.2 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> Compiler:
>   * Support D2006+ FOR..IN, with some FPC specific enhancements. Refer to
>      http://wiki.freepascal.org/for-in_loop for more information
>   * Support for sealed and abstract classes.
>
> Packages:
>   * Many improvements to the XML units
>   * Many improvements to the database units
>   * Many improvemnets to the chm units
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                               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:
>
> Platforms:
>   * New platform: Mac OS X/PowerPC64
>   * New platform: Mac OS X/x86_64
>   * New platform: Mac OS X/ARM (iPhone)
>
> Compiler:
>   * 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
>   
> RTL:
>   * 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.
>
> Packages:
>   * 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.
>
>
> ******************************************************************************
>                               What's New in 2.2.3
> ******************************************************************************
>
> Free Pascal 2.2.3 contains many bug fixes and some new features. The 
> main purpose of this release is to fix problems reported with FPC 2.2.2.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.4 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> All:
>   * Experimental packages-installation tool
>
> Packages:
>   * Added support for TIFF reading/writing in fcl-image
>   * Improvements and fixes in CHM support
>   * Fixed linking the gtk2-package with gtk versions above 2.13.4
>
> IDE:
>   * Added support for CHM help files
>
> Documentation
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                               What's New in 2.2.2
> ******************************************************************************
>
> Free Pascal 2.2.2 contains many bug fixes and some new features. The 
> main purpose of this release is to fix problems reported with FPC 2.2.0,
> and to remove all potentially tainted code from our source code base.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.2 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Some highlights are:
>
> All:
>   *  All code potentially infringing on CodeGear copyrighted code has been
>      reimplemented using a cleanroom approach.
>
> Platforms:
>   * Incompatibilities with Mac OS X 10.5's new default linker have been
>     resolved.
>
> Compiler:
>   * PIC support for Mac OS X (on by default, disable with -Cg-)
>   * several bugs in the experimental generics support have been fixed,
>     but this feature is still in beta
>   * initialisation and finalisation of shared libraries has been fixed
>     for all Darwin platforms, and for Linux/i386
>   * support for {$packset x} directive to enable set packing
>     (use {$packset 1} for Delphi-compatible sets, but note that the
>      format is different on little and big endian platforms)
>
> RTL:
>   * thread resource leaking under unix has been fixed
>   * the widestring manager for unix has been completed
>   * several floating point to string conversion errors have been fixed
>   * significantly improved variant support
>   * implementation of RTL exception handler for OS/2 allowing proper
>     translation of some runtime errors
>   * various fixes for GO32v2 improving useability of this target
>   * OS/2 RTL enhanced to allow seamless working with large files (64-bit
>     file system API calls) where available (WSeB/MCP/eCS/Warp 4 with FP15)
>
> Packages:
>   * the Windows API interface units have been significantly updated
>   * Apple universal interfaces updated to r234 of the common FPC/GPC/MW
>     interfaces
>   * New TRegexEngine class to parse regular expressions
>
> Documentation
>   *  Documentation was updated completely to conform to the actual
>      state of the compiler and RTL.
>
> See http://bugs.freepascal.org/changelog_page.php for the list of reported
> bugs which have been fixed in this release.
>
>
> ******************************************************************************
>                               What's New in 2.2.0
> ******************************************************************************
>
> 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.
>
> Please also see http://wiki.freepascal.org/User_Changes_2.2.0 for a list
> of changes which may affect the behaviour of previously working code, and
> how to cope with these changes.
>
> Platforms:
>   * 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
>
> Compiler:
>   * 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
>
> RTL:
>   * 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
>
> FCL:
>   * Improved database support
>   * The obsolete sqlitedataset, interbase, fpodbc, ddg, mysqldb3 and mysqldb4
>     units are removed
>   * Lot of small bugs and compatibility fixes
>
> Packages:
>   * 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
>
> Free Vision:
>   * Now uses resourcestrings
>
> IDE:
>   * Evaluate window
>   * Improved HTML rendering
>   * Improved xterm support
>   * Small bug fixes
>
> Misc:
>   * Improved documentation
>   * Better cross compilation support
>
> For a detailed list of reported bugs that are fixed in this release see the
> bugtracker report at http://www.freepascal.org/mantis/changelog_page.php
>
>
> ******************************************************************************
>                               What's New in 2.0.4
> ******************************************************************************
>
> More than 1000 changes have been made to 2.0.4 since 2.0.2. As this is a bug
> fix release, most are fixes for some issues, but new features and performance
> enhancements have been added as well.
>
> Compiler:
>   * Lot of small bugs and compatibility fixes
>   * Updated several translations
>   * Improved code generation
>   * Improved and fixed PIC code generation
>   * Improved register allocation
>   * Improved ansistring string code generation
>   * Several alignment values increased so the requirements of modern processors
>     are met better
>   * WINDOWS defined on all windows platforms (Win32, Win64, WinCE)
>   * Parameter order for methods with structured results changed
>     (result pointer<->self swapped), please check such methods if they are
>     implemented in assembler
>   * i386 compiler no longer needs environment variables set when installed on
>     an x86_64 Linux distribution
>
> RTL:
>   * Lot of small bug and compatibility fixes
>   * 64 bit file pointer support on most targets
>   * Faster integer to string conversion
>   * Endian conversion routines added
>   * Improved heap manager
>   * Improved ansistring routines
>   * PowerPC: Power3/4/5/PPC970 compatibility
>
> FCL:
>   * Lot of small bugs and compatibility fixes
>   * Improved database support
>   * The interbase, fpodbc, ddg, mysqldb3 and mysqldb4 units
>     are obsolete and replaced by the sqldb components
>   * Oracle support added
>
> Packages:
>   * Lot of small bugs and compatibility fixes
>   * Improved database support
>   * Apple universal interfaces added
>
> Free Vision:
>   * New outline unit
>   * Small bug fixes
>   * Unix: much improved video and keyboard handling
>   * Unix: Free Vision applications no longer need to link to libc
>   * Linux: grab_vcsa utility to ensure vcsa access
>
> IDE:
>   * Small bug fixes
>   * Redesigned directories window
>   * Reorganised compiler options window
>   * Option to use Ctrl+X,C,V for cut/copy/paste
>
> Misc:
>   * Improved documentation
>   * Better cross compilation support
>
> ******************************************************************************
>                               What's New in 2.0.2
> ******************************************************************************
> This is a bug fix release, so don't expect a big new feature list here. Most
> of the almost 700 changes made to 2.0.2 since 2.0.0 are fixes for some issues.
>
> Compiler:
>   * Lot of small bugs and compatibility fixes
>   * Improved SSE support
>   * Improved inlining
>   * Enhanced variant support
>   * Embedded resource support for targets using elf32 executable format
>   + Type checking of compile time expressions
>   + Mode MacPas: Support for Mac style objects
>   + Mode MacPas: Compile time variables can be given on command line
>
> RTL:
>   * Lot of small bugs and compatibility fixes
>   * Enhanced variant support
>   * Embedded resource support for targets using elf32 executable format
>
> FCL:
>   * Lot of small bugs and compatibility fixes
>   * Improved SqlDB package
>
> Packages:
>   * Lot of small bugs and compatibility fixes
>   * Improved data base support
>
> IDE:
>   * Small bug fixes
>
> Misc:
>   * Improved docs
>   * Bug fixes for FreeVision
>
> ******************************************************************************
>                               What's New in 2.0.0
> ******************************************************************************
> Compiler:
>   + properties in objects are now allowed
>   + use of cmov when at least -Cppentium2 is supplied (i386+ only)
>   + .p is a searched source extension in macpas mode now
>   * Improved MacPas mode
>   * Improved variant support
>   * Updated language files
>   * Improved warnings regarding uninitialised variables
>   * Lot of small bugs and compatibility fixes
>
> RTL:
>   * Several widestring and unicode fixes
>   * Heavily improved variant support
>   * Improved threading support
>   * Improved 64 bit compatibility
>   * Lot of small bugs and compatibility fixes
>
> FCL:
>   * Improved data base support
>   * Lot of small bugs and compatibility fixes
>
> Packages:
>   + Jedi windows api is part of the packages now
>   + Windows specific units of the rtl have been moved to packages/base/winunits
>   + XFree header conversions to X package added
>   * Endian and 64 bit fixes
>   * Lot of small bugs and compatibility fixes
>
> IDE:
>   * Small bug fixes
>
> Misc:
>   * Improved docs
>   * Bug fixes for FreeVision
>
>
>                         Version 1.9.8 aka 2.0.0-Rc2
>
> ******************************************************************************
>                       What's New in 1.9.8 aka 2.0.0-Rc2
> ******************************************************************************
>
>
> Compiler:
>   + arm-linux cross compiler for i386-linux
>   + SysV style syscalls added for MorphOS
>   + Exportable macros for mode MacPas
>   + Support procvar declaration in parameters for mode MacPas
>   + Give warning if code is never executed in while/if statements
>   + Directive {$COPERATORS ON} added, synomym for -Sc
>   + Check for uninitialzed from and to values in for-loop statement
>   + -Fa<unit> option added to load units in a program before the uses statement
>     is parsed
>   + -vz for output to stderr
>   * Better support for unique types
>   * AfterConstruction/BeforeDestruction behaviour is now compatible with Delphi
>   * Better support for Widestring
>   * Removed {$THREADING ON} directive, threading support is always available
>   * Improved code generation on Sparc
>   * Lot of small bugs and compatibility fixes
>   + On target Mac OS, resource files is supported
>
> RTL:
>   + arm Linux support
>   * Basic threading support moved to the system unit
>   * Operator ** moved to math unit; system.power removed
>   * Improved variant support
>   * Lot of small bugs and compatibility fixes
>   + The unit MacOS (api to Mac OS) for target MacOS
>
> FCL:
>   + Support for Interbase/Firebird, PostgreSQL and MySQL 4.0 under windows
>   * Database drivers are now dynamically loaded
>   * The TSQLQuery is now fully editable using cached updates
>   * Lot of small bugs and compatibility fixes
>
> Packages:
>   + gtk2 interface units
>   * 64 bit compatibility fixes
>   * Lot of small bugs and compatibility fixes
>
> IDE:
>   + vector unit window
>   * x86-64 asssembler debugging support improved
>   * Sparc asssembler debugging support improved
>   * Some bug fixes
>
> Misc:
>   + txt output to fpdoc added
>   * some fpdoc bugs fixes
>   + demo for macos
>
>
>                         Version 1.9.6 aka 2.0.0-Rc1
>
> ******************************************************************************
>                       What's New in 1.9.6 aka 2.0.0-Rc1
> ******************************************************************************
>
> Compiler:
>   + x86_64/amd64 (Linux) compiler
>   + Sparc (Linux) compiler
>   + PowerPC MorphOS support
>   + Mac OS (classic) compiler (for MPW)
>   + Netware Libc support (-Tnetwlibc)
>   + Register variable support (-Or) for all targets
>   + MacPas compiler mode (-Mmacpas)
>   * Better inlining support
>   * For loop variable assignment is not allowed anymore
>   * $fpctarget expands to <cpu>-<os> (except for 8.3 limited targets),
>     old $target removed
>   * Implicit loading of Variants unit
>   * Lots of bug fixes
>
> RTL:
>   + x86_64/amd64 Linux support
>   + Sparc Linux support
>   + PowerPC MorphOS support
>   + Mac OS (classic) support (except Sysutils and its dependants)
>   + Netware Libc support
>   + New heap manager that releases memory back to the OS
>   + TThread.Synchronize support
>   + utf8bidi unit
>   + GetHeapStatus added
>   + GetProcessID added
>   + SysUtils.GetEnvironmentVariableCount and SysUtils.GetEnvironmentString added
>   * gpm unit does not need libgpm anymore
>   + Further additions for improved Delphi compatibility
>   + System.GetProcessID and System.GetThreadID added
>   + Dos.GetMsCount added
>   + Support for changing console resolution in Video for Win32
>   + Support for using high memory (> 512 MB) under OS/2 (where available)
>   - Removed MaxAvail, MemAvail, HeapSize due to their unreliability
>     (bogus/misleading return values) in multitasking environment with swapping
>
> FCL:
>   + RTTIUtils unit added
>   + fpcunit test-framework added
>   * Lots of dbf and other db fixes
>
> FV:
>   * Updated to fvision implementation, first official release
>
> IDE:
>   * Lots of improvements and stability fixes
>   * Support latest gdb 6.2.x and 6.3.x releases
>
> Docs:
>   + Lots of updates
>   + Easier to navigate html documentation
>   * fpDoc is used to generate all unit documentation
>
> Misc:
>   * Makefiles create units in a separate directory units/cpu-os/
>   * More cross compilation improvements
>
>
> ******************************************************************************
>                       What's New in 1.9.4 aka 2.0.0-Beta3
> ******************************************************************************
>
> Compiler:
>   + ARM (Linux) compiler
>   + PowerPC Darwin (Mac OS X) support
>   + reintroduce keyword support
>   + added prefetch(const mem) support
>   + MacPas compile mode
>   + -gv to generate an executable that can be run under Valgrind >= 2.1
>   * register allocator fixes and tweaks
>   * better support for preprocessor $IF expressions
>   * better overloaded operator support
>   * Win32 DLL export table fixes
>   * stabs (debuginfo) generation cleanups
>   * enum names in RTTI are now in their original case
>   * record alignment fixes
>   * lots of bug fixes
>
> RTL:
>   + ARM Linux support
>   + Powerpc Darwin support
>   + Sysutils.RaiseLastOSError added
>   + Sysutils.GetLastOSError added
>   + Classes.TOwnedCollection added
>   + Sysutils.FileIsReadOnly added
>   + support of widestring and currency in the typinfo unit
>   * Better support for Libc based RTL (FPC_USE_LIBC)
>   * 64bit cleanup for future x86_64 port
>   * ExecuteProcess fixes
>   * Linux use getdents syscall instead of deprecated readdir
>   * bug fixes
>
> FCL:
>   + SDF DB backend
>   + TGA support in fpImage
>   + support of widestring and currency type in stream related classes
>   * Lot of fixes to fpImage classes
>
> Misc:
>   * better cross development support
>   * Documentation updates
>   * Testsuite updates to store testrun results in a database
>   * Testsuite updates for cross platform testing, with remote rsh/ssh support
>
>
> ******************************************************************************
>                       What's New in 1.9.2 aka 2.0.0-Beta2
> ******************************************************************************
>
> Compiler:
>   + PowerPC compiler
>   + sse/sse2 code generation support
>   + "global" property support
>   * improved inlining support
>   * optimizer enabled again
>   * uses register calling conventions by default
>   * $fputype directive
>   + properties of type single can have default values
>   + support of $IF DECLARED()
>   + support of DQWORD in inline intel assembler code
>   * lots of bug fixes
>
> RTL:
>   * more improvements for unix runtime library
>   * using FPC_USE_LIBC allows to compile an rtl which uses libc instead of
>     syscalls
>   + System.Initialize
>   + Sysutils.ExecuteProcess
>   + System.WideStringManager
>   + System.PtrInt and System.PtrUInt
>   * ipv6 support
>   * lots of bug fixes
>
> FCL:
>   + sqlite support
>   * bug fixes
>
> Misc:
>   * improved docs
>
> ******************************************************************************
>                       What's New in 1.9.0 aka 2.0.0-Beta1
> ******************************************************************************
>
> Compiler:
>   + dynamic arrays
>   + interfaces
>   + variants
>   + full widestring support
>   + default parameters
>   + cross name scope overloading
>   + support for the PowerPC, Sparc and ARM processor, installation packages
>     will follow within the next weeks
>   + new and more sophisticated register allocator
>   + inlining across units
>   + register calling conventions
>   + SSE and SSE2 support for inline assembler
>   + PIC code generation
>   + new language mode: "Mac Pascal"
>   + full boolean evaluation is now also available
>   + threadvar support, enabled by using {$threading on}
>   * support of int64 integer constants
>   * improved Delphi compatibility in -Sd mode
>   * a lot of bug fixes
>   * large parts of the compiler are rewritten to create a more stable,
>     portable and maintainable compiler
>
> RTL:
>   + multithreading support
>   * completely rewritten unix runtime library
>   * improved Delphi compatiblity
>   * significantly improved speed of exception related code
>   * prepared for big endian and 64 Bit CPUs
>   * a lot of bug fixes
>
> FCL:
>   + tdataset support
>   + html generator
>   + 64 Bit file handling
>   * a lot of bug fixes
>
> Docs:
>   * adapted to reflect new language features
>
> IDE:
>   * a lot of bug fixes
>
> Misc:
>   * improved cross compilation
>
>
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
>
>   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: testGeneric.pas
Type: text/x-pascal
Size: 428 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20101012/f96ce17a/attachment.pas>


More information about the fpc-devel mailing list