peter
95879fe8a7
* basic support for generic classes
...
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
Jonas Maebe
42ec76598c
* new categories for vs_*: vs_declared, vs_initialised, vs_read,
...
vs_written, vs_readwritten. vs_initialised is the old vs_assigned;
vs_used has been replaced by vs_read, vs_written and vs_readwritten
* the valid_for_*() routines in htypechk now get an extra parameter to
decide whether or not errors should be reported
git-svn-id: trunk@1913 -
2005-12-10 16:51:26 +00:00
Jonas Maebe
7996bb3b06
* fixed showing of warnings for uninitialised function results
...
git-svn-id: trunk@1897 -
2005-12-07 16:12:01 +00:00
peter
9a8dc6bfb2
* store hidden symbols correctly in ppu
...
git-svn-id: trunk@1751 -
2005-11-15 08:35:01 +00:00
peter
7d153beac7
* assignment operator search finds best matching operator
...
git-svn-id: trunk@1469 -
2005-10-18 10:53:11 +00:00
peter
daa002f26b
* only check forwards for the original object type declaration
...
git-svn-id: trunk@1459 -
2005-10-18 07:22:55 +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
Jonas Maebe
f3384bab09
+ some initial darwin/x86 stuff:
...
* align stack to 16 bytes
* extended takes 16 bytes
* <= 8 byte records are passed in registers
git-svn-id: trunk@1224 -
2005-09-29 11:31:26 +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
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
375a5add80
* rename al_debug to al_typestabs
...
* first write al_typestabs before other sections
git-svn-id: trunk@1054 -
2005-09-06 06:32:26 +00:00
olle
2a5e6d7b92
+ compile time variables can be given on the command line
...
git-svn-id: trunk@923 -
2005-08-22 19:34:54 +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
florian
bdc8b7d061
* not ignoring private/protected anymore, fixes bug #3969
...
git-svn-id: trunk@553 -
2005-07-01 20:37:18 +00:00
florian
abbc85bb78
+ strict protected and strict private support
...
git-svn-id: trunk@512 -
2005-06-28 19:23:39 +00:00
florian
067a39a7f9
fixes bug #4093
...
+ variant -> tdatetime implemented
+ overloaded assignment operator takes care of unique flags
git-svn-id: trunk@508 -
2005-06-26 21:19:41 +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
florian
b068bfbfc4
+ reset in InitSymtable some global vars to avoid trouble with the ide
2005-03-13 12:15:44 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
04c97cc129
* load jmp_buf_size from system unit
2005-01-20 16:38:45 +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
2a20174317
* set flag if a procedure references a symbol in staticsymtable
2004-12-27 16:35:48 +00:00
michael
1027d1941d
+ Enable local debug info in methods
2004-12-21 08:38:16 +00:00
peter
5576ae73a6
* fix visibility of protected/private
2004-12-15 15:59:54 +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
95e0ed26f8
* use helper call to retrieve address of input/output to reduce
...
code that is generated in the main program for loading the
threadvar
2004-11-09 23:10:22 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
peter
ad89ee8150
* rename duplicate symbols and insert with unique name in the
...
symtable
2004-11-05 21:16:55 +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
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
1bb51a2667
* all checking for visibility is now done by is_visible_for_object
2004-10-12 19:51:13 +00:00
peter
66df745917
* small regvar for para fixes
...
* function tvarsym.is_regvar added
* tvarsym.getvaluesize removed, use getsize instead
2004-10-11 15:48:15 +00:00
peter
63cf4464d3
* tvarsym.varregable added, split vo_regable from varoptions
2004-10-08 17:09:43 +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
cf25a973f8
* fixed alignment of variant records
...
* more alignment problems fixed
2004-08-15 13:30:18 +00:00
peter
a939095dbe
* revert has_localst patch
...
* replace aktstaticsymtable/aktglobalsymtable with current_module
2004-07-09 22:17:31 +00:00
peter
cf3c1198ea
* include unit name in error messages when types are the same
2004-06-23 16:22:45 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
a1b8d8bf6b
* check for 2gb limit when inserting record fields
2004-05-25 18:50:50 +00:00
peter
6245066670
* don't generate incompatible types when there is an errordef
2004-05-23 20:56:14 +00:00
peter
5358278ca1
tai_regalloc.allocation changed to ratype to notify rgobj of register size changes
2004-05-22 23:34:27 +00:00
daniel
b721e5872c
* Prepare compiler infrastructure for multiple ansistring types
2004-04-29 19:56:36 +00:00
peter
ba9f4a0703
* packrecords fixed for settings from $PACKRECORDS
...
* default packrecords now uses value 0 and uses info from aligment
structure only, initpackrecords removed
2004-03-14 20:08:37 +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
1d2464f091
* check if withsymtable.defowner is in the current unit
2004-02-26 16:16:19 +00:00
peter
05e0d83348
* operator overload chooses rewrite
...
* overload choosing is now generic and moved to htypechk
2004-02-24 16:12:39 +00:00
peter
c844c5a505
* procvar cleanup
2004-02-20 21:55:59 +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
f619982607
* fixed protected checking in withsymtable
2004-02-13 15:40:58 +00:00
peter
7b04fdec2e
* fix compilation without GDB
2004-02-11 19:59:06 +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
daniel
c22f863764
* Fix stabs generation problem reported by Jonas
2004-01-31 22:48:31 +00:00
daniel
862e121a0a
* Last steps before removal of aasmtai dependency in symsym can be
...
accomplished.
2004-01-31 18:40:15 +00:00
florian
4505b320b7
* fixed more alignment issues
2004-01-30 14:33:06 +00:00
florian
35b8e93073
* fixed more alignment issues
2004-01-30 13:42:03 +00:00
peter
dfb7fe9d9d
* fixed alignment calculation for variant records
...
* fixed alignment padding of records
2004-01-29 16:51:29 +00:00
peter
8caaa7740d
* more record alignment fixes
2004-01-28 22:16:31 +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
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
7a6b6f4bd4
* Some minor stuff
...
* Managed to eliminate speed effects of string compression
2004-01-15 15:16:17 +00:00
daniel
4a4b8f2a72
* Experiment: Compress strings to save memory
...
Did not save a single byte of mem; clearly the core size is boosted by
temporary memory usage...
2004-01-11 23:56:19 +00:00
peter
f663d2488f
* cross unit inlining fixed
2003-11-10 22:02:52 +00:00
florian
585d13369c
* fixed strange error message about expecting erroneous types,
...
usually this is caused by other errors so it isn't important
2003-11-08 17:08:44 +00:00
peter
19727a3609
* don't search for overloads in parents for constructors
2003-10-30 16:23:13 +00:00
peter
4a1ecb07d1
* splitted buildderef and buildderefimpl to fix interface crc
...
calculation
2003-10-23 14:44:07 +00:00
peter
6878c55c80
* write derefdata in a separate ppu entry
2003-10-22 20:39:59 +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
a28d911c98
* IncompatibleTypes() added that will include unit names when
...
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
303b5252e4
* removed is_visible_for_proc
...
* search also for class overloads when finding interface
implementations
2003-10-13 14:05:12 +00:00
peter
e27d6f67da
* inline supported again, LOC_REFERENCEs are used to pass the
...
parameters
* inlineparasymtable,inlinelocalsymtable removed
* exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
052f635a45
* don't report unused hidden parameters
2003-10-03 14:43:29 +00:00
peter
00801693bb
* protected visibility fixes
2003-10-02 21:13:46 +00:00
peter
7900a544a3
* searchsym_type to search for type definitions. It ignores
...
records,objects and parameters
2003-10-01 19:05:33 +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
peter
375820ccae
* unchain operators before adding to overloaded list
2003-08-23 22:31:08 +00:00
peter
bfb8ae2151
* sym,def resolving partly rewritten to support also parent objects
...
not directly available through the uses clause
2003-06-25 18:31:23 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
72a89db7f7
* para can be the same as function name in delphi
2003-06-09 18:26:27 +00:00
peter
5540304b85
* check parast when inserting in localst
2003-06-08 11:40:00 +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
peter
072a55b73e
* methodpointer self pushing fixed
2003-05-25 11:34:17 +00:00
peter
8ff5792776
* remove some unit dependencies
...
* current_procinfo changes to store more info
2003-05-23 14:27:35 +00:00
peter
1d3a842c07
* fix dup check for hiding the result varsym in localst, the result
...
sym was already in the localst when adding the locals
2003-05-16 14:32:58 +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
peter
4ba5171726
* fix crash with hiding function result. The function result is now
...
inserted as last so the symbol that we are going to insert is the
result and needs to be renamed instead of the already existing
symbol
2003-05-13 15:17:13 +00:00
peter
15b0132f6f
* tloadnode does not support objectsymtable,withsymtable anymore
...
* withnode cleanup
* direct with rewritten to use temprefnode
2003-05-11 14:45:12 +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
peter
fe96aad6d6
* vo_is_result flag added for the special RESULT symbol
2003-04-26 00:33:07 +00:00
peter
f4b818fc1d
* removed funcretn,funcretsym, function result is now in varsym
...
and aliases for result and function name are added using absolutesym
* vs_hidden parameter for funcret passed in parameter
* vs_hidden fixes
* writenode changed to printnode and released from extdebug
* -vp option added to generate a tree.log with the nodetree
* nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
Jonas Maebe
06e03ecd23
* calculation of parameter and resultlocation offsets now depends on
...
tg.direction instead of if(n)def powerpc
2003-04-16 07:53:11 +00:00
Jonas Maebe
ec71805aa8
* several ppc/generic result offset related fixes. The "normal" result
...
offset seems now to be calculated correctly and a lot of duplicate
calculations have been removed. Nested functions accessing the parent's
function result don't work at all though :(
2003-04-05 21:09:31 +00:00
peter
7548e808d9
* ignore hints for default parameter values
2003-03-17 18:56:49 +00:00