mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-03 18:49:38 +01:00
316 lines
11 KiB
Plaintext
316 lines
11 KiB
Plaintext
|
|
Free Pascal Compiler
|
|
|
|
Version 1.0.4
|
|
|
|
******************************************************************************
|
|
Whats New in 1.0.4
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ Fpc executable
|
|
+ Rangechecking for int64
|
|
+ Better cardinal rangechecking
|
|
+ Debugging support for classes
|
|
+ FreeBSD and Linux define both UNIX
|
|
* XMM registers in assembler fixed
|
|
* Optimizer fixes
|
|
* Fixed some reported bugs
|
|
|
|
RTL:
|
|
+ keyboard, mouse and video units added (originally in API)
|
|
+ Lot of FreeBSD updates
|
|
* FindFirst/FindClose fixes
|
|
* Termios updates for FreeBSD and Linux
|
|
* FExpand fixes
|
|
* TypInfo fixes
|
|
* Val(qword) works
|
|
|
|
FCL:
|
|
* sstream example added
|
|
* fixed some missing .o and .a files
|
|
|
|
Utils:
|
|
* fpcmake updates for freebsd
|
|
* ppufiles fix to allow / in filenames under go32v2/win32
|
|
|
|
Docs:
|
|
+ IDE documentation
|
|
|
|
API:
|
|
- standalone API removed from distribution, units added to RTL
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 1.0.2
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ memory requirements reduced a lot when creating smartlink libraries
|
|
+ identical procedures or functions are now already found in the interface instead
|
|
of after parsing the implementation also
|
|
+ overload directive parsing is now D5 compatible
|
|
+ stop compiling if -S2 or -Sd is required and give a nicer error message
|
|
+ don't allow wrong assemblers for targets (i.e. refuse as.exe for win32)
|
|
* fixed smartlinking for win32 imports
|
|
* some -Or and other optimizer fixes
|
|
* fixed some crashes with undeclared identifiers and inlined functions
|
|
* packenum fixes
|
|
* internal binary writer is now a lot faster when creating smartlink libraries
|
|
with a lot of files (like the windows unit)
|
|
* better targetdir support
|
|
* don't allow word = word like type definitions
|
|
* integer(char) typecast works now
|
|
* some other small reported bugs
|
|
|
|
RTL:
|
|
+ bsd port files
|
|
+ sysutils more delphi compatible
|
|
+ sysutils.syserrormessage added for platforms supporting it
|
|
* some graph fixes
|
|
* linux crt handles ctrl-c better
|
|
* win32 crt returns alt-<key> correct
|
|
* small int64 fixes
|
|
* paramstr(0) fix for linux 2.0 kernels
|
|
* go32v2 getenv made case insensitive
|
|
* lot of os2 updates
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 1.00
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ -gl switch to automaticly load the lineinfo unit
|
|
+ Lot of Delphi compatibility additions, especially when using -Sd
|
|
* Optimizer fixes, mainly register allocations needed for -Or
|
|
* int64/qword fixes
|
|
* RTTI fixes
|
|
* Smartlinking fixes for classes
|
|
* inline fixes (but still Beta)
|
|
* Exceptions generate more usefull backtraces which also support the
|
|
new lineinfo unit
|
|
* {$Packrecords C} fixes to be better C compatible
|
|
* operator should now work correctly when defined in other units
|
|
and locally and other fixes
|
|
* Better glibc 2.1.x support under linux
|
|
* Lot of other small bugfixes for the reported bugs
|
|
|
|
RTL:
|
|
+ lineinfo unit to display the file and line when a backtrace is
|
|
generated, this works for runtime errors, unhandled exceptions and
|
|
heaptrc unit (hint: use -ghl to easily detect and fix memory leaks)
|
|
* better precision when converting float to string
|
|
* Better exception support for Go32v2 without the need to load dpmiexcp
|
|
* Better Signal handling under linux for exception reporting
|
|
* Windows unit for win32 has now more delphi compatible declarations
|
|
* disksize/diskfree return now int64 so drives > 2GB work correctly
|
|
* lot of graph unit fixes, with generic mode support
|
|
* paramstr(0) under linux now returns the full executable instead of
|
|
the commandline
|
|
* heaptrc fixes for reallocmem
|
|
* other fixes reported by users
|
|
|
|
IDE:
|
|
+ don't allow wrong assemblers with specific targets
|
|
+ default mode for which assembler to use
|
|
+ Recompiling a program does now also use unsaved files still in the editor
|
|
* the support files are now placed in the same dir as fp.exe where they were expected
|
|
|
|
Utils:
|
|
+ postw32 to postprocess win32 executables to patch the stacksize
|
|
* h2pas is now better and also has a compact output mode with less
|
|
spaces and blank lines.
|
|
* fpcmake supports .so library creation and example installation
|
|
|
|
Packages:
|
|
+ opengl for win32
|
|
* fixed win32 gtk interface
|
|
|
|
FCL:
|
|
+ db support (TDataSet,TDatabase) for mysql
|
|
* idea fixes
|
|
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 0.99.14
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ DLL creation fixed, it needs dlltool now
|
|
+ .so creation for linux works also with classes
|
|
+ Library writing works better, also linux library support
|
|
+ better FPU code generation
|
|
+ only one PPU is used per unit also when static, shared and smart linked
|
|
+ assembler understands KNI instructions
|
|
+ fail in class constructors works
|
|
+ resourcestrings support
|
|
+ gettext support for resourcestrings (localization)
|
|
+ > < >= <= support for boolean
|
|
+ checking for unused but assigned variables and private fields
|
|
* lot of RTTI fixes
|
|
* lot of property fixes
|
|
* pointer addition/substraction works like inc()/dec() (with the size
|
|
of the pointed type)
|
|
* assembler reader fixes so it works more like BASM
|
|
* exit in try...finally/except block works
|
|
* don't allow goto/label with exception blocks
|
|
* stabs debugging fixed for classes and result variable
|
|
* array constructor support
|
|
* initialization/finalization work also in default FPC mode
|
|
* assert works now also within $H+ mode
|
|
* lot of other fixes
|
|
|
|
RTL:
|
|
+ New graph unit for GO32v2, Win32, Linux
|
|
+ Delphi style GetMem/Freemem/ReAllocMem which knows the size of
|
|
the allocated block itself. Specifying wrong size for freemem gives
|
|
now also a Runtime Error
|
|
+ ports unit for both GO32v2 and OS/2, which contains the port[] support.
|
|
It's now compatible with Linux ports unit
|
|
+ timezone support for linux
|
|
+ primitive routines Compare[Byte,Word,Dword], Index[Byte,Word,Dword]
|
|
* better ioresult setting for GO32v2
|
|
* some pchar fixes in sysutils unit
|
|
* lot of RTTI fixes for typinfo
|
|
* ansistrings speedups
|
|
* some other small fixes
|
|
|
|
Utils:
|
|
+ fpcmake util to create a Makefile from Makefile.fpc
|
|
+ delp util to delete all created files after compiling (exe, o, ppu)
|
|
+ fprcp util for preprocessing win32 resource files
|
|
+ data2inc util to convert data into .inc files
|
|
+ binobj for binary to .o/.inc files, also with crypt, compression support
|
|
+ ppufiles show all created files needed by a unit
|
|
+ rstconv util to convert .rst files to gettext files
|
|
+ plex,pyacc Pascal Lex/Yacc
|
|
* ppudump, ppufiles updated for new ppu version
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 0.99.12
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ lot of ansistring fixes
|
|
+ coff writer for go32v2,win32 with instant .a creation (BETA)
|
|
+ working global browser
|
|
+ new compiler directives (path and other cmdline switches)
|
|
+ val,readln support range checking
|
|
+ initialization/finalization support
|
|
+ methodpointer support
|
|
+ message support
|
|
* better intel,at&t parsers with mmx,3dnow support
|
|
* better unit dependency handling and recompiling
|
|
* static var fixes
|
|
* better addr() support
|
|
* lot of other fixes, too many to list here
|
|
|
|
RTL:
|
|
+ Internationalization suport in sysutils
|
|
+ FileNameCaseSensitive boolean for go32v2,win32
|
|
* more precise str/val
|
|
* better val(),readln()
|
|
* io error handling much more like tp7
|
|
* small other fixes
|
|
|
|
Utils:
|
|
+ ptop to pretty print your sources
|
|
* beter ppudump
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 0.99.10
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ better optimizer
|
|
+ ansistring support
|
|
+ array of const support for FormatStr
|
|
+ automatic heaptrc unit including with the -gh option
|
|
+ open strings ($P+) support
|
|
+ DLL generation for Win32
|
|
+ printf support for cdecl using array of const
|
|
* exceptions are finally working
|
|
* fixed some ppu problems
|
|
* fixed unit interdependency problems
|
|
* better range checking, also for enums
|
|
* size of objects without virtuals is now the same as tp7
|
|
* lot of fixes for the assembler readers
|
|
* more constant expression evalutations
|
|
* removed all memoryleaks
|
|
* almost all reported bugs are fixed
|
|
|
|
RTL:
|
|
+ heaptrc unit to detect memoryleaks and other problems with the heap
|
|
+ graph unit works and some missing functions are added
|
|
* objects unit fully works
|
|
* more functions for the classes,sysutils unit
|
|
|
|
Utils:
|
|
* ppudump updated for new ppu entries
|
|
* h2pas updated to write new cdecl declaration
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 0.99.8
|
|
******************************************************************************
|
|
|
|
Compiler:
|
|
+ smartlinking support (-Cx)
|
|
+ new ppu format which much more portable en extendible
|
|
+ new scanner with better file position info
|
|
+ constant evaluation like tp7 (trunc,round,hi,swap)
|
|
+ rtti support
|
|
+ exception support
|
|
+ longbool,wordbool support
|
|
+ enumerated packing support like delphi
|
|
+ c variable support (-Sv)
|
|
+ Win32 support (no export and resource support yet)
|
|
* optimizer switches changed to be easier to use
|
|
* lot of fixes for sets, also supporting dynamic creation
|
|
* working open array (sizeof,high)
|
|
* better filename handling for all platforms
|
|
* ability to list source lines in the assembler file
|
|
* some error messages changed to for better understanding
|
|
* better calling convention support, delphi compatible
|
|
* glibc2 (linux) support
|
|
* too many other small bugfixes and internal enhancements
|
|
|
|
RTL:
|
|
+ sysutils unit for objpas
|
|
+ port[] array for go32v2
|
|
+ graph unit for linux
|
|
+ uniform objects unit for all platforms
|
|
+ rtti support
|
|
+ automatic Longfilename (LFN) support for go32v2
|
|
* go32 crt startup delay has been removed
|
|
* missing pchar support for some file functions (assign,rename)
|
|
* heapblocks support, which is much faster when allocating a lot
|
|
of small blocks (like objects)
|
|
* filerec/textrec is now uniform for all platforms (but not tp7 compatible)
|
|
* extended is the default floating point type
|
|
* lot of other fixes and small enhancements
|
|
|
|
Utils:
|
|
+ h2pas util to convert .h files to .pas file
|
|
+ ppudump util replaces the old dumpppu
|
|
* mkdep is now much less strict and (* *) support
|
|
|
|
|
|
******************************************************************************
|
|
Whats New in 0.99.5
|
|
******************************************************************************
|
|
|
|
Mainly, bugs are fixed and some improvements are
|
|
made in that release, besides that the following stuff is
|
|
added:
|
|
* compiler
|
|
- mem[] and absolute works now as expected (go32v2 target only)
|
|
- basic MMX support by the compiler (see docs for more infos)
|
|
* runtime library
|
|
- better support of floating point types
|
|
|