Jonas Maebe
7a66a12e63
* fix from Florian for init/final info of forward classes
2002-06-12 13:20:29 +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
70ff711f73
* mangledname rewrite, tprocdef.mangledname is now created dynamicly
...
in most cases and not written to the ppu
* add mangeledname_prefix() routine to generate the prefix of
manglednames depending on the current procedure, object and module
* removed static procprefix since the mangledname is now build only
on demand from tprocdef.mangledname
2002-04-19 15:46:01 +00:00
peter
4b2aa039e6
* allow oridinal labels again
2002-03-04 17:54:59 +00:00
florian
b60666ae1f
+ parasym to tparaitem added
2001-12-06 17:57:33 +00:00
peter
e37dbf904d
* calling convention rewrite
2001-10-25 21:22:32 +00:00
marco
82465bc078
* Don't parse proc directives after type renaming of procvars
2001-10-24 10:26:53 +00:00
peter
7781fca6bd
* read only typed const support, switch $J-
2001-10-20 20:30:20 +00:00
peter
17d6dded66
* interface 2 guid support
...
* guid constants support
2001-10-20 19:28:37 +00:00
peter
e417ee0e7f
* fixed generation of rtti for virtualmethods
2001-10-20 17:20:13 +00:00
michael
387ad2c42e
* realname updated for some hints
...
* realname used for consts,labels
2001-09-19 11:06:03 +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
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
f86ce17588
+ hint directive parsing support
2001-06-03 21:57:35 +00:00
florian
05cfc07952
* some more support for widechars commited especially
...
regarding type casting and constants
2001-05-08 21:06:30 +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
florian
64d7d5682e
* applied several fixes to get the DD8 Delphi Unit compiled
...
e.g. "forward"-interfaces are working now
2001-04-04 21:30:42 +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
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +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
peter
e0a874dc4f
* some realname updates for messages
2000-11-12 22:17:46 +00:00
peter
f39e236aa2
* allow far directive for pointer type declarations
2000-11-11 16:19:11 +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
5218af7926
* delphi compile fixes
2000-09-24 21:19:48 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
florian
6159f4535f
+ first implementation of Netware Module support, thanks to
...
Armin Diehl (diehl@nordrhein.de ) for providing the patches
2000-09-11 17:00:22 +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
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
8bd87aafd6
* don't allow forward class in separate type blocks for delphi (merged)
2000-08-20 15:01:17 +00:00
pierre
a39590e684
* fix go32v2 cycle problem
2000-08-17 09:17:19 +00:00
peter
7eaac1706d
* splitted namedobjectitem.next into indexnext and listnext so it
...
can be used in both lists
* don't allow "word = word" type definitions (merged)
2000-08-16 18:33:53 +00:00
peter
25c495dd5a
* put defaultpara values in parast and changed the name to
...
'def<Parameter name>'
2000-08-13 13:11:28 +00:00
peter
8352fb6d7d
* support absolute refering to funcret (merged)
2000-08-13 08:42:59 +00:00
peter
227e983397
* first things for default parameters
2000-08-02 19:49:58 +00:00
peter
c5da6c53fd
* merged fixes
2000-07-30 17:04:43 +00:00
michael
2949824a69
+ Patch to 1.1
2000-07-14 05:11:48 +00:00
michael
665c1f6410
+ patched to 1.1.0 with former 1.09patch from peter
2000-07-13 12:08:24 +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
pierre
74f131b173
* fix for bug #1023
2000-07-03 13:26:48 +00:00
pierre
36f461db33
* align all variants to same start address
2000-06-23 21:34:09 +00:00
peter
de1083a9ed
* reset current_object_option when reading other symtables than
...
object declarations
2000-06-23 20:14:39 +00:00
peter
d55672bd95
* C record packing fixed to also check first entry of the record
...
if bigger than the recordalignment itself
* variant record alignment uses alignment per variant and saves the
highest alignment value
2000-06-18 18:11:32 +00:00
peter
69109b8234
* support procvar directive without ; before the directives
2000-06-11 06:59:36 +00:00
peter
14d248a322
* checking for dup id with para of methods fixed for delphi mode
2000-06-09 21:34:40 +00:00
pierre
28ce798307
+ set vo_is_exported for vars
2000-06-02 21:18:13 +00:00
peter
8b260f5793
* symtable.insert changed to procedure
2000-06-01 19:14:09 +00:00
peter
9e61c134bb
* fixed forward resolving with redefined types
2000-04-17 18:44:22 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
pierre
1eb30ec4e8
* bug #801 fixed
2000-01-20 12:29:02 +00:00
Jonas Maebe
edf419d5a7
* removed a lot of memory leaks when an error is encountered (caused by
...
procinfo and pstringcontainers). There are still plenty left though :)
2000-01-11 17:16:04 +00:00
peter
895c8b9efc
* fixed memory leak with options, you must use StopOptions instead of
...
Stop
* fixed memory leak with forward resolving, make_ref is now false
2000-01-10 11:14:19 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
peter
903ac0f0dc
* also check elementtype of arraydef for forwarddef
1999-12-10 10:04:21 +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
6297537f4b
+ allow exports in win32 executables
1999-11-29 15:18:27 +00:00
pierre
142ace2afc
* better browser info
1999-11-09 23:43:08 +00:00
peter
23ca9de3b3
* esi_offset -> selfpointer_offset to be newcg compatible
...
* hcogegen -> cgbase fixes for newcg
1999-11-09 23:06:44 +00:00
peter
18c5e77444
* support absolute unit.variable
1999-11-09 12:58:29 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
503d5a1cfa
* const parameter is now checked
...
* better and generic check if a node can be used for assigning
* export fixes
* procvar equal works now (it never had worked at least from 0.99.8)
* defcoll changed to linkedlist with pparaitem so it can easily be
walked both directions
1999-10-26 12:30:40 +00:00
peter
89b677a0ee
* split type reading from pdecl to ptype unit
...
* parameter_dec routine is now used for procedure and procvars
1999-10-22 10:39:34 +00:00
florian
0dd2b51943
* problems with readln fixed: esi wasn't restored correctly when
...
reading ordinal fields of objects futher the register allocation
didn't take care of the extra register when reading ordinal values
* enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
florian
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
peter
e10d770cc3
* fixed stabs writting for forward types
1999-10-06 17:39:14 +00:00
peter
2d21165dd8
* removed objpasunit reference, tvarrec is now searched in systemunit
...
where it already was located
1999-10-03 19:44:41 +00:00
peter
ca15c4c4fb
* class/record type forward checking fixed
1999-10-01 11:18:02 +00:00
peter
b444d6fbe8
* fixed forward checking within class/record
1999-10-01 11:15:57 +00:00
peter
532d85cd50
+ procedure directive support in const declarations, fixes bug #232
1999-10-01 10:05:37 +00:00
peter
49fcd8aceb
* forward type declaration rewritten
1999-10-01 08:02:45 +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
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
peter
71f28ed588
* cs_create_smart instead of cs_smartlink
...
* -CX is create smartlink
* -CD is create dynamic, but does nothing atm.
1999-09-20 16:38:51 +00:00
florian
863df30860
+ rtti is now automatically generated for published classes, i.e.
...
they are handled like an implicit property
1999-09-15 22:09:15 +00:00
florian
e73862f10d
* per default a property is stored, fixed
1999-09-14 11:09:08 +00:00
florian
c3b3c19887
+ implemented creation of methodname/address tables
1999-09-12 14:50:50 +00:00
florian
02c2611b20
* bugs 593 and 607 fixed
...
* some other potential bugs with array constructors fixed
* for classes compiled in $M+ and it's childs, the default access method
is now published
* fixed copyright message (it is now 1993-99)
1999-09-12 08:48:03 +00:00
florian
4c2361303c
* some more fixes for stored properties
1999-09-10 20:57:33 +00:00
florian
a9d8bfa1f7
* some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
...
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
michael
118a99513d
* Stored specifier for properties is now correctly parsed
1999-09-08 21:06:06 +00:00
peter
bd55afa666
* fixed double dispose of propsymlist
1999-09-02 09:23:51 +00:00
florian
860747346f
* fixed writing of class rtti: vmt offset were written wrong
1999-09-01 13:44:56 +00:00
peter
2f95239feb
* fixed crash when childof was nil
1999-08-26 21:17:39 +00:00
peter
8d9aa81d3a
* hack to support property with record fields
1999-08-14 00:38:53 +00:00
peter
793b28882f
* classes vmt changed to only positive addresses
...
* sharedlib creation is working
1999-08-09 22:19:46 +00:00
peter
cb8aeb3fd6
* V_Fatal=1, all other V_ are also increased
...
* Check for local procedure when assigning procvar
* fixed comment parsing because directives
* oldtp mode directives better supported
* added some messages to errore.msg
1999-08-05 16:52:53 +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
florian
7e74642b02
* modifications for the new code generator
1999-08-01 18:28:09 +00:00
peter
674e0cc879
* write .size also
1999-07-29 20:53:55 +00:00
peter
30be2bf063
* indirect type referencing is now allowed
1999-07-27 23:42:10 +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
35f636dea1
+ resourcestring implemented
...
+ start of longstring support
1999-07-22 09:37:28 +00:00
peter
45bf051885
* merged
1999-07-16 10:04:32 +00:00
michael
e77400a181
+ Fixed integer message table
1999-07-11 21:24:31 +00:00
florian
62cb5453d3
* a lot bug fixes:
...
- po_external isn't any longer necessary for procedure compatibility
- m_tp_procvar is in -Sd now available
- error messages of procedure variables improved
- return values with init./finalization fixed
- data types with init./finalization aren't any longer allowed in variant
record
1999-07-06 21:48:09 +00:00
peter
b4a852e74b
* merged
1999-07-05 20:22:08 +00:00
peter
f959158854
* merged
1999-07-02 13:02:24 +00:00
florian
497a3d3686
* use of is_ordinal checked: often a qword/int64 isn't allowed (case/for ...)
...
* small qword problems fixed
1999-06-30 22:16:19 +00:00
pierre
5f05d07dcb
* previous wrong log corrected
1999-06-02 22:43:57 +00:00
pierre
35777a48a1
types.pas
1999-06-02 22:25:22 +00:00
peter
94c276ce8d
* better checks for procvar and methodpointer
1999-06-01 19:27:47 +00:00
peter
cc0511a890
* @procvar is now always needed for FPC
1999-06-01 14:45:40 +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
6a652349de
* hopefully the default property bug fixed
1999-05-21 20:08:22 +00:00
peter
bfed29ff8b
* NEWLAB for label as symbol
1999-05-21 13:54:38 +00:00
pierre
6a0a1149c8
* better stabs line info for vars
1999-05-20 22:19:52 +00:00
florian
92f67c96fc
* made source compilable with TP (too long line)
...
* default values for set properties fixed
1999-05-19 12:41:48 +00:00
peter
e8bf496ae8
* containsself fixes
...
* checktypes()
1999-05-18 14:15:18 +00:00
florian
8706cd801f
* new temporary ansistring handling
1999-05-17 21:56:57 +00:00
peter
a47afc3857
* removed oldppu code
...
* warning if objpas is loaded from uses
* first things for new deref writing
1999-05-13 21:59:19 +00:00
peter
baa08b8bab
* fixed crash
1999-05-07 10:36:09 +00:00
florian
78d13ec796
* changes to compile it with Delphi 4.0
1999-05-04 21:44:30 +00:00
peter
611da2d24e
* merged nasm compiler
...
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
florian
d27b21891b
* changes of Bruessel:
...
+ message handler can now take an explicit self
* typinfo fixed: sometimes the type names weren't written
* the type checking for pointer comparisations and subtraction
and are now more strict (was also buggy)
* small bug fix to link.pas to support compiling on another
drive
* probable bug in popt386 fixed: call/jmp => push/jmp
transformation didn't count correctly the jmp references
+ threadvar support
* warning if ln/sqrt gets an invalid constant argument
1999-04-28 06:01:54 +00:00
peter
884c517b18
* release storenumber,double_checksum
1999-04-26 13:31:24 +00:00
pierre
b5dc3cc64d
+ code for initialized vars in Delphi mode
1999-04-25 22:42:16 +00:00
peter
cb70b62a82
* storenumber works
...
* fixed some typos in double_checksum
+ incompatible types type1 and type2 message (with storenumber)
1999-04-21 09:43:28 +00:00
peter
d9e1c47d84
* fixes for storenumber
1999-04-17 13:16:19 +00:00
peter
cc9df8d478
* first things to store the symbol/def number in the ppu
1999-04-14 09:14:44 +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
peter
d0cb5a147a
* fixed bugs 212,222,225,227,229,231,233
1999-03-24 23:16:42 +00:00
florian
706eedfedd
* typecanbeforward wasn't always restored in object_dec which
...
sometimes caused strange effects
1999-03-22 22:10:25 +00:00
pierre
74719d1acf
* bug0198 : call conventions for methods
...
not yet implemented is the control of same calling convention
for virtual and child's virtual
* msgstr and msgint only created if message was found
who implemented this by the way ?
it leaks lots of plabels !!!! (check with heaptrc !)
1999-03-05 01:14:23 +00:00
peter
c8f444b65f
* ag386bin updates
...
+ coff writer
1999-02-25 21:02:16 +00:00
peter
e25d934e2f
* small updates for ag386bin
1999-02-24 00:59:11 +00:00
florian
204c81bd98
+ message directive for integers added
1999-02-22 23:33:29 +00:00
florian
3c576cce7d
+ first implementation of message keyword
1999-02-22 20:13:32 +00:00
peter
5befcfad1e
* ag386bin doesn't use i386.pas anymore
1999-02-22 02:44:07 +00:00
pierre
696db29f84
* Reference specific bug in recompiling unit solved
1999-02-17 14:20:40 +00:00
peter
ad379bc2dd
* fixed crash with forward declared class of ...
1999-01-25 20:13:48 +00:00
peter
fbfdeee09e
* fixed constant strings > 255 chars
1999-01-19 12:17:00 +00:00
peter
f67fb1b0eb
* error if upper<lower in array decl
1999-01-15 13:08:19 +00:00
peter
f8f66faad4
* fixed forwardpointer problem with multiple forwards for the same
...
typesym. It now uses a linkedlist instead of a single pointer
1999-01-14 21:49:58 +00:00
peter
6ee9d913cd
+ farpointer type
...
* absolutesym now also stores if its far
1998-12-30 22:15:45 +00:00
peter
c7230805a2
* fixed const s : ^string
...
* first things for const pchar : @string[1]
1998-12-15 17:16:00 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
pierre
a1f1003555
* some range check bugs fixed (still not working !)
...
+ added DLL writing support for win32 (also accepts variables)
+ TempAnsi for code that could be used for Temporary ansi strings
handling
1998-11-30 09:42:52 +00:00
peter
6df97708c1
* check for constants with array decl
1998-11-29 12:42:24 +00:00