peter
c5410eee5c
* preprocessor support. But it fails on the caret in type blocks
1999-12-02 17:34:34 +00:00
peter
f9e72b6763
* fixed procvar -> pointer for array of const
1999-12-02 17:28:53 +00:00
peter
a58dbf6338
* give error when for counter is in other lexlevel
1999-12-02 17:27:56 +00:00
florian
17950502e1
+ added support for succ/pred(<qword/int64>)
1999-12-02 12:38:45 +00:00
peter
8f6b17fdbf
* OPT is by default included for rtlopt/localopt
1999-12-02 11:29:42 +00:00
peter
11b8f997c7
* INFTPPU define to write the ppu of the interface to .ppu.intf
1999-12-02 11:29:07 +00:00
peter
295c4e4ce1
* moved verbose to implementation uses
1999-12-02 11:28:27 +00:00
peter
ad2b1fb278
* newoptimizations define added
1999-12-02 11:26:41 +00:00
peter
368452de05
* fixed wrong assembler with in-node
1999-12-01 22:45:54 +00:00
peter
f2d894e78f
* fixed sigsegv with casedef=nil
1999-12-01 22:43:17 +00:00
pierre
98a6530898
* give info of original duplicated symbol more often
1999-12-01 22:32:35 +00:00
pierre
c22b1b5429
* problem with unused external symbol in stabs solved
1999-12-01 22:05:13 +00:00
peter
d3b404c1a4
* fixed bug #698
...
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
3d1c450db8
* fixed selfpointer after destroyexception
1999-12-01 12:36:23 +00:00
pierre
beb3db8d92
* don't redefine sw_integer for FPC : corrected version
1999-12-01 11:11:19 +00:00
pierre
743092f6ac
* don't redefine sw_integer for FPC
1999-12-01 11:05:47 +00:00
pierre
5fb34a8946
* restore the correct way for stabs of forward defs
1999-12-01 10:26:38 +00:00
peter
0512ba80fb
+ ttype, tsymlist
1999-11-30 10:40:42 +00:00
pierre
1bfbccaf08
* fix for form bug #555
1999-11-29 23:42:49 +00:00
florian
7e458d9519
* problem with taking the address of abstract procedures fixed
1999-11-29 22:36:48 +00:00
pierre
e3ad9cae78
* fix for internalerror(12) on ord(booleanarray[1])
1999-11-29 22:15:25 +00:00
Tomas Hajny
dbf50c9a22
* missing space in EMXBIND params
1999-11-29 20:15:29 +00:00
pierre
ccbc5b3709
* bug in previous commit corrected
1999-11-29 16:24:52 +00:00
pierre
6297537f4b
+ allow exports in win32 executables
1999-11-29 15:18:27 +00:00
pierre
e9bef7b71d
* fix for form bug #699
1999-11-29 00:30:06 +00:00
pierre
377e19128d
* fix for form bug #721
1999-11-28 23:15:23 +00:00
Jonas Maebe
cc5683ace5
+ if you define "newOptimizations", all extra optimizations that
...
require conditional defines will be activated (ie., it's equivalent
to "-dreplacereg -darithopt -dforopt -dfoldarithops")
1999-11-27 23:50:22 +00:00
Jonas Maebe
e250138c67
+ change "mov var,reg; add/shr/... x,reg; mov reg,var" to
...
"add/shr/... x,var" (if x is a const or reg, suggestion from Peter)
Enable with -dfoldArithOps
1999-11-27 23:47:55 +00:00
Jonas Maebe
ff017bbd5f
* even more missing register deallocations are added!
1999-11-27 23:45:43 +00:00
pierre
df71a1433b
* fix for overloading of shr shl mod and div
1999-11-26 13:51:29 +00:00
peter
eb4e24afb1
* property overriding dereference fix, but it need a bigger redesign
...
which i'll do tomorrow. This quick hack is for the lazarus ppl so
they can hack on mwcustomedit.
1999-11-26 00:19:12 +00:00
peter
1974fc356a
* updates
1999-11-26 00:17:58 +00:00
peter
41c91ed6b3
* package dependencies
1999-11-25 20:22:56 +00:00
peter
d9402cf275
* fpcmake updates
1999-11-24 23:55:34 +00:00
pierre
ced51f4835
* $STRIP was missign in DllCmd[1]
1999-11-24 11:45:36 +00:00
pierre
ae7a04ea12
* defaultsymtablestack is now restored after parser.compile
1999-11-24 11:41:03 +00:00
pierre
472fe53fe5
* asmmode message was placed too early
1999-11-24 11:39:53 +00:00
peter
5b9eb70e97
* fixed RTLDIR
1999-11-23 12:38:46 +00:00
peter
312ca8700f
* makefile updates to work with new fpcmake
1999-11-23 09:42:38 +00:00
pierre
8049831c3f
* Give better info in script
1999-11-22 22:22:30 +00:00
pierre
76b6d69d56
* Compute correct Exe Filenam
1999-11-22 22:21:46 +00:00
pierre
00a8ec4695
* Def file syntax for win32 with index corrected
...
* direct output of .edata leads to same indexes
(index 5 leads to next export being 6 unless otherwise
specified like for enums)
1999-11-22 22:20:43 +00:00
michael
62c9663d4f
Latest message file from Alexander Stohr
1999-11-22 14:18:26 +00:00
pierre
fca8adf6c2
* also complain about unused functions in program
1999-11-22 00:23:09 +00:00
Jonas Maebe
7d1b3066d9
* fixed some missed optimizations because 8bit regs were not always
...
taken into account
1999-11-21 13:09:41 +00:00
Jonas Maebe
653d672377
* improved fixing of missing regallocs (they're almost all correct
...
now!)
1999-11-21 13:06:30 +00:00
pierre
e4bfedf924
* Nextoverloading ordering fix
1999-11-21 01:42:37 +00:00
Jonas Maebe
6746b61501
* fixed small typo (C_M* -> Ch_M*) so -darithopt compiles again
1999-11-20 12:50:32 +00:00
Jonas Maebe
1a761b3881
* make cycle works with -dreplacereg (register renaming)! I have not
...
tested it yet together with -darithopt, but I don't expect problems
1999-11-20 11:37:03 +00:00
pierre
221382d99c
+ cond FPC_USE_CPREFIX (needs also some RTL changes)
...
this allows to use unit global vars as DLL exports
(the underline prefix seems needed by dlltool)
1999-11-20 01:22:18 +00:00
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