michael
d93edfdf13
+ Pointer to FPC_RESSYMBOL not in fpc.resptr section
...
git-svn-id: trunk@962 -
2005-08-28 15:36:17 +00:00
florian
adb193497d
+ softfloat support for wince
...
* more units are build for wince
git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
michael
3392189fb0
+ Implemented resources for ELF
...
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
peter
05a628447f
* put typedconsts in own asmlist to prevent mixing
...
array and string data
* added al_rodata
* renamed tasmlist enum names to include al_ prefix
git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
daniel
22e89e1a42
* Proof of concept: Support threadvars using segment registers.
...
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00
daniel
d05f58b604
* Group asmlists into array to be able to add
...
some of them more comfortably.
* x86_64 compilation was broken, fixed.
* Sparc compilation was broken, fixed.
git-svn-id: trunk@731 -
2005-07-23 13:44:32 +00:00
Jonas Maebe
8bc4e0a32f
* inline and compilerproc are now procoptions instead of proccall types
...
(so both can be combined with each other, as well as with other calling
conventions)
* defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated
git-svn-id: trunk@658 -
2005-07-18 15:27:14 +00:00
peter
34df933534
* remove chained overloades before releasing static symtable
...
git-svn-id: trunk@642 -
2005-07-18 07:06:10 +00:00
florian
83c6b3aca2
* from Yury Sidorov:
...
+ Added new target WinCE for i386 (to be able compile and run programs in WinCE emulator)
git-svn-id: trunk@596 -
2005-07-09 09:31:57 +00:00
florian
c2fe9e3814
+ compiler part of WinCE patches from Yuri Sidorov
...
git-svn-id: trunk@573 -
2005-07-03 15:52:54 +00:00
florian
f5b9130b98
* deallocation of translated resourcestrings
...
* load heaptrc before objpas
git-svn-id: trunk@549 -
2005-06-30 19:07:45 +00:00
Jonas Maebe
9d9fd923d9
* the 'main' procedure for darwin is now placed in the main program instead
...
of in the system unit
+ ability to rename this 'main' symbol (-XM<x>, e.g. -XMSDL_main for SDL), for
all OS'es
+ mention the -Xm parameter in the help
git-svn-id: trunk@503 -
2005-06-26 13:24:12 +00:00
peter
2720cbd25b
* win32 dll smartlink patch from Pavel V. Ozerski
...
git-svn-id: trunk@182 -
2005-06-03 11:39:57 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Jonas Maebe
a5c94ddccd
* removed some unused variables
2005-03-25 21:55:43 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
c5488ea6b1
* -Fa option added, it'll load the units before the uses
...
line is parsed. Can be used to load cthreads from the commandline.
Example '-g -Faheaptrc,lineinfo' is the same as '-ghl'
2005-02-06 21:33:28 +00:00
peter
ad9d04f104
* removed $threading
2005-02-06 11:15:31 +00:00
florian
b1c8bfc478
+ x86_64 pic draft
2005-02-06 00:05:56 +00:00
peter
e820bc93f2
* interface wrapper generation moved to cgobj
...
* generate interface wrappers after the module is parsed
2005-01-24 22:08:32 +00:00
peter
8d251e8506
* unit mapping rewrite
...
* new derefmap added
2005-01-19 22:19:41 +00:00
olle
7572f3a539
* rework of macro subsystem
...
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
peter
9c0be16488
implicit load of variants unit
2004-12-06 19:23:05 +00:00
peter
06cfe01791
* os2 fixes for import
...
* asmsymtype support for intel reader
2004-11-29 18:50:15 +00:00
michael
180966c0aa
* Split po_public into po_public and po_global (Peter)
2004-11-19 08:17:01 +00:00
peter
87d2861f89
* fixes for win32 mangledname
2004-11-16 20:32:40 +00:00
peter
e740a66636
* tparaitem removed, use tparavarsym instead
...
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
florian
fa2f619598
* THREADVARLIST is now aligned
2004-11-05 20:04:49 +00:00
peter
088892de9b
use filepos of main when generating the module stabs
2004-11-04 23:59:13 +00:00
peter
f4a7c3d444
fixed debuginfo for variables in staticsymtable
2004-11-04 17:09:54 +00:00
olle
f8c9ad629c
+ All sections get names in macos
2004-10-31 15:29:39 +00:00
peter
759c010f6a
* -Ch for heapsize added again
...
* __heapsize contains the heapsize
2004-10-26 15:11:01 +00:00
peter
e7459f5466
* heap and heapsize removed
...
* checkpointer fixes
2004-10-25 15:38:41 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
ef7ae0eab1
* debuginfo fixes
2004-10-04 18:26:51 +00:00
peter
7f8844e74d
* release localsymtables when module is compiled
2004-09-14 16:33:46 +00:00
armin
354004d803
* target netwlibc added (libc is preferred for newer netware versions)
2004-09-04 21:18:47 +00:00
armin
5f567e75f8
* dont create main for netware (only PASCALMAIN)
2004-09-03 16:12:32 +00:00
olle
189214f79b
+ Added automatic use of unit macpas under mode macpas
2004-08-16 22:52:35 +00:00
peter
9d7048d917
* remove unused and not loaded units before linking
2004-07-06 20:23:25 +00:00
peter
230105093d
* only enable dwarf for supported platforms
2004-06-29 21:00:08 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
peter
2eecc76977
* fixed debuginfo symbol
2004-06-18 15:16:27 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
a3c4abf4a7
* initialize errorsym/errortype.def.owner to prevent crashes
2004-05-23 20:56:42 +00:00
peter
72365ec95b
* implicit_finally flag must be set in pass1
...
* add check whether the implicit frame is generated when expected
2004-05-23 15:06:20 +00:00
peter
c553f6b320
* add DEBUGINFO symbol to reference the .o file that includes the
...
stabs info for types and global/static variables
* debuginfo flag added to ppu to indicate whether debuginfo is
generated or not
2004-05-19 21:16:12 +00:00
peter
d4dcaeafaf
* fix checking for forwards in static symtable
2004-05-16 13:29:21 +00:00
olle
6227590f61
* changed $mode mac to $mode macpas (macro defined should be FPC_MACPAS)
2004-05-11 18:22:16 +00:00
olle
90bf09aa35
+ enable omitting of IMPLEMENTATION for mode mac
...
+ added macro FPC_MAC for mode mac
2004-05-03 09:55:27 +00:00
peter
2b1fee21f1
* fix stabs for globals
2004-05-02 17:26:19 +00:00
Tomas Hajny
9238319c2f
* OS/2 heap management modified to be able to grow heap as needed
2004-03-24 20:24:25 +00:00
olle
a7f25327f6
* change AT_FUNCTION to AT_DATA where appropriate
2004-03-18 11:43:57 +00:00
peter
1ae8d3849b
* fix stabs lineno for fpc_compiled
2004-03-14 20:10:14 +00:00
peter
37f3f95b59
* more stabs fixes
...
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00
peter
d8c68fdfe0
* more stabs updates
2004-03-09 20:45:04 +00:00
peter
abbd54f334
* stabs updates to write stabs for def for all implictly used
...
units
2004-03-08 22:07:46 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
peter
356b3378e8
* tai_const.create_ptr added
2004-02-26 16:16:38 +00:00
daniel
42f9b1b0e2
* Removed not very usefull nextglobal & previousglobal fields from
...
Tstoreddef, saving 78 kb of memory
2004-02-06 22:37:00 +00:00
daniel
d735071838
* Rtti generation moved to ncgutil
...
* Assmtai usage of symsym removed
* operator overloading cleanup up
2004-02-04 22:15:15 +00:00
peter
a8b90d3014
use local string of 8 chars
2004-01-28 16:48:24 +00:00
Jonas Maebe
7f911c2f4a
* Never generate a "main" symbol for PASCALMAIN for Darwin and classic
...
Mac OS, they use a C-main in their system unit
2004-01-04 21:08:09 +00:00
peter
83abfdc39d
* check unit name when expected unitname > 8 chars
2003-12-12 19:42:21 +00:00
peter
fa52c0e3a0
* don't allow duplicate uses
...
* fix wrong circular dependency
2003-12-08 22:33:43 +00:00
florian
ea754b9a49
* fixed several pi_do_call problems
2003-11-29 20:13:25 +00:00
peter
cac39ccfd4
* renamed mangeldname_prefix to make_mangledname and made it more
...
generic
* make_mangledname is now also used for internal threadvar/resstring
lists
* Add P$ in front of program modulename to prevent duplicated symbols
at assembler level, because the main program can have the same name
as a unit, see webtbs/tw1251b
2003-10-29 19:48:50 +00:00
peter
b327c20b12
* cleanup of the entry and exit code insertion
2003-10-24 17:40:23 +00:00
peter
fcabdbbf35
* fixed unitsym-globalsymtable relation so the uses of a unit
...
is counted correctly
2003-10-22 15:22:33 +00:00
peter
276688dbb4
* fixed memleak for initfinalcode
...
* exit from generatecode when there are already errors
2003-10-21 15:14:33 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
michael
953269fcff
+ Patch from Wiktor Sywula for watcom support
2003-09-30 08:39:50 +00:00
peter
ddc50a91ca
* add missing release of main_proc
2003-09-23 18:03:08 +00:00
peter
8af51ea6d3
* locals and paras are allocated in the code generation
...
* tvarsym.localloc contains the location of para/local when
generating code for the current procedure
2003-09-23 17:56:05 +00:00
daniel
49e539ac8d
* Adding register allocation order
2003-09-09 20:59:27 +00:00
peter
05a15df3c2
* use register with least interferences in spillregister
2003-09-09 15:55:44 +00:00
peter
b9d09a4e5c
* preparations for different default calling conventions
...
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
22f1ff8da4
* merged Wiktor's Watcom patches in 1.1
2003-09-05 17:41:12 +00:00
peter
90782badfe
* reload flagged units when interface is loaded
2003-08-23 22:29:24 +00:00
peter
8cf0c122f4
* remove convert_registers
2003-08-21 14:47:41 +00:00
peter
d113495cf1
* fixed stackalloc to not allocate localst.datasize twice
...
* order of stackalloc code fixed for implicit init/final
2003-08-20 17:48:49 +00:00
daniel
ebb1f3a361
* New register coding now mandatory, some more convert_registers calls
...
removed.
2003-08-20 09:07:00 +00:00
Jonas Maebe
177d57f22c
* split en_exit_code into a part that may allocate a register and a part
...
that doesn't, so the former can be done before the register colouring
has been performed
2003-07-23 11:04:15 +00:00
peter
32d076480b
* framepointer fixes for sparc
...
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
77d641fa2a
* init/final of procedure data splitted from genentrycode
...
* use asmnode getposition to insert final at the correct position
als for the implicit try...finally
2003-06-09 12:23:29 +00:00
peter
e7975c7592
* re-resolving added instead of reloading from ppu
...
* tderef object added to store deref info for resolving
2003-06-07 20:26:32 +00:00
mazen
af653c3dd7
- removed unneeded ifdefs
...
- removed unneeded cases for sparc and x86_64
2003-06-03 20:21:45 +00:00
daniel
41e0bc4cec
* Register allocator finished
2003-06-03 13:01:59 +00:00
peter
047a066711
* procinlinenode removed
...
* aktexit2label removed, fast exit removed
+ tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
aaf6114364
* moved Comment calls to messge file
2003-05-25 10:27:12 +00:00
peter
345228fd29
* defer codegeneration for nested procedures
2003-05-22 21:31:35 +00:00
peter
92ee1804b6
* removed selfpointer_offset, vmtpointer_offset
...
* tvarsym.adjusted_address
* address in localsymtable is now in the real direction
* removed some obsolete globals
2003-05-15 18:58:53 +00:00
florian
76f18e2fc9
* fixed implicit init/final code for units, stack frame was wrong for ppc
2003-05-11 19:31:28 +00:00
peter
dfd469b7a3
* fix stabs generation for implicit initfinal
2003-04-28 21:19:02 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
florian
0284016ee9
* fixed several issues with powerpc
...
+ applied a patch from Jonas for nested function calls (PowerPC only)
* ...
2003-04-23 12:35:34 +00:00
peter
aca9555704
* Use the original unitname when defining a unitsym
2003-04-12 15:13:03 +00:00
Tomas Hajny
8e7124f9f8
+ emx target added
2003-03-23 23:11:17 +00:00
peter
bb15f5641e
*** empty log message ***
2003-03-17 22:20:08 +00:00
peter
dab938e084
* fix import linking under linux
2003-03-17 13:36:39 +00:00
daniel
86bcea6ef5
* Code generator converted to new register notation
...
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
mazen
9ad1d0ffe2
* fixing bug related to errornous program main entry stack frame
2003-02-06 22:36:55 +00:00
peter
2b0e576cbe
* tai_const_symbol.createdataname added
2003-01-30 21:46:20 +00:00
Tomas Hajny
23591531b8
* correction from rev. 1.88 put back
2003-01-11 11:19:54 +00:00
daniel
55a161bbbf
* Tregister changed into a record
2003-01-08 18:43:56 +00:00
florian
b59b436130
* x86-64 compiles
...
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
peter
a77c4e01dd
* insert unitsym with the name as specified in the uses list
2002-12-29 18:17:23 +00:00
peter
bbf8bddbb4
* unit loading changed to first register units and load them
...
afterwards. This is needed to support uses xxx in yyy correctly
* unit dependency check fixed
2002-12-29 14:57:50 +00:00
Tomas Hajny
6fff1b96bd
* another (hopefully final ;-) ) fix for not linked import libraries for units with no code
2002-12-27 19:09:33 +00:00
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