Jonas Maebe
7fb55bf4e4
+ a_loadfpu_* and a_loadmm_* methods in tcg
...
* register allocation is now handled by a class and is mostly processor
independent (+rgobj.pas and i386/rgcpu.pas)
* temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
* some small improvements and fixes to the optimizer
* some register allocation fixes
* some fpuvaroffset fixes in the unary minus node
* push/popusedregisters is now called rg.save/restoreusedregisters and
(for i386) uses temps instead of push/pop's when using -Op3 (that code is
also better optimizable)
* fixed and optimized register saving/restoring for new/dispose nodes
* LOC_FPU locations now also require their "register" field to be set to
R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
- list field removed of the tnode class because it's not used currently
and can cause hard-to-find bugs
2002-03-31 20:26:33 +00:00
carl
cbe6e19729
+ patch for SPARC from Mazen NEIFER
2002-03-24 19:04:31 +00:00
Jonas Maebe
62e4cfefc1
* fixed severe slowdown when compiling a program with arrays that have
...
a lot (15+) dimensions ("merged")
2002-02-04 08:16:07 +00:00
peter
d6fb9766ee
* check for unresolved forward classes in the interface
2002-01-19 15:12:34 +00:00
peter
8327c4284d
* fixed previous commit
2002-01-06 21:52:30 +00:00
peter
d24762aeba
* removed uauto from orddef, use new range_to_basetype generating
...
the correct ordinal type for a range
2002-01-06 12:08:15 +00:00
florian
43ece4c2b7
* publishing of publishable classes fixed
2001-12-19 09:34:51 +00:00
florian
b60666ae1f
+ parasym to tparaitem added
2001-12-06 17:57:33 +00:00
peter
e45bb82d81
* freemem change to value parameter
...
* torddef low/high range changed to int64
2001-12-03 21:48:41 +00:00
Jonas Maebe
c980b07df9
* tarraydef.size returns target_info.size_of_pointer instead of 4 for
...
dynamic arrays
2001-11-30 15:01:51 +00:00
peter
faf78ea813
* overloading supported in child classes
...
* fixed parsing of classes with private and virtual and overloaded
so it is compatible with delphi
2001-11-18 18:43:13 +00:00
florian
889ca6ea25
* publishing of qword, int64 and widechar properties is now possible
2001-11-18 18:27:57 +00:00
peter
d2e1952377
* procsym definition rewrite
2001-11-02 22:58:00 +00:00
peter
e37dbf904d
* calling convention rewrite
2001-10-25 21:22:32 +00:00
peter
cea68ee35c
* fixed size of constset when change from small to normalset
2001-10-20 17:21:54 +00:00
Jonas Maebe
350a2ad8e3
* better size checking of data (now an error is returned for
...
"array[longint] of longint") ("merged")
2001-10-15 13:16:26 +00:00
michael
d75c4d6486
* Smartlinking with interfaces fixed
...
* Better smartlinking for rtti and init tables
2001-09-19 11:04:41 +00:00
peter
45dab81414
* merged netbsd, fpu-overflow from fixes branch
2001-09-17 21:29:10 +00:00
Jonas Maebe
6a15178f0f
* fixed web bug #1593
...
* writing of procvar headers is more complete (mention var/const/out for
paras, add "of object" if applicable)
+ error if declaring explicit self para as var/const
* fixed mangled name of procedures which contain an explicit self para
* parsing para's should be slightly faster because mangled name of
procedure is only updated once instead of after parsing each para
(all merged from fixes)
2001-09-10 10:26:26 +00:00
Jonas Maebe
a2218eb517
* aded missing reset of labels of rttitablesym and inittablesym labels
2001-09-03 15:18:38 +00:00
peter
915b5cd7a9
* split constsym.value in valueord,valueordptr,valueptr. The valueordptr
...
is used for holding target platform pointer values. As those can be
bigger than the source platform.
2001-09-02 21:18:28 +00:00
peter
f88f6eb571
* rtti/init table updates
...
* rttisym for reusable global rtti/init info
* support published for interfaces
2001-08-30 20:13:52 +00:00
florian
9746f4c2d6
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:35:06 +00:00
florian
032023f8de
* some interfaces related problems regarding
...
mapping of interface implementions fixed
2001-08-22 21:16:20 +00:00
peter
7b45b6a4a9
* local browser support fixed
2001-08-19 09:39:27 +00:00
peter
e72f528acf
* write also dynamicarray flag to ppu
2001-08-12 22:09:40 +00:00
peter
a9044dd538
* fpu_used=0 when simplify_ppu is used
...
* small crc updating fixes for tprocdef
2001-08-12 20:04:33 +00:00
peter
81200dc9ef
* funcret moved from tprocinfo to tprocdef
2001-08-06 21:40:46 +00:00
peter
62cccdebb5
* fixed passing of array of record or shortstring to open array
2001-08-01 21:47:48 +00:00
peter
c4b84ce276
* m68k updates from v10 merged
2001-07-30 20:59:27 +00:00
Jonas Maebe
13bcf3599c
* fixed web bugs 1563/1564: procvars of object can't be regvars (merged)
2001-07-30 11:52:57 +00:00
peter
b10e754536
* alignmentinfo record added
...
* -Oa argument supports more alignment settings that can be specified
per type: PROC,LOOP,VARMIN,VARMAX,CONSTMIN,CONSTMAX,RECORDMIN
RECORDMAX,LOCALMIN,LOCALMAX. It is possible to set the mimimum
required alignment and the maximum usefull alignment. The final
alignment will be choosen per variable size dependent on these
settings
2001-07-01 20:16:15 +00:00
peter
49481a0c63
* v10 merges
2001-06-27 21:37:36 +00:00
peter
7dd4f0e9dd
* procdef demangling fixed
2001-06-04 18:05:39 +00:00
peter
e652444594
+ varargs directive
2001-06-04 11:53:12 +00:00
peter
68c1559651
* m68k doesn't support double (merged)
2001-05-09 19:58:45 +00:00
peter
6c7708c1e0
* ppu object to class rewrite
...
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
florian
7e8bc49786
* more variant support
2001-04-22 22:46:49 +00:00
peter
9a47ac9ec2
* m68k updates merged from fixes branch
2001-04-21 12:03:11 +00:00
peter
0c03535b5b
* registration of targets and assemblers
2001-04-18 22:01:53 +00:00
peter
a7cf57524e
* symtable change to classes
...
* range check generation and errors fixed, make cycle DEBUG=1 works
* memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
5e114ac4e3
* enum stabs fix (merged)
2001-04-05 21:32:22 +00:00
florian
64d7d5682e
* applied several fixes to get the DD8 Delphi Unit compiled
...
e.g. "forward"-interfaces are working now
2001-04-04 21:30:42 +00:00
peter
4e2655cdc5
* resulttype rewrite
2001-04-02 21:20:29 +00:00
florian
295804263d
* correct initialisation of rec_tguid when loading the system unit
2001-03-22 23:28:39 +00:00
florian
82a6a7ed95
+ basic variant type support in the compiler
2001-03-22 00:10:58 +00:00
peter
d8abf76f6b
* getsym redesign, removed the globals srsym,srsymtable
2001-03-11 22:58:49 +00:00
peter
bdb1ed1462
* merged c packrecords fix
2001-01-06 20:11:29 +00:00
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
4ec8650ad9
* classes, enum stabs fixes merged from 1.0.x
2000-12-24 12:20:45 +00:00
Jonas Maebe
c91a23c27d
* new constant handling: from now on, hex constants >$7fffffff are
...
parsed as unsigned constants (otherwise, $80000000 got sign extended
and became $ffffffff80000000), all constants in the longint range
become longints, all constants >$7fffffff and <=cardinal($ffffffff)
are cardinals and the rest are int64's.
* added lots of longint typecast to prevent range check errors in the
compiler and rtl
* type casts of symbolic ordinal constants are now preserved
* fixed bug where the original resulttype wasn't restored correctly
after doing a 64bit rangecheck
2000-12-07 17:19:42 +00:00
florian
8dc8438e60
* if raw interfaces inherit from IUnknown they are ref. counted too
2000-11-30 23:12:57 +00:00
florian
b9796f6a7f
* unused units removed from uses clause
...
* some changes for widestrings
2000-11-29 00:30:30 +00:00
pierre
319ddd55cb
* stabs fixing
2000-11-28 00:28:06 +00:00
florian
ea7ed6fd3b
* fixed rtti for chars
2000-11-26 18:09:40 +00:00
florian
ad8ccd0c0e
*** empty log message ***
2000-11-19 16:23:06 +00:00
florian
1462deb207
* interfaces are basically running
2000-11-12 23:24:10 +00:00
peter
3c6d0efadc
* add far; to typename for far pointer
2000-11-11 16:12:38 +00:00
peter
bb410f8182
* fix vmt index for classes
2000-11-07 20:01:57 +00:00
peter
e2fd02814d
* uppercase manglednames
2000-11-06 23:13:53 +00:00
florian
11b74e236f
* writeln debugger uninstalled ;)
2000-11-06 23:11:38 +00:00
florian
c12bff980d
* more fixes
2000-11-06 23:05:52 +00:00
peter
8df98007d6
* more fixes to get make cycle working
2000-11-06 20:30:54 +00:00
florian
51527ba1c9
+ merged Attila's changes for interfaces, not tested yet
2000-11-04 14:25:19 +00:00
pierre
f6bfcc9cb7
* remove RecOffset code, that created problems
2000-11-02 12:04:10 +00:00
peter
5115083270
* tprocdef.fullprocname added for better casesensitve writing of
...
procedures
2000-11-01 23:04:37 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00