Difference between revisions of "Open tasks"

From Free Pascal wiki
Jump to navigationJump to search
(m68k and MIPS are supported nowadays)
 
(25 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 +
{{Open tasks}}
 +
 
Here is a list of open tasks in FPC.
 
Here is a list of open tasks in FPC.
 +
 +
There is a special page about the [[Systems 2005]] fair in Munich, October 2005, regarding topics discussed between the FPC and Lazarus core developers.
  
 
== Compiler development ==
 
== Compiler development ==
  
* Port the m68k code generator to 1.9.x: [[M68k port]]
+
* Document the compiler
* Create a MIPS code generator for 1.9.x: [[MIPS port]]
+
* SSA framework
 +
* Instruction scheduler
 +
* Rework exception handling to "gcc style"
 +
* <strike>Port the m68k code generator to 2.3.x: [[M68k port]]</strike>
 +
* <strike>Create a MIPS code generator for 2.3.x: [[MIPS port]]</strike>
 
* For missing language constructs, see: [[Language related articles]]
 
* For missing language constructs, see: [[Language related articles]]
* Working regvar support for the 1.9.x port.
+
* Package support and dynamic library handling in general (partially language, but has a lot of implications)
* debug {$packrecord C} with regard to 16 and 64-bit sizes.
+
* (more) DWARF debugformat support. This might cut back the size of binaries with debuginfo
* leafnode stackframereduction (and auto inlining?)
+
* Auto inlining
 +
* improve PowerPC port:
 +
** improve AIX abi-compatibility (e.g., we don't return records as the AIX abi prescribes)
 +
** improve the PPC-optimizer (only a peephole optimizer available)
 +
* improve ARM port:
 +
** create a ARM-optimizer
 +
** optimize helper routines some can use libgcc if linked against libc
 +
** optimize concatcopy code generation
 +
** optimize set operations
 +
* improve SPARC port
 +
** write code optimizer
 +
** improve RTL implementation
 +
* provide [[Localization|localization]] to other languages
  
 
Information about compiler development can be found here: [[Compiler development articles]]
 
Information about compiler development can be found here: [[Compiler development articles]]
Line 14: Line 34:
 
== RTL development ==
 
== RTL development ==
  
* port the 1.0.10 BeOS port to 1.9.x: [[BeOS port]]
+
* <strike>port the 1.0.10 BeOS port to 2.1.x: [[BeOS port]]</strike>
* port the 1.0.6/1.0.10 SunOS port to 1.9.x: [[SunOS port]]
+
* <strike>port the 1.0.6/1.0.10 SunOS port to 2.1.x: [[SunOS port]] (combine with Sparc port)</strike>
* port the 1.0.6/1.0.10 QNX port to 1.9.x: [[QNX port]]
+
* port the 1.0.6/1.0.10 QNX port to 2.3.x: [[QNX port]]
* create a Darwin rtl: [[MacOS X port]]
+
* Implement crossplatform 64-bit fileroutines
* create a WinCE rtl: [[WinCE port]]
+
* <strike>ARM port and RTL more userfriendly. (need users/contributors/betatesters first)</strike>
* The unix ports (including derivatives as BeOS and QNX) should have a way to be rerouted to libc instead of syscalls.
+
* improve Mac OS X rtl:
 
+
** Port the missing RTL units (mainly text console handling)
 +
** Improve support for the Mac Pascal dialect
 +
** Finish Classic Mac OS support
 +
* <strike>create a WinCE rtl: [[WinCE port]]</strike>
 +
 
 
== FCL development ==
 
== FCL development ==
  
== FVISION development ==
+
* New classes
 +
* debug classes
 +
* more database support and abstraction
 +
 
 +
== [[FVISION]] development ==
 +
 
 +
* getting it fully up to speed and compatible with TV
 +
* endianness and 64-bit clean work.
  
 
== IDE development ==
 
== IDE development ==
  
* The text mode IDE needs currently a maintainer, have a look at this page for more information: [[Textmode IDE developement]]
+
* The text mode IDE needs currently a maintainer, have a look at this page for more information: [[Textmode IDE development]]
 
* there are a lot of bugs to fix, have a look at the bug repository: http://www.freepascal.org/bugs.html
 
* there are a lot of bugs to fix, have a look at the bug repository: http://www.freepascal.org/bugs.html
* get it working with [[FVISION]]
+
* <strike>get it working with [[FVISION]]</strike>
 +
* Related to this is debugging the platform dependant parts, the former "API" (video, mouse,keyboard). Help from platform maintainers can be expected. (more about isolating bugs than solving in these units) See also [[KVM API and Crt future]]
 +
* DWARF support for the IDE
 +
* Colour selection dialogue compatible as available in TP/BP IDE (previously used code was not clean from copyright point of view)
 +
 
 +
== Demoes ==
 +
 
 +
* we can nearly always use more demoes.
  
 
== Misc ==
 
== Misc ==
  
 +
* Packaging system
 
* some more tasks are listed on http://www.freepascal.org/future.html near the bottom
 
* some more tasks are listed on http://www.freepascal.org/future.html near the bottom
 +
 +
[[Category:FPC development]]

Latest revision as of 22:13, 16 January 2020

English (en)

Here is a list of open tasks in FPC.

There is a special page about the Systems 2005 fair in Munich, October 2005, regarding topics discussed between the FPC and Lazarus core developers.

Compiler development

  • Document the compiler
  • SSA framework
  • Instruction scheduler
  • Rework exception handling to "gcc style"
  • Port the m68k code generator to 2.3.x: M68k port
  • Create a MIPS code generator for 2.3.x: MIPS port
  • For missing language constructs, see: Language related articles
  • Package support and dynamic library handling in general (partially language, but has a lot of implications)
  • (more) DWARF debugformat support. This might cut back the size of binaries with debuginfo
  • Auto inlining
  • improve PowerPC port:
    • improve AIX abi-compatibility (e.g., we don't return records as the AIX abi prescribes)
    • improve the PPC-optimizer (only a peephole optimizer available)
  • improve ARM port:
    • create a ARM-optimizer
    • optimize helper routines some can use libgcc if linked against libc
    • optimize concatcopy code generation
    • optimize set operations
  • improve SPARC port
    • write code optimizer
    • improve RTL implementation
  • provide localization to other languages

Information about compiler development can be found here: Compiler development articles

RTL development

  • port the 1.0.10 BeOS port to 2.1.x: BeOS port
  • port the 1.0.6/1.0.10 SunOS port to 2.1.x: SunOS port (combine with Sparc port)
  • port the 1.0.6/1.0.10 QNX port to 2.3.x: QNX port
  • Implement crossplatform 64-bit fileroutines
  • ARM port and RTL more userfriendly. (need users/contributors/betatesters first)
  • improve Mac OS X rtl:
    • Port the missing RTL units (mainly text console handling)
    • Improve support for the Mac Pascal dialect
    • Finish Classic Mac OS support
  • create a WinCE rtl: WinCE port

FCL development

  • New classes
  • debug classes
  • more database support and abstraction

FVISION development

  • getting it fully up to speed and compatible with TV
  • endianness and 64-bit clean work.

IDE development

  • The text mode IDE needs currently a maintainer, have a look at this page for more information: Textmode IDE development
  • there are a lot of bugs to fix, have a look at the bug repository: http://www.freepascal.org/bugs.html
  • get it working with FVISION
  • Related to this is debugging the platform dependant parts, the former "API" (video, mouse,keyboard). Help from platform maintainers can be expected. (more about isolating bugs than solving in these units) See also KVM API and Crt future
  • DWARF support for the IDE
  • Colour selection dialogue compatible as available in TP/BP IDE (previously used code was not clean from copyright point of view)

Demoes

  • we can nearly always use more demoes.

Misc