mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-16 21:09:21 +02:00
pastojs: comments
git-svn-id: trunk@43201 -
This commit is contained in:
parent
362e6232c3
commit
8a3df44734
@ -400,22 +400,24 @@ Works:
|
|||||||
- pass class property, static class property
|
- pass class property, static class property
|
||||||
- pass array property
|
- pass array property
|
||||||
- array of const, TVarRec
|
- array of const, TVarRec
|
||||||
|
- attributes
|
||||||
|
- overflow check:
|
||||||
|
-Co : Overflow checking of integer operations
|
||||||
|
- generics
|
||||||
|
|
||||||
ToDos:
|
ToDos:
|
||||||
- range check:
|
- range check:
|
||||||
type helper self:=
|
type helper self:=
|
||||||
- overflow check:
|
|
||||||
?
|
|
||||||
- cmd line param to set modeswitch
|
- cmd line param to set modeswitch
|
||||||
- Result:=inherited;
|
- Result:=inherited;
|
||||||
- asm-block annotate/reference
|
- asm-block annotate/reference
|
||||||
- pas() test or use or read or write
|
- pas() test or use or read or write
|
||||||
|
- trailing [,,,]
|
||||||
- bug: DoIt(typeinfo(i)) where DoIt is in another unit and has TTypeInfo
|
- bug: DoIt(typeinfo(i)) where DoIt is in another unit and has TTypeInfo
|
||||||
- $OPTIMIZATION ON|OFF
|
- $OPTIMIZATION ON|OFF
|
||||||
- $optimization REMOVEEMPTYPROCS
|
- $optimization REMOVEEMPTYPROCS
|
||||||
- $optimization REMOVEEMPTYPROCS,RemoveNotUsedDeclarations-
|
- $optimization REMOVEEMPTYPROCS,RemoveNotUsedDeclarations-
|
||||||
- setlength(dynarray) modeswitch to not create a copy
|
- setlength(dynarray) modeswitch to not create a copy
|
||||||
- 'new', 'Function' -> class var use .prototype
|
|
||||||
- static arrays
|
- static arrays
|
||||||
- clone multi dim static array
|
- clone multi dim static array
|
||||||
- RTTI
|
- RTTI
|
||||||
@ -428,50 +430,22 @@ ToDos:
|
|||||||
- stdcall of methods: pass original 'this' as first parameter
|
- stdcall of methods: pass original 'this' as first parameter
|
||||||
- property read Arr[0] https://bugs.freepascal.org/view.php?id=33416
|
- property read Arr[0] https://bugs.freepascal.org/view.php?id=33416
|
||||||
- write, writeln
|
- write, writeln
|
||||||
- array of const
|
|
||||||
- call array of proc element without ()
|
- call array of proc element without ()
|
||||||
- enums with custom values
|
- enums with custom values
|
||||||
- library
|
- library
|
||||||
- constref
|
- constref
|
||||||
- option overflow checking -Co
|
- option overflow checking -Co
|
||||||
+, -, *, Succ, Pred, Inc, Dec
|
+, -, *, Succ, Pred, Inc, Dec
|
||||||
-Co : Overflow checking of integer operations
|
|
||||||
-CO : Check for possible overflow of integer operations
|
-CO : Check for possible overflow of integer operations
|
||||||
-C3 : Turn on ieee error checking for constants
|
-C3 : Turn on ieee error checking for constants
|
||||||
- optimizations:
|
- optimizations:
|
||||||
- move rtl.js functions to system.pp
|
see https://wiki.lazarus.freepascal.org/Pas2js_optimizations
|
||||||
- add $mod only if needed
|
|
||||||
- add Self only if needed
|
|
||||||
- use a number for small sets
|
|
||||||
- put set literals into constants
|
|
||||||
- shortcut for test set is empty a=[] a<>[]
|
|
||||||
- set operators on literals without temporary arrays, a in [b], [a]*b<>[]
|
|
||||||
- combine multiple var a=0,b=0
|
|
||||||
- init a local var with the first assignment
|
|
||||||
- skip clone array for new array and arraysetlength
|
|
||||||
- SetLength(scope.a,l) -> read scope only once, same for
|
|
||||||
Include, Exclude, Inc, Dec, +=, -=, *=, /=
|
|
||||||
- inline -Si
|
|
||||||
- autoinline
|
|
||||||
-O1 insert unit vars for complex literals
|
|
||||||
-O1 no function Result var when assigned only once
|
|
||||||
-O1 replace constant expression with result
|
|
||||||
-O1 pass array element by ref: when index is constant, use that directly
|
|
||||||
-O1 case-of with 6+ elements as binary tree
|
|
||||||
-O2 insert local/unit vars for global type references:
|
|
||||||
at start of intf var $r1=null;
|
|
||||||
at end of impl: $r1=path;
|
|
||||||
-O2 removeemptyprocs
|
|
||||||
-O2 skip dead code If(false){...}
|
|
||||||
-O2 CSE
|
|
||||||
-O3 DFA
|
|
||||||
- objects
|
- objects
|
||||||
- generics
|
- generics
|
||||||
- operator overloading
|
- operator overloading
|
||||||
- operator enumerator
|
- operator enumerator
|
||||||
- inline
|
- inline
|
||||||
- extended RTTI
|
- extended RTTI
|
||||||
- attributes
|
|
||||||
|
|
||||||
Debugging this unit: -d<x>
|
Debugging this unit: -d<x>
|
||||||
VerbosePas2JS
|
VerbosePas2JS
|
||||||
|
Loading…
Reference in New Issue
Block a user