Commit Graph

109 Commits

Author SHA1 Message Date
daniel
22e89e1a42 * Proof of concept: Support threadvars using segment registers.
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +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
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
peter
0ae80eea41 * allow enum arithmetics inside an enum def, compatible with delphi 2005-02-17 17:52:39 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
michael
ac1642de89 * Patch from peter: fix macpas anonymous function procvar 2005-02-01 08:46:13 +00:00
peter
8d251e8506 * unit mapping rewrite
* new derefmap added
2005-01-19 22:19:41 +00:00
peter
14ccaf9c7b * allow enum with jumps as array index in delphi mode 2005-01-04 16:39:12 +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
9b00c7832e * support > 32bit accesses for x86_64
* rewrote array size checking to support 64bit
2004-11-01 23:30:11 +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
e661df03ee * fixes to previous constant integer commit 2004-03-29 14:44:10 +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
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
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
peter
a28d911c98 * IncompatibleTypes() added that will include unit names when
the typenames are the same
2003-10-21 18:16:13 +00:00
peter
6edadf3df5 * more proc directive for procvar fixes 2003-10-03 14:45:09 +00:00
peter
2bec6b14fc * procvar directive parsing fixes 2003-10-02 21:13:09 +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
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
1a2eedd767 * self moved to hidden parameter
* removed hdisposen,hnewn,selfn
2003-05-09 17:47: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
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
florian
07110d20f9 + added proper support of type = type <type>; for simple types 2003-01-05 15:54:15 +00:00
peter
f44c4af73b * also allow = in fpc mode to assign enums 2003-01-03 23:50:41 +00:00
peter
cf5d395f0a * update self parameter only for methodpointer and methods 2003-01-02 19:49:00 +00:00
peter
a261bbcfac * type redefine fix for tb0437 2002-12-21 13:07:34 +00:00
peter
f3fc72095f * splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
  * made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
carl
f3d9f997cd * low-highval always checked if limit ober 2GB is reached (to avoid overflow) 2002-09-27 21:13:28 +00:00
peter
1600cdf96f * safety check for typesym added for incomplete type def check 2002-09-10 16:26:39 +00:00
peter
97dbb25ab6 * check for incomplete types in the current symtable when parsing
forwarddef. Maybe this shall be delphi/tp only
2002-09-09 19:34:07 +00:00
florian
59abf2555b * types.pas renamed to defbase.pas because D6 contains a types
unit so this would conflicts if D6 programms are compiled
  + Willamette/SSE2 instructions to assembler added
2002-07-20 11:57:52 +00:00
peter
06ebac4e27 * readded missing revisions 2002-05-18 13:34:04 +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
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
peter
2dcf2ee940 * give error when using enums with jumps as array index
* allow char as enum value
2002-04-16 16:12:47 +00:00
peter
5e7a1e3729 * removed unused units
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +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
Jonas Maebe
7c570fb338 * fixed web bugs 1758 and 1760 2002-01-15 16:13:34 +00:00
peter
d24762aeba * removed uauto from orddef, use new range_to_basetype generating
the correct ordinal type for a range
2002-01-06 12:08:15 +00:00