Commit Graph

273 Commits

Author SHA1 Message Date
Jonas Maebe
045ae3ab69 o fixed r13033:
* test now tests both ansistring and widestring constants, instead of only
     ansistring
   * fixed writing of widestring constants to ppu file
   * fixed setting length of read widestring constants (don't only set maxlen)
   * handle cross-endian reading of widestring constants

git-svn-id: trunk@13034 -
2009-04-24 22:29:05 +00:00
Jonas Maebe
37a2cff8fb * fixed loading widestring constsym values from ppu files (mantis #13583)
* null-terminate loaded ansistring/resourcestring constants from ppu files

git-svn-id: trunk@13033 -
2009-04-24 21:36:01 +00:00
florian
6911b70dc4 + write/read alignment to ppu for explicit parameter locations
git-svn-id: trunk@12765 -
2009-02-21 22:59:58 +00:00
Jonas Maebe
2929624ffc * accept overloaded operators that return any shortstring type when needing
a conversion to a shortstring type (so an operator := that returns a
    string[255] can be used to assign this type to a string[80]) (mantis
    #12109)
  * do not allow overloading := with a string[x<>255] as result type,
    because we want one such overload to satisfy all conversions (see
    previous point)

git-svn-id: trunk@12590 -
2009-01-24 15:12:19 +00:00
florian
6e700b38a4 + changed absolute offset variable to aword to avoid range check errors when using addresses > $7fffffff
git-svn-id: trunk@12585 -
2009-01-23 13:28:35 +00:00
peter
36cad44923 * refactor is_visible_for_object
git-svn-id: trunk@12152 -
2008-11-17 21:41:40 +00:00
peter
0f6f1a9c97 * remove obsolete unchain_overloads
git-svn-id: trunk@12065 -
2008-11-12 22:42:19 +00:00
peter
9086a2549d * refactor overload collection in tcallcandidates. separate
the collecting of overloads. The actual building of
    candidate list is now common

git-svn-id: trunk@12064 -
2008-11-12 22:38:38 +00:00
peter
a3a66ba74d * split tvisibility from tsymoptions
* replace current_object_option with symtable.currentvisibility

git-svn-id: trunk@12048 -
2008-11-11 09:05:39 +00:00
peter
af437d5beb * refactor the forward type declaration handling, remove
global typecanbeforward and move 'class of ..' parsing
    to ptype

git-svn-id: trunk@12045 -
2008-11-09 22:07:36 +00:00
Jonas Maebe
0b815a6fff - removed global "resolving_forward" variable (was no longer used)
* moved forward type checking from pdecl/symbase to symtable/symsym

git-svn-id: trunk@11763 -
2008-09-13 12:28:55 +00:00
Jonas Maebe
2b067a427d * give warning if a routine in the interface of a non-interface-only
macpas routine is not implemented and therefore considered to be
    external

git-svn-id: trunk@11703 -
2008-09-04 18:15:26 +00:00
daniel
4ca3a590e8 * Labels that are defined or referenced in a different lexical level
than their declaration need to be code generated as global asmlabels.

git-svn-id: trunk@9791 -
2008-01-19 13:50:58 +00:00
Jonas Maebe
df84ca49b4 * fixed tests/cg/opt/tretopt, and also in more cases
perform the transformation of x:=f(hiddencomplexresult, ..)
    -> f(x, ...) (the compiler now performs some very
    conservative escape analysis for such types)

git-svn-id: trunk@8361 -
2007-09-02 21:27:37 +00:00
daniel
9adb202a92 * Rework the constexprint to allow operations from low(int64) to high(qword).
+ Some initial work on a formaldef which also carries the typinfo of a parameter.

git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
peter
aa72495049 * fix resourcestring assignment in typedconst
git-svn-id: trunk@7339 -
2007-05-15 06:52:36 +00:00
tom_at_work
635117218e * fix incorrect generation of huge static arrays on 64 bit systems; however, GAS only supports 2^31-1 sized ones
git-svn-id: trunk@6382 -
2007-02-08 22:11:27 +00:00
Jonas Maebe
e541f19ef5 * fixed debug info generation for static symbols + IE in case it cannot
be generated (rather than an undefined function result)

git-svn-id: trunk@6187 -
2007-01-25 17:07:26 +00:00
Jonas Maebe
b957d59391 * don't override varregable for tabstractvarsyms loaded from a ppu when
setting their vardef (since the varregable was stored/loaded in the ppu
    and should be kept the same -- fixes webtbs/tw7817a.pp and tw7817b.pp
    when both compiled separately and with regvars)

git-svn-id: trunk@5540 -
2006-12-04 14:16:43 +00:00
peter
0557ddc342 * removed typed const, it is now handled by staticvarsym
* globalvarsym renamed to staticvarsym
  * fixed invalid regvar use in init when the finalize also uses the var

git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
3cae449fda * moved rtti to ncgrtti
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
florian
c465b95bdf * win64 compilation fixed
git-svn-id: trunk@5217 -
2006-11-04 09:12:19 +00:00
peter
e17b424e28 * refactor procsym procdef list
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +00:00
peter
658c46b903 * remove tdictionary and tindexarray
* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled

git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
05183ac829 * AsmSymbolDict changed to FPHashObjectList
git-svn-id: trunk@5139 -
2006-11-01 00:22:13 +00:00
peter
cb246eb781 * Remove dos,strings units, use SysUtils instead
* replace split* functions with Extract* functions
  * Add Directory caching

git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
d27fda4b01 * fix rtti for overriden properties
git-svn-id: trunk@5079 -
2006-10-29 23:20:00 +00:00
peter
3078a1927f * remove ttype
* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code

git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
d4d4309e44 * use unique symid and defid per module
git-svn-id: trunk@5061 -
2006-10-29 13:00:22 +00:00
florian
30ea65a89c * varspez shouldn't be part of the crc
git-svn-id: trunk@5058 -
2006-10-29 12:37:05 +00:00
florian
a806fe3954 * disabled previous patch, can't be done this way
git-svn-id: trunk@5056 -
2006-10-29 11:03:11 +00:00
florian
a0b1fbfa0e + write varstate for parameter symbols, enables constant folding for
inlined procedures loaded from ppu files

git-svn-id: trunk@5055 -
2006-10-29 10:46:47 +00:00
peter
0f6355e805 * fix property overriding
git-svn-id: trunk@5045 -
2006-10-28 20:35:53 +00:00
Marc Weustink
88e00bd264 * removed write depend def, write only defs when needed
git-svn-id: trunk@4816 -
2006-10-06 23:54:38 +00:00
peter
2c7bc12ad6 * support indexed stored methods
git-svn-id: trunk@4740 -
2006-09-27 18:32:18 +00:00
Jonas Maebe
7528a28287 * keep track of a sym's initial location to use during the generation
of init code

git-svn-id: trunk@4611 -
2006-09-11 18:55:40 +00:00
Jonas Maebe
1f42ee201b + support for bitpacked records, except for:
* rtti
    * typed constants

git-svn-id: trunk@4489 -
2006-08-23 15:44:13 +00:00
peter
4506394cfa * pass contextobjdef for visibility of methods. There are different
requirements for normal searching and for overloaded searching.
    For overloaded searching we need to have the context of the
    object where the overload is defined and not the current
    module

git-svn-id: trunk@4391 -
2006-08-07 21:12:38 +00:00
Jonas Maebe
4861472e7b * declared tlabelsym.mangledname as override
git-svn-id: trunk@4184 -
2006-07-14 17:33:29 +00:00
florian
3261281184 * fixed stabs generation for static class variables
git-svn-id: trunk@3614 -
2006-05-21 17:34:30 +00:00
florian
627c7f2ae0 * allow assembler labels to be used in typed consts
git-svn-id: trunk@3590 -
2006-05-20 10:18:46 +00:00
Jonas Maebe
e344ee3cd7 + support for register variables which contain records
git-svn-id: trunk@3580 -
2006-05-19 15:49:07 +00:00
Jonas Maebe
e0250bcdb4 * never remove regvar-ability of parameters passed by reference
(previously worked only for var/out, now also for const and
     is more generic)

git-svn-id: trunk@3554 -
2006-05-17 13:38:02 +00:00
florian
9da293678e * fixed mm register parameters which were messed up by a previous commit
* fixed duplicate ie number

git-svn-id: trunk@3125 -
2006-04-02 19:15:38 +00:00
peter
0ec2921bbe * split newasmsymbol to refasmsymbol and defineasmsymbol
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +00:00
peter
95be416b9d * don't allow stringconst+integer
* change booleans in arraydef to set
  * set option in arraydef to indicate a constant string so
    a nicer type can be shown instead of array[0..x] of char

git-svn-id: trunk@3051 -
2006-03-27 07:22:02 +00:00
peter
e0a62c1bf2 Merged revisions 3009 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r3009 (peter)
  * support public name for typed consts

git-svn-id: trunk@3043 -
2006-03-26 18:54:19 +00:00
peter
37c81492ad Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r2827 (peter)
  * smartlinking of resourcestrings


r2831 (peter)
  * process_ea 64bit fixes


r2837 (peter)
  * linker script

git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00