Commit Graph

349 Commits

Author SHA1 Message Date
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
peter
0ac4983a9b * remove obsolete cardinal() typecasts 2004-06-18 15:16:46 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
5abb93e77d * range check error 2004-05-25 18:51:14 +00:00
peter
74e8ba82da * removed unused voidprocdef 2004-05-23 20:57:10 +00:00
peter
c96ba04d84 * fixed qword(longint) that removed sign from the number
* removed code in the compiler that relied on wrong qword(longint)
    code generation
2004-05-23 15:23:30 +00:00
peter
fac96dd2ed fix range check error when array size > maxlongint 2004-05-22 23:33:18 +00:00
florian
e8098f6b71 + added lib support for Amiga/MorphOS syscalls 2004-05-01 22:05:01 +00:00
daniel
b721e5872c * Prepare compiler infrastructure for multiple ansistring types 2004-04-29 19:56:36 +00:00
florian
a7478ee97f + location support for arguments, currently PowerPC/MorphOS only 2004-04-18 15:22:24 +00:00
peter
e46cdcea48 * constants ordinals now always have a type assigned
* integer constants have the smallest type, unsigned prefered over
    signed
2004-03-23 22:34:49 +00:00
olle
a7f25327f6 * change AT_FUNCTION to AT_DATA where appropriate 2004-03-18 11:43:57 +00:00
peter
297578a599 * valgrind doesn't like nested procedure info in stabs 2004-03-14 22:51:46 +00:00
peter
df18c0aa82 * don't write line numbers in stabs for defs 2004-03-14 20:06:40 +00:00
peter
37f3f95b59 * more stabs fixes
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00
peter
f8e067cadb * first write parent classes 2004-03-09 22:18:22 +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
peter
29c2944706 * fix hidden pointer for stabs 2004-03-03 22:01:44 +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
0750bd97e5 * Revert my latest change 2004-02-22 19:55:25 +00:00
daniel
efc644e349 * Fixed minor bug in Tenumdef.stabstring 2004-02-22 18:49:03 +00:00
florian
06a33abebd * fixed arg. area calculation 2004-02-19 17:07:42 +00:00
peter
1e3875ad36 - fix rtti generation for properties containing sl_vec
- fix crash when overloaded operator is not available
- fix record alignment for C style variant records
2004-02-17 15:57:49 +00:00
peter
ee569d7817 * make extcycle is working again 2004-02-12 15:54:03 +00:00
Jonas Maebe
3056a64bf0 * fixed regvars support. Needs -doldregvars to activate. Only tested with
ppc, other processors should however only require maxregvars and
    maxfpuregvars constants in cpubase.pas. Remember to take scratch-
    registers into account when defining that value.
2004-02-08 18:08:59 +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
florian
465aa5851b * several fixes to compile x86-64 system 2004-02-05 01:24:08 +00:00
peter
ecfbbeffc3 * renamed xNNbittype to xNNinttype
* renamed registers32 to registersint
  * replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
8caaa7740d * more record alignment fixes 2004-01-28 22:16:31 +00:00
florian
4ccec73aa5 * fixed alignment of classes 2004-01-28 21:05:56 +00:00
peter
2d8d788211 * record alignment splitted in fieldalignment and recordalignment,
the latter is used when this record is inserted in another record.
2004-01-28 20:30:18 +00:00
daniel
3a3f65a364 * Fix string type stab generation. String constant still unsupported. 2004-01-27 10:29:32 +00:00
daniel
8bea12a84d * Typo 2004-01-26 19:54:42 +00:00
daniel
5de754a2a1 * Try to recude stack usage of Tpointerdef.concatstabsto 2004-01-26 19:43:49 +00:00
daniel
97e87aaebc * reginfo now also only allocated during register allocation
* third round of gdb cleanups: kick out most of concatstabto
2004-01-26 16:12:27 +00:00
daniel
60876a7c1a * More gdb cleanup: make record & object stab generation linear instead
of quadratic.
2004-01-25 20:23:28 +00:00
daniel
2db2f4ac1b * Made varags parameter constant 2004-01-25 13:18:59 +00:00
daniel
45ebe9b10b * Last commit broke debug info for records. Fixed. 2004-01-25 12:37:15 +00:00
daniel
7a417defc8 * 2nd round of gdb cleanup 2004-01-25 11:33:48 +00:00
peter
861b7cd72e * procvardef rtti fixed 2004-01-22 21:33:54 +00:00
peter
8f70c34b33 * enum value rtti is now in orginal case 2004-01-22 16:33:22 +00:00
florian
c37035a450 * common addnode code for x86-64 and i386 2004-01-20 12:59:36 +00:00