Jonas Maebe
fe7eb08eef
* fixed some memory leaks
2001-03-13 11:52:48 +00:00
peter
d8abf76f6b
* getsym redesign, removed the globals srsym,srsymtable
2001-03-11 22:58:49 +00:00
peter
21fc432ada
* noag386bin fix
2001-03-05 21:49:44 +00:00
peter
1b1f938c43
* changed to class with common TAssembler also for internal assembler
2001-03-05 21:39:11 +00:00
Jonas Maebe
2e3ba14936
* new rangecheck code now handles conversion between signed and cardinal types correctly
2001-03-04 10:26:56 +00:00
Jonas Maebe
af38291233
* simplified and optimized range checking code, FPC_BOUNDCHECK is no longer necessary
2001-03-03 12:41:22 +00:00
peter
05160462c9
* fpu fixes (merged)
2001-02-20 21:51:36 +00:00
peter
3ea409ab44
* tasm/masm fixes merged
2001-02-20 21:36:39 +00:00
peter
c72d1f4c76
* iret, lret fixes
2001-02-20 21:34:04 +00:00
Jonas Maebe
4e942c9a0f
* simplified and optimized code generated for in-statements
2001-02-11 12:14:56 +00:00
peter
55d92375c4
* merged fix for bug #1327
2001-02-09 23:42:49 +00:00
Jonas Maebe
74c1d32ce9
* fixed web bug #1396 : tpointerord is now a cardinal instead of a longint,
...
but added a hack in ncnv so that pointer(-1) still works
2001-02-08 13:09:03 +00:00
Jonas Maebe
40104b2a7a
* fixed web bug #1391
2001-02-08 12:13:40 +00:00
Jonas Maebe
177ec922fe
* fixed web bug #1383
2001-02-03 12:52:34 +00:00
peter
ffb25bce60
* fixed crash with new(precord), merged
2001-02-02 22:38:00 +00:00
florian
cfd15b7127
* behavior -Oa optimized
2001-01-27 21:29:35 +00:00
peter
acd6ede655
* fixed operand order that got mixed up for external writers after
...
my previous assembler block valid instruction check
2001-01-13 20:24:24 +00:00
peter
00c901b3c1
* check for valid asm instructions
2001-01-12 19:18:42 +00:00
Jonas Maebe
3fd4ce9c89
* really fixed problems with -Op2 opts (merged)
2001-01-10 10:29:36 +00:00
michael
d5ef327f9e
+ Patch from jonas so 1.0.2 can be used to cycle
2001-01-10 08:52:40 +00:00
peter
d61f29c799
* don't push high value for open array with cdecl;external;
2001-01-08 21:46:46 +00:00
peter
35a172090a
* internalerror for string to chararray
2001-01-08 21:45:11 +00:00
Jonas Maebe
7725beb1e3
* fixed crashing bug to due previous changes
2001-01-07 15:51:17 +00:00
Jonas Maebe
b503c3e3b8
* fixed bug in call/jmp optimization with -Op1 and -Op2
2001-01-07 15:49:49 +00:00
Jonas Maebe
8b0adc1f23
* references to symbols were only decreased in taicpu.done for jmps, fixed
2001-01-07 15:48:56 +00:00
Jonas Maebe
e753af622e
* fixed webbug 1323
2001-01-06 23:35:05 +00:00
Jonas Maebe
76ac79aace
* fixed IE 10 (but code is less efficient now :( )
2001-01-06 19:12:31 +00:00
florian
00917cb46f
* the info about exception frames is stored now on the stack
...
instead on the heap
2001-01-05 17:35:50 +00:00
Jonas Maebe
82cd898e2e
+ initial implementation (still needs to be made more modular)
2001-01-04 11:24:19 +00:00
Jonas Maebe
4c8ca9774f
+ implemented/fixed docompare() mathods for all nodes (not tested)
...
+ nopt.pas, nadd.pas, i386/n386opt.pas: optimized nodes for adding strings
and constant strings/chars together
* n386add.pas: don't copy temp strings (of size 256) to another temp string
when adding
2000-12-31 11:14:10 +00:00
Jonas Maebe
2e5e5eb1a4
* optimized loadshortstring a bit
2000-12-31 11:02:12 +00:00
Jonas Maebe
87405bf710
* fixed potential bug in writeToMemDestroysContents
2000-12-31 11:00:31 +00:00
peter
1a9f0943cb
* unrolled loops in taicpu.destroy
2000-12-26 15:56:17 +00:00
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
b7c591affd
* object to class for ow/og objects
...
* split objectdata from objectoutput
2000-12-23 19:59:35 +00:00
peter
be95b0758b
* object to class conversion
...
* more verbosity for -vt and -vd
* -i options can be put after eachother so the Makefiles only need
to call fpc once for all info (will be twice as the first one will
be to check the version if fpc supports multiple info)
2000-12-23 19:46:49 +00:00
Jonas Maebe
a4dcdea87d
* fixed range error
2000-12-21 12:22:53 +00:00
peter
2c2b7bbf1e
* extdebug fixes
2000-12-18 21:56:52 +00:00
Jonas Maebe
08f33f6156
* int64 case fixes
...
* explicit longint type casts for constants used in assembler code
generation s,ice they can be cardinals too (or even int64's in case of
range check errors)
2000-12-18 17:45:32 +00:00
Jonas Maebe
200e1d4b25
* removed warnings about possible range check errors
2000-12-16 15:58:18 +00:00
Jonas Maebe
4f791d04b4
- removed all ifdef cardinalmulfix code
2000-12-16 15:56:18 +00:00
peter
cf381a7f48
* clear usedasmsymbol at exit of writetree
2000-12-12 19:50:21 +00:00
Jonas Maebe
585b5f2e00
* fixed web bug #1144
...
+ implemented range checking for 64bit types
2000-12-11 19:10:19 +00:00
florian
9e14dafee3
* helper name of val for qword fixed
2000-12-09 22:51:37 +00:00
florian
a91a67f75b
* AfterConstructor isn't called anymore when a constructor failed
2000-12-09 10:45:40 +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
Jonas Maebe
a8af566cd7
+ new integer regvar handling, should be much more efficient
2000-12-05 11:44:32 +00:00
Jonas Maebe
72bc010795
* when searching for constants in registers, the returned register
...
sometimes didn't have the same size as the requested size
2000-12-05 09:33:42 +00:00
Jonas Maebe
8e1fa5b1de
* fixed bug where "shl $1,%reg" was changed to "leal (%reg),%reg2"
...
instread of to "leal (,%reg,2),%reg2"
2000-12-05 09:32:47 +00:00
Jonas Maebe
06af76dd6c
* invalidate regs that depend on a modified register
2000-12-04 17:00:09 +00:00