source: branches/2.20_branch/Sibyl/COMPILER.TXT@ 479

Last change on this file since 479 was 9, checked in by RBRi, 19 years ago

+ build stuff

  • Property svn:eol-style set to native
File size: 2.7 KB
Line 
1COMPILER
2
3----------------------------------------------------------------------
41. 'Finally' clause is not called when exit is encountered
5
6----------------------------------------------------------------------
72. Optimisation causes incorrect code.
8Compiler optimisation often generates incorrect code for expressions.
9Must be turned off in most programs. This makes Sibyl somewhat slow
10for intensive calculations
11
12----------------------------------------------------------------------
133. Internal errors.
14( see 9 for one example )
15
16----------------------------------------------------------------------
174. Allowed to construct abstract classes
18- ?
19
20----------------------------------------------------------------------
215. Compiler and resource compiler won't open readonly source files.
22
23----------------------------------------------------------------------
246. Resource compiler includes files, relative to current dir, not current file path.
25- Fixed in Fp4
26
27----------------------------------------------------------------------
287. No quick way to append to AnsiString
29Need to optimise s:= s + 'blah'; like delphi, or make a procedure
30? Perhaps with optimisation on, this would be done?
31
32----------------------------------------------------------------------
338. .rc files are not included in make
34(Same as Delphi ;-( )
35
36----------------------------------------------------------------------
379. IDE compiler crashes if command line compiler used while IDE running.
38(On units that the IDE project is using)
39"Internal compiler error" or "Undefined identifier: TForms.CreateWnd!O7272!"
40
41----------------------------------------------------------------------
4210. Cannot pass nil as a value for procedure/function/method variable parameters
43For example:
44
45TDoBob = procedure of object;
46Procedure DoABobFunction( Function: TDoBob );
47...
48
49DoABobFunction( nil )
50crashes.
51
52----------------------------------------------------------------------
5311. Functions nested inside class methods generate faulty references to self
54The nested function can refer to properties/methods of the class it is in
55the method of, but the code crashes.
56Workaround: refer to self explicitly.
57
58----------------------------------------------------------------------
5912. Make does not notice "implicit" dependencies
60e.g. ArchiveStore contains TRevision. Interace changes.
61CachedArchive uses ArchiveStore
62FIlelistArchive uses elements of revision via an array property but does not ave ArchiveStore in Uses
63
64----------------------------------------------------------------------
6513. Produces corrupt debug data in Publics section on large projects
66- On large projects the IDE cannot debug with a message like:
67 Debugger Error: 'Object 387 in module D:...newview.exe
68 not found (PUBLICS)'
69The end of the publics table is garbage.
Note: See TracBrowser for help on using the repository browser.