peter
c21ca3dfa0
+ added currency support based on int64
...
+ is_64bit for use in cg units instead of is_64bitint
* removed cgmessage from n386add, replace with internalerrors
2003-04-23 20:16:03 +00:00
peter
cab4c8879f
* only compile cs_fp_emulation support when cpufpuemu is defined
...
* define cpufpuemu for m68k only
2002-12-06 16:56:57 +00:00
carl
edb20100ac
+ Add loading of softfpu in emulation mode
...
+ Correct routine call for softfpu
* Extended type must also be defined even with softfpu
2002-11-30 21:32:24 +00:00
carl
67486c96c3
* fixes for Delphi 6 compilation
...
(warning : Some features do not work under Delphi)
2002-10-05 12:43:23 +00:00
peter
d774c8d988
* Copy() is now internal syssym that calls compilerprocs
2002-10-02 18:20:52 +00:00
carl
f3d9f997cd
* low-highval always checked if limit ober 2GB is reached (to avoid overflow)
2002-09-27 21:13:28 +00:00
carl
752beef0dd
* cardinal -> longword
2002-09-07 20:40:23 +00:00
mazen
a49dea276c
fixed compilation problem related to tai_labeled_instruction
2002-08-23 13:11:11 +00:00
peter
98dd65b0f3
* inlining is now also allowed in interface
...
* renamed write/load to ppuwrite/ppuload
* tnode storing in ppu
* nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
peter
8082f79ea6
* first things tai,tnode storing in ppu
2002-08-15 19:10:35 +00:00
carl
c403293c6a
+ fpu emulation support (generic and untested)
2002-08-14 19:14:39 +00:00
carl
c68b2dfbee
* rename swatoperands to swapoperands
...
+ m68k first compilable version (still needs a lot of testing):
assembler generator, system information , inline
assembler reader.
2002-08-13 18:01:50 +00:00
florian
589c742efe
+ support of explicit type case <any ordinal type>->pointer
...
(delphi mode only)
2002-08-11 15:28:00 +00:00
carl
86ef6eec0b
+ Extended is now CPU dependant (equal to bestrealtype)
2002-07-25 17:54:24 +00:00
florian
31da813d1d
* exit is now a syssym instead of a keyword
2002-07-16 15:34:20 +00:00
florian
07783d2a0d
* powerpc target fixed, very simple units can be compiled
...
* some basic stuff for better callparanode handling, far from being finished
2002-07-07 09:52:32 +00:00
carl
9fe207578a
+ more SPARC patches from Mazen
2002-07-06 20:18:47 +00:00
florian
479a745096
* first x86-64 patches
2002-07-04 20:43:00 +00:00
peter
68ce5a00e5
* cg64 patch
...
* basics for currency
* asnode updates for class and interface (not finished)
2002-07-01 16:23:52 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
peter
4dcd96747e
* moved entry and exitcode to ncgutil and cgobj
...
* foreach gets extra argument for passing local data to the
iterator function
* -CR checks also class typecasts at runtime by changing them
into as
* fixed compiler to cycle with the -CR option
* fixed stabs with elf writer, finally the global variables can
be watched
* removed a lot of routines from cga unit and replaced them by
calls to cgobj
* u32bit-s32bit updates for and,or,xor nodes. When one element is
u32bit then the other is typecasted also to u32bit without giving
a rangecheck warning/error.
* fixed pascal calling method with reversing also the high tree in
the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
Jonas Maebe
2b3898aeff
* adapted ranges of native types to int64 (e.g. high cardinal is no
...
longer longint($ffffffff), but just $fffffff in psystem)
* small additional fix in 64bit rangecheck code generation for 32 bit
processors
* adaption of ranges required the matching talgorithm used for selecting
which overloaded procedure to call to be adapted. It should now always
select the closest match for ordinal parameters.
+ inttostr(qword) in sysstr.inc/sysstrh.inc
+ abs(int64), sqr(int64), sqr(qword) in systemh.inc/generic.inc (previous
fixes were required to be able to add them)
* is_in_limit() moved from ncal to types unit, should always be used
instead of direct comparisons of low/high values of orddefs because
qword is a special case
2002-01-24 12:33:52 +00:00
peter
faf78ea813
* overloading supported in child classes
...
* fixed parsing of classes with private and virtual and overloaded
so it is compatible with delphi
2001-11-18 18:43:13 +00:00
marco
7215d46735
* Make new/dispose system functions instead of keywords
2001-10-24 11:51:39 +00:00
peter
f88f6eb571
* rtti/init table updates
...
* rttisym for reusable global rtti/init info
* support published for interfaces
2001-08-30 20:13:52 +00:00
peter
c4b84ce276
* m68k updates from v10 merged
2001-07-30 20:59:27 +00:00
peter
db87f86f00
* Length made internal
...
* Add array support for Length
2001-07-09 21:15:40 +00:00
peter
68c1559651
* m68k doesn't support double (merged)
2001-05-09 19:58:45 +00:00
peter
a7cf57524e
* symtable change to classes
...
* range check generation and errors fixed, make cycle DEBUG=1 works
* memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
4e2655cdc5
* resulttype rewrite
2001-04-02 21:20:29 +00:00
florian
0ca35bb1ee
* cwidechar was loaded with a chardef, fixed
2001-03-25 12:40:00 +00:00
florian
82a6a7ed95
+ basic variant type support in the compiler
2001-03-22 00:10:58 +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
florian
b9796f6a7f
* unused units removed from uses clause
...
* some changes for widestrings
2000-11-29 00:30:30 +00:00
florian
68c1a1e3e6
* System.TypeInfo fixed
...
+ System.Finalize implemented
+ some new keywords for interface support added
2000-11-09 17:46:54 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00
florian
f80c24177a
* a lot of changes:
...
- basic dyn. array support
- basic C++ support
- some work for interfaces done
....
2000-10-21 18:16:11 +00:00
peter
e171f341a0
* moehrendorf oct 2000 rewrite
2000-10-14 10:14:45 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
peter
bec1c5cdf9
* store strings with case in ppu, when an internal symbol is created
...
a '$' is prefixed so it's not automatic uppercased
2000-08-27 20:19:38 +00:00
florian
244fc53520
+ support of 64 bit integer constants
2000-08-16 13:06:06 +00:00
michael
650fbb86aa
+ removed logs
2000-07-13 11:32:24 +00:00
michael
e7aca136a1
+ Initial import
2000-07-13 06:29:38 +00:00
florian
b2efa0f338
* disable FIXED data type per default
2000-02-15 14:36:45 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
florian
89c403c529
* very basic widestring support
1999-12-18 14:54:34 +00:00
peter
0512ba80fb
+ ttype, tsymlist
1999-11-30 10:40:42 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
florian
fbbf8a505c
* m68k compiler is again compilable (only gas writer, no assembler reader)
1999-09-16 23:05:51 +00:00
pierre
8b4c7f2402
+ stabs for classes and classref working,
...
a class still needs an ^ to get that content of it,
but the class fields inside a class don't result into an
infinite loop anymore!
1999-08-13 14:24:17 +00:00
peter
ed8eb13d59
* moved bitmask constants to sets
...
* some other type/const renamings
1999-08-03 22:02:29 +00:00
peter
248826aa81
* removed temp defines
1999-07-05 20:13:06 +00:00
florian
c615fcdbbb
* int64/qword type release
...
+ lo/hi for int64/qword
1999-07-01 15:49:09 +00:00
peter
bc903063c1
* removed R_DEFAULT_SEG
...
* uniform float names
1999-05-12 00:19:34 +00:00
peter
1c96916943
* generic write_float and str_float
...
* fixed constant float conversions
1999-05-06 09:05:05 +00:00
peter
c36956fffe
* better read/write array
1999-04-26 18:28:12 +00:00
peter
dc1f9b5bbb
* addr() internal
1999-04-17 13:10:23 +00:00
pierre
5f410c2cd3
* all formaldefs are now a sinlge definition
...
cformaldef (this was necessary for double_checksum)
+ small part of double_checksum code
1999-04-07 15:31:12 +00:00
peter
6a802e85d7
* released valintern
...
+ deffile is now removed when compiling is finished
* ^( compiles now correct
+ static directive
* shrd fixed
1999-03-26 00:05:26 +00:00
Jonas Maebe
1e6d667c3b
* changes for internal Val code (do a "make cycle OPT=-dvalintern" to test)
...
* in cgi386inl: also range checking for subrange types (compile with "-dreadrangecheck")
* in cgai386: also small fixes to emitrangecheck
1999-03-16 17:52:52 +00:00
peter
c5e45b576b
+ stabs support for binary writers
...
* more fixes and missing updates from the previous commit :(
1999-03-02 02:56:08 +00:00
peter
6ee9d913cd
+ farpointer type
...
* absolutesym now also stores if its far
1998-12-30 22:15:45 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
florian
4244dda54b
+ basic operations with int64/qord (compiler with -dint64)
...
+ rtti of enumerations extended: names are now written
1998-12-10 09:47:13 +00:00
peter
a41f61713d
+ open strings, $P switch support
1998-11-27 14:50:30 +00:00
peter
59c75c7410
* fixes for ansistrings
1998-11-16 10:18:07 +00:00
peter
20188aa991
+ va_list for printf support
1998-11-09 11:44:33 +00:00
peter
3037445491
* released useansistring
...
* removed -Sv, its now available in fpc modes
1998-11-05 12:02:30 +00:00
peter
de4cf49059
* ansistring fixes
1998-11-04 10:11:36 +00:00
peter
369e79adf9
+ assert() support
1998-10-05 12:32:44 +00:00
peter
8e85a889de
+ aktmodeswitches
1998-09-24 23:49:05 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
peter
4ac8e5d18f
+ internal inc/dec
1998-06-25 14:04:17 +00:00
peter
f66f837fc8
* m68k compiles
...
+ .def file creation moved to gendef.pas so it could also be used
for win32
1998-06-04 23:51:26 +00:00
pierre
883afdd880
* boolean again intern declared (needed to be able to compile
...
older RTL's)
1998-06-04 08:23:57 +00:00
peter
d6268ae22f
+ wordbool,longbool
...
* rename bis,von -> high,low
* moved some systemunit loading/creating to psystem.pas
1998-06-03 22:48:50 +00:00