florian
31da813d1d
* exit is now a syssym instead of a keyword
2002-07-16 15:34:20 +00:00
carl
e8451626f6
* longstring declaration now gives parser error since its not supported!
2002-07-06 20:18:02 +00:00
Jonas Maebe
f33ee551d7
* fixed web bug #1995
2002-06-12 15:46:14 +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
peter
6320530bdd
* removed newn and disposen nodes, the code is now directly
...
inlined from pexpr
* -an option that will write the secondpass nodes to the .s file, this
requires EXTDEBUG define to actually write the info
* fixed various internal errors and crashes due recent code changes
2002-04-21 19:02:03 +00:00
peter
8af460ac31
* using inherited; without a parent having the same function
...
will do nothing like delphi
2002-04-16 16:11:17 +00:00
carl
da8b01e708
+ change unit use
2002-04-07 13:25:20 +00:00
Jonas Maebe
2965034fca
* fixed web bug #1907
...
* fixed some other procvar related bugs (all related to accepting procvar
constructs with either too many or too little parameters)
(both merged, includes second typo fix of pexpr.pas)
2002-04-01 20:57:13 +00:00
Jonas Maebe
7fb55bf4e4
+ a_loadfpu_* and a_loadmm_* methods in tcg
...
* register allocation is now handled by a class and is mostly processor
independent (+rgobj.pas and i386/rgcpu.pas)
* temp allocation is now handled by a class (+tgobj.pas, -i386\tgcpu.pas)
* some small improvements and fixes to the optimizer
* some register allocation fixes
* some fpuvaroffset fixes in the unary minus node
* push/popusedregisters is now called rg.save/restoreusedregisters and
(for i386) uses temps instead of push/pop's when using -Op3 (that code is
also better optimizable)
* fixed and optimized register saving/restoring for new/dispose nodes
* LOC_FPU locations now also require their "register" field to be set to
R_ST, not R_ST0 (the latter is used for LOC_CFPUREGISTER locations only)
- list field removed of the tnode class because it's not used currently
and can cause hard-to-find bugs
2002-03-31 20:26:33 +00:00
peter
935bb2185a
* fixed sizeof(TClass) to return only 4
2002-03-01 14:08:26 +00:00
peter
190ead04c0
* more fixes for protected handling
2002-02-03 09:30:03 +00:00
peter
0c96d4406b
* more checks for private and protected
2002-01-29 21:25:22 +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
peter
60d2ddbbd5
* protected/private symbols parsing fixed
2001-12-31 16:59:41 +00:00
florian
b60666ae1f
+ parasym to tparaitem added
2001-12-06 17:57:33 +00:00
florian
9f9c1700b0
* variant paramter passing and functions results fixed
2001-11-14 01:12:44 +00:00
peter
887f6ba34c
* removed obsolete chainprocsym and test_procsym code
2001-11-02 23:16:50 +00:00
peter
d2e1952377
* procsym definition rewrite
2001-11-02 22:58:00 +00:00
peter
ac400051bd
* allow assignment of overloaded procedures to procvars when we know
...
which procedure to take
2001-10-28 17:22:25 +00:00
marco
7215d46735
* Make new/dispose system functions instead of keywords
2001-10-24 11:51:39 +00:00
peter
075b5188ee
* better support for indexed properties
2001-10-21 13:10:50 +00:00
peter
cb06c9bcb8
* array access for properties added
2001-10-21 12:33:05 +00:00
peter
17d6dded66
* interface 2 guid support
...
* guid constants support
2001-10-20 19:28:37 +00:00
Jonas Maebe
daa7693b45
* property parameters are now fully parsed by the firstcall code to
...
check for the correct amount and types (merged)
2001-10-18 16:30:38 +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
florian
032023f8de
* some interfaces related problems regarding
...
mapping of interface implementions fixed
2001-08-22 21:16:20 +00:00
peter
81200dc9ef
* funcret moved from tprocinfo to tprocdef
2001-08-06 21:40:46 +00:00
peter
db87f86f00
* Length made internal
...
* Add array support for Length
2001-07-09 21:15:40 +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
d7eb8e1e6b
* fixed tp procvar support in parameters of a called procvar
...
* typenode cleanup, no special handling needed anymore for bt_type
2001-06-04 18:16:42 +00:00
peter
04be6d3ced
* parse const after .. using bt_const block to allow expressions, this
...
is Delphi compatible
2001-06-04 11:45:35 +00:00
peter
d997613a11
* allow typenodes for typeinfo and typeof
...
* tp procvar fixes for properties
2001-05-19 21:15:53 +00:00
peter
be05f2b65b
* fixed crash with auto dereferencing
2001-05-19 12:23:59 +00:00
peter
13877f29b2
* removed unused allow_type
2001-05-09 19:52:51 +00:00
florian
3c5793d8c6
* some Delphi incompatibilities fixed:
...
- out, dispose and new can be used as idenfiers now
- const p = apointerype(nil); is supported now
+ support for const p = apointertype(pointer(1234)); added
2001-05-04 15:52:03 +00:00
peter
af5d6e60e7
* moved more code from pass_1 to det_resulttype
2001-04-14 14:07:10 +00:00
peter
ff4ee28066
* fpc mode now requires @ also when left of assignment is an procvardef
2001-04-13 23:50:24 +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
peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
peter
1103739912
* cardinal const expr fix from jonas
2000-12-19 20:36:03 +00:00
peter
4df5f03ca7
* fixed static variables
2000-12-17 14:00:18 +00:00
Jonas Maebe
0a70f9b06e
* only return int64's from functions if it int64funcresok is defined
...
+ added int64funcresok define to options.pas
2000-12-15 13:26:01 +00:00
michael
62950eb5c5
+ Fix from Peter
2000-12-15 12:13:52 +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
8df98007d6
* more fixes to get make cycle working
2000-11-06 20:30:54 +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
8e4f77b0a5
* fixed crash with call from type decl which is not allowed (merged)
2000-10-26 23:40:54 +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
38951f5ce1
* lot of compile updates for cg11
2000-10-01 19:48:23 +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
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
90fc8a53aa
* auto derefence mode for array pointer (merged)
2000-08-20 15:12:49 +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
florian
244fc53520
+ support of 64 bit integer constants
2000-08-16 13:06:06 +00:00
peter
4549ef44e1
* merges from fixes
2000-08-04 22:00:50 +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
peter
2ce33303a3
* support for inherited; only
2000-06-14 16:52:42 +00:00
pierre
7b1219536c
+ support for NOT overloading
...
+ unsupported overloaded operators generate errors
2000-06-05 20:41:17 +00:00
pierre
6433e1d8c2
tok2node moved to htypechk unit
2000-06-02 21:22:56 +00:00
peter
d75bbf8b73
* fixed crash with inherited with varsym/propsym
2000-03-23 15:56:59 +00:00
peter
797267fde1
* protected member check for classes works
2000-03-19 11:22:21 +00:00
pierre
e0cc4f9bed
+ oppower
2000-03-16 15:13:03 +00:00
pierre
34795ccd60
* - 1**4 = -1 fix
2000-03-14 15:50:19 +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
6c3bbb7915
* corrected wrong error message of a member of a class/object/classref wasn't found
2000-01-19 22:41:58 +00:00
peter
99fe175be6
* added st_default stringtype
...
* genstringconstnode extended with stringtype parameter using st_default
will do the old behaviour
2000-01-09 23:16:05 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
pierre
6d8f8ef3f9
* web bug769 fix
1999-12-20 21:24:29 +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
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
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
8cbc068314
* fixed crash with an errordef
1999-11-14 15:57:35 +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
florian
917bf5b071
* previous fix for 517 was imcomplete: there was a problem if the property
...
had only an index
1999-11-07 23:21:30 +00:00
florian
8b40781b6c
* finally bug #517 solved ...
1999-11-07 23:16:49 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
338a386280
* fixed inherited with properties
1999-11-05 00:10:30 +00:00
peter
e0fe0916fd
* check for object in extended new
1999-10-27 16:06:19 +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
8e7dd52200
* error when properties are passed to var parameters
1999-10-22 14:37:25 +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
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
peter
6b2a0a3a5c
* fixed result access in 'if result = XXX then'
...
* fixed const cr=chr(13)
1999-09-28 11:03:54 +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
0f8f8e8ff4
* fix for pointer reading in const with @type.method
1999-09-27 11:59:42 +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
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
8a6774104d
* fix crash with empty object as childs
1999-09-13 16:26:32 +00:00
florian
35eef74308
* bug fix for @tobject.method, fixes bug #557 , 605 and 606
1999-09-11 19:47:26 +00:00
florian
1609dde2ca
* fixed bug #596
...
* fixed some problems with procedure variables and procedures of object,
especially in TP mode. Procedure of object doesn't apply only to classes,
it is also allowed for objects !!
1999-09-11 09:08:31 +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
peter
7fd914d24c
* @(<x>) support
1999-09-07 08:01:20 +00:00
peter
678aa200f1
* fixed crash with assigned()
1999-09-01 22:08:58 +00:00
peter
7b5e8ad618
* fixed property writeaccess which was buggy after my previous
...
subscribed property access
1999-08-15 22:47:45 +00:00
peter
8d9aa81d3a
* hack to support property with record fields
1999-08-14 00:38:53 +00:00
peter
67e1069659
* fixed crash after wrong para's with class contrustor
1999-08-09 22:16:29 +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
florian
ab66749e27
* new(...)^. is now allowed
1999-08-04 13:49:45 +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
michael
eba7f7c4ed
+ Changes for alpha
1999-08-03 13:50:16 +00:00
florian
7e74642b02
* modifications for the new code generator
1999-08-01 18:28:09 +00:00
peter
538e677425
* fixed crash with unknown id and colon parameter in write
1999-07-30 12:28:40 +00:00
peter
30be2bf063
* indirect type referencing is now allowed
1999-07-27 23:42:10 +00:00
peter
62273909ca
* fixed crash with resourcestring
1999-07-23 21:31:42 +00:00
peter
f380e3bd68
* error for illegal type reference, instead of 10998
1999-07-23 11:37:46 +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
florian
42f09e54ae
* another fix for TP/Delphi styled procedure variables
1999-07-06 22:38:11 +00:00
peter
248826aa81
* removed temp defines
1999-07-05 20:13:06 +00:00
peter
e303022851
* merged
1999-07-01 21:33:57 +00:00
florian
cc8c629550
* two bugs regarding method variables fixed
...
- if you take in a method the address of another method
don't need self anymore
- if the class pointer was in a register, wrong code for a method
variable load was generated
1999-06-30 15:43:18 +00:00
pierre
2083621f3e
* mereg from fixes-0_99_12 branch
1999-06-26 00:24:53 +00:00
pierre
e8da115c3f
* merged from 0_99_12 branch
1999-06-17 13:19:50 +00:00
peter
c36ae78617
* merged
1999-06-15 18:58:33 +00:00
peter
99395db696
* merged from fixes
1999-06-13 22:41:05 +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
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
peter
e8bf496ae8
* containsself fixes
...
* checktypes()
1999-05-18 14:15:18 +00:00
peter
d4659125d9
* procedure of object and addrn fixes
1999-05-18 09:52:17 +00:00
peter
b9d655b118
* remove firstcallparan which looks obsolete
1999-05-16 17:06:31 +00:00
florian
d8307b9cd3
* override isn't allowed in objects!
1999-05-12 22:36:04 +00:00
florian
a62eb5e144
* first fix for a problem with method pointer properties, still doesn't work
...
with WITH
1999-05-07 10:35:20 +00:00
peter
9abbb34b34
* fixed crash
1999-05-06 21:40:16 +00:00
peter
8ba31512e1
* check for calln in handle_procvar
1999-05-06 10:13:20 +00:00
peter
1c96916943
* generic write_float and str_float
...
* fixed constant float conversions
1999-05-06 09:05:05 +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
peter
49786e5fe5
* farpointerdef moved into pointerdef.is_far
1999-04-26 18:29:54 +00:00
peter
d2f717c9e0
* removed my property fix
1999-04-19 09:27:48 +00:00
peter
0869bc80e9
* class property without write support
1999-04-19 09:13:47 +00:00
florian
b6a9251cf3
* property problem fixed: a propertysym is only a write
...
access if it is followed by a assignment token
1999-04-19 06:10:08 +00:00
peter
dc1f9b5bbb
* addr() internal
1999-04-17 13:10:23 +00:00
peter
10c57d43f3
* fixed property write
1999-04-15 09:00:08 +00:00
florian
982e083f76
* fixed problem with default properties which are a class
...
* case bug (from the mailing list with -O2) fixed, the
distance of the case labels can be greater than the positive
range of a longint => it is now a dword for fpc
1999-04-08 20:59:37 +00:00
peter
ee82810a16
* more use of ttoken
1999-04-06 11:21:56 +00:00
peter
2bfdf91c5c
* assembler inlining working for ag386bin
1999-03-31 13:55:03 +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
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
pierre
58bfc3ac78
* some m68k fixes (still not compilable !)
...
* new(tobj) does not give warning if tobj has no VMT !
1999-03-04 13:55:39 +00:00
florian
a7179a75db
* behaviaor of PROTECTED and PRIVATE fixed, works now like TP/Delphi
1999-02-22 15:09:39 +00:00
peter
bf9b5e3a54
* updates for ag386bin
1999-02-22 02:14:59 +00:00
pierre
f59803f7d2
* fix for normal method calls inside static methods :
...
WARNING there were both parser and codegen errors !!
added static_call boolean to calln tree
1999-02-11 09:46:21 +00:00
florian
3134c9352e
* small fix for method pointers
...
* found the annoying strpas bug, mainly nested call to type cast which
use ansistrings crash
1999-01-28 14:06:45 +00:00
florian
ccd94e19cc
* "procedure of object"-stuff fixed
1999-01-27 00:13:52 +00:00
pierre
0cfc4c8f6b
* fix for constructor inside with statements
1999-01-21 16:40:51 +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
df1edc9bc0
* some stuff for procedures of object added
...
* bug with overridden virtual constructors fixed (reported by Italo Gomes)
1998-12-04 10:18:06 +00:00
peter
a41f61713d
+ open strings, $P switch support
1998-11-27 14:50:30 +00:00
pierre
4201ea4903
* var:=new(pointer_type) support added
1998-11-25 19:12:51 +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
peter
de4cf49059
* ansistring fixes
1998-11-04 10:11:36 +00:00
peter
e659040083
* fixed filedef for typenodetype
1998-10-22 23:57:29 +00:00
pierre
6c1766feed
* bug fix for IOCHECK inside a procedure with iocheck modifier
...
* removed the GPF for unexistant overloading
(firstcall was called with procedinition=nil !)
* changed typen to what Florian proposed
gentypenode(p : pdef) sets the typenodetype field
and resulttype is only set if inside bt_type block !
1998-10-21 15:12:49 +00:00
pierre
4494bfafb6
* type ptree only allowed inside expression
...
if following sizeof typeof low high or as first arg of new !!
1998-10-20 15:10:15 +00:00
pierre
136cf23427
* calling of private method allowed inside child object method
1998-10-20 11:15:44 +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
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
9ec2dfaf4a
+ added tai_const_symbol_offset
...
for r : pointer = @var.field;
* better message for different arg names on implementation
of function
1998-10-12 12:20:37 +00:00
florian
8cc7f2636e
+ auto dereferencing of pointers to structured types in delphi mode
1998-10-12 10:28:30 +00:00
peter
e3dedeb4b2
* fixed mem leak with arrayconstrutor
1998-10-12 10:05:41 +00:00
peter
166faa64f6
* crash preventions
1998-10-05 13:57:13 +00:00
peter
369e79adf9
+ assert() support
1998-10-05 12:32:44 +00:00
peter
630d8ea8d2
* crash preventions
1998-10-01 14:56:24 +00:00
florian
2cd812215b
* better error recovering
1998-09-30 07:40:33 +00:00
florian
70920974de
* two fixes to get ansi strings work
1998-09-28 16:18:16 +00:00
peter
d4ac5e456b
+ idtoken and only one token table
1998-09-26 17:45:30 +00:00
peter
8e85a889de
+ aktmodeswitches
1998-09-24 23:49:05 +00:00
florian
7ff17144f4
* problem with with and classes fixed
1998-09-23 15:46:36 +00:00
peter
a3fbac27af
* first working array of const things
1998-09-23 09:58:48 +00:00
florian
31ec3c428f
* hasharray for defs fixed
...
* ansistring code generation corrected (init/final, assignement)
1998-09-20 09:38:45 +00:00
florian
af83d90357
* some changes to compile with Delphi
1998-09-18 16:03:37 +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
peter
cba20a515a
* fixed str(boolean,string) which was allowed
...
* fixed write(' ':<int expression>) only constants where allowed :(
1998-09-07 22:25:48 +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
peter
58c2d999f0
* updated some error messages
1998-09-04 08:41:36 +00:00
peter
d66124cb2f
+ internal constant functions
1998-09-01 17:39:46 +00:00
peter
5c013220a3
* fixed smallset generation from elements, it has never worked before!
1998-08-28 10:54:18 +00:00
florian
c1c5ec3235
* internalerror with mod/div fixed
1998-08-23 16:07:20 +00:00
pierre
b61cd6cd0e
+ TEST_FUNCRET now default (old code removed)
...
works also for m68k (at least compiles)
1998-08-21 14:08:39 +00:00
peter
7c8e445400
* fixed 'with object do' bug
1998-08-20 21:36:38 +00:00
pierre
2d9cbf7fde
+ funcret setting in underproc testing
...
compile with _dTEST_FUNCRET
1998-08-20 09:26:37 +00:00
pierre
d72ca253fe
* bug for -So proc assignment to p^rocvar fixed
1998-08-18 16:48:48 +00:00
pierre
6a556346ed
* bug about assigning the return value of a function to
...
a procvar fixed : warning
assigning a proc to a procvar need @ in FPC mode !!
* missing file/line info restored
1998-08-18 14:17:08 +00:00
pierre
2222aab027
* small warning position bug fixed
...
* support_mmx switches splitting was missing
* rhide error and warning output corrected
1998-08-18 09:24:35 +00:00
peter
49e9cc95b0
* fixed proc()=expr which was not allowed anymore by my previous fix
1998-08-15 16:50:29 +00:00
peter
fb1bcf7724
+ dynamic set contruction
...
* smallsets are now working (always longint size)
1998-08-14 18:18:37 +00:00
peter
1a6ee8d4f3
* fixed procedure<>procedure construct
1998-08-13 11:00:09 +00:00
peter
befed16714
* write extended to ppu file
...
* new version 0.99.7
1998-08-11 15:31:35 +00:00
peter
d5e1886c8c
* fixed sizeof(array of char)
1998-08-11 14:05:32 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
florian
25b34c1c6c
+ implementation of raise and try..finally
...
+ some misc. exception stuff
1998-07-28 21:52:49 +00:00
florian
4caf39e3ac
* fix to allow tv like stream registration:
...
@tmenu.load doesn't work if load had parameters or if load was only
declared in an anchestor class of tmenu
1998-07-27 21:57:13 +00:00
peter
c9715847f6
* updated messages file
1998-07-14 21:46:38 +00:00
peter
4ac8e5d18f
+ internal inc/dec
1998-06-25 14:04:17 +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
pierre
afe0d5a50d
* demangled name of procsym reworked to become independant of the mangling scheme
...
Come test_funcret improvements (not yet working)S: ----------------------------------------------------------------------
1998-06-04 09:55:35 +00:00
pierre
f08a7114ae
* with node corrected for objects
...
* small bugs for SUPPORT_MMX fixed
1998-06-02 17:02:59 +00:00
peter
7b28ebd6ef
* symtable.pas splitted into includefiles
...
* symtable adapted for $ifdef NEWPPU
1998-05-27 19:45:02 +00:00
pierre
804a6a36dc
* bug fix for empty sets (nil pd was dereferenced )
1998-05-26 07:53:59 +00:00
pierre
af65f86213
* firstpasscount bug fixed
...
now all is already set correctly the first time
under EXTDEBUG try -gp to skip all other firstpasses
it works !!
* small bug fixes
- for smallsets with -dTESTSMALLSET
- some warnings removed (by correcting code !)
1998-05-25 17:11:36 +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
carl
ed8a63512c
* crash bugfix (patched msanually to main branch)
1998-05-22 12:37:03 +00:00
peter
994d0eb578
+ better procedure directive handling and only one table
1998-05-21 19:33:31 +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
pierre
6fc80b783f
* better position info with UseTokenInfo
...
UseTokenInfo greatly simplified
+ added check for changed tree after first time firstpass
(if we could remove all the cases were it happen
we could skip all firstpass if firstpasscount > 1)
Only with ExtDebug
1998-05-06 08:38:32 +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
f0daa16b41
* problem with DOM solved: it crashes when accessing a property in a method
1998-05-04 11:22:26 +00:00
florian
3233d4aeb7
* handling of private and protected fixed
...
+ change_keywords_to_tp implemented to remove
keywords which aren't supported by tp
* break and continue are now symbols of the system unit
+ widestring, longstring and ansistring type released
1998-05-01 16:38:44 +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
c5932b0677
+ exclude/include with constant second parameter added
1998-04-14 23:27:02 +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
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
pierre
c937f63b10
* bugfixes for reset_gdb_info
...
in MEM parsing for go32v2
better external symbol creation
support for rhgdb.exe (lowercase file names)
1998-04-07 13:19:42 +00:00
florian
01575ac687
- switch -Sa removed
...
- support of a:=b:=0 removed
1998-03-26 11:18:30 +00:00
root
d1a1f501c8
Initial revision
1998-03-25 11:18:12 +00:00