Commit Graph

2326 Commits

Author SHA1 Message Date
peter
c5410eee5c * preprocessor support. But it fails on the caret in type blocks 1999-12-02 17:34:34 +00:00
peter
f9e72b6763 * fixed procvar -> pointer for array of const 1999-12-02 17:28:53 +00:00
peter
a58dbf6338 * give error when for counter is in other lexlevel 1999-12-02 17:27:56 +00:00
florian
17950502e1 + added support for succ/pred(<qword/int64>) 1999-12-02 12:38:45 +00:00
peter
8f6b17fdbf * OPT is by default included for rtlopt/localopt 1999-12-02 11:29:42 +00:00
peter
11b8f997c7 * INFTPPU define to write the ppu of the interface to .ppu.intf 1999-12-02 11:29:07 +00:00
peter
295c4e4ce1 * moved verbose to implementation uses 1999-12-02 11:28:27 +00:00
peter
ad2b1fb278 * newoptimizations define added 1999-12-02 11:26:41 +00:00
peter
368452de05 * fixed wrong assembler with in-node 1999-12-01 22:45:54 +00:00
peter
f2d894e78f * fixed sigsegv with casedef=nil 1999-12-01 22:43:17 +00:00
pierre
98a6530898 * give info of original duplicated symbol more often 1999-12-01 22:32:35 +00:00
pierre
c22b1b5429 * problem with unused external symbol in stabs solved 1999-12-01 22:05:13 +00:00
peter
d3b404c1a4 * fixed bug #698
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
3d1c450db8 * fixed selfpointer after destroyexception 1999-12-01 12:36:23 +00:00
pierre
beb3db8d92 * don't redefine sw_integer for FPC : corrected version 1999-12-01 11:11:19 +00:00
pierre
743092f6ac * don't redefine sw_integer for FPC 1999-12-01 11:05:47 +00:00
pierre
5fb34a8946 * restore the correct way for stabs of forward defs 1999-12-01 10:26:38 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +00:00
pierre
1bfbccaf08 * fix for form bug #555 1999-11-29 23:42:49 +00:00
florian
7e458d9519 * problem with taking the address of abstract procedures fixed 1999-11-29 22:36:48 +00:00
pierre
e3ad9cae78 * fix for internalerror(12) on ord(booleanarray[1]) 1999-11-29 22:15:25 +00:00
Tomas Hajny
dbf50c9a22 * missing space in EMXBIND params 1999-11-29 20:15:29 +00:00
pierre
ccbc5b3709 * bug in previous commit corrected 1999-11-29 16:24:52 +00:00
pierre
6297537f4b + allow exports in win32 executables 1999-11-29 15:18:27 +00:00
pierre
e9bef7b71d * fix for form bug #699 1999-11-29 00:30:06 +00:00
pierre
377e19128d * fix for form bug #721 1999-11-28 23:15:23 +00:00
Jonas Maebe
cc5683ace5 + if you define "newOptimizations", all extra optimizations that
require conditional defines will be activated (ie., it's equivalent
    to "-dreplacereg -darithopt -dforopt -dfoldarithops")
1999-11-27 23:50:22 +00:00
Jonas Maebe
e250138c67 + change "mov var,reg; add/shr/... x,reg; mov reg,var" to
"add/shr/... x,var" (if x is a const or reg, suggestion from Peter)
    Enable with -dfoldArithOps
1999-11-27 23:47:55 +00:00
Jonas Maebe
ff017bbd5f * even more missing register deallocations are added! 1999-11-27 23:45:43 +00:00
pierre
df71a1433b * fix for overloading of shr shl mod and div 1999-11-26 13:51:29 +00:00
peter
eb4e24afb1 * property overriding dereference fix, but it need a bigger redesign
which i'll do tomorrow. This quick hack is for the lazarus ppl so
    they can hack on mwcustomedit.
1999-11-26 00:19:12 +00:00
peter
1974fc356a * updates 1999-11-26 00:17:58 +00:00
peter
41c91ed6b3 * package dependencies 1999-11-25 20:22:56 +00:00
peter
d9402cf275 * fpcmake updates 1999-11-24 23:55:34 +00:00
pierre
ced51f4835 * $STRIP was missign in DllCmd[1] 1999-11-24 11:45:36 +00:00
pierre
ae7a04ea12 * defaultsymtablestack is now restored after parser.compile 1999-11-24 11:41:03 +00:00
pierre
472fe53fe5 * asmmode message was placed too early 1999-11-24 11:39:53 +00:00
peter
5b9eb70e97 * fixed RTLDIR 1999-11-23 12:38:46 +00:00
peter
312ca8700f * makefile updates to work with new fpcmake 1999-11-23 09:42:38 +00:00
pierre
8049831c3f * Give better info in script 1999-11-22 22:22:30 +00:00
pierre
76b6d69d56 * Compute correct Exe Filenam 1999-11-22 22:21:46 +00:00
pierre
00a8ec4695 * Def file syntax for win32 with index corrected
* direct output of .edata leads to same indexes
    (index 5 leads to next export being 6 unless otherwise
    specified like for enums)
1999-11-22 22:20:43 +00:00
michael
62c9663d4f Latest message file from Alexander Stohr 1999-11-22 14:18:26 +00:00
pierre
fca8adf6c2 * also complain about unused functions in program 1999-11-22 00:23:09 +00:00
Jonas Maebe
7d1b3066d9 * fixed some missed optimizations because 8bit regs were not always
taken into account
1999-11-21 13:09:41 +00:00
Jonas Maebe
653d672377 * improved fixing of missing regallocs (they're almost all correct
now!)
1999-11-21 13:06:30 +00:00
pierre
e4bfedf924 * Nextoverloading ordering fix 1999-11-21 01:42:37 +00:00
Jonas Maebe
6746b61501 * fixed small typo (C_M* -> Ch_M*) so -darithopt compiles again 1999-11-20 12:50:32 +00:00
Jonas Maebe
1a761b3881 * make cycle works with -dreplacereg (register renaming)! I have not
tested it yet together with -darithopt, but I don't expect problems
1999-11-20 11:37:03 +00:00
pierre
221382d99c + cond FPC_USE_CPREFIX (needs also some RTL changes)
this allows to use unit global vars as DLL exports
    (the underline prefix seems needed by dlltool)
1999-11-20 01:22:18 +00:00
pierre
8025581bfd * DLL index used for win32 target with DEF file
+ DLL initialization/finalization support
1999-11-20 01:19:10 +00:00
pierre
bb6dc0cee8 * avoid certain wrong notes/hints 1999-11-19 14:49:15 +00:00
pierre
9a9219324f * avoid double warnings 1999-11-18 23:35:40 +00:00
pierre
b528749138 * Notes/Hints for local syms changed to
Set_varstate function
1999-11-18 15:34:44 +00:00
pierre
fd1e583ead + IsExe global var needed for IDE 1999-11-18 13:43:48 +00:00
peter
2392d09110 * reinserted jonas version 1999-11-18 11:39:43 +00:00
peter
b5a64f5239 * reinserted 1999-11-18 11:31:47 +00:00
pierre
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +00:00
pierre
4decca16cf symconst is now a unit 1999-11-17 16:49:45 +00:00
pierre
1cac8fdbd8 * global var token was changed by overload code (form bug #707) 1999-11-16 23:45:28 +00:00
peter
32d3653596 * use outputexedir for link.res location 1999-11-16 23:39:04 +00:00
peter
be864a992e * updated 1999-11-16 23:37:34 +00:00
peter
918b5219ea * labels used but not defined give error instead of warning, the warning
is now only with declared but not defined and not used.
1999-11-15 22:00:46 +00:00
peter
79f6135498 * LOC_JUMP support for vecn 1999-11-15 21:54:38 +00:00
peter
76e4b69919 * fixed constant eval for bool xor/or/and bool 1999-11-15 21:53:42 +00:00
peter
892d38d1f4 * push address also for raise at 1999-11-15 21:49:09 +00:00
peter
173c9ae360 * distclean cleans also ppas link.res log 1999-11-15 21:48:48 +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
pierre
5fa01cdc9e * -g disables reloc section for win32 1999-11-15 17:42:40 +00:00
pierre
604766601d * Pavel's changes for reloc section in executable
+ warning that -g needs -WN under win32
1999-11-15 15:03:46 +00:00
pierre
50193df98e + Pavel's changes to support reloc section in exes 1999-11-15 15:01:56 +00:00
pierre
7526d8714f * last was not handled correctly in TStringQueue 1999-11-15 14:59:55 +00:00
pierre
8e738214a1 * self pointer stabs for local function was wrong 1999-11-15 14:04:00 +00:00
peter
8cbc068314 * fixed crash with an errordef 1999-11-14 15:57:35 +00:00
peter
2537225035 * fixed stringqueue.delete 1999-11-14 15:56:36 +00:00
peter
46ae55d3cd * makefile.fpc note 1999-11-14 15:54:26 +00:00
Jonas Maebe
404ca4568d + basic register renaming (not yet working completely, between
-dreplacereg/-dreplaceregdebug)
1999-11-14 11:26:53 +00:00
Jonas Maebe
dce0f2cd38 * fixed stupid typo in previous commit :( 1999-11-14 11:25:38 +00:00
Jonas Maebe
9ffa216681 * don't remove align objects between JMP's and labels 1999-11-13 19:03:56 +00:00
Jonas Maebe
0a2e7859d2 * Jcc doesn't destroy anything (instead of everyting)
* MOVcc reads op1, writes op2 and raads from the flags
1999-11-13 19:03:16 +00:00
Jonas Maebe
194c612b07 * div, idiv and mul destroy edx!! 1999-11-13 19:01:51 +00:00
michael
c68cf725c6 New error message file from Michael Baikov 1999-11-12 22:52:13 +00:00
peter
e169c592f8 * searchpaths changed to stringqueue object 1999-11-12 11:03:49 +00:00
pierre
ff38b7943a * Enum element reference location corrected 1999-11-11 00:56:54 +00:00
peter
ba170472db * fpcmake updated 1999-11-10 22:10:44 +00:00
pierre
fdd9823d85 * LookUp function now returns the complete name in browcol
and fpsymbol only yakes a part of LoopUpStr
1999-11-10 00:42:42 +00:00
pierre
acaa9296b7 * more browser details 1999-11-10 00:24:02 +00:00
pierre
614fff10f0 * adapted to procinfo as pointer 1999-11-10 00:06:08 +00:00
pierre
3fa7ed902e * some DBX work 1999-11-09 23:51:25 +00:00
pierre
71f8768399 * some DBX work, still does not work 1999-11-09 23:48:47 +00:00
pierre
f88f9f5763 + minimal_stop to avoid memory loss with -iTO switch 1999-11-09 23:47:53 +00:00
pierre
d13efaa366 * power search for ** operator not in browser
* DBX support work, still does not work !
1999-11-09 23:46:00 +00:00
pierre
142ace2afc * better browser info 1999-11-09 23:43:08 +00:00
pierre
d766ee87fc + better reference pos for forward defs 1999-11-09 23:35:49 +00:00
pierre
2bb6dcfa7b + resolving_forward boolean used for references 1999-11-09 23:34:46 +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
3835a94b89 * compiles again both i386,alpha both with optimizer 1999-11-09 22:57:08 +00:00
peter
1d8ee73e62 * fpcmake 1999-11-09 22:55:19 +00:00
peter
67a8409186 * fixed wrong asm with inc(qword), but not it's not correctly supported 1999-11-09 22:54:45 +00:00
peter
7fc2e3bf91 * pointer->array is allowed for all pointer types in FPC, fixed assign
check for it.
1999-11-09 14:47:03 +00:00
peter
a2cdbddb56 * valid_for_assign allow properties with calln 1999-11-09 13:29:33 +00:00
peter
b8b39e0980 * fixed 'raise end;' 1999-11-09 13:02:46 +00:00
peter
225bbac550 * define FPC_DELPHI,FPC_OBJFPC,FPC_TP,FPC_GPC
* initial support for ansistring default with modes
1999-11-09 13:00:37 +00:00
peter
18c5e77444 * support absolute unit.variable 1999-11-09 12:58:29 +00:00
peter
5ba2053928 * allow typecasting to integer within pointer typecast+deref 1999-11-08 22:45:33 +00:00
peter
1f5571c3ca * PP -> FPC 1999-11-08 22:44:49 +00:00
florian
08a34c6308 * disposetree for classrefdef added 1999-11-08 18:50:11 +00:00
pierre
ffbacdffde + Reset AnsiStrings to clean up memory 1999-11-08 16:27:20 +00:00
pierre
a4926e2d26 * missing disposetree added to avoid memory loss 1999-11-08 16:24:28 +00:00
peter
79d331a978 * fpcmake support 1999-11-08 15:01:38 +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
peter
df694c76e8 * filename fixes for win32 imports for units with multiple needed dll's 1999-11-08 10:37:12 +00:00
pierre
aa99cfa4d0 + higher level browser 1999-11-07 23:57:36 +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
Jonas Maebe
8a2453ab1d * much more complete/waterproof RegModifiedByInstruction() 1999-11-07 14:57:09 +00:00
Jonas Maebe
8cad9f9dbf * fixed properties for cmp (didn't read any operands, only changed
flags)
1999-11-07 14:55:49 +00:00
Jonas Maebe
621cecced4 * getfinaldestination works completely again (a lot of functionality
got lost in the conversion resulting from the removal of
    ait_labeled_instruction)
1999-11-06 16:24:00 +00:00
Jonas Maebe
d70b3211a4 + search optimial register to use in alignment code (compile with
-dalignreg, -dalignregdebug to see chosen register in
    assembler code). Still needs support in ag386bin.
1999-11-06 16:21:57 +00:00
peter
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
pierre
25553ebfea * local browsing works at first level
ie for function defined in interface or implementation
    not yet for functions inside other functions
1999-11-05 17:18:02 +00:00
Jonas Maebe
2688bfd9ec + first implementation of choosing least used register for alignment code
(not yet working, between ifdef alignreg)
1999-11-05 16:01:45 +00:00
florian
3d9daba4c7 * some fixes to get the new cg compiling again 1999-11-05 13:15:00 +00:00
Jonas Maebe
b3276fa59e + a_jmp_cond() 1999-11-05 07:05:56 +00:00
peter
338a386280 * fixed inherited with properties 1999-11-05 00:10:30 +00:00
peter
94cb2299ea * moved unit alias support into ifdef 1999-11-04 23:13:25 +00:00
peter
aa295af911 * fixed pchar and deref detection for assigning 1999-11-04 23:11:21 +00:00
peter
38ee2fd8b4 * TSearchPathString for the string type of the searchpaths, which is
ansistring under FPC/Delphi
1999-11-04 10:55:31 +00:00
peter
1610a9d709 + -Ua<oldname>=<newname> unit alias support 1999-11-04 10:54:02 +00:00
pierre
7b5bae5ded * fix for fpuvaroffset for unused return value 1999-11-04 00:23:58 +00:00
peter
c60316b0d3 * fixed comment level counting after directive 1999-11-03 23:44:28 +00:00
peter
8e27e760ce * fixed ar commands 1999-11-03 23:43:45 +00:00
peter
d1e68e7136 * default units/rtl paths 1999-11-03 23:43:09 +00:00
Jonas Maebe
e10deeca37 + initial implementation 1999-11-03 14:13:59 +00:00
peter
19443ae269 * import library fixes for win32
* alignment works again
1999-11-02 15:06:56 +00:00
peter
be22c241fb * fixed oldtp comment parsing 1999-11-02 15:05:08 +00:00
peter
f4932cb67b * fpc_freemem fpc_getmem new callings updated 1999-10-30 17:35:26 +00:00
peter
0e7c4919c8 * fixed line counter when the first line had #10 only. This was buggy
for both the main file as for include files
1999-10-30 12:32:30 +00:00
peter
00ef632f73 * fixed assert, the tree is now disposed in firstpass if assertions
are off.
1999-10-29 15:28:51 +00:00
pierre
4849432ede * allow doubles in TLinkContainer needed for double libraries 1999-10-28 13:14:00 +00:00
pierre
6db8e1edba * fix for cygwin make problem with -iTP 1999-10-28 11:13:36 +00:00
pierre
a7ee8d9c4a * Libs can be link serveral times 1999-10-28 10:33:06 +00:00
peter
67589c0532 * fixed typo 1999-10-28 09:48:10 +00:00
peter
26a239136d * update to use i386ins.dat 1999-10-28 09:47:45 +00:00
peter
f5a9e30c98 * insns.dat is used to generate all i386*.inc files 1999-10-27 16:11:27 +00:00
peter
63158d246c * updated for new layout 1999-10-27 16:06:52 +00:00
peter
e0fe0916fd * check for object in extended new 1999-10-27 16:06:19 +00:00
peter
e2134ddcab * valid_for_assign support for calln,asn 1999-10-27 16:04:45 +00:00
peter
7ab2ee0e79 * fixed property reading 1999-10-27 16:04:06 +00:00
florian
19694e6112 * property overriding fixed 1999-10-27 14:17:08 +00:00
peter
2a12c5f1da * define INCLUDEOK, which seems to work correct 1999-10-26 13:13:47 +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
a905c026f2 * fixed os2 linker 1999-10-26 12:25:04 +00:00
peter
4a74f18756 * fixed bug #301 1999-10-25 12:18:11 +00:00
peter
44a1fdfa7e * ansistring 2 chararray support
* optimized ansitring 2 pchar
1999-10-25 10:32:43 +00:00
Jonas Maebe
9feb0d4b0e + entry/exitcode for SystemV (Linux) and AIX/Mac from the Altivec
PIM (no AltiVec support yet though)
  * small fix to the a_cmp_* methods
1999-10-24 09:22:18 +00:00
Jonas Maebe
a9b5e27bc1 * finally got around making GetNextInstruction return false when
the current pai object is a AsmBlockStart marker
  * changed a loop in aopt386 which was incompatible with this change
1999-10-23 14:44:24 +00:00
peter
863f35e72b * reset linklibc 1999-10-22 14:42:40 +00:00
peter
8e7dd52200 * error when properties are passed to var parameters 1999-10-22 14:37:25 +00:00
peter
461430ad5c * fixed esi reload with as 1999-10-22 14:36:04 +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
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
peter
46b5193e9b * tp7 fix 1999-10-21 14:18:54 +00:00
Jonas Maebe
6de203e9dc * fixed a_loadaddress_ref_reg (mentioned as ToDo in rev. 1.5)
* small bugfix in a_load_store
1999-10-20 12:23:24 +00:00
Jonas Maebe
8f3c1464d5 * changed scratch_registers to (R_11,_R12,R_30) because R_0 is a special
case and R_31 is used as some kind of frame pointer under LinuxPPC
1999-10-20 12:21:34 +00:00
michael
9a3d560559 Added rtlinstall target 1999-10-15 20:47:52 +00:00
florian
fa19f0aa09 - removed the hcodegen use in the new cg, use cgbase instead 1999-10-14 14:57:51 +00:00
pierre
ff8ba9c049 * fix for uggly bug of Marco 1999-10-13 22:09:29 +00:00
peter
9f49a743ee * cgmessagepos functions 1999-10-13 10:42:15 +00:00
peter
c439829c5d * subscript support for tp_procvar 1999-10-13 10:40:55 +00:00
peter
19aa88a729 * moved mangledname creation of normal proc so it also handles a wrong
method proc
1999-10-13 10:37:36 +00:00
peter
851ad1af06 * var must match exactly error msg extended with got and expected type
* array constructor type check now gives error on wrong types
1999-10-13 10:35:23 +00:00
peter
1e940ee840 * dpmi can only be set after reading the options 1999-10-13 10:24:49 +00:00
florian
51b96fabc3 * compiler didn't complain about l1+l2:=l1+l2; it gave only an assembler
error, fixed
1999-10-12 22:35:48 +00:00
florian
8b9633266b * new codegenerator compiles again 1999-10-12 21:20:41 +00:00
pierre
281c77f2b1 * error if calling interrupt procedure 1999-10-12 15:50:54 +00:00
michael
fc4e4bc74a Nieuw error file from Michael Baikov 1999-10-12 14:41:23 +00:00
Jonas Maebe
9a8ecfc76b * fixed bug which sometimes caused a crash when optimizing blocks of code with
assembler blocks (didn't notice before because of lack of zero page protection
    under Win9x :( )
1999-10-11 11:11:31 +00:00
pierre
7bf3213a01 * use and remember that C functions with complex data results use ret $4 1999-10-08 15:40:47 +00:00
pierre
a7992b0232 * library list keeps doubles 1999-10-08 15:38:42 +00:00
Jonas Maebe
2ad775b888 * small bugfix in ArrayRefsEq 1999-10-07 16:07:35 +00:00
peter
e10d770cc3 * fixed stabs writting for forward types 1999-10-06 17:39:14 +00:00
peter
755fc18c07 * fixed empty const ansistring 2 pchar 1999-10-06 08:32:00 +00:00
peter
c61bb81b5e * new tool 1999-10-06 06:29:03 +00:00
pierre
781429264d * bug exit('test') + fail for classes 1999-10-05 22:01:52 +00:00
peter
5726bd1684 * fixed first pass for if branches if the expression got an error 1999-10-04 20:27:41 +00:00
michael
35feded070 * patch from peter for classes 1999-10-04 13:46:04 +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
1a52969bdd * inittable for record fixed (it was only checking for classes) 1999-10-03 19:41:38 +00:00
peter
b2ae851b20 * error check after pass1 of second for argument 1999-10-03 19:39:40 +00:00
peter
6b6fc5aac4 * fixed forward decl check for tp7/delphi 1999-10-03 19:38:39 +00:00
Jonas Maebe
6ca2b6e276 * CSE now updates the RegAlloc's 1999-10-01 13:51:40 +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
78246cf227 * fixed is_equal for proc -> procvar which didn't check the
callconvention and type anymore since the splitting of procoptions
1999-10-01 10:04:07 +00:00
peter
49fcd8aceb * forward type declaration rewritten 1999-10-01 08:02:45 +00:00
peter
e838769af8 * fixed object field parsing 1999-10-01 07:59:20 +00:00
Jonas Maebe
47b0fcf922 * fixed small efficiency which caused some missed optimizations (saves 1
assembler instruction on the whole compiler/RTL source tree! :)
1999-09-30 14:43:13 +00:00
Jonas Maebe
167f8d654f * fixes from daopt386.pas integrated 1999-09-29 13:50:34 +00:00
Jonas Maebe
e62d58ea51 * writing to a position in an array now only destroys registers
containing a reference pointing somewhere in that array (since my last
    fix, it behaved like a write to a pointer location)
1999-09-29 13:49:53 +00:00
florian
796234f596 * fixed bug #292 from bugs directory 1999-09-29 11:46:18 +00:00
peter
4e9c029777 * reinserted 1999-09-28 22:40:12 +00:00
florian
1bad993700 * fixed bug #608 1999-09-28 21:07:53 +00:00
florian
ed7dd22b82 * fixed bug #610
+ added $D- for TP in symtable.pas else it can't be compiled anymore
    (too much symbols :()
1999-09-28 20:48:23 +00:00
florian
f050faa02b * bug #617 fixed 1999-09-28 19:48:45 +00:00
florian
9f62eb480b * the maybe_push fix of Pierre wasn't 100%, the tree parameter
must contain a valid location (which is saved if necessary)
1999-09-28 19:43:45 +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
eb72952214 * fixed macro within macro endless-loop 1999-09-27 23:40:10 +00:00
peter
1936476701 * bracket support for macro define 1999-09-27 23:38:17 +00:00
peter
e45b7754be * fixed push/restore bug in div/mod 1999-09-27 23:37:26 +00:00
peter
1664cb06a1 * fixed -al with macro's 1999-09-27 23:36:33 +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
peter
dc7dcdd2a6 * short jmp with alignment problems fixed 1999-09-26 21:13:40 +00:00
florian
d6c22004f4 * exception patch of Romio nevertheless the excpetion handling
needs some corections regarding register saving
  * gettempansistring is again a procedure
1999-09-26 13:26:01 +00:00
peter
3c1d12b5c4 * fixed temp allocation for short->ansi 1999-09-23 21:20:37 +00:00
florian
00b063c621 * fixed 1/s problem from mailing list 1999-09-21 20:53:21 +00:00
Jonas Maebe
552b86f85b * fixed bug in destroyrefs (indexes are now handled as pointers) 1999-09-21 15:46:58 +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
peter
bc62d96930 * restored old alignment, saves 40k on ppc386 1999-09-20 16:35:43 +00:00
florian
b8efed648c * fixed calls to procedures with manglednames=255 chars
(taking the address of such a procedure would still cause a problem!)
1999-09-19 20:55:11 +00:00
peter
7f63615b43 * @procvar fixes for tp mode
* @<id>:= gives now an error
1999-09-17 17:14:02 +00:00
florian
a0badc3a30 * initial revision 1999-09-17 09:59:19 +00:00
peter
1512794c0f * removed uses globals 1999-09-17 09:17:49 +00:00
peter
5db2ac22e5 * ppu header writting now uses currentppuversion 1999-09-17 09:14:56 +00:00
florian
fbbf8a505c * m68k compiler is again compilable (only gas writer, no assembler reader) 1999-09-16 23:05:51 +00:00
pierre
40777cd66e + warning if truncate unit name found 1999-09-16 14:18:12 +00:00
peter
870895b72b * better error checking 1999-09-16 13:41:37 +00:00
peter
956eb97743 * arrayconstructor 2 set conversion is now called always in the
beginning of firstadd
1999-09-16 13:39:14 +00:00
peter
64dcafcf80 * updated 1999-09-16 13:35:56 +00:00
pierre
fc0d67a752 + error if PPU modulename is different from what is searched
(8+3 limitations!)
  + cond ORDERSOURCES to allow recompilation of FP
    if symppu.inc is changed (need PPUversion change!)
1999-09-16 13:27:08 +00:00
pierre
910372616a * typo correction 1999-09-16 11:34:44 +00:00
pierre
a9b15a7344 * firstexit must now set procinfo.funcret_is_valid 1999-09-16 10:44:30 +00:00
pierre
84507b72ad + old_compiled_module to avoid wrong file info when load PPU files 1999-09-16 08:02:39 +00:00
pierre
b184fc0d75 + compiled_module to avoid wrong file info when load PPU files 1999-09-16 08:00:50 +00:00
pierre
beb97ee1d5 + problems with unit names longer than 8 letters 1999-09-16 07:59:32 +00:00
pierre
b5f43cf97b + RESULT pseudo var added in GDB debug info 1999-09-16 07:58:14 +00:00
pierre
1ef3c84bb8 * double del_reference removed 1999-09-16 07:56:46 +00:00
pierre
e4d44f4281 * BuildSourceList allways called for dependency in FP 1999-09-16 07:54:48 +00:00
pierre
cac8e59f0f * FLDPI must increment fpuvaroffset 1999-09-16 07:52:37 +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
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
daniel
2d925677e5 + Dw switch now does something. 1999-09-15 20:24:56 +00:00
florian
134030a529 * only small updates to work with the current compiler 1999-09-14 11:16:09 +00:00
florian
e73862f10d * per default a property is stored, fixed 1999-09-14 11:09:08 +00:00
florian
78977be752 * finally!? fixed
with <function with result in temp> do
    My last and also Peter's fix before were wrong :(
1999-09-14 07:59:46 +00:00
peter
0308dbcbfa * fixed crashes under plain dos 1999-09-13 22:56:17 +00:00
florian
c549646c95 * hopefully an error in Peter's previous commit fixed 1999-09-13 20:49:41 +00:00
peter
8a941c2568 * typo in previous commit open_array -> chararray :( 1999-09-13 16:28:05 +00:00
peter
1163717044 * fix for jmps to be always near
* string writing fixed
1999-09-13 16:27:24 +00:00
peter
8a6774104d * fix crash with empty object as childs 1999-09-13 16:26:32 +00:00
peter
0004218ade * remvoed unused var 1999-09-13 16:23:42 +00:00
florian
e8f6d4e836 * fixed a crash under Linux. Why doesn't have the damned Windows DPMI nil pointer
protection???
1999-09-12 21:35:38 +00:00
florian
6bbd06b90c * tnamedindexobject._name should be never accessed direct! Use the
function name instead
1999-09-12 15:45:11 +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
35eef74308 * bug fix for @tobject.method, fixes bug #557, 605 and 606 1999-09-11 19:47:26 +00:00
florian
6165d59dfd * bug #603 fixed 1999-09-11 11:23:58 +00:00
florian
a42799b4f2 * fix of my previous commit, make cycle was broken 1999-09-11 11:10:39 +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
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
peter
9ef54daf28 * fixed with <calln> do
* fixed finalize/initialize call for new/dispose
1999-09-10 15:42:50 +00:00
peter
96bd939047 * added symbol_end 1999-09-10 15:41:18 +00:00
peter
40291ee626 * fixed array check for operators, becuase array can also be a set 1999-09-10 15:40:46 +00:00
michael
118a99513d * Stored specifier for properties is now correctly parsed 1999-09-08 21:06:06 +00:00
peter
dd0d54cdef * added pointer and asm field axx 1999-09-08 16:07:21 +00:00
peter
be49731850 * pointer add/sub is now as expected and the same results as inc/dec 1999-09-08 16:05:29 +00:00
peter
05f2be0455 * better support for object fields and more error checks for
field accesses which create buggy code
1999-09-08 16:04:01 +00:00
peter
91962591f3 * tokendat compiles for tp
* tokens.dat supplied by default
1999-09-08 16:02:03 +00:00
Jonas Maebe
d8cce3f25a * some small changes so the new optimizer is again compilable 1999-09-08 15:05:43 +00:00
Jonas Maebe
28ddb689cb * some small changes so the noew optimizer is again compilable 1999-09-08 15:01:29 +00:00
peter
d2fd1ea874 * fixed bug #248 1999-09-08 08:05:44 +00:00
pierre
79f1833059 * runerror => do_halt 1999-09-07 15:22:20 +00:00
pierre
7439aa4828 * use do_internalerror insetead of runerror 1999-09-07 15:11:00 +00:00
pierre
a5c2aa5df8 * use do_halt instead of halt 1999-09-07 15:10:04 +00:00
pierre
1540c674d3 * runerror => do_internalerror 1999-09-07 15:08:51 +00:00
pierre
9d5205f1e9 * avoid some infinite recursions 1999-09-07 15:07:49 +00:00
pierre
eca64b4ab6 * use do_halt instead of runerror 1999-09-07 15:05:19 +00:00
pierre
aaba6f160a * powerpc default was alpha !! 1999-09-07 15:02:41 +00:00
pierre
ee98742add * elem in set_type did not work yet 1999-09-07 15:01:33 +00:00
pierre
c528cf639f * bugfix for 237 and 244 1999-09-07 14:59:40 +00:00
Jonas Maebe
88306ed3f3 * framepointer cannot be changed to esp for methods 1999-09-07 14:12:35 +00:00
pierre
b72dcb6d51 * arraytokeninfo type set to ttokenarray 1999-09-07 14:06:49 +00:00
pierre
f5d21809d7 * halt removed in do_lowhigh 1999-09-07 14:05:11 +00:00
pierre
2e65e6a618 + added do_halt procedure 1999-09-07 14:03:48 +00:00
peter
6f3c128959 * better OFFSET support for reference reading 1999-09-07 13:03:10 +00:00
peter
7fd914d24c * @(<x>) support 1999-09-07 08:01:20 +00:00
peter
ea753c5807 * reload esi in except block to allow virtual methods 1999-09-07 07:56:37 +00:00
peter
2c94850f4c * small array push to open array fixed, open array always needs addr
pushing
1999-09-07 07:54:23 +00:00
peter
f89f09413b * > < >= <= support for boolean
* boolean constants are now calculated like integer constants
1999-09-07 07:52:19 +00:00
peter
453773ecb2 * TYPE support 1999-09-07 07:45:29 +00:00
florian
ac20c15ef4 + fld reg;fxxx to fxxxr reg optimization 1999-09-05 14:27:19 +00:00
Jonas Maebe
9793c4eee9 * fixed typo's in -darithopt 1999-09-05 12:37:50 +00:00
florian
96dd7c82fa * bug #580 fixed 1999-09-04 20:50:08 +00:00
florian
f7af47f31f * bug #577 fixed 1999-09-04 20:29:11 +00:00
Jonas Maebe
56ddb9a0af + implemented most necessary methods 1999-09-03 13:15:47 +00:00