pierre
8025581bfd
* DLL index used for win32 target with DEF file
...
+ DLL initialization/finalization support
1999-11-20 01:19:10 +00:00
pierre
bb6dc0cee8
* avoid certain wrong notes/hints
1999-11-19 14:49:15 +00:00
pierre
9a9219324f
* avoid double warnings
1999-11-18 23:35:40 +00:00
pierre
b528749138
* Notes/Hints for local syms changed to
...
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
fd1e583ead
+ IsExe global var needed for IDE
1999-11-18 13:43:48 +00:00
peter
2392d09110
* reinserted jonas version
1999-11-18 11:39:43 +00:00
peter
b5a64f5239
* reinserted
1999-11-18 11:31:47 +00:00
pierre
62da9bd4c0
* Notes/hints changes
1999-11-17 17:04:58 +00:00
pierre
4decca16cf
symconst is now a unit
1999-11-17 16:49:45 +00:00
pierre
1cac8fdbd8
* global var token was changed by overload code (form bug #707 )
1999-11-16 23:45:28 +00:00
peter
32d3653596
* use outputexedir for link.res location
1999-11-16 23:39:04 +00:00
peter
be864a992e
* updated
1999-11-16 23:37:34 +00:00
peter
918b5219ea
* labels used but not defined give error instead of warning, the warning
...
is now only with declared but not defined and not used.
1999-11-15 22:00:46 +00:00
peter
79f6135498
* LOC_JUMP support for vecn
1999-11-15 21:54:38 +00:00
peter
76e4b69919
* fixed constant eval for bool xor/or/and bool
1999-11-15 21:53:42 +00:00
peter
892d38d1f4
* push address also for raise at
1999-11-15 21:49:09 +00:00
peter
173c9ae360
* distclean cleans also ppas link.res log
1999-11-15 21:48:48 +00:00
pierre
94f418dc11
+ one field added for ttoken record for operator
...
linking the id to the corresponding operator token that
can now now all be overloaded
* overloaded operators are resetted to nil in InitSymtable
(bug when trying to compile a uint that overloads operators twice)
1999-11-15 17:52:59 +00:00
pierre
5fa01cdc9e
* -g disables reloc section for win32
1999-11-15 17:42:40 +00:00
pierre
604766601d
* Pavel's changes for reloc section in executable
...
+ warning that -g needs -WN under win32
1999-11-15 15:03:46 +00:00
pierre
50193df98e
+ Pavel's changes to support reloc section in exes
1999-11-15 15:01:56 +00:00
pierre
7526d8714f
* last was not handled correctly in TStringQueue
1999-11-15 14:59:55 +00:00
pierre
8e738214a1
* self pointer stabs for local function was wrong
1999-11-15 14:04:00 +00:00
peter
8cbc068314
* fixed crash with an errordef
1999-11-14 15:57:35 +00:00
peter
2537225035
* fixed stringqueue.delete
1999-11-14 15:56:36 +00:00
peter
46ae55d3cd
* makefile.fpc note
1999-11-14 15:54:26 +00:00
Jonas Maebe
404ca4568d
+ basic register renaming (not yet working completely, between
...
-dreplacereg/-dreplaceregdebug)
1999-11-14 11:26:53 +00:00
Jonas Maebe
dce0f2cd38
* fixed stupid typo in previous commit :(
1999-11-14 11:25:38 +00:00
Jonas Maebe
9ffa216681
* don't remove align objects between JMP's and labels
1999-11-13 19:03:56 +00:00
Jonas Maebe
0a2e7859d2
* Jcc doesn't destroy anything (instead of everyting)
...
* MOVcc reads op1, writes op2 and raads from the flags
1999-11-13 19:03:16 +00:00
Jonas Maebe
194c612b07
* div, idiv and mul destroy edx!!
1999-11-13 19:01:51 +00:00
michael
c68cf725c6
New error message file from Michael Baikov
1999-11-12 22:52:13 +00:00
peter
e169c592f8
* searchpaths changed to stringqueue object
1999-11-12 11:03:49 +00:00
pierre
ff38b7943a
* Enum element reference location corrected
1999-11-11 00:56:54 +00:00
peter
ba170472db
* fpcmake updated
1999-11-10 22:10:44 +00:00
pierre
fdd9823d85
* LookUp function now returns the complete name in browcol
...
and fpsymbol only yakes a part of LoopUpStr
1999-11-10 00:42:42 +00:00
pierre
acaa9296b7
* more browser details
1999-11-10 00:24:02 +00:00
pierre
614fff10f0
* adapted to procinfo as pointer
1999-11-10 00:06:08 +00:00
pierre
3fa7ed902e
* some DBX work
1999-11-09 23:51:25 +00:00
pierre
71f8768399
* some DBX work, still does not work
1999-11-09 23:48:47 +00:00
pierre
f88f9f5763
+ minimal_stop to avoid memory loss with -iTO switch
1999-11-09 23:47:53 +00:00
pierre
d13efaa366
* power search for ** operator not in browser
...
* DBX support work, still does not work !
1999-11-09 23:46:00 +00:00
pierre
142ace2afc
* better browser info
1999-11-09 23:43:08 +00:00
pierre
d766ee87fc
+ better reference pos for forward defs
1999-11-09 23:35:49 +00:00
pierre
2bb6dcfa7b
+ resolving_forward boolean used for references
1999-11-09 23:34:46 +00:00
peter
23ca9de3b3
* esi_offset -> selfpointer_offset to be newcg compatible
...
* hcogegen -> cgbase fixes for newcg
1999-11-09 23:06:44 +00:00
peter
3835a94b89
* compiles again both i386,alpha both with optimizer
1999-11-09 22:57:08 +00:00
peter
1d8ee73e62
* fpcmake
1999-11-09 22:55:19 +00:00
peter
67a8409186
* fixed wrong asm with inc(qword), but not it's not correctly supported
1999-11-09 22:54:45 +00:00
peter
7fc2e3bf91
* pointer->array is allowed for all pointer types in FPC, fixed assign
...
check for it.
1999-11-09 14:47:03 +00:00
peter
a2cdbddb56
* valid_for_assign allow properties with calln
1999-11-09 13:29:33 +00:00
peter
b8b39e0980
* fixed 'raise end;'
1999-11-09 13:02:46 +00:00
peter
225bbac550
* define FPC_DELPHI,FPC_OBJFPC,FPC_TP,FPC_GPC
...
* initial support for ansistring default with modes
1999-11-09 13:00:37 +00:00
peter
18c5e77444
* support absolute unit.variable
1999-11-09 12:58:29 +00:00
peter
5ba2053928
* allow typecasting to integer within pointer typecast+deref
1999-11-08 22:45:33 +00:00
peter
1f5571c3ca
* PP -> FPC
1999-11-08 22:44:49 +00:00
florian
08a34c6308
* disposetree for classrefdef added
1999-11-08 18:50:11 +00:00
pierre
ffbacdffde
+ Reset AnsiStrings to clean up memory
1999-11-08 16:27:20 +00:00
pierre
a4926e2d26
* missing disposetree added to avoid memory loss
1999-11-08 16:24:28 +00:00
peter
79d331a978
* fpcmake support
1999-11-08 15:01:38 +00:00
florian
7265215469
* problem with "index X"-properties solved
...
* typed constants of class references are now allowed
1999-11-08 14:02:16 +00:00
peter
df694c76e8
* filename fixes for win32 imports for units with multiple needed dll's
1999-11-08 10:37:12 +00:00
pierre
aa99cfa4d0
+ higher level browser
1999-11-07 23:57:36 +00:00
florian
917bf5b071
* previous fix for 517 was imcomplete: there was a problem if the property
...
had only an index
1999-11-07 23:21:30 +00:00
florian
8b40781b6c
* finally bug #517 solved ...
1999-11-07 23:16:49 +00:00
Jonas Maebe
8a2453ab1d
* much more complete/waterproof RegModifiedByInstruction()
1999-11-07 14:57:09 +00:00
Jonas Maebe
8cad9f9dbf
* fixed properties for cmp (didn't read any operands, only changed
...
flags)
1999-11-07 14:55:49 +00:00
Jonas Maebe
621cecced4
* getfinaldestination works completely again (a lot of functionality
...
got lost in the conversion resulting from the removal of
ait_labeled_instruction)
1999-11-06 16:24:00 +00:00
Jonas Maebe
d70b3211a4
+ search optimial register to use in alignment code (compile with
...
-dalignreg, -dalignregdebug to see chosen register in
assembler code). Still needs support in ag386bin.
1999-11-06 16:21:57 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
pierre
25553ebfea
* local browsing works at first level
...
ie for function defined in interface or implementation
not yet for functions inside other functions
1999-11-05 17:18:02 +00:00
Jonas Maebe
2688bfd9ec
+ first implementation of choosing least used register for alignment code
...
(not yet working, between ifdef alignreg)
1999-11-05 16:01:45 +00:00
florian
3d9daba4c7
* some fixes to get the new cg compiling again
1999-11-05 13:15:00 +00:00
Jonas Maebe
b3276fa59e
+ a_jmp_cond()
1999-11-05 07:05:56 +00:00
peter
338a386280
* fixed inherited with properties
1999-11-05 00:10:30 +00:00
peter
94cb2299ea
* moved unit alias support into ifdef
1999-11-04 23:13:25 +00:00
peter
aa295af911
* fixed pchar and deref detection for assigning
1999-11-04 23:11:21 +00:00
peter
38ee2fd8b4
* TSearchPathString for the string type of the searchpaths, which is
...
ansistring under FPC/Delphi
1999-11-04 10:55:31 +00:00
peter
1610a9d709
+ -Ua<oldname>=<newname> unit alias support
1999-11-04 10:54:02 +00:00
pierre
7b5bae5ded
* fix for fpuvaroffset for unused return value
1999-11-04 00:23:58 +00:00
peter
c60316b0d3
* fixed comment level counting after directive
1999-11-03 23:44:28 +00:00
peter
8e27e760ce
* fixed ar commands
1999-11-03 23:43:45 +00:00
peter
d1e68e7136
* default units/rtl paths
1999-11-03 23:43:09 +00:00
Jonas Maebe
e10deeca37
+ initial implementation
1999-11-03 14:13:59 +00:00
peter
19443ae269
* import library fixes for win32
...
* alignment works again
1999-11-02 15:06:56 +00:00
peter
be22c241fb
* fixed oldtp comment parsing
1999-11-02 15:05:08 +00:00
peter
f4932cb67b
* fpc_freemem fpc_getmem new callings updated
1999-10-30 17:35:26 +00:00
peter
0e7c4919c8
* fixed line counter when the first line had #10 only. This was buggy
...
for both the main file as for include files
1999-10-30 12:32:30 +00:00
peter
00ef632f73
* fixed assert, the tree is now disposed in firstpass if assertions
...
are off.
1999-10-29 15:28:51 +00:00
pierre
4849432ede
* allow doubles in TLinkContainer needed for double libraries
1999-10-28 13:14:00 +00:00
pierre
6db8e1edba
* fix for cygwin make problem with -iTP
1999-10-28 11:13:36 +00:00
pierre
a7ee8d9c4a
* Libs can be link serveral times
1999-10-28 10:33:06 +00:00
peter
67589c0532
* fixed typo
1999-10-28 09:48:10 +00:00
peter
26a239136d
* update to use i386ins.dat
1999-10-28 09:47:45 +00:00
peter
f5a9e30c98
* insns.dat is used to generate all i386*.inc files
1999-10-27 16:11:27 +00:00
peter
63158d246c
* updated for new layout
1999-10-27 16:06:52 +00:00
peter
e0fe0916fd
* check for object in extended new
1999-10-27 16:06:19 +00:00
peter
e2134ddcab
* valid_for_assign support for calln,asn
1999-10-27 16:04:45 +00:00
peter
7ab2ee0e79
* fixed property reading
1999-10-27 16:04:06 +00:00
florian
19694e6112
* property overriding fixed
1999-10-27 14:17:08 +00:00
peter
2a12c5f1da
* define INCLUDEOK, which seems to work correct
1999-10-26 13:13:47 +00:00
peter
503d5a1cfa
* const parameter is now checked
...
* better and generic check if a node can be used for assigning
* export fixes
* procvar equal works now (it never had worked at least from 0.99.8)
* defcoll changed to linkedlist with pparaitem so it can easily be
walked both directions
1999-10-26 12:30:40 +00:00
peter
a905c026f2
* fixed os2 linker
1999-10-26 12:25:04 +00:00
peter
4a74f18756
* fixed bug #301
1999-10-25 12:18:11 +00:00
peter
44a1fdfa7e
* ansistring 2 chararray support
...
* optimized ansitring 2 pchar
1999-10-25 10:32:43 +00:00
Jonas Maebe
9feb0d4b0e
+ entry/exitcode for SystemV (Linux) and AIX/Mac from the Altivec
...
PIM (no AltiVec support yet though)
* small fix to the a_cmp_* methods
1999-10-24 09:22:18 +00:00
Jonas Maebe
a9b5e27bc1
* finally got around making GetNextInstruction return false when
...
the current pai object is a AsmBlockStart marker
* changed a loop in aopt386 which was incompatible with this change
1999-10-23 14:44:24 +00:00
peter
863f35e72b
* reset linklibc
1999-10-22 14:42:40 +00:00
peter
8e7dd52200
* error when properties are passed to var parameters
1999-10-22 14:37:25 +00:00
peter
461430ad5c
* fixed esi reload with as
1999-10-22 14:36:04 +00:00
peter
89b677a0ee
* split type reading from pdecl to ptype unit
...
* parameter_dec routine is now used for procedure and procvars
1999-10-22 10:39:34 +00:00
florian
0dd2b51943
* problems with readln fixed: esi wasn't restored correctly when
...
reading ordinal fields of objects futher the register allocation
didn't take care of the extra register when reading ordinal values
* enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
peter
fefc839b29
* redesigned linker object
...
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
peter
46b5193e9b
* tp7 fix
1999-10-21 14:18:54 +00:00
Jonas Maebe
6de203e9dc
* fixed a_loadaddress_ref_reg (mentioned as ToDo in rev. 1.5)
...
* small bugfix in a_load_store
1999-10-20 12:23:24 +00:00
Jonas Maebe
8f3c1464d5
* changed scratch_registers to (R_11,_R12,R_30) because R_0 is a special
...
case and R_31 is used as some kind of frame pointer under LinuxPPC
1999-10-20 12:21:34 +00:00
michael
9a3d560559
Added rtlinstall target
1999-10-15 20:47:52 +00:00
florian
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
pierre
ff8ba9c049
* fix for uggly bug of Marco
1999-10-13 22:09:29 +00:00
peter
9f49a743ee
* cgmessagepos functions
1999-10-13 10:42:15 +00:00
peter
c439829c5d
* subscript support for tp_procvar
1999-10-13 10:40:55 +00:00
peter
19aa88a729
* moved mangledname creation of normal proc so it also handles a wrong
...
method proc
1999-10-13 10:37:36 +00:00
peter
851ad1af06
* var must match exactly error msg extended with got and expected type
...
* array constructor type check now gives error on wrong types
1999-10-13 10:35:23 +00:00
peter
1e940ee840
* dpmi can only be set after reading the options
1999-10-13 10:24:49 +00:00
florian
51b96fabc3
* compiler didn't complain about l1+l2:=l1+l2; it gave only an assembler
...
error, fixed
1999-10-12 22:35:48 +00:00
florian
8b9633266b
* new codegenerator compiles again
1999-10-12 21:20:41 +00:00
pierre
281c77f2b1
* error if calling interrupt procedure
1999-10-12 15:50:54 +00:00
michael
fc4e4bc74a
Nieuw error file from Michael Baikov
1999-10-12 14:41:23 +00:00
Jonas Maebe
9a8ecfc76b
* fixed bug which sometimes caused a crash when optimizing blocks of code with
...
assembler blocks (didn't notice before because of lack of zero page protection
under Win9x :( )
1999-10-11 11:11:31 +00:00
pierre
7bf3213a01
* use and remember that C functions with complex data results use ret $4
1999-10-08 15:40:47 +00:00
pierre
a7992b0232
* library list keeps doubles
1999-10-08 15:38:42 +00:00
Jonas Maebe
2ad775b888
* small bugfix in ArrayRefsEq
1999-10-07 16:07:35 +00:00
peter
e10d770cc3
* fixed stabs writting for forward types
1999-10-06 17:39:14 +00:00
peter
755fc18c07
* fixed empty const ansistring 2 pchar
1999-10-06 08:32:00 +00:00
peter
c61bb81b5e
* new tool
1999-10-06 06:29:03 +00:00
pierre
781429264d
* bug exit('test') + fail for classes
1999-10-05 22:01:52 +00:00
peter
5726bd1684
* fixed first pass for if branches if the expression got an error
1999-10-04 20:27:41 +00:00
michael
35feded070
* patch from peter for classes
1999-10-04 13:46:04 +00:00
peter
2d21165dd8
* removed objpasunit reference, tvarrec is now searched in systemunit
...
where it already was located
1999-10-03 19:44:41 +00:00
peter
1a52969bdd
* inittable for record fixed (it was only checking for classes)
1999-10-03 19:41:38 +00:00
peter
b2ae851b20
* error check after pass1 of second for argument
1999-10-03 19:39:40 +00:00
peter
6b6fc5aac4
* fixed forward decl check for tp7/delphi
1999-10-03 19:38:39 +00:00
Jonas Maebe
6ca2b6e276
* CSE now updates the RegAlloc's
1999-10-01 13:51:40 +00:00
peter
ca15c4c4fb
* class/record type forward checking fixed
1999-10-01 11:18:02 +00:00
peter
b444d6fbe8
* fixed forward checking within class/record
1999-10-01 11:15:57 +00:00
peter
532d85cd50
+ procedure directive support in const declarations, fixes bug #232
1999-10-01 10:05:37 +00:00
peter
78246cf227
* fixed is_equal for proc -> procvar which didn't check the
...
callconvention and type anymore since the splitting of procoptions
1999-10-01 10:04:07 +00:00
peter
49fcd8aceb
* forward type declaration rewritten
1999-10-01 08:02:45 +00:00
peter
e838769af8
* fixed object field parsing
1999-10-01 07:59:20 +00:00
Jonas Maebe
47b0fcf922
* fixed small efficiency which caused some missed optimizations (saves 1
...
assembler instruction on the whole compiler/RTL source tree! :)
1999-09-30 14:43:13 +00:00
Jonas Maebe
167f8d654f
* fixes from daopt386.pas integrated
1999-09-29 13:50:34 +00:00
Jonas Maebe
e62d58ea51
* writing to a position in an array now only destroys registers
...
containing a reference pointing somewhere in that array (since my last
fix, it behaved like a write to a pointer location)
1999-09-29 13:49:53 +00:00
florian
796234f596
* fixed bug #292 from bugs directory
1999-09-29 11:46:18 +00:00
peter
4e9c029777
* reinserted
1999-09-28 22:40:12 +00:00
florian
1bad993700
* fixed bug #608
1999-09-28 21:07:53 +00:00
florian
ed7dd22b82
* fixed bug #610
...
+ added $D- for TP in symtable.pas else it can't be compiled anymore
(too much symbols :()
1999-09-28 20:48:23 +00:00
florian
f050faa02b
* bug #617 fixed
1999-09-28 19:48:45 +00:00
florian
9f62eb480b
* the maybe_push fix of Pierre wasn't 100%, the tree parameter
...
must contain a valid location (which is saved if necessary)
1999-09-28 19:43:45 +00:00
peter
6b2a0a3a5c
* fixed result access in 'if result = XXX then'
...
* fixed const cr=chr(13)
1999-09-28 11:03:54 +00:00
peter
6b1ab5eb31
* procinfo is now a pointer
...
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
eb72952214
* fixed macro within macro endless-loop
1999-09-27 23:40:10 +00:00
peter
1936476701
* bracket support for macro define
1999-09-27 23:38:17 +00:00
peter
e45b7754be
* fixed push/restore bug in div/mod
1999-09-27 23:37:26 +00:00
peter
1664cb06a1
* fixed -al with macro's
1999-09-27 23:36:33 +00:00
peter
0f8f8e8ff4
* fix for pointer reading in const with @type.method
1999-09-27 11:59:42 +00:00
peter
2687d75c38
+ constant pointer support which can happend with typecasting like
...
const p=pointer(1)
* better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
peter
dc7dcdd2a6
* short jmp with alignment problems fixed
1999-09-26 21:13:40 +00:00
florian
d6c22004f4
* exception patch of Romio nevertheless the excpetion handling
...
needs some corections regarding register saving
* gettempansistring is again a procedure
1999-09-26 13:26:01 +00:00
peter
3c1d12b5c4
* fixed temp allocation for short->ansi
1999-09-23 21:20:37 +00:00
florian
00b063c621
* fixed 1/s problem from mailing list
1999-09-21 20:53:21 +00:00
Jonas Maebe
552b86f85b
* fixed bug in destroyrefs (indexes are now handled as pointers)
1999-09-21 15:46:58 +00:00
peter
71f28ed588
* cs_create_smart instead of cs_smartlink
...
* -CX is create smartlink
* -CD is create dynamic, but does nothing atm.
1999-09-20 16:38:51 +00:00
peter
bc62d96930
* restored old alignment, saves 40k on ppc386
1999-09-20 16:35:43 +00:00
florian
b8efed648c
* fixed calls to procedures with manglednames=255 chars
...
(taking the address of such a procedure would still cause a problem!)
1999-09-19 20:55:11 +00:00
peter
7f63615b43
* @procvar fixes for tp mode
...
* @<id>:= gives now an error
1999-09-17 17:14:02 +00:00
florian
a0badc3a30
* initial revision
1999-09-17 09:59:19 +00:00
peter
1512794c0f
* removed uses globals
1999-09-17 09:17:49 +00:00
peter
5db2ac22e5
* ppu header writting now uses currentppuversion
1999-09-17 09:14:56 +00:00
florian
fbbf8a505c
* m68k compiler is again compilable (only gas writer, no assembler reader)
1999-09-16 23:05:51 +00:00
pierre
40777cd66e
+ warning if truncate unit name found
1999-09-16 14:18:12 +00:00
peter
870895b72b
* better error checking
1999-09-16 13:41:37 +00:00
peter
956eb97743
* arrayconstructor 2 set conversion is now called always in the
...
beginning of firstadd
1999-09-16 13:39:14 +00:00
peter
64dcafcf80
* updated
1999-09-16 13:35:56 +00:00
pierre
fc0d67a752
+ error if PPU modulename is different from what is searched
...
(8+3 limitations!)
+ cond ORDERSOURCES to allow recompilation of FP
if symppu.inc is changed (need PPUversion change!)
1999-09-16 13:27:08 +00:00
pierre
910372616a
* typo correction
1999-09-16 11:34:44 +00:00
pierre
a9b15a7344
* firstexit must now set procinfo.funcret_is_valid
1999-09-16 10:44:30 +00:00
pierre
84507b72ad
+ old_compiled_module to avoid wrong file info when load PPU files
1999-09-16 08:02:39 +00:00
pierre
b184fc0d75
+ compiled_module to avoid wrong file info when load PPU files
1999-09-16 08:00:50 +00:00
pierre
beb97ee1d5
+ problems with unit names longer than 8 letters
1999-09-16 07:59:32 +00:00
pierre
b5f43cf97b
+ RESULT pseudo var added in GDB debug info
1999-09-16 07:58:14 +00:00
pierre
1ef3c84bb8
* double del_reference removed
1999-09-16 07:56:46 +00:00
pierre
e4d44f4281
* BuildSourceList allways called for dependency in FP
1999-09-16 07:54:48 +00:00
pierre
cac8e59f0f
* FLDPI must increment fpuvaroffset
1999-09-16 07:52:37 +00:00
florian
863df30860
+ rtti is now automatically generated for published classes, i.e.
...
they are handled like an implicit property
1999-09-15 22:09:15 +00:00
florian
1c638f2952
* small fix to operator overloading when in MMX mode
...
+ the compiler uses now fldz and fld1 if possible
+ some fixes to floating point registers
+ some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
* .... ???
1999-09-15 20:35:37 +00:00
daniel
2d925677e5
+ Dw switch now does something.
1999-09-15 20:24:56 +00:00
florian
134030a529
* only small updates to work with the current compiler
1999-09-14 11:16:09 +00:00
florian
e73862f10d
* per default a property is stored, fixed
1999-09-14 11:09:08 +00:00
florian
78977be752
* finally!? fixed
...
with <function with result in temp> do
My last and also Peter's fix before were wrong :(
1999-09-14 07:59:46 +00:00
peter
0308dbcbfa
* fixed crashes under plain dos
1999-09-13 22:56:17 +00:00
florian
c549646c95
* hopefully an error in Peter's previous commit fixed
1999-09-13 20:49:41 +00:00
peter
8a941c2568
* typo in previous commit open_array -> chararray :(
1999-09-13 16:28:05 +00:00
peter
1163717044
* fix for jmps to be always near
...
* string writing fixed
1999-09-13 16:27:24 +00:00
peter
8a6774104d
* fix crash with empty object as childs
1999-09-13 16:26:32 +00:00
peter
0004218ade
* remvoed unused var
1999-09-13 16:23:42 +00:00
florian
e8f6d4e836
* fixed a crash under Linux. Why doesn't have the damned Windows DPMI nil pointer
...
protection???
1999-09-12 21:35:38 +00:00
florian
6bbd06b90c
* tnamedindexobject._name should be never accessed direct! Use the
...
function name instead
1999-09-12 15:45:11 +00:00
florian
c3b3c19887
+ implemented creation of methodname/address tables
1999-09-12 14:50:50 +00:00
florian
02c2611b20
* bugs 593 and 607 fixed
...
* some other potential bugs with array constructors fixed
* for classes compiled in $M+ and it's childs, the default access method
is now published
* fixed copyright message (it is now 1993-99)
1999-09-12 08:48:03 +00:00
florian
35eef74308
* bug fix for @tobject.method, fixes bug #557 , 605 and 606
1999-09-11 19:47:26 +00:00
florian
6165d59dfd
* bug #603 fixed
1999-09-11 11:23:58 +00:00
florian
a42799b4f2
* fix of my previous commit, make cycle was broken
1999-09-11 11:10:39 +00:00
florian
1609dde2ca
* fixed bug #596
...
* fixed some problems with procedure variables and procedures of object,
especially in TP mode. Procedure of object doesn't apply only to classes,
it is also allowed for objects !!
1999-09-11 09:08:31 +00:00
florian
4c2361303c
* some more fixes for stored properties
1999-09-10 20:57:33 +00:00
florian
a9d8bfa1f7
* some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
...
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
peter
9ef54daf28
* fixed with <calln> do
...
* fixed finalize/initialize call for new/dispose
1999-09-10 15:42:50 +00:00
peter
96bd939047
* added symbol_end
1999-09-10 15:41:18 +00:00
peter
40291ee626
* fixed array check for operators, becuase array can also be a set
1999-09-10 15:40:46 +00:00
michael
118a99513d
* Stored specifier for properties is now correctly parsed
1999-09-08 21:06:06 +00:00
peter
dd0d54cdef
* added pointer and asm field axx
1999-09-08 16:07:21 +00:00
peter
be49731850
* pointer add/sub is now as expected and the same results as inc/dec
1999-09-08 16:05:29 +00:00
peter
05f2be0455
* better support for object fields and more error checks for
...
field accesses which create buggy code
1999-09-08 16:04:01 +00:00
peter
91962591f3
* tokendat compiles for tp
...
* tokens.dat supplied by default
1999-09-08 16:02:03 +00:00
Jonas Maebe
d8cce3f25a
* some small changes so the new optimizer is again compilable
1999-09-08 15:05:43 +00:00
Jonas Maebe
28ddb689cb
* some small changes so the noew optimizer is again compilable
1999-09-08 15:01:29 +00:00
peter
d2fd1ea874
* fixed bug #248
1999-09-08 08:05:44 +00:00
pierre
79f1833059
* runerror => do_halt
1999-09-07 15:22:20 +00:00
pierre
7439aa4828
* use do_internalerror insetead of runerror
1999-09-07 15:11:00 +00:00
pierre
a5c2aa5df8
* use do_halt instead of halt
1999-09-07 15:10:04 +00:00
pierre
1540c674d3
* runerror => do_internalerror
1999-09-07 15:08:51 +00:00
pierre
9d5205f1e9
* avoid some infinite recursions
1999-09-07 15:07:49 +00:00
pierre
eca64b4ab6
* use do_halt instead of runerror
1999-09-07 15:05:19 +00:00
pierre
aaba6f160a
* powerpc default was alpha !!
1999-09-07 15:02:41 +00:00
pierre
ee98742add
* elem in set_type did not work yet
1999-09-07 15:01:33 +00:00
pierre
c528cf639f
* bugfix for 237 and 244
1999-09-07 14:59:40 +00:00
Jonas Maebe
88306ed3f3
* framepointer cannot be changed to esp for methods
1999-09-07 14:12:35 +00:00
pierre
b72dcb6d51
* arraytokeninfo type set to ttokenarray
1999-09-07 14:06:49 +00:00
pierre
f5d21809d7
* halt removed in do_lowhigh
1999-09-07 14:05:11 +00:00
pierre
2e65e6a618
+ added do_halt procedure
1999-09-07 14:03:48 +00:00
peter
6f3c128959
* better OFFSET support for reference reading
1999-09-07 13:03:10 +00:00
peter
7fd914d24c
* @(<x>) support
1999-09-07 08:01:20 +00:00
peter
ea753c5807
* reload esi in except block to allow virtual methods
1999-09-07 07:56:37 +00:00
peter
2c94850f4c
* small array push to open array fixed, open array always needs addr
...
pushing
1999-09-07 07:54:23 +00:00
peter
f89f09413b
* > < >= <= support for boolean
...
* boolean constants are now calculated like integer constants
1999-09-07 07:52:19 +00:00
peter
453773ecb2
* TYPE support
1999-09-07 07:45:29 +00:00
florian
ac20c15ef4
+ fld reg;fxxx to fxxxr reg optimization
1999-09-05 14:27:19 +00:00
Jonas Maebe
9793c4eee9
* fixed typo's in -darithopt
1999-09-05 12:37:50 +00:00
florian
96dd7c82fa
* bug #580 fixed
1999-09-04 20:50:08 +00:00
florian
f7af47f31f
* bug #577 fixed
1999-09-04 20:29:11 +00:00
Jonas Maebe
56ddb9a0af
+ implemented most necessary methods
1999-09-03 13:15:47 +00:00
Jonas Maebe
f4180329fc
+ implemented some parameter passing methods, but they require\n some more helper routines\n * fix for loading symbol addresses (still needs to be done in a_loadaddress)\n * several changes to the way conditional branches are handled
1999-09-03 13:14:11 +00:00
Jonas Maebe
818885454f
* several changes to the way conditional branches are handled\n * some typos fixed
1999-09-03 13:11:59 +00:00
Jonas Maebe
3086a9f355
* condition is now zeroed using fillchar\n because on powerpc it's a record now
1999-09-03 13:10:11 +00:00
Jonas Maebe
6be94d5604
* fixed typo regarding scratchregs pointer
1999-09-03 13:09:09 +00:00
Jonas Maebe
4abc13fd78
* defined some necessary virtual helper methods
1999-09-03 13:08:36 +00:00
pierre
781117b288
* message about conditionals changed to Hint
1999-09-03 10:54:22 +00:00
peter
0b396c0466
* $IFNDEF is 7 chars and not 6 chars
1999-09-03 10:02:48 +00:00
peter
6b25740f01
* included the 1.60 version of Pierre which was lost !
1999-09-03 10:00:49 +00:00
peter
7ad9983cb7
* reading of search paths fixed to work as expected
1999-09-03 09:31:22 +00:00
pierre
29bdd631a1
* tokens.dat only used for TP, and also removed from
...
compiler dependencies
1999-09-03 08:37:34 +00:00
daniel
1777e0c901
* Could not compile with TP, some arrays moved to heap
...
* NOAG386BIN default for TP
* AG386* files were not compatible with TP, fixed.
1999-09-02 18:47:41 +00:00
florian
63ceb87e8f
* problems with -Or fixed: tdef.isfpuregable was wrong!
1999-09-02 17:07:38 +00:00
peter
bd55afa666
* fixed double dispose of propsymlist
1999-09-02 09:23:51 +00:00
peter
037319700d
* moved parsing interface/implementation to -vu
1999-09-01 22:18:37 +00:00
peter
678aa200f1
* fixed crash with assigned()
1999-09-01 22:08:58 +00:00
peter
e767ef9897
* turn off stripping if profiling or debugging
1999-09-01 22:07:20 +00:00
daniel
6d332cfc77
* Vertalingsfouten verbeterd.
1999-09-01 19:08:20 +00:00
florian
860747346f
* fixed writing of class rtti: vmt offset were written wrong
1999-09-01 13:44:56 +00:00
peter
c60bf19553
* update for new push_lea_loc
1999-09-01 09:42:13 +00:00
peter
4a9bbef37a
* removed warning
1999-09-01 09:37:14 +00:00
peter
8e5c13cf47
* fixed temp allocation for arrayconstructor
1999-09-01 09:26:21 +00:00
pierre
72507a8397
+ tmacrosym.is_used set
1999-08-31 15:55:45 +00:00
pierre
5b38d71a12
* in_second_compile cleaned up, in_compile and in_second_load added
1999-08-31 15:51:10 +00:00
pierre
5536344e9f
+ startup conditionnals stored in PPU file for debug info
1999-08-31 15:47:56 +00:00
pierre
6a5ee6b933
* do_crc must be false for all browser stuff
...
+ tmacrosym defined_at_startup set in def_macro and set_macro
1999-08-31 15:46:21 +00:00
pierre
f2f1fed583
+ tmacrosym is_used and defined_at_startup boolean fields added
1999-08-31 15:42:24 +00:00
pierre
c2abde1296
* tempclosing of ppufiles under dos was wrong
1999-08-30 16:21:40 +00:00
pierre
20d1fb52b6
* problem with maybe_push/restore solved hopefully
1999-08-30 12:00:44 +00:00
peter
0274f3a08b
* fixed crash in psub
...
* ansistringcompare fixed
* support for #$0b8
1999-08-30 10:17:56 +00:00
pierre
6c8bdc4351
* last change undone because cycle was broken
1999-08-30 09:41:31 +00:00
peter
61bb479584
* fixed crash in restore
1999-08-28 17:48:34 +00:00
peter
c71963e885
* resources are working correct
1999-08-28 17:46:10 +00:00
florian
656d4330cd
* bug #519 fixed
1999-08-28 15:34:16 +00:00
michael
76f28920e9
* Fixed small bug: next field in resourcelist was not initialized
1999-08-27 15:55:36 +00:00
pierre
55f6e70490
* double checksum problem solved
1999-08-27 14:52:56 +00:00
peter
e54801a2fe
* fixed crash with typedconst array
1999-08-27 14:37:50 +00:00
pierre
71829524a2
+ define SHORT_ON_FILE_HANDLES for DOS targets
...
causes tempclose of ppufiles
+ double_checksum code released
(you can try with -dDONT_USE_DOUBLE_CHECKSUM to see the difference)
this allow second compilation of compiler without any
unit recompilation !!!!
1999-08-27 10:57:56 +00:00
pierre
92801b8a35
* some code adapted to CRC_only computation
...
+ main file is search in unitspathlist
and triggers do_compile flag
* some changes to get identical CRC vaules after
interface and after implementation
1999-08-27 10:54:45 +00:00
pierre
7288d7bd89
+ simplify_ppu code added :
...
sets all registers used at PPU writing
* tprocdef mangledname writing is CRC relevant
1999-08-27 10:52:19 +00:00
pierre
3d12f8119a
+ tppufile.tempclose and tempopen added
...
* some changes so that nothing is writtedn to disk while
calculating CRC only
1999-08-27 10:48:40 +00:00
pierre
03263b9285
+ some EXTTEMPREGDEBUG code added
1999-08-27 10:46:26 +00:00
pierre
d585f0544f
options -Ca sets simply_ppu to true
1999-08-27 10:45:00 +00:00
pierre
01c6ff7169
+ interface CRC check with ifdef Test_double_checksum added
1999-08-27 10:43:20 +00:00
pierre
154386ac6a
* pi_is_global was missing for global methods
...
+ code to restore overloaded list order
(necessary to get same CRC values after interface and after
implementation)
1999-08-27 10:41:46 +00:00
pierre
e1744c9db6
* uf_local_browser made problem when computing interface CRC
1999-08-27 10:39:24 +00:00
pierre
088f2ba6cc
+ EXTTEMPREGDEBUG code added
1999-08-27 10:38:31 +00:00
michael
ea0a5097c8
+ Inittables should not contain fields which are classes
1999-08-27 10:24:34 +00:00
peter
2f95239feb
* fixed crash when childof was nil
1999-08-26 21:17:39 +00:00
peter
cbd7de9e6f
* write date of the compiler into the executable
1999-08-26 21:16:21 +00:00
peter
1ae7f425c5
* array elementsize of 0 doesn't crash anymore
1999-08-26 21:13:58 +00:00
peter
5e26e5d0c9
* better error recovery for case
1999-08-26 21:10:08 +00:00
michael
dc3cc78caa
+ Hopefuly last fixes for resourcestrings
1999-08-26 20:24:37 +00:00
Jonas Maebe
acc55a83c7
* first implementation of concatcopy (requires 4 scratch regs)
1999-08-26 14:53:41 +00:00
Jonas Maebe
6531f55008
* added segprefix field for i386 in tainstruction object
1999-08-26 14:52:59 +00:00
Jonas Maebe
fc6b6505fd
* changed get_scratch_reg so it actually uses the\n scratch_reg_array_pointer
1999-08-26 14:51:54 +00:00
Jonas Maebe
bb974dc8aa
* fixed small type in TP conditional
1999-08-26 14:50:52 +00:00
pierre
0e54531413
* remove trailing space in cfg files
1999-08-25 22:51:00 +00:00
peter
da93f32ae0
* resources are working again
1999-08-25 16:41:04 +00:00
peter
01fc4505c9
* symbol name is now written using separate asmwrite() calls to overcome
...
> 255 char strings
1999-08-25 16:03:46 +00:00
Jonas Maebe
5fc1435036
* changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
1999-08-25 11:59:32 +00:00
michael
9f61960ca1
* more resourcestring changes
1999-08-24 22:38:51 +00:00
peter
06a845c5e8
* MEMDEBUG to see the sizes of asmlist,asmsymbols,symtables
1999-08-24 13:13:57 +00:00
michael
85ff3e15db
+ changes for resourcestrings
1999-08-24 12:01:32 +00:00
pierre
87847fac70
* wrong testregisters32 placement corrected
1999-08-24 09:07:04 +00:00
pierre
2fe4c8b727
* hnewn location corrected
1999-08-23 23:49:21 +00:00
pierre
4fcd7adf4a
* del_reference moved to respect registers32 in secondin
1999-08-23 23:46:42 +00:00
pierre
e7d56c97a8
* setelementn registers32 corrected
1999-08-23 23:44:05 +00:00
pierre
cf18a314d1
* hnewn reg allocation corrected
1999-08-23 23:42:52 +00:00
pierre
57c239961e
* for reg allocation corrected
1999-08-23 23:41:45 +00:00
pierre
71bcdce000
* in_inc_x register allocation corrected
1999-08-23 23:41:04 +00:00
pierre
a7bc2dfb17
+ TEMPREGDEBUG code added
1999-08-23 23:38:18 +00:00
pierre
1c9e86eb05
* firstnot register counting error corrected
1999-08-23 23:37:01 +00:00
pierre
f3c414e84a
* one more register needed if hnewn with CREGISTER
1999-08-23 23:34:15 +00:00
pierre
0fb02e9155
* double del_location removed in add_set
1999-08-23 23:31:00 +00:00
pierre
009aaad4a9
+ dummy InitCpu/DoneCpu
1999-08-23 23:27:54 +00:00
pierre
409b092c87
+ TEMPREGDEBUG code, test of register allocation
...
if a tree uses more than registers32 regs then
internalerror(10) is issued
+ EXTTEMPREGDEBUG will also give internalerror(10) if
a same register is freed twice (happens in several part
of current compiler like addn for strings and sets)
1999-08-23 23:25:58 +00:00
Jonas Maebe
1ec81566cc
+ checksequence (processor independent)\n + processor independent part of docse
1999-08-23 14:41:12 +00:00
michael
ec590068e2
* resourcestrings ams list needs unitname prepended
1999-08-23 11:48:23 +00:00
michael
d57e16aec2
* Hopefully final attempt at resourcestrings
1999-08-23 11:45:39 +00:00
Jonas Maebe
1ef759bc9a
* fixed <= and >= for sets
1999-08-23 10:35:13 +00:00
Jonas Maebe
618547adf0
* fixed pop/push optmization
1999-08-23 10:20:46 +00:00
michael
f0fa79dad2
+ Patch from pierre
1999-08-20 10:17:01 +00:00
michael
5f30aacb93
+ Fixed ifdef NOAG386BIN bug
1999-08-19 20:05:09 +00:00
pierre
82999520e4
+ faillabel for _FAIL
1999-08-19 13:10:18 +00:00
pierre
63608b6dbb
* emit_??? used
1999-08-19 13:08:43 +00:00
pierre
1f1b9e7883
* _FAIL will now free memory correctly
...
and reset VMT field on static instances
(not yet tested for classes, is it allowed ?)
+ emit_.... all variant defined here to avoid tons of
exprasmlist^.concat(new(pai386,...) in cg386***
1999-08-19 13:06:45 +00:00
pierre
1c8a7a1924
+ label faillabel added for _FAIL support
1999-08-19 13:02:08 +00:00
florian
2359c7c013
+ initial revision
1999-08-18 19:29:39 +00:00
florian
c512d38256
+ implemented initilizing of data for the new code generator
...
so it should compile now simple programs
1999-08-18 17:05:53 +00:00
Jonas Maebe
56524f33df
+ compilable!
...
+ dataflow analyzer finished
+ start of CSE units
+ aoptbase which contains a base object for all optimizer objects
* some constants and type definitions moved around to avoid circular
dependencies
* moved some methods from base objects to specialized objects because
they're not used anywhere else
1999-08-18 14:32:20 +00:00
Jonas Maebe
cd3160e0c2
+ some constants for the new optimizer
1999-08-18 13:26:23 +00:00
Jonas Maebe
8dc154ce24
* minor fixes regarding the reading of operands
1999-08-18 13:25:54 +00:00
pierre
d04add7c9f
* esp loading corrected
1999-08-18 11:35:59 +00:00
michael
94d0da0639
RTTI writing patch
1999-08-17 13:58:56 +00:00
peter
19c48bf75b
* arrayconstructor -> arrayofconst fixed when arraycosntructor was not
...
variant.
1999-08-17 13:26:06 +00:00
peter
8e653af606
* arrayconstructor -> openarray type conversions for element types
1999-08-16 23:23:38 +00:00
peter
da93a8740e
* range check for array of const
1999-08-16 23:20:28 +00:00
peter
63499d5cc5
* fixes from gabor
1999-08-16 18:25:49 +00:00
peter
f225a5f0bd
* reset resourcestringlist in newmodule.
1999-08-16 18:23:56 +00:00
pierre
576a2e4f42
* error in stabs for tclassrefdef corrected
1999-08-16 16:26:04 +00:00