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