Commit Graph

392 Commits

Author SHA1 Message Date
florian
8cd8e4ba8d + basic dwarf support for variables and types
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
florian
b06643a1eb * tai_const refactored
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
peter
45176ea2a8 * split tstringtype for stringdef and stringconstnode
to prevent wrong typecasts

git-svn-id: trunk@2276 -
2006-01-13 17:20:27 +00:00
Jonas Maebe
48e98d2a17 * fixed compilation of macpas interface-only units
git-svn-id: trunk@2130 -
2006-01-02 20:55:10 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
68e56b9fc7 * write only unique property names in rtti
git-svn-id: trunk@2007 -
2005-12-20 14:44:48 +00:00
Károly Balogh
739ae4c254 + 1st attempt to have explicit funcretloc for Amiga/m68k
git-svn-id: trunk@1978 -
2005-12-18 03:58:27 +00:00
Károly Balogh
238964e443 Various m68k fixes/additions:
- fixes in asmreader, basic stuff works again, the rest is untested
  - removed lot of unnecessary ungetcpuregister()s
  - various other fixes i forgot
  + basic amigaos syscalls support. still lacks explicit funcretloc

git-svn-id: trunk@1943 -
2005-12-13 20:42:15 +00:00
daniel
c0b4678873 * Rename unit crc to fpccrc to avoid name conflict in packages
git-svn-id: trunk@1856 -
2005-12-01 16:45:44 +00:00
florian
c43e2df522 * copying of classes fixed, closes 3930
git-svn-id: trunk@1791 -
2005-11-20 09:11:23 +00:00
olle
5bf628a72e bugfix, inherited reset was not called
git-svn-id: trunk@1724 -
2005-11-12 00:37:45 +00:00
florian
7be36096f0 + proper init rtti for proc. vars
git-svn-id: trunk@1479 -
2005-10-18 20:05:56 +00:00
peter
59a26e4f68 * fixed interface name mapping
git-svn-id: trunk@1443 -
2005-10-17 16:02:44 +00:00
peter
6e60c8a92b * move stab number reset to dbgstabs
git-svn-id: trunk@1442 -
2005-10-17 15:02:15 +00:00
peter
51b8a4a132 * move stabs generation to a single procedure call from pmodules
git-svn-id: trunk@1358 -
2005-10-12 10:35:46 +00:00
florian
1066eb1cb3 * on cpus requiring proper alignment, shortstrings are to two byte boundaries aligned
git-svn-id: trunk@1319 -
2005-10-07 19:17:09 +00:00
peter
89297d2c39 * move all stabs ($ifdef gdb) code to dbgstabs
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
ec4d287fd8 * aktoutputformat removed, add new paraXX vars for target
assembler and debuginfo and use these vars to override
    the defaults for the target after the parameters are read
  * remove not-maintained and tested gdb code

git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
peter
6bf3269b41 * powerpc64 port from Thomas Schatzl
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +00:00
peter
a3ab2053c9 * support multiple asmlabel types, renamed getlabel to
getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs

git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
peter
89d4cc68c0 * hack to workaround an IE with forward classes were
a child class is declared before the parent class. Resulting
    in the wrong order in the ppu

git-svn-id: trunk@1105 -
2005-09-17 23:26:21 +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
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
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
24f6bb1594 * overload chaining checks if the procdef is in the same symtable, this
prevents keeping references to staticsymtable only procdefs that are
    not accessible through the globalsymtable. And can cause crashes when
    the staticsymtable is already released.

git-svn-id: trunk@644 -
2005-07-18 09:50:39 +00:00
florian
f0efddff9b * fixed compilation on x86_64
git-svn-id: trunk@643 -
2005-07-18 09:28:58 +00:00
florian
fddf556098 + writing of vartype for dyn. array rtti
git-svn-id: trunk@629 -
2005-07-15 21:04:50 +00:00
peter
627a3b53e8 * fix loading of enum subranges from ppu
git-svn-id: trunk@535 -
2005-06-30 07:13:42 +00:00
florian
b9b9ce059d * compilation errors fixed
git-svn-id: trunk@531 -
2005-06-29 19:35:05 +00:00
florian
abbc85bb78 + strict protected and strict private support
git-svn-id: trunk@512 -
2005-06-28 19:23:39 +00:00
florian
be9bd97532 * fixed interface rtti, fixes bug #4089
git-svn-id: trunk@423 -
2005-06-15 21:28:15 +00:00
florian
21ae782854 * fixed more xmm stuff
+ some win64 stuff added

git-svn-id: trunk@330 -
2005-06-09 20:50:17 +00:00
florian
ebcb69478f * fixed a lot of stuff for fpu/mm register variables
git-svn-id: trunk@199 -
2005-06-04 21:23:15 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
florian
c044221818 * fixed alignment of objects and arrays in arrays, fixes bug #3971
git-svn-id: trunk@39 -
2005-05-21 07:39:44 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
florian
09b0fe36fb + made variant publishable 2005-05-07 16:43:02 +00:00
peter
3c6d74c4d9 * extended stabs use size of 10 2005-04-25 13:15:18 +00:00
florian
c5c6df8237 * class ref. properties can be published now 2005-04-03 15:20:42 +00:00
peter
3446cb0f2f fix loading of inline info 2005-03-28 15:04:13 +00:00
Jonas Maebe
a5c94ddccd * removed some unused variables 2005-03-25 21:55:43 +00:00
florian
7b56e65a4b * fixed FieldAddress for 64 bit and CPUs requiring proper alignment 2005-03-13 08:34:58 +00:00
peter
100a47e6af * fix protected checking 2005-03-07 17:58:27 +00:00
florian
534b11cfb1 * userdata in file/textrecs now 32 bytes 2005-02-26 15:42:45 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
22d9294ab3 + overflow checking for the arm 2005-02-13 18:55:19 +00:00
peter
eae47d058b * implprocs requires no duplicate entries of the same procdef 2005-02-10 22:08:37 +00:00
florian
71679e0662 * type = type <procvar>; ignored 2005-02-02 19:02:47 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
peter
4631658576 * add info that a procedure is local in error messages 2005-01-30 11:26:40 +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
florian
f20af0b344 * typeinfo in typedata is now aligned 2005-01-16 14:47:26 +00:00
peter
bb32ee0457 * fix interface vtbl optimization
* replace ugly pointer construct of ioffset()
2005-01-09 15:05:29 +00:00
florian
80af47489d + first batch of patches to support tdef.getcopy fully 2005-01-03 17:55:57 +00:00
florian
485b770322 * alignment fixes for sparc 2004-12-30 14:36:29 +00:00
florian
5fb0678de2 * fixed class field info alignment 2004-12-27 15:54:54 +00:00
peter
a266052fd9 * modified algorithm for shortening manglednames to fix compilation
of procedures with a lot of longtypenames that are equal, see
    tw343
2004-12-07 15:41:11 +00:00
michael
44bf61f445 * Convert array of widechar to pwidechar instead of pchar 2004-12-07 13:52:54 +00:00
peter
2b6456fe16 * procvar handling for tp procvar mode fixed
* proc to procvar moved from addrnode to typeconvnode
  * inlininginfo is now allocated only for inline routines that
    can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
peter
c2263a36ac * int64 can also be put in a register 2004-12-03 15:57:39 +00:00
Jonas Maebe
bd04491f50 * patch from Peter to fix inlining of case statements 2004-11-30 18:13:39 +00:00
peter
8cf8c54609 * fixed varargs
* replaced dynarray with tlist
2004-11-22 22:01:19 +00:00
peter
2985766e9d * manglednames for nested procedures include full parameters from
the parents to prevent double manglednames
2004-11-21 21:51:31 +00:00
peter
89b1b583c9 * ttempcreatenode.create_reg merged into .create with parameter
whether a register is allowed
  * funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
florian
18f7aa97dd * changed funcret location back to tlocation 2004-11-21 17:17:03 +00:00
peter
29d3a94892 * fixed message methods
* fixed typo with win32 dll import from implementation
  * released external check
2004-11-21 16:33:19 +00:00
peter
1687306d22 * make some checks EXTDEBUG only for now so linux cycles again 2004-11-17 22:41:41 +00:00
peter
14d25d278b mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
c4502aebe7 * _mangledname for symbols moved only to symbols that really need it
* overload number removed, add function result type to the mangledname fo
  procdefs
2004-11-16 22:09:57 +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
0c7e53bb81 * fixed compile of powerpc,sparc,arm 2004-11-11 19:31:33 +00:00
peter
6458bd0ce1 * tvarsym splitted 2004-11-08 22:09:58 +00:00
florian
42e14b6825 + additional extdebug check for wrong add_reg_instructions added
* too long manglednames are cut off at 200 chars using a crc
2004-11-06 17:44:47 +00:00
florian
7f89448cec * vmt offset of objects is no properly aligned when necessary 2004-11-05 21:07:13 +00:00
peter
37139422aa elecount also on 32bit needs the qword part to prevent overflow 2004-11-04 17:58:48 +00:00
peter
f4a7c3d444 fixed debuginfo for variables in staticsymtable 2004-11-04 17:09:54 +00:00
florian
926da4b9c9 * fixed writing of para locations for procedures with explicit locations for parameters 2004-11-03 09:46:34 +00:00
peter
9b00c7832e * support > 32bit accesses for x86_64
* rewrote array size checking to support 64bit
2004-11-01 23:30:11 +00:00
florian
f0e07003be * fixed type information for dyn. arrays on 64 bit systems 2004-11-01 15:33:12 +00:00
peter
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
2e91bcf821 * align arraydef rtti 2004-10-26 15:02:33 +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
4f7667488b * parameter regvar fixes 2004-10-10 21:08:55 +00:00
florian
b39c0af01b * rtti alignment fixed 2004-10-04 21:23:15 +00:00
Tomas Hajny
85320d6787 * SetTextLineEnding implemented, FileRec.Name position alignment for CPU64 2004-09-21 23:36:51 +00:00
peter
33a834821f * paraloc branch merged 2004-09-21 17:25:12 +00:00
peter
7e90a8a8ab * restart sorting of enums when deref is called, this is needed when
a unit is reloaded
2004-09-14 16:33:17 +00:00
peter
d763f9e142 browser disabled
uf_local_symtable ppu flag when a localsymtable is stored
2004-08-27 21:59:26 +00:00
Jonas Maebe
c7544e69de + padalgingment field for recordsymtables (saved by recorddefs)
+ support for Macintosh PowerPC alignment (if the first field of a record
    or union has an alignment > 4, then the record or union size must be
    padded to a multiple of this size)
2004-08-17 16:29:21 +00:00
peter
8184ad2048 * fixed padding of records to alignment 2004-08-15 15:05:16 +00:00
florian
6368652be2 * fixed several sparc alignment issues
+ Jonas' inline node patch; non functional yet
2004-08-14 14:50:42 +00:00
florian
6ab93f5ec1 * fixed web bug #3226: type p = type pointer; 2004-08-07 14:52:45 +00:00
florian
aba734edc9 * fixed funcret_paraloc writing in units 2004-07-19 19:15:50 +00:00
olle
4ad33f01b6 - removed unused types 2004-07-14 21:37:41 +00:00
Jonas Maebe
1563d986c5 * inline procedures at the node tree level, but only under some very
limited circumstances for now (only procedures, and only if they have
    no or only vs_out/vs_var parameters).
  * fixed ppudump for inline procedures
  * fixed ppudump for ppc
2004-07-12 09:14:04 +00:00
peter
a939095dbe * revert has_localst patch
* replace aktstaticsymtable/aktglobalsymtable with current_module
2004-07-09 22:17:31 +00:00
peter
60b53cb1c1 * fix storing of localst in ppu 2004-07-06 19:52:04 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00