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
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
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
ca53eee67e
* renamed i386asm and i386base to cpuasm and cpubase
1999-08-04 00:22:34 +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
611da2d24e
* merged nasm compiler
...
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
5befcfad1e
* ag386bin doesn't use i386.pas anymore
1999-02-22 02:44:07 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
pierre
c93531b63f
* ansistring support in extdebug code
1998-11-23 17:49:03 +00:00
peter
37732325f3
* fixed variant warning with was sometimes said with sets
1998-11-05 14:26:47 +00:00
peter
3d984e5bf1
* m68k compiler compiles again
1998-10-06 20:48:56 +00:00
peter
01ec56bec4
* fixed type node which was always set to void :(
1998-09-24 15:13:44 +00:00
peter
ee6e14cd40
* splitted pass_1
1998-09-23 20:42:22 +00:00
peter
3be1a61de4
* high(arrayconstructor) is now correct
...
* procvardef support for variant record
1998-09-23 17:49:59 +00:00
florian
7ff17144f4
* problem with with and classes fixed
1998-09-23 15:46:36 +00:00
peter
0f3b84ca23
* overloading fix for array of const
1998-09-23 12:03:51 +00:00
peter
a3fbac27af
* first working array of const things
1998-09-23 09:58:48 +00:00
peter
bfc89b2587
+ pchar -> string conversion
1998-09-22 15:34:07 +00:00
pierre
d11f7636be
+ added vmt_offset in tobjectdef.write for fututre use
...
(first steps to have objects without vmt if no virtual !!)
+ added fpu_used field for tabstractprocdef :
sets this level to 2 if the functions return with value in FPU
(is then set to correct value at parsing of implementation)
THIS MIGHT refuse some code with FPU expression too complex
that were accepted before and even in some cases
that don't overflow in fact
( like if f : float; is a forward that finally in implementation
only uses one fpu register !!)
Nevertheless I think that it will improve security on
FPU operations !!
* most other changes only for UseBrowser code
(added symtable references for record and objects)
local switch for refs to args and local of each function
(static symtable still missing)
UseBrowser still not stable and probably broken by
the definition hash array !!
1998-09-21 08:45:05 +00:00
florian
16367b50f0
* small compiling problems fixed
1998-09-20 18:00:19 +00:00
florian
84e20b561c
* some things regarding ansistrings fixed
1998-09-20 17:46:47 +00:00
peter
c72691c843
+ pass_2 for cg386
...
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00
carl
d909985566
* bugfix of crash with firstaddr on valid code!
1998-09-16 01:06:17 +00:00
pierre
c4a71b4fd9
* wrong checks for colon paras in write commented out
1998-09-11 15:40:21 +00:00
florian
e42095fd18
* my last fix was buggy, corrected
1998-09-09 15:54:42 +00:00
florian
dc329ecee3
* mod/div for cardinal type fixed
1998-09-09 14:37:37 +00:00
pierre
e6a735b448
* typen check in read write
...
there are probably other inline function that have the same bug !!
1998-09-08 14:10:11 +00:00
peter
bab88c3ec6
* removed last fix becasue it was not 100%
1998-09-08 13:50:17 +00:00
peter
5991745ab3
+ can't write type syms anymore
1998-09-08 13:36:24 +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
florian
58027e2792
* possible bug with too few registers in first/secondin fixed
1998-09-05 23:51:05 +00:00
florian
b74af9c243
* some fixes to get -Or work:
...
- inc/dec didn't take care of CREGISTER
- register calculcation of inc/dec was wrong
- var/const parameters get now assigned 32 bit register, but
const parameters only if they are passed by reference !
1998-09-05 23:03:57 +00:00
florian
0d3b28fdbe
+ the boolean comparision a=true generates now the same code as only a,
...
(a=1 was compiled to cmp 1,a now it is compiled to cmp 0,a)
1998-09-05 22:29:57 +00:00
florian
16c2b4a41f
+ switch -vb
...
* while/repeat loops accept now also word/longbool conditions
* makebooltojump did an invalid ungetregister32, fixed
1998-09-05 22:10:54 +00:00
florian
28fd9c1421
* problem with -Or fixed
1998-09-04 11:55:17 +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
ca8c6dde40
* moved message() to hcodegen, so pass_2 also uses them
1998-09-01 09:02:51 +00:00
pierre
3b015ab652
* UseBrowser a little updated (might still be buggy !!)
...
* bug in psub.pas in function specifier removed
* stdcall allowed in interface and in implementation
(FPC will not yet complain if it is missing in either part
because stdcall is only a dummy !!)
1998-09-01 07:54:16 +00:00
peter
886c7ec88f
* fixed error 10 with succ() and pref()
1998-08-31 08:52:03 +00:00
florian
8cf2b05bf3
+ ansistring to pchar type cast fixed
1998-08-28 12:51:39 +00:00
peter
5c013220a3
* fixed smallset generation from elements, it has never worked before!
1998-08-28 10:54:18 +00:00
florian
d4007a291f
+ class types and class reference types are now compatible with void
...
pointers
+ class can be stored now registers, even if a type conversation is applied
1998-08-24 10:05:39 +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
7917210022
- removed obsolete in_*
1998-08-20 12:59:56 +00:00
pierre
2d9cbf7fde
+ funcret setting in underproc testing
...
compile with _dTEST_FUNCRET
1998-08-20 09:26:37 +00:00
Jonas Maebe
f2da32cd91
* changed optimizer switches + cleanup of DestroyRefs in daopt386.pas
1998-08-19 16:07:36 +00:00
peter
35c6030a1b
+ subrange types for enums
...
+ checking for bounds type with ranges
1998-08-19 00:42:39 +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
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
6fe91685a0
* fixed some crashes
1998-08-12 19:39:28 +00:00
peter
85c8a88cbe
+ localswitches, moduleswitches, globalswitches splitting
1998-08-10 14:49:33 +00:00
peter
6396267185
+ Compiler,Comphook unit which are the new interface units to the
...
compiler
1998-08-10 10:18:23 +00:00
peter
76800e807e
* small crash prevent is firstassignment
1998-08-08 21:51:39 +00:00
florian
23fe1ae0de
* try ... expect <statement> end; works now
1998-07-30 16:07:08 +00:00
florian
a1f903d4b1
* final implemenation of exception support, maybe it needs
...
some fixes :)
1998-07-30 13:30:31 +00:00
florian
38ec73449d
+ first implementation of try ... except on .. do end;
...
* limitiation of 65535 bytes parameters for cdecl removed
1998-07-30 11:18:13 +00:00
florian
25b34c1c6c
+ implementation of raise and try..finally
...
+ some misc. exception stuff
1998-07-28 21:52:49 +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
9b4225f26f
* internal error 10 together with array access fixed. I hope
...
that's the final fix.
1998-07-24 22:16:52 +00:00
florian
a824e04fc5
* handling of ansi string constants should now work
1998-07-20 18:40:10 +00:00
florian
814ae50075
* better ansi string assignement
1998-07-20 10:23:00 +00:00
florian
206549900f
* some ansi/wide/longstring support fixed:
...
o parameter passing
o returning as result from functions
1998-07-18 22:54:23 +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
756165dd30
* fixed string:= which allowed almost any type
1998-07-07 12:31:44 +00:00
peter
911abb5abc
+ NEWINPUT for a better inputfile and scanner object
1998-07-07 11:19:50 +00:00
peter
4ac8e5d18f
+ internal inc/dec
1998-06-25 14:04:17 +00:00
florian
028721c4de
* first version of rtti support
1998-06-25 08:48:04 +00:00
peter
c2d5abdfed
+ targetcpu
...
* cleaner pmodules for newppu
1998-06-16 08:56:17 +00:00
peter
a9f30325b6
* fixed xor bug (from mailinglist)
1998-06-14 18:23:57 +00:00
peter
c614d62eaf
* working browser and newppu
...
* some small fixes against crashes which occured in bp7 (but not in
fpc?!)
1998-06-13 00:10:04 +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
florian
73c9c39b22
* bugs with assigning related objects and passing objects by reference
...
to a procedure
1998-06-05 00:01:06 +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
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
pierre
f08a7114ae
* with node corrected for objects
...
* small bugs for SUPPORT_MMX fixed
1998-06-02 17:02:59 +00:00
peter
ce75b83d12
+ boolean -> ord conversion
...
* fixed ord -> boolean conversion
1998-06-01 16:50:18 +00:00
peter
d4c6283e32
* fixed -R switch, it didn't work after my previous akt/init patch
...
* fixed bugs 110,130,136
1998-05-28 17:26:47 +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
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
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
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
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
6095b9d5b1
* last fixes before the release:
...
- veryyyy slow firstcall fixed
1998-04-22 21:06:49 +00:00
peter
6fb9e55bb3
* patches from strasbourg
...
* objects is not used anymore in the fpc compiled version
1998-04-21 10:16:47 +00:00
florian
c5932b0677
+ exclude/include with constant second parameter added
1998-04-14 23:27:02 +00:00
florian
de04288a2a
* error handling of pass_1 and cgi386 fixed
...
* the following bugs fixed: 0117, 0118, 0119 and 0129, 0122 was already
fixed, verified
1998-04-13 21:15:41 +00:00
florian
08767b7891
* call by reference and call by value open arrays fixed
1998-04-13 08:42:51 +00:00