daniel
94e5bd51a1
* Register variables are now possible for global variables too. This is
...
important for small programs without procedures.
2002-07-20 17:45:29 +00:00
florian
ba1d11e778
no message
2002-07-20 17:38:07 +00:00
florian
64b27c2ca1
+ char constants specified with #.. with more than 3 digits are handled as widechar
2002-07-20 17:35:52 +00:00
florian
4f7b35be5b
+ source code page support
2002-07-20 17:11:48 +00:00
florian
576001f95b
no message
2002-07-20 17:05:11 +00:00
daniel
23a5c653bf
* Optimized the code generated for for nodes. The shootout/nestloop benchmark
...
now runs 5% faster on my computer.
2002-07-20 12:54:53 +00:00
florian
59abf2555b
* types.pas renamed to defbase.pas because D6 contains a types
...
unit so this would conflicts if D6 programms are compiled
+ Willamette/SSE2 instructions to assembler added
2002-07-20 11:57:52 +00:00
daniel
c6f75def0c
* Small mistake fixed; the skip test was done before we know the for node
...
is correct.
2002-07-20 11:18:18 +00:00
daniel
8cbd40c2f0
* The for node does a check if the first comparision can be skipped. I moved
...
the check from the second pass to the resulttype pass. The advantage is
that the state tracker can now decide to skip the first comparision too.
2002-07-20 11:15:51 +00:00
daniel
bec9b5f988
* State tracker automatically changes while loops into repeat loops
2002-07-20 08:19:31 +00:00
daniel
95427989a6
* Loops should not be aligned when optimizing for size
2002-07-20 08:14:24 +00:00
daniel
62e4063229
* Forgot to add a {$ifdef extdebug}
2002-07-20 07:44:37 +00:00
daniel
7d66658fd4
* Further developed state tracking in whilerepeatn
2002-07-19 12:55:27 +00:00
daniel
399036f1c2
* State tracker work
...
* The whilen and repeatn are now completely unified into whilerepeatn. This
allows the state tracker to change while nodes automatically into
repeat nodes.
* Resulttypepass improvements to the notn. 'not not a' is optimized away and
'not(a>b)' is optimized into 'a<=b'.
* Resulttypepass improvements to the whilerepeatn. 'while not a' is optimized
by removing the notn and later switchting the true and falselabels. The
same is done with 'repeat until not a'.
2002-07-19 11:41:34 +00:00
pierre
9fef30d585
merged from FIXES branch: DrawTextBackground support
2002-07-18 07:11:11 +00:00
florian
392311d002
* at and frame addresses in raise statements changed to pointer; fixed
2002-07-17 11:52:01 +00:00
pierre
2f5a4e8a82
* avoid constant evaluation problems if cycling with -Cr
2002-07-17 07:28:21 +00:00
florian
26351214da
+ Directive $EXTERNALSYM added, it is ignored for now
2002-07-16 15:37:58 +00:00
florian
31da813d1d
* exit is now a syssym instead of a keyword
2002-07-16 15:34:20 +00:00
florian
106ba3fd82
* raise takes now a void pointer as at and frame address
...
instead of a longint, fixed
2002-07-16 13:57:39 +00:00
florian
ac8643e1d2
* raise takes now a void pointer as at and frame address
...
instead of a longint
2002-07-16 13:57:02 +00:00
florian
92e2b20fd1
* LARGE_INT and ULARGE_INT types fixed
...
* LONGLONG defined properly
2002-07-16 13:52:14 +00:00
florian
a08e4e7e37
+ skeleton for contnr.pp added
2002-07-16 13:34:39 +00:00
florian
5425f8ec8c
+ skeleton for contnr.pas added
2002-07-16 13:33:52 +00:00
florian
95e8b8db2e
+ skeleton for TInterfaceList added
2002-07-16 13:32:51 +00:00
florian
6517a7c0d0
*** empty log message ***
2002-07-16 12:33:15 +00:00
florian
b43c567edb
* threadvar relocation result wasn't handled properly, it could cause
...
a crash
2002-07-16 09:17:44 +00:00
florian
4bbd4814c8
* fixed crash with default parameters and stdcall calling convention
2002-07-15 19:44:53 +00:00
florian
28e6f7cb9b
no message
2002-07-15 19:43:15 +00:00
florian
de6026e309
+ IInterfaceList added
2002-07-15 18:35:04 +00:00
florian
c3f4220f3b
* readded removed changes
2002-07-15 18:03:14 +00:00
daniel
eeae0e4c00
+ Added the beginning of a state tracker. This will track the values of
...
variables through procedures and optimize things away.
2002-07-14 18:00:43 +00:00
carl
2502bdbf59
* use special symbols for portability's sake
2002-07-14 13:39:45 +00:00
florian
5b2afa7bb1
* compiler makefile hopefully fixed now
2002-07-14 07:56:31 +00:00
florian
e161eb5e25
+ initial version, a lot of instructions need to be added
2002-07-13 21:50:34 +00:00
peter
f5ea395e82
* moved to aasmtai
2002-07-13 21:12:39 +00:00
florian
15b9d096f9
* some more generic calling stuff fixed
2002-07-13 19:38:43 +00:00
Jonas Maebe
83d6218842
* fixed memory leak reported by Sergey Korshunoff
2002-07-13 07:17:15 +00:00
Jonas Maebe
79c0a402ef
* fixed fpu constants in second_int_to_real (fpu values are also stored
...
in big endian)
2002-07-13 06:49:39 +00:00
florian
f0e2409c9f
* fixed to compile with 1.1
2002-07-12 22:02:22 +00:00
florian
fa0d3d79e0
no message
2002-07-12 16:00:28 +00:00
pierre
1542285c05
* try to avoid memory corruption if UserScreen is smaller than IDE screen on win32
2002-07-12 14:17:39 +00:00
Jonas Maebe
936cfe106b
* some big-endian fixes
2002-07-12 10:14:26 +00:00
Jonas Maebe
4f77082660
* changed motorola syntax of references with symbols to GNU syntax
2002-07-12 10:10:01 +00:00
Tomas Hajny
0a29a5632f
* FindFirst fix (invalid attribute bits masked out)
2002-07-11 16:00:05 +00:00
daniel
acda890496
* Continued work on LX header
2002-07-11 15:23:25 +00:00
florian
336808f6c3
* start of the new generic parameter handling
2002-07-11 14:41:27 +00:00
Jonas Maebe
82e23e60f5
* fixed nppccnv and enabled it
...
- removed PPC specific second_int_to_int and use the generic one instead
2002-07-11 07:42:31 +00:00
Jonas Maebe
17f7d6e8e0
* fixed tppcmoddivnode
...
* fixed 64bit parts of tppcshlshrnode
2002-07-11 07:41:27 +00:00
Jonas Maebe
690ba14436
+ tcg64fpc implementation (only a_op64_reg_reg and a_op64_const_reg for
...
now)
* fixed and improved tcgppc.a_load_const_reg
* improved tcgppc.a_op_const_reg, tcgppc.a_cmp_const_reg_label
* A_CMP* -> A_CMPW* (this means that 32bit compares should be done)
2002-07-11 07:38:28 +00:00