Commit Graph

352 Commits

Author SHA1 Message Date
armin
1179c13288 addToLocalThreadvarList used '_'+name instead of mangledname to find asm symbol 2002-04-01 13:43:32 +00:00
armin
6b6df5ee46 + allow exports for netware 2002-03-29 17:19:50 +00:00
armin
0de84898a3 + forgot to delete a debug writeln 2002-03-29 09:00:56 +00:00
armin
ed209a3961 + initialize threadvars defined local in units 2002-03-28 16:07:52 +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
carl
bc558402fb + Stack checking for solaris 2001-12-09 03:34:58 +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
michael
f959a590fe * Fixes win32 linking problems with import libraries
* LINKLIB Libraries are now looked for using C file extensions
* get_exepath fix
2001-09-18 11:30:47 +00:00
michael
6f56bc2312 + Committed patch from peter 2001-09-13 14:47:19 +00:00
florian
9746f4c2d6 * some cg reorganisation
* some PPC updates
2001-08-26 13:35:06 +00:00
peter
fd8e5fa78c * palmos support from v10 merged 2001-08-19 11:22:22 +00:00
peter
f4b983bdd8 * typo in extdebug msg 2001-08-12 19:59:49 +00:00
peter
81200dc9ef * funcret moved from tprocinfo to tprocdef 2001-08-06 21:40:46 +00:00
peter
a62da20a8c * beos fix (merged) 2001-08-05 12:26:52 +00:00
peter
2a1adf0ee6 * updates so it works with the ide 2001-08-04 10:23:54 +00:00
Jonas Maebe
367f7a0362 + "compilerproc" directive support, which turns both the public and mangled
name to lowercase(declaration_name). This prevents a normal user from
    accessing the routine, but they can still be easily looked up within
    the compiler. This is used for helper procedures and should facilitate
    the writing of more processor independent code in the code generator
    itself (mostly written by Peter)
  + new "createintern" constructor for tcal nodes to create a call to
    helper exported using the "compilerproc" directive
  + support for high(dynamic_array) using the the above new things
  + definition of 'HASCOMPILERPROC' symbol (to be able to check in the
    compiler and rtl whether the "compilerproc" directive is supported)
2001-08-01 15:07:29 +00:00
peter
c4b84ce276 * m68k updates from v10 merged 2001-07-30 20:59:27 +00:00
peter
e24474d9ac * -Ur switch (merged)
* masm fixes (merged)
  * quoted filenames for go32v2 and win32
2001-06-18 20:36:23 +00:00
peter
3fc45a47d2 * Win32 fixes for Makefile so it doesn't require sh.exe 2001-06-06 21:58:16 +00:00
peter
f86ce17588 + hint directive parsing support 2001-06-03 21:57:35 +00:00
peter
5fed44fe5d * dllprt0 stub for linux shared libs
* pass -init and -fini for linux shared libs
  * libprefix splitted into staticlibprefix and sharedlibprefix
2001-06-03 15:15:31 +00:00
peter
6e65cd0ee4 * support uses <unit> in <file> construction 2001-05-19 23:05:19 +00:00
peter
3be0e8b544 * merged alignment for non-i386 2001-05-18 22:26:36 +00:00
Jonas Maebe
d5526ff45c * range check error fixes from Peter 2001-05-09 14:11:10 +00:00
peter
6c7708c1e0 * ppu object to class rewrite
* move ppu read and write stuff to fppu
2001-05-06 14:49:16 +00:00
peter
0c03535b5b * registration of targets and assemblers 2001-04-18 22:01:53 +00:00
peter
fdeadeed22 * scanner object to class 2001-04-13 18:08:36 +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
4e2655cdc5 * resulttype rewrite 2001-04-02 21:20:29 +00:00
peter
6eb671f761 * fixed some memory leaks 2001-03-13 18:45:06 +00:00
peter
aab27143a3 * patch from Pavel with a new and much faster DLL Scanner for
automatic importing so $linklib works for DLLs. Thanks Pavel!
2001-03-06 18:28:02 +00:00
peter
8f2aaed119 * generate .rst from ppufilename instead of modulename 2001-02-24 10:44:55 +00:00
peter
8acb794be6 * moved deref to be done after loading of implementation units. prederef
is still done directly after loading of symbols and definitions.
2001-02-21 19:37:19 +00:00
peter
73a75d5d5c * fixed crash with program name as a important unit name 2001-01-14 22:13:52 +00:00
peter
32b9cdb7cf + new tlinkedlist class (merge of old tstringqueue,tcontainer and
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
florian
b9796f6a7f * unused units removed from uses clause
* some changes for widestrings
2000-11-29 00:30:30 +00:00
peter
5115083270 * tprocdef.fullprocname added for better casesensitve writing of
procedures
2000-11-01 23:04:37 +00:00
peter
451723647e * symtable splitted, no real code changes 2000-10-31 22:02:46 +00:00
peter
20dae06236 * merged pierres fixes 2000-10-21 14:36:26 +00:00
peter
12818742d3 * use System for the systemunit instead of target dependent 2000-10-15 09:08:58 +00:00
peter
eb3ca9c51d * unit names and procedure names are stored mixed case 2000-10-15 07:47:51 +00:00
pierre
f95a082233 * IsExe restored 2000-10-04 14:51:08 +00:00
peter
dc6c26755b * filepos when unit not found (merged) 2000-09-30 16:07:40 +00:00
peter
24fc983597 * message updates merges 2000-09-24 21:33:46 +00:00
peter
a71e44ac49 * use defines.inc 2000-09-24 15:06:10 +00:00
michael
df6ab32e61 + Applied patch from Peter 2000-08-31 07:53:02 +00:00
peter
f3c0f91294 * _init and _finalize procsyms also need a $ prefix 2000-08-29 19:00:01 +00:00
peter
bec1c5cdf9 * store strings with case in ppu, when an internal symbol is created
a '$' is prefixed so it's not automatic uppercased
2000-08-27 20:19:38 +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
Jonas Maebe
dab7718b68 * fixed bug with include files at the very beginning of .pp/.pas files
(wrong name used for generating exe/checking unit name) (merged from
    fixes branch)
2000-08-25 08:48:22 +00:00
pierre
f1bd579bf4 * fix the stabs problems 2000-08-21 11:27:44 +00:00
michael
665c1f6410 + patched to 1.1.0 with former 1.09patch from peter 2000-07-13 12:08:24 +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
0d58e53bfc * first look for ppu in cwd and outputpath and after that for source
in cwd
  * fixpath() for not linux makes path now lowercase so comparing paths
    with different cases (sometimes a drive letter could be
    uppercased) gives the expected results
  * sources_checked flag if there was already a full search for sources
    which aren't found, so another scan isn't done when checking for the
    sources only when recompile is needed
2000-06-15 18:10:11 +00:00
peter
e882145e88 * made resourcestrings OOP so it's easier to handle it per module 2000-06-01 19:09:56 +00:00
pierre
1bd418e467 * some DBX changes but it still does not work ! 2000-05-11 09:40:11 +00:00
peter
6d282de1d4 * fixed setting of output names with includefile 2000-05-08 13:18:09 +00:00
peter
1cd3fb9f4c * don't write rst files if errors found 2000-05-04 20:43:33 +00:00
pierre
d6b3b9a9cd * Use RestoreUnitsSyms to avoid wrong hints about unused units
* Avoid hints about unsused units if thet have a init or finalize code
2000-05-03 14:39:51 +00:00
pierre
71cbe13810 * power to ** operator fixed 2000-04-27 11:35:03 +00:00
pierre
3174b39bcc * More changes for operator bug
Order_overloaded method removed because it conflicted with
    new implementation where the defs are ordered
    according to the unit loading order !
2000-04-26 08:54:18 +00:00
pierre
dbdb7ee667 + Hint about unused unit
* Testop bug fixed !!
    Now the operators are only applied if the unit is explicitly loaded
2000-04-25 23:55:29 +00:00
pierre
7a2993fe8b * close ppu file if errors 2000-04-14 08:15:05 +00:00
florian
339d986a2a * bug #701 fixed: ansistrings in interface and implementation part of the units
are now finalized correctly even if there are no explicit initialization/
    finalization statements
2000-04-02 10:18:18 +00:00
florian
9573dc7006 * some new stuff for the new cg 2000-03-01 15:36:11 +00:00
peter
4a4a24b6e8 * log truncated 2000-02-09 13:22:42 +00:00
peter
f0efb42197 * -gl switch for auto lineinfo including 2000-02-06 17:20:52 +00:00
peter
25dda03cdc * renamed call_offset to para_offset 2000-01-16 22:17:11 +00:00
Jonas Maebe
094d7d1829 * changed "with object_type" construct because of bug in the
compiler
2000-01-16 14:15:33 +00:00
peter
3ffb57efe4 * align codesegment at the end after main proc 2000-01-12 10:30:15 +00:00
Jonas Maebe
edf419d5a7 * removed a lot of memory leaks when an error is encountered (caused by
procinfo and pstringcontainers). There are still plenty left though :)
2000-01-11 17:16:04 +00:00
peter
6607475609 * fixed placing of .sl directories
* use -b again for base-file selection
  * fixed group writing for linux with smartlinking
2000-01-11 09:52:06 +00:00
peter
e525797c51 * updated copyright to 2000 2000-01-07 01:14:18 +00:00
pierre
c3fb5e5237 * relocation with debug info in rva (only with internal compiler) 1999-12-20 22:29:26 +00:00
peter
23c127a58e * only check relocsection for win32 1999-12-10 10:02:53 +00:00
peter
0512ba80fb + ttype, tsymlist 1999-11-30 10:40:42 +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
ae7a04ea12 * defaultsymtablestack is now restored after parser.compile 1999-11-24 11:41:03 +00:00
pierre
76b6d69d56 * Compute correct Exe Filenam 1999-11-22 22:21:46 +00:00
pierre
fca8adf6c2 * also complain about unused functions in program 1999-11-22 00:23:09 +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
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
62da9bd4c0 * Notes/hints changes 1999-11-17 17:04:58 +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
d13efaa366 * power search for ** operator not in browser
* DBX support work, still does not work !
1999-11-09 23:46:00 +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
0887060ff2 * truncated log to 20 revs 1999-11-06 14:34:16 +00:00
peter
19443ae269 * import library fixes for win32
* alignment works again
1999-11-02 15:06:56 +00:00
peter
fefc839b29 * redesigned linker object
+ library support for linux (only procedures can be exported)
1999-10-21 14:29:32 +00:00
florian
8b9633266b * new codegenerator compiles again 1999-10-12 21:20:41 +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
6b1ab5eb31 * procinfo is now a pointer
* support for result setting in sub procedure
1999-09-27 23:44:46 +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
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
0308dbcbfa * fixed crashes under plain dos 1999-09-13 22:56:17 +00:00
peter
037319700d * moved parsing interface/implementation to -vu 1999-09-01 22:18:37 +00:00
pierre
5b38d71a12 * in_second_compile cleaned up, in_compile and in_second_load added 1999-08-31 15:51:10 +00:00
pierre
c2abde1296 * tempclosing of ppufiles under dos was wrong 1999-08-30 16:21:40 +00:00
florian
656d4330cd * bug #519 fixed 1999-08-28 15:34:16 +00:00
pierre
55f6e70490 * double checksum problem solved 1999-08-27 14:52:56 +00:00
pierre
71829524a2 + define SHORT_ON_FILE_HANDLES for DOS targets
causes tempclose of ppufiles
  + double_checksum code released
    (you can try with -dDONT_USE_DOUBLE_CHECKSUM to see the difference)
    this allow second compilation of compiler without any
    unit recompilation !!!!
1999-08-27 10:57:56 +00:00
peter
cbd7de9e6f * write date of the compiler into the executable 1999-08-26 21:16:21 +00:00
michael
dc3cc78caa + Hopefuly last fixes for resourcestrings 1999-08-26 20:24:37 +00:00
michael
9f61960ca1 * more resourcestring changes 1999-08-24 22:38:51 +00:00
michael
85ff3e15db + changes for resourcestrings 1999-08-24 12:01:32 +00:00
pierre
96fdcfb1f2 * fix for DLL relocation problems
* external bss vars had wrong stabs for pecoff
  + -WB11000000 to specify default image base, allows to
    load several DLLs with debugging info included
    (relocatable DLL are stripped because the relocation
     of the .Stab section is misplaced by ldw)
1999-08-16 15:35:20 +00:00
peter
fc8211bbb8 * tlinker object is now inherited for win32 and dos
* postprocessexecutable is now a method of tlinker
1999-08-11 17:26:31 +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
florian
1cf1665d73 * the alpha compiler can be compiled now 1999-08-03 17:09:34 +00:00
florian
2b7f36e255 * small changes for the new code generator 1999-08-02 17:17:09 +00:00
peter
674e0cc879 * write .size also 1999-07-29 20:53:55 +00:00
florian
9cbaac5beb * bugs 494-496 fixed 1999-07-26 09:41:59 +00:00
peter
4807c96d29 * also number units for program 1999-07-24 00:13:25 +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
florian
b2c99ecb9d + implemented a better error message if a PPU file isn't found as suggested
by Lee John
1999-07-14 21:19:01 +00:00
florian
62cb5453d3 * a lot bug fixes:
- po_external isn't any longer necessary for procedure compatibility
     - m_tp_procvar is in -Sd now available
     - error messages of procedure variables improved
     - return values with init./finalization fixed
     - data types with init./finalization aren't any longer allowed in variant
       record
1999-07-06 21:48:09 +00:00
peter
52799c40cc * merged 1999-07-06 00:53:48 +00:00
peter
0d38c66ff0 * fixed linking for units without linking necessary 1999-07-05 16:21:26 +00:00
peter
58cbc3e795 * new link writing to the ppu, one .ppu is needed for all link types,
static (.o) is now always created also when smartlinking is used
1999-07-03 00:29:45 +00:00
peter
867f6364dd * merged 1999-06-15 13:57:31 +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
bfed29ff8b * NEWLAB for label as symbol 1999-05-21 13:54:38 +00:00
pierre
79e64c8e75 * little redondant code removed 1999-05-18 22:36:29 +00:00
pierre
75fab3d80b * reset current_ppu to nil when appropriate 1999-05-17 14:43:54 +00:00
peter
a47afc3857 * removed oldppu code
* warning if objpas is loaded from uses
  * first things for new deref writing
1999-05-13 21:59:19 +00:00
peter
f34e2067eb * don't write .o and link if errors occure during assembling 1999-05-09 11:38:04 +00:00
peter
0949d360c2 * no ar.exe running field in target_asm 1999-05-03 18:03:28 +00:00
peter
611da2d24e * merged nasm compiler
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
peter
495ec05485 * fixed double .o file insertion 1999-04-26 23:22:42 +00:00
peter
49786e5fe5 * farpointerdef moved into pointerdef.is_far 1999-04-26 18:29:54 +00:00
peter
884c517b18 * release storenumber,double_checksum 1999-04-26 13:31:24 +00:00
peter
f761b7edbf * fixed double_checksum 1999-04-25 17:32:14 +00:00
peter
87143b5b53 * small fixes for double_checksum 1999-04-25 15:08:36 +00:00
peter
cb70b62a82 * storenumber works
* fixed some typos in double_checksum
  + incompatible types type1 and type2 message (with storenumber)
1999-04-21 09:43:28 +00:00
peter
eb1f69c818 * concat_external added for new init/final 1999-04-17 13:14:52 +00:00
peter
6120616a20 + finalization support 1999-04-15 12:19:59 +00:00
peter
cc9df8d478 * first things to store the symbol/def number in the ppu 1999-04-14 09:14:44 +00:00
michael
b3c0d3b03c * Fixed forgotten ; 1999-04-08 10:53:54 +00:00
pierre
ab9465df1b + double_checksum code added 1999-04-07 15:39:29 +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
peter
461a11158e + .a writer 1999-03-18 20:30:44 +00:00