Commit Graph

562 Commits

Author SHA1 Message Date
michael
7f720c64ef Added compiler call 1998-09-21 15:45:25 +00:00
daniel
13fa23a76e * Memory leak fixed. 1998-09-21 13:24:44 +00:00
peter
4ae6e577c5 * merged fix 1998-09-21 10:26:07 +00:00
peter
ce9bc412b6 * check if procinfo.def is assigned before storing registersfpu 1998-09-21 10:01:06 +00:00
peter
d7c4af3627 * store number of defs in ppu file 1998-09-21 10:00:07 +00:00
peter
fc476492a1 * reset_gdb_info only when debuginfo is set 1998-09-21 09:00:18 +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
Jonas Maebe
fccf4109e0 * small fix for uncertain optimizations & more cleaning up 1998-09-20 17:12:35 +00:00
Jonas Maebe
0e770798da * released REGALLOC 1998-09-20 17:11:21 +00:00
peter
634686534e * merged fixes 1998-09-20 12:26:35 +00:00
florian
31ec3c428f * hasharray for defs fixed
* ansistring code generation corrected (init/final, assignement)
1998-09-20 09:38:45 +00:00
florian
8aa2cc1118 + bit 6 of tpropinfo.propprocs is set, if the property contains a
constant index
1998-09-20 08:31:29 +00:00
florian
dc3bc0cd43 * rtti for ordtypes corrected 1998-09-19 15:23:58 +00:00
florian
603b152b1f * problem with writing of class references fixed 1998-09-18 17:12:40 +00:00
florian
af83d90357 * some changes to compile with Delphi 1998-09-18 16:03:37 +00:00
peter
7d34dfd657 * -s doesn't require the .o to be available, this allows compiling of
everything on other platforms (profiling the windows.pp loading ;)
1998-09-18 09:58:51 +00:00
pierre
be29a0b86d + improvement on the usebrowser part
(does not work correctly for now)
1998-09-18 08:01:35 +00:00
Jonas Maebe
1151b6d698 * big error (with little consequences) corrected in NoChangedRegInRef 1998-09-17 21:54:21 +00:00
michael
2ffc7abcf4 + Adapted to new file structure 1998-09-17 14:18:56 +00:00
pierre
8aa4df4046 sizeof(TPOINT) problem 1998-09-17 13:41:16 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +00:00
Jonas Maebe
2c1ae07bea * optimizer now completely dependant on GetNext/GetLast instruction, works again with -dRegAlloc 1998-09-16 17:59:59 +00:00
Jonas Maebe
fee3b9ed89 * fixed -dRegAlloc and -dDRegalloc problems 1998-09-16 17:58:33 +00:00
peter
a0c582dc12 * merged fixes 1998-09-16 16:41:38 +00:00
michael
c3781fba38 Added FPC_ prefix to abstracterror 1998-09-16 12:37:07 +00:00
carl
7ada4c34fe * alignment of byte bugfix 1998-09-16 01:08:08 +00:00
carl
5de220f655 * bugfix of byte alignment 1998-09-16 01:07:43 +00:00
carl
97a09be87c * alignment fix for bytes 1998-09-16 01:07:13 +00:00
carl
086222be7f * crash bugfix in firstaddr 1998-09-16 01:06:47 +00:00
carl
d909985566 * bugfix of crash with firstaddr on valid code! 1998-09-16 01:06:17 +00:00
Jonas Maebe
30b5736b50 + bugfix from bugfix branch 1998-09-15 17:39:30 +00:00
Jonas Maebe
57886308d0 * fixed optimizer incompatibilities with freelabel code in psub 1998-09-15 14:05:22 +00:00
pierre
a5e9063968 merged from fixes branch 1998-09-15 10:49:32 +00:00
peter
6e91851740 * added inherited done 1998-09-14 21:30:45 +00:00
peter
181d4769a2 * all internal RTL functions start with FPC_ 1998-09-14 10:43:44 +00:00
peter
c23f66b8be - obsolete 1998-09-14 10:39:17 +00:00
peter
ca51e0365a * fixed tabs 1998-09-11 17:35:33 +00:00
pierre
c4a71b4fd9 * wrong checks for colon paras in write commented out 1998-09-11 15:40:21 +00:00
peter
85b4b1fde2 * merge fixes 1998-09-11 15:16:47 +00:00
michael
ab58e84c21 + makecfg has support for different kinds of units 1998-09-11 13:12:45 +00:00
pierre
956fb22192 * removed explicit range_checking as it is buggy 1998-09-11 12:29:40 +00:00
pierre
f556db3b50 * restored m68k part 1998-09-11 12:27:55 +00:00
pierre
5fdedec5a0 added execlean target to be able to keep *.s files 1998-09-11 12:27:04 +00:00
daniel
72cd85e1c7 * Removed tabs. 1998-09-11 09:19:53 +00:00
daniel
4e7516e897 + Added maxheapsize.
* Corrected semi-bug in calling the assembler and the linker
1998-09-10 15:25:31 +00:00
peter
c914391f33 * msg2inc compile works 1998-09-10 13:53:54 +00:00
peter
73c208663d * 'ar rs' -> 'ar rcs' which is more common 1998-09-10 13:52:40 +00:00
peter
f152ac4804 * tp compiler also uses 'as' as asmprefix 1998-09-10 13:51:32 +00:00
peter
9638b55bdf * small update for <lf>
* errorn.msg updated
1998-09-09 20:15:40 +00:00
michael
bdfabe3317 Spaces to tabs... 1998-09-09 18:26:25 +00:00
florian
a60e64a2e5 * version number changed to 0.99.8 1998-09-09 18:17:15 +00:00
florian
8861c72aef * the next try to fix the case problem ... 1998-09-09 17:51:59 +00:00
florian
438de2d913 * I hope, the case bug is fixed now 1998-09-09 16:44:21 +00:00
florian
e42095fd18 * my last fix was buggy, corrected 1998-09-09 15:54:42 +00:00
peter
255803cc04 * removed warnings 1998-09-09 15:33:58 +00:00
peter
6848d5170d * fixed in_global to allow directives also after interface token 1998-09-09 15:33:06 +00:00
florian
dc329ecee3 * mod/div for cardinal type fixed 1998-09-09 14:37:37 +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
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
michael
fbfaf30c0b Adapted to changed Signal call 1998-09-08 13:01:09 +00:00
pierre
0998759caf * some variable fields inside conditionnal were not updated 1998-09-08 10:38:04 +00:00
pierre
70b08b24f2 * name field of filedef corrected 1998-09-08 10:23:44 +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
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
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
peter
295d53cb69 + smartlinking for win95 imports 1998-09-07 18:33:31 +00:00
peter
4741a526c3 * fixed for m68k 1998-09-07 18:32:45 +00:00
florian
e7f5a26700 * first fixes for published properties 1998-09-07 17:37:00 +00:00
florian
9523c61fc1 + rtti genreation for properties added 1998-09-06 22:42:02 +00:00
peter
e66c5b0b9c * update 1998-09-06 19:42:11 +00:00
florian
99db27959b - all stuff moved to docs\internal.tex 1998-09-06 17:11:28 +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
peter
fadc4f7b86 * filedef updated 1998-09-04 18:15:02 +00:00
pierre
5bde11ba3b * bug with datalabel corrected
+ assembler errors better commented
  * one nested record crash removed
1998-09-04 17:34:20 +00:00
peter
849b98894e * fixed small typo 1998-09-04 15:05:32 +00:00
florian
7cedcfc690 * bug0159 fixed 1998-09-04 12:24:24 +00:00
florian
28fd9c1421 * problem with -Or fixed 1998-09-04 11:55:17 +00:00
florian
9d247d5a18 * ugly fix for STRCAT, nevertheless it needs more fixing !!!!!!!
we need an new version of STRCAT which takes a length parameter
1998-09-04 10:05:04 +00:00
florian
a6a35e02ab * bug0132 fixed 1998-09-04 09:06:36 +00:00
peter
58c2d999f0 * updated some error messages 1998-09-04 08:41:36 +00:00
peter
ad876c5a90 * fixed boolean:=integer which is not explicit 1998-09-04 08:36:49 +00:00
peter
86a7e31743 + (. and .) which are equal to [ and ] 1998-09-04 08:36:06 +00:00
florian
6ca0a4d19b + better code for type conversation longint/dword to real type 1998-09-03 17:39:03 +00:00
pierre
e1bc033a5c * better lines for stabs
(no scroll back to if before else part
    no return to case line at jump outside case)
  + source lines also if not in order
1998-09-03 17:08:37 +00:00
florian
eb42a79164 * bug of type conversation from dword to real fixed
* bug fix of Jonas applied
1998-09-03 16:24:50 +00:00
florian
66f6852b96 + rtti generation
* init table generation changed
1998-09-03 16:03:14 +00:00
peter
2f528ca8d9 * moved more inputfile things from tscannerfile to tinputfile
* changed ifdef Sourceline to cs_asm_source
1998-09-03 11:24:00 +00:00
carl
5532caf597 * indirect register refs with movsx/movzx fixed 1998-09-02 15:16:44 +00:00
peter
6a5a4973cc * enum packing changed from len to max 1998-09-02 15:14:28 +00:00
peter
19e4c67078 * fixed typo in directive table 1998-09-02 15:13:31 +00:00
pierre
2d3c36ad2c + added -s support must be defined as LOCALOPT
because it does not work for rtl building
  + added some compilation time info
1998-09-02 08:51:30 +00:00
carl
8b4cca9641 * bugfix of PUSH opcode with constants 1998-09-02 01:24:09 +00:00
carl
0de70c3b6e * bugfix of operand overrides, VERY stupid bugfix BTW... 1998-09-02 01:23:40 +00:00
peter
d66124cb2f + internal constant functions 1998-09-01 17:39:46 +00:00
peter
92e386c26f * nicer output when column=0 1998-09-01 17:37:59 +00:00
peter
d3671db8bf * removed debug writeln :( 1998-09-01 17:37:29 +00:00
peter
c4ed67543a + aktpackenum 1998-09-01 12:53:19 +00:00
peter
f4799ed92f + a lot of delphi switches 1998-09-01 12:52:05 +00:00
peter
0382686875 * close also resets lastlinepos 1998-09-01 12:51:02 +00:00
peter
d7af76312f * better setverbosity to support W+/W- etc. 1998-09-01 12:49:52 +00:00
peter
1ce8f6f825 * use pdef^.size instead of orddef^.typ 1998-09-01 12:47:57 +00:00
peter
19bf2df53a * m68k fixes, splitted cg68k like cgi386 1998-09-01 09:07:08 +00:00
peter
fdc07d7e67 * fixed string[4]='.library' 1998-09-01 09:05:36 +00:00
peter
6b807957b1 + resetregistercount, resetusableregisters 1998-09-01 09:03:47 +00:00
peter
ca8c6dde40 * moved message() to hcodegen, so pass_2 also uses them 1998-09-01 09:02:51 +00:00
peter
f0278f7ddd * initialize all object variables in .init 1998-09-01 09:01:52 +00:00
peter
df59d0886a + glibc2 support 1998-09-01 09:01:00 +00:00
peter
187b659121 - removed tempheap creation/restore 1998-09-01 09:00:27 +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
35a8d2e4fd * m68k and palmos updates from surebugfixes 1998-08-31 12:26:20 +00:00
peter
0eb6dd34aa * secondinline moved to cg386inl 1998-08-31 12:22:14 +00:00
peter
a705ddb599 * fixed array_dec when unknown type was used 1998-08-31 12:20:28 +00:00
peter
886c7ec88f * fixed error 10 with succ() and pref() 1998-08-31 08:52:03 +00:00
peter
5eaee9c9ad + new messagefile
* merged optione.msg into errore.msg
1998-08-29 13:52:29 +00:00
peter
9800ecdb4d * moved get_exepath to globals
+ date_string const with the current date for 0.99.7+
1998-08-29 13:51:10 +00:00
peter
08f3c3dc77 * fixed freemem calls which had the wrong size sometimes 1998-08-29 13:49:00 +00:00
florian
8cf2b05bf3 + ansistring to pchar type cast fixed 1998-08-28 12:51:39 +00:00
peter
19c63e360f * removed warnings 1998-08-28 10:56:56 +00:00
peter
5c013220a3 * fixed smallset generation from elements, it has never worked before! 1998-08-28 10:54:18 +00:00
florian
4394fa784d * reinstated Jonas' bugfix 1998-08-27 15:17:50 +00:00
carl
17ddc67710 +} now record offsets searches set the operand sizes 1998-08-27 00:43:06 +00:00
carl
5ce923955d * bugfix of leal problem
* bugfix of using overrides with record offsets
  * bugfix if using records to load values
1998-08-27 00:42:17 +00:00
peter
547dca7111 * fixed scannerfiles for macros
+ $I %<environment>%
1998-08-26 15:35:30 +00:00
peter
5dce7ad29a * heapblocks for >0.99.5 1998-08-26 15:31:17 +00:00
peter
4572d22872 * more lowercase extensions 1998-08-26 10:09:21 +00:00
peter
f002eb11a0 * fixed problem with libprefix at the wrong place
* fixed lib generation with smartlinking and no -CS used
1998-08-26 10:08:47 +00:00
peter
2d765331c1 * dispose trees is now default for all > 0.99.5 compiles 1998-08-26 10:07:09 +00:00
peter
c316229a7f * reduce amount of asmfiles generated
* no stabs are written in writefilelineinfo when debuginfo is off
1998-08-26 10:06:34 +00:00
pierre
b8b02bb518 * removed a line that add no sense and
introduce garbage in the asmlist
    (uninitialized data !)
1998-08-25 16:58:59 +00:00
pierre
d648f9c796 * openppu was true even if the object file is missing
this lead to trying to open a filename without extension
    and prevented the 'make cycle' to work for win32
1998-08-25 16:44:16 +00:00
florian
560661014f * patch of Jonas applied 1998-08-25 14:23:17 +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
peter
03ae46b6ca * fixed -15 seen as byte in case 1998-08-25 11:51:46 +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
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
florian
c1c5ec3235 * internalerror with mod/div fixed 1998-08-23 16:07:20 +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
765a36211c * win32 compiles a bit better, no growheap crash 1998-08-21 15:16:56 +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
pierre
9d31c53507 * better line info for asm statements 1998-08-21 08:45:49 +00:00
peter
7c8e445400 * fixed 'with object do' bug 1998-08-20 21:36:38 +00:00