Jonas Maebe
fdc813db9a
* no need to synchronise the upper bound of a for-loop after the loop
...
anymore if it is a regvar, because it cannot be a regvar anymore
after the fix for tw8883
git-svn-id: trunk@7358 -
2007-05-16 12:13:28 +00:00
yury
df36385c89
* fixed mantis #8887 . (please merge to fixes).
...
git-svn-id: trunk@7356 -
2007-05-16 09:04:34 +00:00
peter
ea92a0e1a7
* prefer overloaded methods in current object over
...
inherited overloaded methods
git-svn-id: trunk@7355 -
2007-05-16 08:12:14 +00:00
Jonas Maebe
2c5a284060
* upper bound of for-loop cannot be a regvar, because the regvar may
...
be modified inside the loop (mantis #8883 )
git-svn-id: trunk@7352 -
2007-05-15 20:25:30 +00:00
tom_at_work
8c70e81c9c
* 6 bit sized members of packed records can never be split over more than 2 bytes too
...
git-svn-id: trunk@7350 -
2007-05-15 19:03:55 +00:00
peter
83ccc62cf0
* during specialization use the symtable stack at
...
definition time, fixes tgeneric14
git-svn-id: trunk@7348 -
2007-05-15 17:39:09 +00:00
pierre
e0783f446e
+ new program to ease cross RTL compilation tests
...
git-svn-id: trunk@7346 -
2007-05-15 13:41:26 +00:00
peter
bf7275576c
* use sysutils instead of dos
...
git-svn-id: trunk@7342 -
2007-05-15 07:18:55 +00:00
peter
aa72495049
* fix resourcestring assignment in typedconst
...
git-svn-id: trunk@7339 -
2007-05-15 06:52:36 +00:00
Jonas Maebe
20206500aa
* don't change a sequence of shifts and sub/adds into a lea() in case
...
the flags are read afterwards (broke shldl/sub/sbb sequence generated
for 64 bit "*2", which appears in bitpacked size calculation)
git-svn-id: trunk@7336 -
2007-05-14 20:37:42 +00:00
Jonas Maebe
7bd8d0200e
* handle mod/div between a cardinal/qword and a smaller unsigned variable
...
(byte, word, postive subrange) as an unsigned operation (mantis #8870 )
git-svn-id: trunk@7334 -
2007-05-14 19:24:33 +00:00
Jonas Maebe
c80d4225ca
+ support for ISO Extended Pascal ReadStr() and WriteStr() routines
...
git-svn-id: trunk@7333 -
2007-05-14 17:34:01 +00:00
peter
c831b2fb00
* set symoptions for all implicit created parameters
...
git-svn-id: trunk@7321 -
2007-05-12 22:16:06 +00:00
daniel
182fca72f2
* Change spill_* routines to return Taicpu instead of Tai to increase
...
strong typing.
* Fix PowerPC R0 register allocation
git-svn-id: trunk@7317 -
2007-05-12 15:43:16 +00:00
yury
821c91c230
* fix Mantis #8760 : do not put actually empty sections in executable by internal linker.
...
* .bss section no longer required by internal linker.
git-svn-id: trunk@7316 -
2007-05-12 13:32:52 +00:00
Jonas Maebe
acad2913d6
* a loadsize of 1 can never cause alignment problems in subsetref
...
routines
git-svn-id: trunk@7308 -
2007-05-11 09:17:01 +00:00
peter
b3c650bd98
* fix shortstring:=char
...
git-svn-id: trunk@7302 -
2007-05-10 06:01:42 +00:00
florian
d469e3a7ef
+ do life dfa for exit
...
git-svn-id: trunk@7299 -
2007-05-07 20:30:19 +00:00
florian
c0d27b5482
* life info dfa for break and continue
...
git-svn-id: trunk@7298 -
2007-05-07 20:07:53 +00:00
florian
62d54389c8
+ life dfa for if, label and goto
...
git-svn-id: trunk@7297 -
2007-05-07 19:14:21 +00:00
florian
85406e8a15
* updates from Karl-Michael Schindler
...
git-svn-id: trunk@7295 -
2007-05-07 12:02:32 +00:00
florian
45cda67f3f
+ first basically working (not all node types yet) dfa implementation determining life information
...
git-svn-id: trunk@7294 -
2007-05-06 21:33:39 +00:00
florian
867e00dee3
* backup commit of more dfa stuff
...
git-svn-id: trunk@7287 -
2007-05-06 10:59:09 +00:00
florian
87bdf13f9f
+ first draft for dfa
...
git-svn-id: trunk@7282 -
2007-05-05 20:50:09 +00:00
yury
b2605b8ff6
* Internal linker now correctly links to gcc import libraries. It fixes win32 IDE with debugger support.
...
git-svn-id: trunk@7278 -
2007-05-05 19:21:30 +00:00
Vincent Snijders
e18966c372
* write resource object file to unit output directory
...
git-svn-id: trunk@7276 -
2007-05-05 19:04:43 +00:00
pierre
115d95004f
* try to fix cygwin import lib problem in internal linker
...
git-svn-id: trunk@7270 -
2007-05-04 22:49:56 +00:00
tom_at_work
a42d80dbf9
* do not use R13 as available register because it is reserved for tls on ppc64/linux
...
git-svn-id: trunk@7266 -
2007-05-04 21:51:04 +00:00
Jonas Maebe
544dd57a96
* r0 is also volatile
...
git-svn-id: trunk@7262 -
2007-05-04 16:52:26 +00:00
Jonas Maebe
0caee5b45b
+ support to use r0 for ppc/ppc64 when compiling the compiler with
...
-duser0. Not active by default because generates wrong code due
to bug in the register allocator
git-svn-id: trunk@7261 -
2007-05-04 14:52:05 +00:00
Jonas Maebe
63f80f3472
* do not require exactly the same range type for indexed properties
...
referring to an array field, but instead simply convert the index
to the array range type (mantis #8810 )
git-svn-id: trunk@7260 -
2007-05-04 14:21:39 +00:00
Jonas Maebe
3a4508b1bb
* fixed compile error when assigning to a widestring property which
...
directly writes to a field for tf_winlikewidestring targets (caused
by the stricter property checks)
git-svn-id: trunk@7259 -
2007-05-04 13:15:11 +00:00
Jonas Maebe
76b190b723
- removed caretn and related code
...
git-svn-id: trunk@7257 -
2007-05-04 10:53:25 +00:00
pierre
390a4236e2
* do not use F field to get TObjectReader FileName as it is freed inside openfile method
...
git-svn-id: trunk@7255 -
2007-05-03 23:55:55 +00:00
daniel
3ad8257ecb
* Fix replace spilling of shld/shrd.
...
git-svn-id: trunk@7252 -
2007-05-03 20:56:09 +00:00
Jonas Maebe
82e01b4ad9
+ support for refcounted records returned by functions in 2 registers
...
(mantis #8685 )
git-svn-id: trunk@7251 -
2007-05-03 15:05:44 +00:00
Jonas Maebe
de1af478c3
* do not allow passing properties as var parameters (mantis #8777 )
...
* do not allow assignments to fields of structured properties (e.g.
property prop: trec read frec; ... instance.prop.frec.a:=5)
* clarified some related error messages
+ several extra tests for the above and related things
git-svn-id: trunk@7250 -
2007-05-03 14:08:03 +00:00
Jonas Maebe
21f87ef1de
* fixed instances of passing properties as var parameter
...
git-svn-id: trunk@7249 -
2007-05-03 11:02:38 +00:00
Jonas Maebe
ae54e01b72
* don't use inc/dec on a property with a write method
...
git-svn-id: trunk@7245 -
2007-05-02 17:31:02 +00:00
florian
b195e09236
* release buf already when closing the file
...
* better error handling
git-svn-id: trunk@7231 -
2007-05-01 12:47:06 +00:00
daniel
c23bbe24bf
+ Add peoplehole optimization to optimize "smallset+[x]" and "smallset-[x]".
...
git-svn-id: trunk@7188 -
2007-04-29 10:32:18 +00:00
peter
8a02ac0a5a
* don't use generic section rule for .stab and .stabstr
...
git-svn-id: trunk@7187 -
2007-04-29 09:48:59 +00:00
Tomas Hajny
81a711881d
* added missing word in message explanation
...
git-svn-id: trunk@7186 -
2007-04-29 09:48:53 +00:00
florian
23aa57ff75
+ support of dispatch call using <variant>.<id>
...
git-svn-id: trunk@7185 -
2007-04-28 20:09:52 +00:00
florian
0d9609d614
* convert extended to double when passing it to automation dispatchers
...
* fix code generation for automation dispatching of doubles
git-svn-id: trunk@7184 -
2007-04-28 19:35:51 +00:00
daniel
f3660976bc
+ Allow replace spilling for "opcode register,const" and "opcode const,register"
...
git-svn-id: trunk@7183 -
2007-04-28 19:11:17 +00:00
florian
01de46a0f4
* don't allow logical operators on char, resolves #8780
...
git-svn-id: trunk@7181 -
2007-04-28 18:43:58 +00:00
florian
2eb40fc025
* forbid file types as function results
...
git-svn-id: trunk@7180 -
2007-04-28 18:32:03 +00:00
daniel
c43855a8f7
* Improve comment for [0..31]-x optimization
...
git-svn-id: trunk@7177 -
2007-04-27 13:35:25 +00:00
daniel
ea79e69176
+ Add optimization to optimize [0..31]-x set expression to use one less
...
register. This construction is used in our Shootout meteor contest
implementation.
git-svn-id: trunk@7176 -
2007-04-26 21:48:18 +00:00