peter
e740a66636
* tparaitem removed, use tparavarsym instead
...
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
6096fe0789
* use realname in error msg
2004-09-13 20:33:17 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
e46cdcea48
* constants ordinals now always have a type assigned
...
* integer constants have the smallest type, unsigned prefered over
signed
2004-03-23 22:34:49 +00:00
florian
c65e094bba
+ implemented cdecl'd varargs on arm
...
+ -dCMEM supported by the compiler
* label/goto asmsymbol type with -dextdebug fixed
2004-03-20 20:55:36 +00:00
peter
abbd54f334
* stabs updates to write stabs for def for all implictly used
...
units
2004-03-08 22:07:46 +00:00
daniel
4e89e4be76
* Message system uses open arrays internally
...
* Bugfix for string handling in array constructor node
* Micro code reductions in pdecl.pas
2004-02-20 19:49:21 +00:00
daniel
7e3ad7e796
* No longer treat threadvar is normakl var if threading off
2004-02-17 19:37:16 +00:00
daniel
2835ed1b55
* Enable threadvars for all modes
2004-02-17 17:38:11 +00:00
peter
ee569d7817
* make extcycle is working again
2004-02-12 15:54:03 +00:00
peter
7b04fdec2e
* fix compilation without GDB
2004-02-11 19:59:06 +00:00
daniel
c22f863764
* Fix stabs generation problem reported by Jonas
2004-01-31 22:48:31 +00:00
daniel
862e121a0a
* Last steps before removal of aasmtai dependency in symsym can be
...
accomplished.
2004-01-31 18:40:15 +00:00
peter
1367e342db
* reg allocations for imaginary register are now inserted just
...
before reg allocation
* tregister changed to enum to allow compile time check
* fixed several tregister-tsuperregister errors
2003-12-15 21:25:48 +00:00
marco
9b3b94883b
* always generate RTTI patch from peter
2003-12-12 12:09:40 +00:00
peter
5090185909
* global property support for fpc modes
2003-12-10 16:37:01 +00:00
peter
9610911036
* don't give redefinition warning for forward classes
2003-11-12 15:48:48 +00:00
peter
6edadf3df5
* more proc directive for procvar fixes
2003-10-03 14:45:09 +00:00
peter
2bec6b14fc
* procvar directive parsing fixes
2003-10-02 21:13:09 +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
b7d99ec934
* paraloc splitted in callerparaloc,calleeparaloc
...
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
d7d14b0eca
* reset symbol for unique types
2003-04-01 16:17:15 +00:00
florian
07110d20f9
+ added proper support of type = type <type>; for simple types
2003-01-05 15:54:15 +00:00
peter
bbf8bddbb4
* unit loading changed to first register units and load them
...
afterwards. This is needed to support uses xxx in yyy correctly
* unit dependency check fixed
2002-12-29 14:57:50 +00:00
carl
6227991d96
- remove lower in hint
2002-12-05 19:27:40 +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
carl
60d17dbc01
* some small speed optimizations
...
+ added several new warnings/hints
2002-11-23 22:50:04 +00:00
carl
64655be168
* memory optimization (3-4%) : cleanup of tai fields,
...
cleanup of tdef and tsym fields.
* make it work for m68k
2002-11-17 16:31:55 +00:00
peter
edbd98176b
* made tasmsymbol.refs private (merged)
2002-11-15 16:29:30 +00:00
peter
41f6e26675
* removed df_unique flag. It breaks code. For a good type=type <id>
...
a def copy is required
2002-10-20 15:34:16 +00:00
peter
d27f79ae28
+ tobjectdef.members_need_inittable that is used to generate only the
...
inittable when it is really used. This saves a lot of useless calls
to fpc_finalize when destroying classes
2002-10-19 15:09:24 +00:00
peter
08c058037f
* only allow threadvar when threading switch is defined
2002-10-14 19:45:02 +00:00
florian
1665fc6a60
+ proper support of type <id> = type <another id>;
2002-10-06 12:25:04 +00:00
peter
a28f75ed03
* sym.insert_in_data removed
...
* symtable.insertvardata/insertconstdata added
* removed insert_in_data call from symtable.insert, it needs to be
called separatly. This allows to deref the address calculation
* procedures now calculate the parast addresses after the procedure
directives are parsed. This fixes the cdecl parast problem
* push_addr_param has an extra argument that specifies if cdecl is used
or not
2002-08-25 19:25:18 +00:00
carl
9da171faf2
+ stab register indexes for powerpc (moved from gdb to cpubase)
...
+ tprocessor enumeration moved to cpuinfo
+ linker in target_info is now a class
* many many updates for m68k (will soon start to compile)
- removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +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
florian
e7a6cd18dd
* more fixes for the ppc
...
+ wrappers for the tcnvnode.first_* stuff introduced
2002-07-29 21:23:42 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
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
peter
b4045fe57e
+ support for dll variables
1998-11-28 16:20:48 +00:00
peter
162124d10c
* give error when string[0] decl is found
1998-11-27 14:34:41 +00:00
peter
dabc19f0ff
* H+ fixes
1998-11-17 10:40:15 +00:00
pierre
93620d84dd
* stackcheck removed for i386_win32
...
* exportlist does not crash at least !!
(was need for tests dir !)z
1998-11-16 11:28:57 +00:00
peter
59c75c7410
* fixes for ansistrings
1998-11-16 10:18:07 +00:00
pierre
274bce92b8
+ added -Se in Makefile cvstest target
...
+ lexlevel cleanup
normal_function_level main_program_level and unit_init_level defined
* tins_cache grown to A_EMMS (gave range check error in asm readers)
(test added in code !)
* -Un option was wrong
* _FAIL and _SELF only keyword inside
constructors and methods respectively
1998-11-13 15:40:12 +00:00
peter
fdb8d828a6
+ nil constants
1998-11-13 10:18:09 +00:00
peter
3037445491
* released useansistring
...
* removed -Sv, its now available in fpc modes
1998-11-05 12:02:30 +00:00
pierre
1dfbb756e9
* classes get a vmt allways
...
* better error info (tried to remove
several error strings introduced by the tpexcept handling)
1998-10-27 13:45:25 +00:00
florian
eadcc6ad1a
* new introduded problem with classes fix, the parent class wasn't set
...
correct, if the class was defined forward before
1998-10-26 22:58:16 +00:00
peter
c65b618cfb
* procvar parsing updated just like psub.pas routine
1998-10-25 23:31:18 +00:00
florian
d666ac848e
+ ansistring operator +
...
+ $h and string[n] for n>255 added
* small problem with TP fixed
1998-10-21 08:39:56 +00:00
peter
309ac0b4cb
* fixed object(unknown) crash
1998-10-20 13:09:13 +00:00
pierre
a5f0168fbb
* wrong stabs info corrected once again !!
...
+ variable vmt offset with vmt field only if required
implemented now !!!
1998-10-19 08:54:53 +00:00
pierre
6b1fd26b42
* added vmt_offsets in destructors code also !!!
...
* vmt_offset code for m68k
1998-10-16 13:12:46 +00:00
pierre
d91210671d
+ added oo_hasconstructor and oo_hasdestructor
...
for objects options
1998-10-15 15:13:25 +00:00
peter
1468993242
* new style for m68k/i386 infos and enums
1998-10-13 13:10:08 +00:00
pierre
1b303e7447
* typo error for propertyparas dispose corrected
1998-10-09 12:07:49 +00:00
pierre
4073682c64
* still more memory leaks fixes !!
1998-10-09 11:47:45 +00:00
peter
47c808f95a
* fixed memory leaks for do nothing source
...
* fixed unit interdependency
1998-10-08 13:48:40 +00:00
peter
3176cb83db
* fixed set of bugs. like set of false..true set of #1..#255 and
...
set of #1..true which was allowed
1998-10-06 20:43:30 +00:00
peter
fb43998d8c
* commited the wrong file :(
1998-10-05 22:43:35 +00:00
peter
4f0915d6e1
* fixed 161,165,166,167,168
1998-10-05 21:33:15 +00:00
peter
166faa64f6
* crash preventions
1998-10-05 13:57:13 +00:00
peter
c5039c8527
* better error message for unresolved forward types
1998-10-02 17:05:58 +00:00
peter
b56098e7e3
* fixed error msg with type l=<var>
...
* block_type bt_const is now set in read_const_dec
1998-10-02 09:23:24 +00:00
florian
2cd812215b
* better error recovering
1998-09-30 07:40:33 +00:00
peter
d4ac5e456b
+ idtoken and only one token table
1998-09-26 17:45:30 +00:00
florian
16af381be8
* problems when calling class methods fixed
1998-09-25 00:04:00 +00:00
peter
8e85a889de
+ aktmodeswitches
1998-09-24 23:49:05 +00:00
pierre
9589f619d7
* browser bugfixes
...
was adding a reference when looking for the symbol
if -bSYM_NAME was used
1998-09-23 15:38:59 +00:00
daniel
13fa23a76e
* Memory leak fixed.
1998-09-21 13:24:44 +00:00
pierre
8aa4df4046
sizeof(TPOINT) problem
1998-09-17 13:41:16 +00:00
pierre
06104cdb46
* forward def are not put in record or objects
...
+ added check for forwards also in record and objects
* dummy parasymtable for unit initialization removed from
symtable stack
1998-09-09 11:50:52 +00:00
florian
29fe330347
* a lot of stuff fixed regarding rtti and publishing of properties,
...
basics should now work
1998-09-07 23:10:17 +00:00
florian
26dbc1a7ba
+ some stuff for property rtti added:
...
- NameIndex of the TPropInfo record is now written correctly
- the DEFAULT/NODEFAULT keyword is supported now
- the default value and the storedsym/def are now written to
the PPU fiel
1998-09-07 19:33:20 +00:00
peter
12a80cf3dc
* update smartlinking, uses getdatalabel
...
* renamed ptree.value vars to value_str,value_real,value_set
1998-09-07 18:45:52 +00:00
florian
e7f5a26700
* first fixes for published properties
1998-09-07 17:37:00 +00:00
peter
58c2d999f0
* updated some error messages
1998-09-04 08:41:36 +00:00
florian
66f6852b96
+ rtti generation
...
* init table generation changed
1998-09-03 16:03:14 +00:00
peter
d66124cb2f
+ internal constant functions
1998-09-01 17:39:46 +00:00
peter
a705ddb599
* fixed array_dec when unknown type was used
1998-08-31 12:20:28 +00:00
peter
19c63e360f
* removed warnings
1998-08-28 10:56:56 +00:00
pierre
27c439c940
* corrected mangling sheme :
...
cvar add Cprefix to the mixed case name whereas
export or public use direct name
1998-08-25 13:09:25 +00:00
pierre
b94116497c
* CDECL changed to CVAR for variables
...
specifications are read in structures also
+ started adding GPC compatibility mode ( option -Sp)
* names changed to lowercase
1998-08-25 12:42:36 +00:00
florian
544b4099f7
+ rtti generation for classes added
...
+ new/dispose do now also a call to INITIALIZE/FINALIZE, if necessaray
1998-08-23 21:04:34 +00:00
pierre
a5e988f4d4
* more cdecl chagnes
...
- better line info
- changes the definition options of a procvar
if it is a unnamed type
1998-08-21 15:48:58 +00:00
peter
35c6030a1b
+ subrange types for enums
...
+ checking for bounds type with ranges
1998-08-19 00:42:39 +00:00
peter
2f9143310e
+ public is the same as export for c_vars
...
* a exported/public c_var incs now the refcount
1998-08-12 19:20:39 +00:00
peter
befed16714
* write extended to ppu file
...
* new version 0.99.7
1998-08-11 15:31:35 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
florian
9af86a2bf0
+ better support for switch $H
...
+ index access to ansi strings added
+ assigment of data (records/arrays) containing ansi strings
1998-07-26 21:58:57 +00:00
florian
e770d0b0d2
* hex constants in numeric char (#$54#$43 ...) are now allowed
...
* there was a bug in record_var_dec which prevents the used
of nested variant records (for example drivers.tevent of tv)
1998-07-20 22:17:15 +00:00
florian
ce8b39ae1f
+ ansi string constants fixed
...
+ switch $H partial implemented
1998-07-18 17:11:07 +00:00
peter
c9715847f6
* updated messages file
1998-07-14 21:46:38 +00:00
peter
1bffd4e290
* released NEWINPUT
1998-07-14 14:46:36 +00:00
peter
5e5e2fd78d
* fixed ttypesym bug finally
...
* fileinfo in the symtable and better using for unused vars
1998-07-09 23:59:59 +00:00
peter
4ac8e5d18f
+ internal inc/dec
1998-06-25 14:04:17 +00:00
peter
3ea08ab259
* stricter var parsing like tp7 and some optimizes with directive
...
parsing
1998-06-24 12:26:45 +00:00
pierre
c248434392
* external name 'C_var';
...
export name 'intern_C_var';
cdecl;
cdecl;external;
are now supported only with -Sv switch
1998-06-12 16:15:34 +00:00
pierre
390fc9063d
* column problem hopefully solved
...
+ C vars declaration changed
1998-06-12 10:32:22 +00:00
pierre
5ad339b3d8
+ added procedure directive parsing for procvars
...
(accepted are popstack cdecl and pascal)
+ added C vars with the following syntax
var C calias 'true_c_name';(can be followed by external)
reason is that you must add the Cprefix
which is target dependent
1998-06-09 16:01:33 +00:00
pierre
1a44be1502
* fixes for inline for operators
...
* inline procedure more correctly restricted
1998-06-05 14:37:27 +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
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
florian
75f7938e27
* problem with sizes of classes fixed (if the anchestor was declared
...
forward, the compiler doesn't update the child classes size)
1998-06-03 22:14:16 +00:00
peter
f793c53486
* nicer error message when no id is used after var
1998-05-28 14:35:54 +00:00
peter
b3865ae063
+ aktasmmode, aktoptprocessor, aktoutputformat
...
+ smartlink per module $SMARTLINK-/+ (like MMX) and moved to aktswitches
+ $LIBNAME to set the library name where the unit will be put in
* splitted cgi386 a bit (codeseg to large for bp7)
* nasm, tasm works again. nasm moved to ag386nsm.pas
1998-05-23 01:20:53 +00:00
pierre
c80de3be27
+ UseTokenInfo now default
...
* unit in interface uses and implementation uses gives error now
* only one error for unknown symbol (uses lastsymknown boolean)
the problem came from the label code !
+ first inlined procedures and function work
(warning there might be allowed cases were the result is still wrong !!)
* UseBrower updated gives a global list of all position of all used symbols
with switch -gb
1998-05-20 09:42:32 +00:00
peter
5e4c788be5
+ $ifdef NEWPPU for the new ppuformat
...
+ $define GDB not longer required
* removed all warnings and stripped some log comments
* no findfirst/findnext anymore to remove smartlink *.o files
1998-05-11 13:07:53 +00:00
florian
a965360572
* problems with properties fixed
...
* crash fixed: i:=l when i and l are undefined, was a problem with
implementation of private/protected
1998-05-05 12:05:42 +00:00
florian
258d6968af
+ correct semantics of private and protected
...
* small fix in variable scope:
a id can be used in a parameter list of a method, even it is used in
an anchestor class as field id
1998-05-01 09:01:20 +00:00
florian
f700edae4d
+ basics for rtti implemented
...
+ switch $m (generate rtti for published sections)
1998-05-01 07:43:52 +00:00
pierre
a10c3e36bc
* GDB works again better :
...
correct type info in one pass
+ UseTokenInfo for better source position
* fixed one remaining bug in scanner for line counts
* several little fixes
1998-04-30 15:59:39 +00:00
pierre
5cdd60cac8
+ added some code for ansistring (not complete nor working yet)
...
* corrected operator overloading
* corrected nasm output
+ started inline procedures
+ added starstarn : use ** for exponentiation (^ gave problems)
+ started UseTokenInfo cond to get accurate positions
1998-04-29 10:33:40 +00:00
florian
f956607284
* make it compilable with TP
...
+ small COM problems solved to compile classes.pp
1998-04-28 11:45:52 +00:00
peter
6fd535b87d
+ new scanner
...
* $makelib -> if smartlink
* small filename fixes pmodule.setfilename
* moved import from files.pas -> import.pas
1998-04-27 23:10:27 +00:00
florian
fd860db6c6
+ some stuff to support method pointers (procedure of object) added
...
(declaration, parameter handling)
1998-04-10 21:36:55 +00:00
florian
768499730d
* more fixes to get classes.pas compiled
1998-04-10 15:39:47 +00:00
florian
9c5d07fbba
* small problems solved to get remake3 work
1998-04-09 23:02:14 +00:00
florian
50cbe1751e
* problem with previous REGALLOC solved
...
* improved property support
1998-04-09 22:16:33 +00:00
florian
41301b806d
* problem with new expr_type solved
1998-04-08 14:59:20 +00:00
florian
1d8165e4bc
* correct error handling of virtual constructors
...
* problem with new type declaration handling fixed
1998-04-08 10:26:07 +00:00
florian
bc2d9f0a3f
* bug0092, bug0115 and bug0121 fixed
...
+ packed object/class/array
1998-04-07 22:45:03 +00:00
peter
8b105d9697
* fixed the -Ss bug
...
+ warning for Virtual constructors
* helppages updated with -TGO32V1
1998-04-05 13:58:35 +00:00
root
d1a1f501c8
Initial revision
1998-03-25 11:18:12 +00:00