Commit Graph

484 Commits

Author SHA1 Message Date
peter
abbbc7443d * Use FixFilename for specified unit sourcefile in uses 2002-12-24 23:32:56 +00:00
peter
cab4c8879f * only compile cs_fp_emulation support when cpufpuemu is defined
* define cpufpuemu for m68k only
2002-12-06 16:56:57 +00:00
carl
edb20100ac + Add loading of softfpu in emulation mode
+ Correct routine call for softfpu
  * Extended type must also be defined even with softfpu
2002-11-30 21:32:24 +00:00
peter
bfd72ad5d5 * merged changes from 1.0.7 up to 04-11
- -V option for generating bug report tracing
    - more tracing for option parsing
    - errors for cdecl and high()
    - win32 import stabs
    - win32 records<=8 are returned in eax:edx (turned off by default)
    - heaptrc update
    - more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
carl
391b49d410 * major alignment updates 2002-11-09 15:33:26 +00:00
michael
39f16b03ef + Renamed thread unit to systhrds 2002-10-16 06:27:30 +00:00
peter
798289b1f3 * only use init tables for threadvars 2002-10-14 19:42:33 +00:00
peter
6d4fcce014 * Add finalization of typed consts
* Finalization of globals in the main program
2002-10-06 19:41:30 +00:00
peter
a540ff122c * tdicationary.replace added to replace and item in a dictionary. This
is only allowed for the same name
  * varsyms are inserted in symtable before the types are parsed. This
    fixes the long standing "var longint : longint" bug
  - consume_idlist and idstringlist removed. The loops are inserted
    at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
peter
dcd9e0107c * old logs removed and tabs fixed 2002-09-07 15:25:00 +00:00
daniel
b0364566d1 * Make Tprocdef.defs protected 2002-09-03 16:26:26 +00:00
peter
36481b72bb * insert PASCALMAIN in library for Win32 only 2002-09-02 18:46:26 +00:00
florian
5e60724d23 + HEAP* stuff must be generated for Linux/PPC as well
+ direct assembler reader searches now global and static symtables as well
2002-08-31 15:59:30 +00:00
peter
a28f75ed03 * sym.insert_in_data removed
* symtable.insertvardata/insertconstdata added
  * removed insert_in_data call from symtable.insert, it needs to be
    called separatly. This allows to deref the address calculation
  * procedures now calculate the parast addresses after the procedure
    directives are parsed. This fixes the cdecl parast problem
  * push_addr_param has an extra argument that specifies if cdecl is used
    or not
2002-08-25 19:25:18 +00:00
peter
98dd65b0f3 * inlining is now also allowed in interface
* renamed write/load to ppuwrite/ppuload
  * tnode storing in ppu
  * nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
florian
e313bab4ff * first part of procinfo rewrite 2002-08-17 09:23:33 +00:00
peter
ac71268ce6 * saving of asmsymbols in ppu supported
* asmsymbollist global is removed and moved into a new class
    tasmlibrarydata that will hold the info of a .a file which
    corresponds with a single module. Added librarydata to tmodule
    to keep the library info stored for the module. In the future the
    objectfiles will also be stored to the tasmlibrarydata class
  * all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
carl
18b102ce95 + moved target_cpu_string to cpuinfo
* renamed asmmode enum.
  * assembler reader has now less ifdef's
  * move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
florian
eb2ca8d10f * rewrote the system handling 2002-07-26 21:15:37 +00:00
florian
479a745096 * first x86-64 patches 2002-07-04 20:43:00 +00:00
peter
4285e99853 * internal linker
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c * removed old logs and updated copyright year 2002-05-14 19:34:38 +00:00
peter
4dcd96747e * moved entry and exitcode to ncgutil and cgobj
* foreach gets extra argument for passing local data to the
    iterator function
  * -CR checks also class typecasts at runtime by changing them
    into as
  * fixed compiler to cycle with the -CR option
  * fixed stabs with elf writer, finally the global variables can
    be watched
  * removed a lot of routines from cga unit and replaced them by
    calls to cgobj
  * u32bit-s32bit updates for and,or,xor nodes. When one element is
    u32bit then the other is typecasted also to u32bit without giving
    a rangecheck warning/error.
  * fixed pascal calling method with reversing also the high tree in
    the parast, detected by tcalcst3 test
2002-05-12 16:53:04 +00:00
carl
682c2289fa + added more patches from Mazen for SPARC port 2002-05-06 19:54:50 +00:00
carl
87aa88e9b7 + generic FPC_CHECKPOINTER
+ first parameter offset in stack now portable
* rename some constants
+ move some cpu stuff to other units
- remove unused constents
* fix stacksize for some targets
* fix generic size problems which depend now on EXTEND_SIZE constant
2002-04-20 21:32:23 +00:00
peter
70ff711f73 * mangledname rewrite, tprocdef.mangledname is now created dynamicly
in most cases and not written to the ppu
  * add mangeledname_prefix() routine to generate the prefix of
    manglednames depending on the current procedure, object and module
  * removed static procprefix since the mangledname is now build only
    on demand from tprocdef.mangledname
2002-04-19 15:46:01 +00:00
carl
37091f14da + align code section and data section according to alignment rules 2002-04-14 16:53:10 +00:00
carl
c8b3a5b3db + generic stack checking 2002-04-07 17:58:38 +00:00
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
carl
0ee2ac7451 + added wdosx support (patch from Pavel) 2002-04-04 18:30:22 +00:00
peter
5b242f7741 * tlocation,treference update
* LOC_CONSTANT added for better constant handling
  * secondadd splitted in multiple routines
  * location_force_reg added for loading a location to a register
    of a specified size
  * secondassignment parses now first the right and then the left node
    (this is compatible with Kylix). This saves a lot of push/pop especially
    with string operations
  * adapted some routines to use the new cg methods
2002-04-02 17:11:27 +00:00
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
peter
5b7745e420 * check for dup uses 1999-03-16 21:07:25 +00:00
peter
c8f444b65f * ag386bin updates
+ coff writer
1999-02-25 21:02:16 +00:00
pierre
2541a27a5a * win32 compilation error fix
+ some work for local browser (not cl=omplete yet)
1999-02-23 18:29:20 +00:00
pierre
0669413251 + -b and -bl options work !
+ cs_local_browser ($L+) is disabled if cs_browser ($Y+)
    is not enabled when quitting global section
  * local vars and procedures are not yet stored into PPU
1999-02-22 13:06:52 +00:00
peter
bf9b5e3a54 * updates for ag386bin 1999-02-22 02:14:59 +00:00
peter
5c3f708222 * fixed crashes by forgotten strpnew() for init_symbol 1999-02-16 00:45:30 +00:00
pierre
9709b802ba + linkofiles splitted inot linkofiles and linkunitfiles
because linkofiles must be stored with directory
    to enabled linking of different objects with same name
    in a different directory
1999-02-05 08:54:24 +00:00
pierre
dae387cd49 * symbol nubering begins with 1 in number_symbols
* program tmodule has globalsymtable for its staticsymtable
    (to get it displayed in IDE globals list)
  + list of symbol (browcol) greatly improved for IDE
1999-02-03 09:44:32 +00:00
peter
f379498229 + BrowserLog for browser.log generation
+ BrowserCol for browser info in TCollections
  * released all other UseBrowser
1999-01-12 14:25:24 +00:00
peter
b55566c201 * renamed resource -> comprsrc (conflicted with FV) 1999-01-06 12:39:46 +00:00
peter
c7637424cf + resource file handling ($R directive) for Win32 1998-12-28 23:26:14 +00:00
peter
4fbc61f5ea * fix for tp7 1998-12-15 17:14:17 +00:00
peter
02904d8319 + -iSO, -iSP, -iTO, -iTP 1998-12-15 10:23:23 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +00:00
peter
6e7f776c4f + -gh for heaptrc unit 1998-12-08 10:18:07 +00:00
pierre
c89458e721 * new try for correct debug info generation 1998-12-01 23:40:53 +00:00
pierre
a1f1003555 * some range check bugs fixed (still not working !)
+ added DLL writing support for win32 (also accepts variables)
  + TempAnsi for code that could be used for Temporary ansi strings
    handling
1998-11-30 09:42:52 +00:00
peter
b4045fe57e + support for dll variables 1998-11-28 16:20:48 +00:00
pierre
50ccd479d2 + automatic loading of profile unit with -pg option
in go32v2 mode (also defines FPC_PROFILE)
  * some memory leaks removed
  * unreleased temp problem with sets solved
1998-11-18 09:18:01 +00:00
pierre
93620d84dd * stackcheck removed for i386_win32
* exportlist does not crash at least !!
    (was need for tests dir !)z
1998-11-16 11:28:57 +00:00
pierre
364132b0bb * fix for bug0176 and bug0177 1998-11-12 12:55:16 +00:00
peter
c28675acab * fix for empty .o files and linking of libs 1998-11-12 11:34:58 +00:00
pierre
00f7988d1d * double initialization code calling bug fixed 1998-11-06 09:48:14 +00:00
peter
436274abfc + search_unit arg to only search for sources 1998-11-03 11:33:11 +00:00
peter
daecc1a750 * fix for lognunitname and longunit.pas 1998-10-30 12:23:41 +00:00
florian
7e40231ad7 * some dll support for win32
* fixed assembler writing for PalmOS
1998-10-29 11:35:36 +00:00
pierre
1dab5a8cf0 * removed some erros after other errors (introduced by useexcept)
* stabs works again correctly (for how long !)
1998-10-28 18:26:12 +00:00
pierre
1dfbb756e9 * classes get a vmt allways
* better error info (tried to remove
    several error strings introduced by the tpexcept handling)
1998-10-27 13:45:25 +00:00
peter
a69bfeb4b1 * unit check name works now for all units, not only systemunit 1998-10-26 09:34:50 +00:00
peter
b068ad3821 * leave when an error has been in the interface (else other units could
be compiled with the implementation uses!)
  * don't always compile when not in implementation with a second_load
1998-10-22 23:53:27 +00:00
peter
4e3a568cbf * fixed imports generation at the wrong place 1998-10-22 11:36:34 +00:00
peter
99b31c91bc * check for importsection for empty asm file 1998-10-21 20:13:10 +00:00
peter
e0a2d434b5 * set also in_library flag when no .o is generated 1998-10-20 09:30:05 +00:00
peter
62ef9faa79 + empty .o files are not written anymore 1998-10-19 18:05:08 +00:00
pierre
a5f0168fbb * wrong stabs info corrected once again !!
+ variable vmt offset with vmt field only if required
    implemented now !!!
1998-10-19 08:54:53 +00:00
peter
1468993242 * new style for m68k/i386 infos and enums 1998-10-13 13:10:08 +00:00
pierre
63ff2ffbbc * some memory leaks specific to usebrowser define fixed
* removed tmodule.implsymtable (was like tmodule.localsymtable)
1998-10-09 16:36:01 +00:00
pierre
6f470079a0 * add a second load for PPU file 1998-10-09 14:38:50 +00:00
pierre
7621dc0b56 * several memory leaks fixed 1998-10-09 08:56:21 +00:00
peter
0fc61cdfc1 * -vu shows unit info, -vt shows tried/used files 1998-10-08 23:28:50 +00:00
pierre
bf6369f1b5 * current_module old scanner tagged as invalid if unit is recompiled
+ added ppheap for better info on tracegetmem of heaptrc
    (adds line column and file index)
  * several memory leaks removed ith help of heaptrc !!
1998-10-08 17:17:07 +00:00
peter
47c808f95a * fixed memory leaks for do nothing source
* fixed unit interdependency
1998-10-08 13:48:40 +00:00
pierre
3048845e68 * some memory leaks fixed (thanks to Peter for heaptrc !) 1998-10-06 17:16:31 +00:00
peter
4f0915d6e1 * fixed 161,165,166,167,168 1998-10-05 21:33:15 +00:00
peter
226a917014 * fixed unit interdependency with circular uses 1998-09-30 16:43:34 +00:00
peter
f4e51979ab * fixed circular uses which looped forever 1998-09-30 12:11:52 +00:00
pierre
ba6a341854 * did not compile for browser
* merge from fixes
1998-09-28 11:22:15 +00:00
peter
b17ea95bdd * fixed loaddefaultunits which was at the wrong place for programs, so
the default defs were not loaded when main was initialized
1998-09-28 11:04:03 +00:00
peter
8e85a889de + aktmodeswitches 1998-09-24 23:49:05 +00:00
pierre
7125b9236a * main program tmodule had no symtable (crashed browser)
* unit symbols problem fixed !!
1998-09-23 12:20:50 +00:00
pierre
b2661d12be + browsing updated and developed
records and objects fields are also stored
1998-09-22 17:13:42 +00:00
peter
266de92af2 * some extra ifdef GDB 1998-09-22 15:40:55 +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
pierre
be29a0b86d + improvement on the usebrowser part
(does not work correctly for now)
1998-09-18 08:01:35 +00:00
peter
6848d5170d * fixed in_global to allow directives also after interface token 1998-09-09 15:33:06 +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
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
peter
35a8d2e4fd * m68k and palmos updates from surebugfixes 1998-08-31 12:26:20 +00:00
peter
547dca7111 * fixed scannerfiles for macros
+ $I %<environment>%
1998-08-26 15:35:30 +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
e68fa48b27 * fixed current_module^.in_implementation flag 1998-08-19 18:04:54 +00:00
peter
6cc16ea7f1 - removed OLDPPU 1998-08-17 10:10:04 +00:00
peter
cc64a929aa * static/shared linking updates 1998-08-17 09:17:43 +00:00
peter
1b24a06769 * setting the outputfile using -o works now to create static libs 1998-08-14 21:56:30 +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
1bffd4e290 * released NEWINPUT 1998-07-14 14:46:36 +00:00
peter
b5f4535ec1 * heap_size for m68k 1998-07-08 12:39:38 +00:00