florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
Jonas Maebe
d5b069a935
* added missing typecheckpasses for new left/right nodes created in
...
taddnode.typecheckpass()
git-svn-id: trunk@5089 -
2006-10-30 10:29:29 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
florian
67aa148602
* fixed softfpu support
...
+ softfpu enabled for arm-gba
git-svn-id: trunk@4939 -
2006-10-15 21:31:27 +00:00
micha
8678d52aeb
* avoid warning when pointer points to size 1 data
...
* fix variantmanager for {$T+}
git-svn-id: trunk@4861 -
2006-10-11 16:40:40 +00:00
florian
fb5e396881
+ experimental -Sv option to support vector arithmetics
...
git-svn-id: trunk@4825 -
2006-10-07 21:39:48 +00:00
micha
5f353d6fef
add warning for arithmetic on untyped pointers
...
git-svn-id: trunk@4823 -
2006-10-07 19:34:16 +00:00
peter
d07f470b71
* remove ifdef fpc
...
git-svn-id: trunk@4819 -
2006-10-07 13:43:34 +00:00
micha
d704af7216
fix compilation for {$T+} linux/win
...
git-svn-id: trunk@4794 -
2006-10-04 20:43:55 +00:00
peter
2f0ce31751
* string concat changed from function to procedure to
...
allow runtime optimization if the destination is the
same as a source parameter
* tassignmentnode now sets aktassignmentnode global that can be used
to use the left node as a destination parameter and
skip the assignment
* disabled all cpu specific shortstr concat/append
git-svn-id: trunk@4770 -
2006-10-02 20:00:06 +00:00
florian
569c4871fc
+ first batch of varset support, as long as packset isn't changed, it doesn't change anything
...
git-svn-id: trunk@4710 -
2006-09-24 14:40:11 +00:00
olle
05d6f0e94d
macos: added a fake sysutils for use by compiler, and fixed some tests
...
git-svn-id: trunk@4549 -
2006-09-03 22:30:37 +00:00
Jonas Maebe
b4668054c5
* avoid unnecessary sign extensions for integer comparisons
...
git-svn-id: trunk@4038 -
2006-07-01 16:05:57 +00:00
Jonas Maebe
03302dc7c4
* fixed support for macpas & and | operators: they only work on booleans
...
now, and always perform short circuit boolean evaluation (also in {$b+})
git-svn-id: trunk@3745 -
2006-05-30 13:02:36 +00:00
florian
454fb81c5b
+ optimize <string>+'' and ''+<string>
...
git-svn-id: trunk@3522 -
2006-05-14 09:43:53 +00:00
florian
5d9f3cf33d
* fixed s<'', fixes 4925
...
git-svn-id: trunk@3505 -
2006-05-13 20:10:27 +00:00
Jonas Maebe
039e7143f4
* avoid some unnecessary bool->int->bool type conversions
...
git-svn-id: trunk@3184 -
2006-04-09 18:33:05 +00:00
peter
95be416b9d
* don't allow stringconst+integer
...
* change booleans in arraydef to set
* set option in arraydef to indicate a constant string so
a nicer type can be shown instead of array[0..x] of char
git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +00:00
Jonas Maebe
07ce826be0
+ added ability for (mainly 32bit) code generators to directly handle
...
32bit*32bit->64bit
+ implemented the above for ppc32 (note: does not happen very often
in practice, at least not in the compiler and rtl)
+ test for the above
git-svn-id: trunk@2735 -
2006-03-04 15:09:09 +00:00
peter
a77f503a30
* optimize multiple concats for ansi/widestring
...
git-svn-id: trunk@2650 -
2006-02-20 10:58:28 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
peter
45176ea2a8
* split tstringtype for stringdef and stringconstnode
...
to prevent wrong typecasts
git-svn-id: trunk@2276 -
2006-01-13 17:20:27 +00:00
Jonas Maebe
42ec76598c
* new categories for vs_*: vs_declared, vs_initialised, vs_read,
...
vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
vs_used has been replaced by vs_read, vs_written and vs_readwritten
* the valid_for_*() routines in htypechk now get an extra parameter to
decide whether or not errors should be reported
git-svn-id: trunk@1913 -
2005-12-10 16:51:26 +00:00
peter
4c73e86058
* check for allowed floatdef operations
...
git-svn-id: trunk@1455 -
2005-10-18 05:45:50 +00:00
yury
80fbc143ab
* removed MULS->MULD substitution for wince, because MULS was added to system unit.
...
git-svn-id: trunk@1313 -
2005-10-07 13:58:37 +00:00
peter
2a6623a97f
* stringconst+pchar returns a string
...
git-svn-id: trunk@1283 -
2005-10-04 11:45:26 +00:00
florian
c1f1424640
* pchar +/- <array of char> is allowed as well
...
git-svn-id: trunk@1277 -
2005-10-03 21:15:18 +00:00
florian
d9c071da6d
* fixed double comparison on wince
...
git-svn-id: trunk@1262 -
2005-10-03 07:43:36 +00:00
peter
edf553a223
* string constants are now array of char until
...
they are converted to a specific string type
git-svn-id: trunk@1254 -
2005-10-02 11:08:58 +00:00
florian
10db94c8c1
* there is no muls, muld must be generated
...
git-svn-id: trunk@1175 -
2005-09-24 14:58:28 +00:00
florian
fa1575aeab
* fixed array[..] of char <op> pchar: wrong type was determined for non op<>+ returned
...
git-svn-id: trunk@1107 -
2005-09-18 08:59:20 +00:00
florian
a53c9e2666
* fixed stupid copy/paste which turned softfloat always off
...
* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit
git-svn-id: trunk@966 -
2005-08-28 21:08:23 +00:00
florian
adb193497d
+ softfloat support for wince
...
* more units are build for wince
git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
peter
534109351b
* another cardinal-cardinal fix
...
git-svn-id: trunk@548 -
2005-06-30 15:19:28 +00:00
peter
297f33b6c9
* unsigned-unsinged gives signed
...
git-svn-id: trunk@496 -
2005-06-25 20:57:19 +00:00
florian
cf2c0d52e3
* initialisation of global mm register variables
...
git-svn-id: trunk@206 -
2005-06-05 10:40:20 +00:00
florian
91f87244e3
* float calculation aren't executed anymore using the best real type if the types differ
...
git-svn-id: trunk@203 -
2005-06-05 09:01:17 +00:00
florian
21038de78d
+ started with refactoring det_resulttype
...
+ dosimplify
* inlinenig makes use of dosimplify
git-svn-id: trunk@140 -
2005-05-29 15:15:38 +00:00
peter
ac0277b40b
* dword-dword now gives dword
...
git-svn-id: trunk@78 -
2005-05-23 20:44:47 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
c1f4f09911
longword-longword gives int64
2005-04-25 08:29:00 +00:00
michael
3e54552235
+ * fix constant folding for string+char (from Peter)
2005-04-06 07:31:51 +00:00
peter
3f9d6ab32f
* add hint when passing an uninitialized variable to a var parameter
2005-03-25 22:20:18 +00:00
peter
a82ee06691
* for methodpointers compare only proc field
2005-03-14 20:18:22 +00:00
peter
0ae80eea41
* allow enum arithmetics inside an enum def, compatible with delphi
2005-02-17 17:52:39 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
olle
4f43c7e09f
+ Added fake Exception classes, only for MACOS.
2005-01-31 21:30:56 +00:00
peter
9cf82cd7f6
* zero based array with elementsize>1 fix
2005-01-31 16:15:04 +00:00
peter
d3b559cfcc
* detect arithmetic overflows for constants at compile time
...
* use try..except instead of setjmp
2005-01-26 16:23:28 +00:00