Commit Graph

79 Commits

Author SHA1 Message Date
pierre
ef8abc1dd7 * operator overloading now uses isbinaryoperatoracceptable
and is unaryoperatoracceptable
2000-06-02 21:24:46 +00:00
florian
c33697ecd4 * forgot to commit a fix for the enumeration subrange problem, yesterday 2000-05-31 06:58:41 +00:00
peter
5f179d94fb * small fix for previous commit 2000-05-11 17:53:40 +00:00
peter
1d47da018e * fixed check for overloaded operator with array and chararray check 2000-05-11 16:47:37 +00:00
Jonas Maebe
e96d0a3d6e - disabled "string_var := string_var + ... " and "string_var + char_var"
optimizations (were only active with -dnewoptimizations) because of
    several internal issues
2000-04-25 14:43:36 +00:00
Jonas Maebe
490769db7d + special code for string + char, between -dnewoptimizations 2000-04-21 12:35:05 +00:00
pierre
ac98c4c444 * fix for bug #891 2000-03-28 21:14:18 +00:00
florian
814bee0cc6 * fixed <dword>/<dword>, <int64>/<int64> and <qword>/<qword> 2000-03-20 10:16:51 +00:00
Jonas Maebe
ec01188f97 * moved a $maxfpuregisters directive a bit up because it was being
ignored
2000-03-18 15:01:19 +00:00
florian
8839b14aa6 * fixed one more internalerror 10 2000-02-19 10:12:47 +00:00
florian
dfe879d12e * some updates for the newcg 2000-02-17 14:53:42 +00:00
florian
85b946e6d4 * fixed another internalerror 2000-02-14 22:34:28 +00:00
florian
2f623caf67 * fixed an internalerror with writeln
* fixed arrayconstructor_to_set to force the generation of better code
    and added a more strict type checking
2000-02-13 22:46:27 +00:00
Jonas Maebe
0ab87d5ed8 * modifications to make the compiler functional when compiled with
-Or
2000-02-13 14:21:50 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
florian
26fc3fb886 * better register variable allocation in -Or mode 2000-02-04 08:47:10 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
florian
6ed05918e4 * mmx support fixed 2000-01-04 20:10:20 +00:00
Jonas Maebe
80f18b22ee * fixed type conversions of results of operations with cardinals
(between -dcardinalmulfix)
1999-12-11 18:53:31 +00:00
pierre
dcaad61969 * no_fast_exit if procedure contains implicit termination code 1999-12-09 23:18:04 +00:00
peter
d3b404c1a4 * fixed bug #698
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
df71a1433b * fix for overloading of shr shl mod and div 1999-11-26 13:51:29 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
pierre
1cac8fdbd8 * global var token was changed by overload code (form bug #707) 1999-11-16 23:45:28 +00:00
peter
76e4b69919 * fixed constant eval for bool xor/or/and bool 1999-11-15 21:53:42 +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
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +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
956eb97743 * arrayconstructor 2 set conversion is now called always in the
beginning of firstadd
1999-09-16 13:39:14 +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
peter
8a941c2568 * typo in previous commit open_array -> chararray :( 1999-09-13 16:28:05 +00:00
peter
40291ee626 * fixed array check for operators, becuase array can also be a set 1999-09-10 15:40:46 +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
f89f09413b * > < >= <= support for boolean
* boolean constants are now calculated like integer constants
1999-09-07 07:52:19 +00:00
pierre
e7d56c97a8 * setelementn registers32 corrected 1999-08-23 23:44:05 +00:00
peter
57cf1e75a7 * better fix for muln register allocation 1999-08-07 11:29:26 +00:00
peter
30309fc962 * fixed register count ord*ord 1999-08-05 21:58:57 +00:00
Jonas Maebe
ace7ff6983 * all tokens now start with an underscore
* PowerPC compiles!!
1999-08-04 13:02:40 +00:00
florian
ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase 1999-08-04 00:22:34 +00:00
peter
ed8eb13d59 * moved bitmask constants to sets
* some other type/const renamings
1999-08-03 22:02:29 +00:00
peter
45bf051885 * merged 1999-07-16 10:04:32 +00:00
pierre
7a913109ff * merged from 0-99-12 branch 1999-06-17 15:32:48 +00:00
pierre
e8da115c3f * merged from 0_99_12 branch 1999-06-17 13:19:50 +00:00
florian
2ad3da43e6 * make cycle fixed i.e. compilation with 0.99.10
* some fixes for qword
  * start of register calling conventions
1999-06-02 10:11:39 +00:00
peter
0b272f13c7 * removed oldasm
* plabel -> pasmlabel
  * -a switches to source writing automaticly
  * assembler readers OOPed
  * asmsymbol automaticly external
  * jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
florian
6b33f4d87d * better error recovering in typed constants
* some problems with arrays of const fixed, some problems
    due my previous
     - the location type of array constructor is now LOC_MEM
     - the pushing of high fixed
     - parameter copying fixed
     - zero temp. allocation removed
  * small problem in the assembler writers fixed:
    ref to nil wasn't written correctly
1999-05-23 18:41:55 +00:00
florian
a3f17a9e74 * fixed a couple of array related bugs:
- var a : array[0..1] of char;   p : pchar;  p:=a+123; works now
    - open arrays with an odd size doesn't work: movsb wasn't generated
    - introduced some new array type helper routines (is_special_array) etc.
    - made the array type checking in isconvertable more strict, often
      open array can be used where is wasn't allowed etc...
1999-05-19 20:40:12 +00:00
peter
d38e5e0d34 + constant operations on enums, only in fpc mode 1999-05-11 00:47:02 +00:00