123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- 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:
- + 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
- ******************************************************************************
- 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
|