Commit Graph

25812 Commits

Author SHA1 Message Date
peter
12c40adc06 * removed the tree dependency to types.pas
* long_fil.pas support (not fully tested yet)
1998-06-12 14:50:48 +00:00
michael
004da8b801 * Fixed wrong code for ansistring 1998-06-12 14:10:37 +00:00
michael
c272da34ad restored depend 1998-06-12 13:17:35 +00:00
peter
bd64631a51 * small internalerror nr change 1998-06-12 13:10:34 +00:00
michael
5f864a3f90 Fixed ansistrings : is_ansistring not found 1998-06-12 10:43:12 +00:00
pierre
390fc9063d * column problem hopefully solved
+ C vars declaration changed
1998-06-12 10:32:22 +00:00
peter
a4fa957178 * fixed too long line 1998-06-11 13:58:45 +00:00
peter
86e21aef48 * small fix to let newppu compile 1998-06-11 13:58:07 +00:00
peter
6cd01467c6 * -gb works again 1998-06-11 10:11:57 +00:00
peter
7d36b5d9ec * write also the .dll extension (needed for NT) 1998-06-10 10:43:18 +00:00
peter
d449884787 * ifndef TARGET to allow target on commandline 1998-06-10 10:42:44 +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
peter
f98459e1fb * smartlinking works for win32
* some defines to exclude some compiler parts
1998-06-08 22:59:41 +00:00
pierre
cabd568a3d * temp_gen contains all temporary var functions
(processor independent)
1998-06-08 16:07:41 +00:00
pierre
0e8616ed1f + temporary variables now in temp_gen.pas unit
because it is processor independent
  * mppc68k.bat modified to undefine i386 and support_mmx
    (which are defaults for i386)
1998-06-08 13:13:28 +00:00
michael
3e7af43b99 fixed dependcies and rules. Make would not run any more after peters changes. 1998-06-08 09:22:02 +00:00
florian
4a381dad31 + first working rtti
+ data init/final. for local variables
1998-06-07 15:30:25 +00:00
peter
c44623de70 * new depend file generated 1998-06-06 09:27:37 +00:00
peter
22b18baaf0 * it needs types 1998-06-06 08:39:07 +00:00
peter
bf1d4a1fc1 * cleanup of cgai386 1998-06-05 17:49:54 +00:00
peter
8201248b82 * some better uses clauses 1998-06-05 17:47:28 +00:00
peter
a487cca0d7 * tp doesn't like comp() typecast 1998-06-05 17:46:02 +00:00
peter
6f4cfe38eb * splitted cgi386 1998-06-05 17:44:10 +00:00
pierre
acc260ed78 * fix for real and string consts inside inlined procs 1998-06-05 16:13:31 +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
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
8745cdf196 * small bug fix in load_ppu or openppu 1998-06-04 10:42:19 +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
883afdd880 * boolean again intern declared (needed to be able to compile
older RTL's)
1998-06-04 08:23:57 +00:00
peter
f29aaf6d8a + unlimited file support, release tempclose 1998-06-03 23:40:37 +00:00
peter
d6268ae22f + wordbool,longbool
* rename bis,von -> high,low
  * moved some systemunit loading/creating to psystem.pas
1998-06-03 22:48:50 +00:00
florian
75f7938e27 * problem with sizes of classes fixed (if the anchestor was declared
forward, the compiler doesn't update the child classes size)
1998-06-03 22:14:16 +00:00
michael
706cb4a068 added distclean target to remove ppc1-ppc3 too 1998-06-03 09:33:39 +00:00
michael
c9e455deb4 Clean cannot remove ppc1-ppc3 : make cycle uses clean 1998-06-03 09:27:51 +00:00
pierre
f08a7114ae * with node corrected for objects
* small bugs for SUPPORT_MMX fixed
1998-06-02 17:02:59 +00:00
peter
834a8dcad5 + make clean removes also ppc1 - ppc3 1998-06-02 11:29:36 +00:00
peter
286f547298 * fixed second_bool_to_int with bool8bit return 1998-06-02 10:52:10 +00:00
peter
ce75b83d12 + boolean -> ord conversion
* fixed ord -> boolean conversion
1998-06-01 16:50:18 +00:00
peter
659c2fb45d * fixed call bugs with assembler readers
+ OPR_SYMBOL to hold a symbol in the asm parser
  * fixed staticsymtable vars which were acessed through %ebp instead of
    name
1998-05-31 14:13:30 +00:00
peter
ed10a74289 * better get_current_col 1998-05-31 14:10:54 +00:00
peter
cc476415ee * use mv -f instead of move /y whch is not dos6.2 compatible 1998-05-31 14:09:45 +00:00
peter
4fc1780fe4 + $ASMMODE 1998-05-30 14:31:02 +00:00
peter
86bdba7ce3 + asw assembler 1998-05-29 13:24:45 +00:00
pierre
2e4f12cfd9 * OPR_REGISTER for 1 arg was missing in ratti386.pas
(probably a merging problem)
  * errors at start of line were lost
1998-05-29 09:58:14 +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
peter
d4d7e5dfb3 - $R- for tp to solve range errors with in[] 1998-05-28 17:24:27 +00:00
carl
e115dd9f08 * call bugfix
* operand with regs bugfix (manual patch in both cases)
1998-05-28 16:34:36 +00:00
carl
70767111e0 * bugfix with operands main branch version (patched manually) 1998-05-28 16:32:05 +00:00
peter
f4db879aed * fixes for newppu, remake3 works now with it 1998-05-28 14:40:25 +00:00
peter
9489a52ee1 * default programname is PROGRAM (like TP7) to avoid dup id's 1998-05-28 14:37:53 +00:00
peter
f793c53486 * nicer error message when no id is used after var 1998-05-28 14:35:54 +00:00
michael
ab2b9506df All non-assembler messages have been translated 1998-05-28 08:18:32 +00:00
peter
7b28ebd6ef * symtable.pas splitted into includefiles
* symtable adapted for $ifdef NEWPPU
1998-05-27 19:45:02 +00:00
daniel
fd402226d0 * Achtelijke vertalingen verbeterd
+ Wat meer vertaald
1998-05-27 13:58:15 +00:00
peter
5d25d6f1d6 * some scanner optimizes
* automaticly aout2exe for go32v1
  * fixed dynamiclinker option which was added at the wrong place
1998-05-27 00:20:31 +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
Jonas Maebe
837fa04627 * final bugfilx for mov optimizes, remake3 with optimizations works again! 1998-05-24 18:42:37 +00:00
Jonas Maebe
9f0c2e3a26 * 2 bugs fixed in mov peepholeoptimizes 1998-05-24 15:20:59 +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
cfa06433c6 * fixed -L on the commandline, Dos commandline is only 128 bytes 1998-05-22 12:32:47 +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
5e9f2c469f + the ppufile object unit 1998-05-12 10:56:07 +00:00
peter
4c96df6b43 * moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
    prefix like error: warning: and is included in V_Default
  * fixed some messages
  * first time parameter scan is only for -v and -T
  - removed old style messages
1998-05-12 10:46:58 +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
Jonas Maebe
0a48f4956c + switches for 6x86 and k6 optimizations 1998-05-10 12:07:15 +00:00
Jonas Maebe
6c86e16f46 * bugfix in a_mov optimizations; completed bugfix of "sub $2,esp;...;movw reg, y(%esp)" 1998-05-10 12:06:30 +00:00
michael
1b9418fafb + Librarysearchpath is now a linker object field; 1998-05-08 09:21:57 +00:00
michael
d1decc21dd * Added missing -Fl message to messages file.
* Corrected mangling of file names when doing Linklib
* -Fl now actually WORKS.
* Librarysearchpath is now a field in linker object.
1998-05-08 09:21:20 +00:00
peter
7e06238905 * smartlinking for sets
+ consts labels are now concated/generated in hcodegen
  * moved some cpu code to cga and some none cpu depended code from cga
    to tree and hcodegen and cleanup of hcodegen
  * assembling .. output reduced for smartlinking ;)
1998-05-07 00:16:59 +00:00
peter
499d54a9c0 * tai_section extended with code,data,bss sections and enumerated type
* ident 'compiled by FPC' moved to pmodules
  * small fix for smartlink
1998-05-06 18:36:53 +00:00
pierre
e500f85308 + when trying to find source files of a ppufile
check the includepathlist for included files
    the main file must still be in the same directory
1998-05-06 15:04:20 +00:00
michael
9a0f413b43 + Make install doesn't stop if makecfg not found 1998-05-06 14:03:27 +00:00
peter
29057945e6 * fixed ld call with shell 1998-05-06 09:26:49 +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
peter
a213e8adb4 * small fix for go32v2 1998-05-04 20:19:54 +00:00
peter
94b52a3d7f + smartlinking works (only case jumptable left todo)
* redesign of systems.pas to support assemblers and linkers
  + Unitname is now also in the PPU-file, increased version to 14
1998-05-04 17:54:24 +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
florian
258d6968af + correct semantics of private and protected
* small fix in variable scope:
     a id can be used in a parameter list of a method, even it is used in
     an anchestor class as field id
1998-05-01 09:01:20 +00:00
florian
f700edae4d + basics for rtti implemented
+ switch $m (generate rtti for published sections)
1998-05-01 07:43:52 +00:00
pierre
a10c3e36bc * GDB works again better :
correct type info in one pass
  + UseTokenInfo for better source position
  * fixed one remaining bug in scanner for line counts
  * several little fixes
1998-04-30 15:59:39 +00:00
peter
f39eb43f1f * small optimize fix 1998-04-29 13:52:23 +00:00
peter
5ed869d75d + $IOCHECKS and $ALIGN to test already, other will follow soon
* fixed the wrong linecounting with comments
1998-04-29 13:42:27 +00:00
peter
99971ee924 + heapblocks:=true 1998-04-29 13:40:23 +00:00
pierre
5cdd60cac8 + added some code for ansistring (not complete nor working yet)
* corrected operator overloading
  * corrected nasm output
  + started inline procedures
  + added starstarn : use ** for exponentiation (^ gave problems)
  + started UseTokenInfo cond to get accurate positions
1998-04-29 10:33:40 +00:00
florian
f956607284 * make it compilable with TP
+ small COM problems solved to compile classes.pp
1998-04-28 11:45:52 +00:00
pierre
7b8f31d56a * typo error in asm style reading corrected 1998-04-28 10:09:54 +00:00
peter
a3737db4f1 + the new files for the scanner 1998-04-27 23:13:53 +00:00
peter
6fd535b87d + new scanner
* $makelib -> if smartlink
  * small filename fixes pmodule.setfilename
  * moved import from files.pas -> import.pas
1998-04-27 23:10:27 +00:00
peter
735d392664 + -Xl for smartlink
+ target_info.arext = .a
1998-04-27 15:45:20 +00:00
florian
bef30e693c * fixes of Jonas applied 1998-04-23 21:52:08 +00:00
florian
2448f867f4 * my new email address inserted 1998-04-23 21:51:03 +00:00
michael
bced2c7b34 Updated version number 1998-04-23 13:21:46 +00:00
peter
d083d0cea1 * fixed -v0 to displayV_Default (=errors+fatals) 1998-04-23 12:11:22 +00:00
florian
6095b9d5b1 * last fixes before the release:
- veryyyy slow firstcall fixed
1998-04-22 21:06:49 +00:00
pierre
e8d49ccb86 * typing error in secondadd for mmx corrected
* USE_RHIDE sets usestderr to true
    replacing gpc by fpc in RHIDE should be a lot easier
1998-04-21 15:22:45 +00:00
michael
a42a1ae6a3 + Updated patch number 1998-04-21 13:48:09 +00:00
peter
6af82802c2 * fixed $ifdef regalloc 1998-04-21 11:30:14 +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
Jonas Maebe
2f9ba77432 *** empty log message *** 1998-04-16 16:53:56 +00:00
peter
6000528375 * quick hack for ^[ in strings 1998-04-16 12:14:58 +00:00
peter
0701cc9298 * quick $L+ hack 1998-04-16 12:07:55 +00:00
daniel
e0ad99e2fb * Fixed linking for OS/2. 1998-04-16 10:54:30 +00:00
daniel
c0b5f448b6 * Fixed some things that were broken for OS/2. 1998-04-16 10:50:45 +00:00
michael
2fc034ecd3 + Removed CR characters 1998-04-15 14:16:48 +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
f06e8050a6 * tdef.done much faster implemented 1998-04-13 17:20:43 +00:00
florian
08767b7891 * call by reference and call by value open arrays fixed 1998-04-13 08:42:51 +00:00
florian
c2ca131926 * problem with read access to properties solved
* correct handling of hidding methods via virtual (COM)
  * correct result type of constructor calls (COM), the resulttype
    depends now on the type of the class reference
1998-04-12 22:39:43 +00:00
florian
fd860db6c6 + some stuff to support method pointers (procedure of object) added
(declaration, parameter handling)
1998-04-10 21:36:55 +00:00
florian
768499730d * more fixes to get classes.pas compiled 1998-04-10 15:39:47 +00:00
peter
b7ff96bb48 * removed some Hints
* small speed optimization for AsmLn
1998-04-10 14:41:43 +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
peter
b69a1a8fd9 * small fixes for messages 1998-04-09 19:48:30 +00:00
florian
4b25db4d28 + register allocation tracing stuff added 1998-04-09 15:46:37 +00:00
Jonas Maebe
fd467e9496 + basic k6 and 6x86 optimizing support (-O7 and -O8) 1998-04-09 14:28:05 +00:00
pierre
3d1eab599e * bugfix of newline in BP was wrong !!
(ate a character !!)
1998-04-09 09:33:15 +00:00
Jonas Maebe
2938e014d2 * fixed bug where "imul 12,reg" was replaced with a wrong lea sequence 1998-04-08 19:12:28 +00:00
pierre
9b14f1f183 * several bugfixes
ADD ADC and AND are also sign extended
    nasm output OK (program still crashes at end
    and creates wrong assembler files !!)
    procsym types sym in tdef removed !!
1998-04-08 16:58:01 +00:00
florian
41301b806d * problem with new expr_type solved 1998-04-08 14:59:20 +00:00
peter
705174265d - moved to install/ 1998-04-08 11:48:23 +00:00
peter
f3d93555d8 * nasm works (linux only tested) 1998-04-08 11:34:17 +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
peter
32af7a855c + filemode is set correct in tbufferedfile.reset 1998-04-07 11:09:04 +00:00
Jonas Maebe
8a527432e7 + removal of superflouos cld/std instructions 1998-04-06 22:42:32 +00:00
peter
63a022c2cc - moved to install/ 1998-04-06 16:27:54 +00:00
pierre
c0aaf6adc1 Test of makefile log ! 1998-04-06 12:28:23 +00:00
peter
8b105d9697 * fixed the -Ss bug
+ warning for Virtual constructors
  * helppages updated with -TGO32V1
1998-04-05 13:58:35 +00:00
carl
9349ee6df6 * bugfix of crash with ins_cache and popfd
* bugfix of pushfd typo mistake in att output
  + added setc, and setnc
1998-04-04 05:29:57 +00:00
daniel
3a646a9b73 * Fixed heap allocation for OS/2. 1998-04-03 09:51:00 +00:00
peter
86089b3ab4 * rpm fixed for buttons 1998-03-31 19:59:25 +00:00
florian
f0548b50a8 * fix of out (intel syntax) applied 1998-03-31 15:21:00 +00:00
michael
5f42622327 + Corrected version number 1998-03-31 14:23:39 +00:00
florian
c27bf450a8 * version to 0.99.5 changed 1998-03-31 13:17:54 +00:00
florian
5340ca9baa * adapted to 0.99.5 1998-03-31 09:32:24 +00:00
florian
6af4e9e9ce * does max. optimizations per default 1998-03-31 09:31:55 +00:00
michael
3edd8f8ad3 + fixed permissions on install 1998-03-31 08:44:15 +00:00
michael
0fdd9b4bd8 + Upgraded version number to 0.99.5 1998-03-31 08:11:07 +00:00
peter
466c791b5d * cleanup (make -C)
+ rtl/units/dumpppu, ppumove, h2pas
1998-03-30 18:31:00 +00:00
florian
8cd85667a7 * last changes before release:
- gdb fixed
     - ratti386 warning removed (about unset function result)
1998-03-30 15:53:01 +00:00
michael
8ee1f2fa32 + make cycle again does remake3 1998-03-30 10:15:35 +00:00
michael
bd3ea9fdcb + fix for library support. 1998-03-30 09:50:49 +00:00
florian
8cb9f5ea5b * aopt386 compiles with TP
* correct line number is displayed, if a #0 is in the input
1998-03-29 17:27:58 +00:00
florian
b533474430 * small problem with unit search path solved 1998-03-29 10:49:27 +00:00
peter
487a47166f * small fixes 1998-03-29 01:41:42 +00:00
peter
a1ffa1d1ef + spec file for the .rpm linux package 1998-03-28 23:54:22 +00:00
peter
72cb4b7277 * better support for rpm 1998-03-28 23:53:48 +00:00
peter
f7fb63a580 * fixed install 1998-03-28 23:53:13 +00:00
florian
2d790e0158 * secondin bugfix (m68k and i386)
* overflow checking bugfix (m68k and i386) -- pretty useless in
    secondadd, since everything is done using 32-bit
  * loading pointer to routines hopefully fixed (m68k)
  * flags problem with calls to RTL internal routines fixed (still strcmp
    to fix) (m68k)
  * #ELSE was still incorrect (didn't take care of the previous level)
  * problem with filenames in the command line solved
  * problem with mangledname solved
  * linking name problem solved (was case insensitive)
  * double id problem and potential crash solved
  * stop after first error
  * and=>test problem removed
  * correct read for all float types
  * 2 sigsegv fixes and a cosmetic fix for Internal Error
  * push/pop is now correct optimized (=> mov (%esp),reg)
1998-03-28 23:09:53 +00:00
michael
976ecae255 + partly converted english errors to dutch 1998-03-26 12:43:56 +00:00
florian
01575ac687 - switch -Sa removed
- support of a:=b:=0 removed
1998-03-26 11:18:30 +00:00
florian
8e8e3bd05a * switch -Sa together with the support of a:=b:=0 removed 1998-03-25 23:36:01 +00:00
root
d1a1f501c8 Initial revision 1998-03-25 11:18:12 +00:00