Difference between revisions of "Detailed 2.2.0 Todo"

From Free Pascal wiki
Jump to navigationJump to search
 
(22 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
This todo is for people working on fpc to write down what they want to do till 2.2.0 is released. It's not a wishlist what shall be done. Feature requests etc. should be added to mantis.
 
This todo is for people working on fpc to write down what they want to do till 2.2.0 is released. It's not a wishlist what shall be done. Feature requests etc. should be added to mantis.
 +
 +
=== General ===
 +
 +
* Document changes potentially affecting currently working code to [[User_Changes_2.2.0]] (all)
 +
** Document regcal stack parameter order change
 +
** Document val change regarding the handling of #0
 +
* Fix bugs with [http://www.freepascal.org/mantis/view_all_set.php?type=3&source_query_id=623 target 2.2.0]
  
 
=== Compiler ===
 
=== Compiler ===
 
* <strike>packages (Florian/Peter)</strike> (2.4.0)
 
* <strike>packages (Florian/Peter)</strike> (2.4.0)
 
* <strike>[[Module handling rewrite]] (Peter/Florian)</strike> (2.4.0)
 
* <strike>[[Module handling rewrite]] (Peter/Florian)</strike> (2.4.0)
* Crosscompiling to Mac OS X (Marco)
+
* <strike>Crosscompiling to Mac OS X</strike> (Marco, been done, but not end user ready ->2.4.0)
 
* <strike>rewrite assigning of automated types like variants and widestrings (Florian)</strike>
 
* <strike>rewrite assigning of automated types like variants and widestrings (Florian)</strike>
 
* <strike>complete unique type support (Florian)</strike>
 
* <strike>complete unique type support (Florian)</strike>
Line 13: Line 20:
 
* <strike>Use Sysutils (Peter)</strike>
 
* <strike>Use Sysutils (Peter)</strike>
 
* <strike>Directory caching (Peter)</strike>
 
* <strike>Directory caching (Peter)</strike>
* All path/filename handling in the compiler ansistring.
+
* <strike>All path/filename handling in the compiler ansistring. (Thomas)</strike>
 
* generics support (Florian)
 
* generics support (Florian)
 +
* <strike>PIC support for Darwin/ppc and Darwin/i386 and compile rtl, packages and fcl with PIC support because non-PIC dynamic libraries are unsupported (although they work in simple situations) (Jonas)</strike>
 
* Fix all testsuite failures which are in 2.1.x but not in 2.0.x (all)
 
* Fix all testsuite failures which are in 2.1.x but not in 2.0.x (all)
 
* bug fixing (all)
 
* bug fixing (all)
** Delphi incompatibility regarding register calling convention (push order of stack based arguments)
+
** <strike>Delphi incompatibility regarding register calling convention (push order of stack based arguments) (Florian)</strike>
 
** <strike>fix bugs in *nix tthread.inc's (joining detached threads, possibly some more dataraces) (Jonas)</strike>
 
** <strike>fix bugs in *nix tthread.inc's (joining detached threads, possibly some more dataraces) (Jonas)</strike>
 +
* <strike>Binary writer generates incorrect debug info, for example enums do not show. (Peter)</strike>
 +
* Ansistrings/widestrings should show in gdb as string, not address. We can achieve this by emitting debug information for zero terminated strings.
 +
* Fix -pg gprof support.
  
 
=== Packaging ===
 
=== Packaging ===
Line 30: Line 41:
 
* 64-bit file support for Netwlibc (?)
 
* 64-bit file support for Netwlibc (?)
 
* <strike>64-bit file support for Linux (Neli)</strike>
 
* <strike>64-bit file support for Linux (Neli)</strike>
* 64-bit file support for Linux/FPC_USE_LIBC (Neli, bug 7987)  
+
* <strike>64-bit file support for Linux/FPC_USE_LIBC</strike> (Neli, bug 7987)
 
* <s>Fix get_caller_frame stuff for code without stackframes</s> (Jonas)
 
* <s>Fix get_caller_frame stuff for code without stackframes</s> (Jonas)
 
* ARM badly needs mod/divide helpers in assembler
 
* ARM badly needs mod/divide helpers in assembler
Line 37: Line 48:
 
* <strike>TFormatSettings (bug 6242).</strike>  (Marco/Michael)
 
* <strike>TFormatSettings (bug 6242).</strike>  (Marco/Michael)
 
* Make decision about threading in Linux (NTPL, unit libc)  (bug 6280)  (???, Marco is willing to help with the implementation)
 
* Make decision about threading in Linux (NTPL, unit libc)  (bug 6280)  (???, Marco is willing to help with the implementation)
* bug 7247 (TStringList incompat, Marco/Michael. Scheduled fro XMas week)
+
* <strike>bug 7247 (TStringList incompat, Marco/Michael. Scheduled fro XMas week)</strike>
* bug 6824 (stored=false property storage, Lazarus angles?)
+
* <strike>bug 6824 (stored=false property storage, Lazarus angles?)</strike>
* bug 7947 (Syncobjs cleanup)
+
* <strike>bug 7947 (Syncobjs cleanup)</strike>
* properly scan and clean up sockets on all platforms (Ales, March 31)
+
* <strike>properly scan and clean up sockets on all platforms</strike> (Ales)
 
* fix internal ThreadManager inconsistencies (Ales?, March 31? - probably not)
 
* fix internal ThreadManager inconsistencies (Ales?, March 31? - probably not)
* Make declarations in Windows unit for WinCE compatible with those in the windows unit for Win32.
+
* <strike>Make declarations in Windows unit for WinCE compatible with those in the windows unit for Win32. (Yury)</strike>
  
 
=== FCL ===
 
=== FCL ===
Line 58: Line 69:
 
=== IDE ===
 
=== IDE ===
 
* <s>Try to implement a TP like evaluate/modify window</s> (Daniel)
 
* <s>Try to implement a TP like evaluate/modify window</s> (Daniel)
 +
* Check and modify compile options window to reflect all new 2.2 compiler options.
 +
 +
=== Documentation ===
 +
* Update runtime error list.
 +
 +
[[Category:FPC Todo]]

Latest revision as of 11:23, 17 March 2013

This todo is for people working on fpc to write down what they want to do till 2.2.0 is released. It's not a wishlist what shall be done. Feature requests etc. should be added to mantis.

General

  • Document changes potentially affecting currently working code to User_Changes_2.2.0 (all)
    • Document regcal stack parameter order change
    • Document val change regarding the handling of #0
  • Fix bugs with target 2.2.0

Compiler

  • packages (Florian/Peter) (2.4.0)
  • Module handling rewrite (Peter/Florian) (2.4.0)
  • Crosscompiling to Mac OS X (Marco, been done, but not end user ready ->2.4.0)
  • rewrite assigning of automated types like variants and widestrings (Florian)
  • complete unique type support (Florian)
  • dispinterfaces (Florian)
  • improve HTML rendering of IDE (Florian/Tomas(?))
  • Internal linker for ELF platforms? (2.4.0)
  • better string append support (Peter)
  • Use Sysutils (Peter)
  • Directory caching (Peter)
  • All path/filename handling in the compiler ansistring. (Thomas)
  • generics support (Florian)
  • PIC support for Darwin/ppc and Darwin/i386 and compile rtl, packages and fcl with PIC support because non-PIC dynamic libraries are unsupported (although they work in simple situations) (Jonas)
  • Fix all testsuite failures which are in 2.1.x but not in 2.0.x (all)
  • bug fixing (all)
    • Delphi incompatibility regarding register calling convention (push order of stack based arguments) (Florian)
    • fix bugs in *nix tthread.inc's (joining detached threads, possibly some more dataraces) (Jonas)
  • Binary writer generates incorrect debug info, for example enums do not show. (Peter)
  • Ansistrings/widestrings should show in gdb as string, not address. We can achieve this by emitting debug information for zero terminated strings.
  • Fix -pg gprof support.

Packaging

  • Use fpmake for building (Michael/Peter)
  • Use fppkg for package repository (Michael/Peter)
  • get an initial set of packages for often used pkgs. (during RC'ing?)

RTL

  • 64-bit file support for Solaris (?)
  • 64-bit file support for MacOS (?)
  • 64-bit file support for Netwlibc (?)
  • 64-bit file support for Linux (Neli)
  • 64-bit file support for Linux/FPC_USE_LIBC (Neli, bug 7987)
  • Fix get_caller_frame stuff for code without stackframes (Jonas)
  • ARM badly needs mod/divide helpers in assembler
  • add {$optimization nostackframe} to objects unit and to all code which uses it (IDE, fvision) (superseded by r5146)
  • basic template unit (map and list) (Neli)
  • TFormatSettings (bug 6242). (Marco/Michael)
  • Make decision about threading in Linux (NTPL, unit libc) (bug 6280) (???, Marco is willing to help with the implementation)
  • bug 7247 (TStringList incompat, Marco/Michael. Scheduled fro XMas week)
  • bug 6824 (stored=false property storage, Lazarus angles?)
  • bug 7947 (Syncobjs cleanup)
  • properly scan and clean up sockets on all platforms (Ales)
  • fix internal ThreadManager inconsistencies (Ales?, March 31? - probably not)
  • Make declarations in Windows unit for WinCE compatible with those in the windows unit for Win32. (Yury)

FCL

  • DB: Restructure the db-testsuite (Joost)
  • DB: bufdataset: implement calculated fields (Joost)
  • DB: bufdataset: implement in-memory-filtering (Joost)
  • DB: bufdataset: make it possible to use bufdataset directly, thus not only it's descendents. (like TClientDataset) (Joost)
  • DB: bufdataset: save and read datapackets as XML (Joost)
  • DB: sqldb: improve speed by fetching more then one record at a time (Joost)
  • DB: sqldb: add the ability to make plugins (Joost)
  • DB: sqldb: a backup and restore plugin for firebird (Joost)
  • DB: sqldb: revise the TSQLScript component (2.4.0 ? Joost)
  • If possible: set up a test-suite for the fcl, like the db-testsuite. In such a way thet it can be used automatically, just like the compiler test-suite (Joost)

IDE

  • Try to implement a TP like evaluate/modify window (Daniel)
  • Check and modify compile options window to reflect all new 2.2 compiler options.

Documentation

  • Update runtime error list.