Jonas Maebe
980efd582d
+ support for currency typed constants if currency=int64. Warning: does
...
not work properly for extreme values if bestreal <= double
2003-12-29 12:48:39 +00:00
peter
84b1451a34
* tai_const.create_32bit changed to cardinal
2003-12-08 22:34:24 +00:00
Jonas Maebe
9bc4fa13a6
* fixed reversed "got <type 1>, expected <type 1>" error message
2003-11-22 00:32:35 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
florian
2a178f0d93
* fixed parsing of typed widestring constants with length 1
2003-11-08 10:23:35 +00:00
peter
a28d911c98
* IncompatibleTypes() added that will include unit names when
...
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
8af51ea6d3
* locals and paras are allocated in the code generation
...
* tvarsym.localloc contains the location of para/local when
generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
peter
1a2eedd767
* self moved to hidden parameter
...
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
florian
91bbc7bea3
* error when address of an abstract method is taken
...
* fixed some x86-64 problems
* merged some more x86-64 and i386 code
2003-04-30 20:53:32 +00:00
florian
41da381f1a
* fixed a lot of PowerPC related stuff
2003-04-24 22:29:57 +00:00
olle
a069aadad0
* changed newasmsymbol to newasmsymboldata for data symbols
2003-04-06 21:11:23 +00:00
peter
4be7d9ddeb
* allow nil initialization of dynamic array
2003-03-17 21:42:32 +00:00
peter
dfcb814ca5
* fix uninited var
2003-01-02 20:45:08 +00:00
florian
75a0d4154d
* fixed support for type widechar consts
2002-12-26 12:34:54 +00:00
carl
7fdc498fbe
+ add some explicit typecasts to remove some warnings
2002-12-07 14:15:33 +00:00
carl
6a52e7a9e5
- removed the invalid if <> checking (Delphi is strange on this)
...
+ implemented abstract warning on instance creation of class with
abstract methods.
* some error message cleanups
2002-11-25 18:43:31 +00:00
peter
f3fc72095f
* splitted defbase in defutil,symutil,defcmp
...
* merged isconvertable and is_equal into compare_defs(_ext)
* made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
carl
05d86bbef8
* memory optimization with tconstsym (1.5%)
2002-11-22 22:48:10 +00:00
carl
9a151c3d65
+ align ansi/wide string constants
2002-11-09 15:31:57 +00:00
carl
8fd9561a31
* start bugfix 1996
...
* 64-bit typed constant now work correctly and fully (bugfix 2001)
2002-09-06 19:58:31 +00:00
daniel
b0364566d1
* Make Tprocdef.defs protected
2002-09-03 16:26:26 +00:00
peter
425bb45ddc
* renamed current_library to objectlibrary
2002-08-11 14:32:25 +00:00
peter
ac71268ce6
* saving of asmsymbols in ppu supported
...
* asmsymbollist global is removed and moved into a new class
tasmlibrarydata that will hold the info of a .a file which
corresponds with a single module. Added librarydata to tmodule
to keep the library info stored for the module. In the future the
objectfiles will also be stored to the tasmlibrarydata class
* all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
daniel
1130395e7e
* Readded old set code. To use it define 'oldset'. Activated by default
...
for ppc.
2002-07-23 12:34:29 +00:00
daniel
3a134c6e07
* Sets are now internally sets.
2002-07-22 11:48:04 +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
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +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
peter
67ede1276b
* add pinline unit that inserts compiler supported functions using
...
one or more statements
* moved finalize and setlength from ninl to pinline
2002-04-23 19:16:34 +00:00
carl
87aa88e9b7
+ generic FPC_CHECKPOINTER
...
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
carl
5befcda7e5
+ target_info.size_of_pointer -> pointer_Size
2002-04-15 18:57:22 +00:00
peter
5e7a1e3729
* removed unused units
...
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
peter
fd2ad837e2
* implicit result variable generation for assembler routines
...
* removed m_tp modeswitch, use m_tp7 or not(m_fpc) instead
2002-01-24 18:25:48 +00:00
peter
5cdb7cc52b
* removed getprocvar, use only getprocvardef
2002-01-06 21:47:32 +00:00
florian
b60666ae1f
+ parasym to tparaitem added
2001-12-06 17:57:33 +00:00
peter
d2e1952377
* procsym definition rewrite
2001-11-02 22:58:00 +00:00
Jonas Maebe
d117d71141
* typed constants that are "procedure of object" and which are assigned
...
nil require 8 bytes of "0" (not 4)
* fixed web bug #1655 (reject the code)
2001-10-29 14:59:48 +00:00
peter
7781fca6bd
* read only typed const support, switch $J-
2001-10-20 20:30:20 +00:00
peter
f7af97c2a5
* make all sets equal when reading an array of sets. Before it could
...
mix normal and small sets in the same array!
2001-10-20 17:24:26 +00:00
michael
387ad2c42e
* realname updated for some hints
...
* realname used for consts,labels
2001-09-19 11:06:03 +00:00
peter
45dab81414
* merged netbsd, fpu-overflow from fixes branch
2001-09-17 21:29:10 +00:00
peter
915b5cd7a9
* split constsym.value in valueord,valueordptr,valueptr. The valueordptr
...
is used for holding target platform pointer values. As those can be
bigger than the source platform.
2001-09-02 21:18:28 +00:00
florian
9746f4c2d6
* some cg reorganisation
...
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
2e6d63bfdb
* support pwidechar in typed const
2001-08-01 21:46:41 +00:00
peter
121f1a09a0
* declare fpu in rtl for m68k linux
2001-07-30 21:39:26 +00:00
peter
c4b84ce276
* m68k updates from v10 merged
2001-07-30 20:59:27 +00:00
peter
ca8d604964
* various widestring updates, it works now mostly without charset
...
mapping supported
2001-07-08 21:00:14 +00:00
Jonas Maebe
77a99eecdf
* fixed inconsistent handling of procvars in FPC mode (sometimes @ was
...
required to assign the address of a procedure to a procvar, sometimes
not. Now it is always required) (merged)
2001-06-29 14:16:57 +00:00
peter
49481a0c63
* v10 merges
2001-06-27 21:37:36 +00:00
peter
e24474d9ac
* -Ur switch (merged)
...
* masm fixes (merged)
* quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
Jonas Maebe
34ef6cd933
+ detect incomplete typed constant records
2001-05-06 17:15:00 +00:00
peter
0c03535b5b
* registration of targets and assemblers
2001-04-18 22:01:53 +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
b193bf7df3
* remove unnecessary calls to firstpass
2001-04-04 22:43:50 +00:00
peter
4e2655cdc5
* resulttype rewrite
2001-04-02 21:20:29 +00:00
peter
d8abf76f6b
* getsym redesign, removed the globals srsym,srsymtable
2001-03-11 22:58:49 +00:00
Jonas Maebe
18d885b80e
* fixed web bug #1377 & const pointer arithmtic
2001-02-04 11:12:16 +00:00
peter
f005ab378d
* merged fix for bug #1365
2001-02-03 00:26:35 +00:00
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
f6eaa4c02b
* allow subtypes for enums
2000-12-10 20:24:18 +00:00
florian
b9796f6a7f
* unused units removed from uses clause
...
* some changes for widestrings
2000-11-29 00:30:30 +00:00
florian
d5a2d64cf5
* fixed two bugs to get make cycle work, but it's not enough
2000-11-06 15:54:15 +00:00
florian
51527ba1c9
+ merged Attila's changes for interfaces, not tested yet
2000-11-04 14:25:19 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00
peter
e171f341a0
* moehrendorf oct 2000 rewrite
2000-10-14 10:14:45 +00:00
peter
084e294150
* const array of char and pchar length fixed (merged)
2000-09-30 13:23:04 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
peter
4c94659743
* moved some util functions from globals,cobjects to cutils
...
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
peter
cc4fed6303
* allow nil for class typed consts (merged)
2000-08-24 19:13:18 +00:00
florian
244fc53520
+ support of 64 bit integer constants
2000-08-16 13:06:06 +00:00
peter
e955ac6135
* packenum 1 fixes (merged)
2000-08-05 13:25: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
Jonas Maebe
3ca96dd897
* ansistring constants now also get a trailing #0 (bug reported by
...
Thomas Schatzl)
2000-06-06 13:06:17 +00:00
peter
6029115a7d
* add support for loading of typed const strings with resourcestrings,
...
made the loading also a bit more generic
2000-05-17 17:10:06 +00:00
pierre
a77b264bd0
* * get it to compile with Delphi by Kovacs Attila Zoltan
2000-05-12 05:55:04 +00:00
pierre
e0328653f1
+ add a warning if a const string is longer than the
...
length of the string type
2000-05-11 09:15:12 +00:00
florian
fcf5315f23
+ constant procedure variables can have a @ in front:
...
const p : procedure = @p;
til now only
const p : procedure = p;
was allowed
2000-04-02 09:12:51 +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
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
florian
08a34c6308
* disposetree for classrefdef added
1999-11-08 18:50:11 +00:00
pierre
a4926e2d26
* missing disposetree added to avoid memory loss
1999-11-08 16:24:28 +00:00
florian
7265215469
* problem with "index X"-properties solved
...
* typed constants of class references are now allowed
1999-11-08 14:02:16 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
florian
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
peter
2687d75c38
+ constant pointer support which can happend with typecasting like
...
const p=pointer(1)
* better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
pierre
e5df050607
* avoid unused locals
1999-08-10 12:30:00 +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
07bb58295b
* alignment is now saved in the symtable
...
* C alignment added for records
* PPU version increased to solve .12 <-> .13 probs
1999-07-23 16:05:18 +00:00
florian
3eae7ee6fb
+ start of val(int64/qword)
...
* longbool, wordbool constants weren't written, fixed
1999-07-03 14:14:27 +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