paul
c9987c296e
compiler: don't show notes for symbols which are created by static class fields, update ppudump and ppu version
...
git-svn-id: trunk@14608 -
2010-01-11 06:38:40 +00:00
paul
91ed1c6e6f
compiler: types in classes:
...
- fix type visibility (was always public)
- fix parsing of class sections after the type declaration
- allow nested classes declarations
+ tests
git-svn-id: trunk@14607 -
2010-01-11 06:22:57 +00:00
paul
8de3b267a9
compiler: fix message regards VAR and TYPE sections in objects
...
git-svn-id: trunk@14606 -
2010-01-11 02:39:10 +00:00
paul
cb54b3e7a9
compiler: allow class to have local type sections + tests
...
git-svn-id: trunk@14605 -
2010-01-11 02:35:10 +00:00
florian
39ec69f690
* contiued to fix node cse, the insertation location for the temp. assignment is still not always correct though
...
git-svn-id: trunk@14604 -
2010-01-10 22:19:27 +00:00
Jonas Maebe
a1bcc1c8d2
* turn openstring value parameters into regular shortstring parameters
...
(mantis #14940 and #14941 )
* only turn var/our shortstring parameters with a length of 255 into
openstring parameters with {$p+} (new tbf/tb0217.pp)
git-svn-id: trunk@14602 -
2010-01-10 15:36:23 +00:00
florian
79f084167a
* increased ppu version due to r14596
...
git-svn-id: trunk@14599 -
2010-01-10 14:11:28 +00:00
paul
4b53a54b51
compiler: implement 'var' and 'class var' sections for classes + tests
...
git-svn-id: trunk@14598 -
2010-01-10 13:48:43 +00:00
florian
6b63837ae7
* rewrote node cse, needs still testing and bug fixing
...
git-svn-id: trunk@14597 -
2010-01-10 13:38:58 +00:00
florian
7707e6a030
+ tempcreate nodes can now take an init. value, this allows to initilialize temp. ref nodes on the fly
...
git-svn-id: trunk@14595 -
2010-01-10 13:19:16 +00:00
paul
3ed4c58502
compiler:
...
- implement class properties: properties which can access only static fields and static class methods
- tests
- fix a possibility to call an instance method from the class method
git-svn-id: trunk@14585 -
2010-01-09 18:37:54 +00:00
Jonas Maebe
77fd8bacc7
* fixed compiler crash when using nested procedures in Objective-C methods
...
git-svn-id: trunk@14583 -
2010-01-09 15:05:24 +00:00
Jonas Maebe
b4058a57ad
* maxcrecordalign for darwin/ppc64 is 4 instead of 8 (at least for the types
...
that we support), fixes webtbs/tw15061a.pp on darwin/ppc64
* webtbs/tw15061a.pp is only for darwin/ppc and darwin/ppc64
git-svn-id: trunk@14582 -
2010-01-09 11:22:33 +00:00
paul
2fdf045e74
compiler: don't remove 'self' if the method is static but not a class method
...
git-svn-id: trunk@14579 -
2010-01-08 17:28:43 +00:00
paul
58c71c3c59
compiler: allow to skip the 'static' modifier in the method implementation + modified test
...
git-svn-id: trunk@14578 -
2010-01-08 16:32:55 +00:00
Jonas Maebe
9cc211e88e
* changed {$align mac68k} from an alias for {$packrecords 2} to a proper
...
implementation for mac68k alignment (mantis #15061 )
* changed {$align power} from an alias for {$packrecords 4} to an alias for
{$packrecords c}, as Power alignment is the default C alignment for
PowerPC under Mac OS X (it's close to {$packrecords 4}, but not identical)
git-svn-id: trunk@14577 -
2010-01-08 15:36:22 +00:00
florian
d56bd6d246
* give better error messages if an operator is not overloaded
...
git-svn-id: trunk@14575 -
2010-01-08 14:09:29 +00:00
paul
ea88883915
compiler: fix access to static class fields from the static class methods + extended test
...
git-svn-id: trunk@14574 -
2010-01-08 10:54:35 +00:00
paul
67ae263dd9
compiler: load methodpointer for static class methods - fixes internal error 200305061 when some class member is called inside the class static method + test
...
git-svn-id: trunk@14571 -
2010-01-07 20:35:23 +00:00
paul
8166148a37
compiler: 'static' keyword:
...
- deprecate -St compiler switch
- remove $STATIC directive
- unconditionally enable 'static' keyword usage
- adopt tests, samplecfg, fpc.cft, error messages
git-svn-id: trunk@14569 -
2010-01-07 19:02:09 +00:00
florian
c1f3d8dcaa
* unified names of system_*/systems_* sets
...
git-svn-id: trunk@14566 -
2010-01-07 18:16:20 +00:00
florian
34227e811d
+ patch by Sven Barth to add native NT rtl support to the compiler, resolves #14886
...
git-svn-id: trunk@14565 -
2010-01-07 17:42:11 +00:00
pierre
9896f48317
* Fix for RTTI alignment from Paul
...
git-svn-id: trunk@14564 -
2010-01-07 17:05:11 +00:00
florian
158e36b9c5
* white space and indention fixes
...
git-svn-id: trunk@14553 -
2010-01-06 10:39:19 +00:00
paul
bf45b463bc
compiler: fix no finalization calls for libraries caused by r14543
...
git-svn-id: trunk@14552 -
2010-01-06 09:03:09 +00:00
paul
4989a1016f
compiler: don't use non-visible for current unit assignment and enumerator operators (fixes test webtbf/tw4103)
...
git-svn-id: trunk@14550 -
2010-01-05 21:22:54 +00:00
Jonas Maebe
285ea223d4
* replaced commented-out code from r14543 with a comment explaining why that
...
code is no longer necessary
git-svn-id: trunk@14549 -
2010-01-05 19:53:43 +00:00
Jonas Maebe
5cca798316
* fix crashes when compiling with -gt
...
git-svn-id: trunk@14548 -
2010-01-05 19:52:53 +00:00
paul
556afdca51
compiler: fix uninitialized result caused by r14543
...
git-svn-id: trunk@14547 -
2010-01-05 19:15:16 +00:00
Jonas Maebe
80b651f79c
* fixed (harmless) class cast error
...
git-svn-id: trunk@14546 -
2010-01-05 17:57:16 +00:00
paul
f25c21c287
compiler: fix wrong typecast
...
git-svn-id: trunk@14545 -
2010-01-05 16:22:26 +00:00
paul
8b27daae2c
compiler: don't generate code for empty initialization and finalization sections (with help of Florian) (issue #0013482 )
...
git-svn-id: trunk@14543 -
2010-01-05 16:07:37 +00:00
Jonas Maebe
83c3e7a94b
* fixed pred/succ for integer constants that equal the low/high bound of a
...
built-in integer type (reported by Stefan Kisdaroczi)
git-svn-id: trunk@14537 -
2010-01-04 15:12:27 +00:00
florian
40cea8d4d5
* handle mm register properly when used as top_local, resolves #14566
...
git-svn-id: trunk@14535 -
2010-01-03 20:33:01 +00:00
Jonas Maebe
b4c572483b
* always call procvars inside varargs in TP/Delphi mode (mantis #15446 )
...
git-svn-id: trunk@14527 -
2010-01-02 21:43:19 +00:00
florian
3fa46810be
* don't generate invalid line information for template specializations if no line info is available, resolves #9671
...
git-svn-id: trunk@14525 -
2010-01-02 17:56:30 +00:00
Jonas Maebe
407d60f8a4
* fixed in case fpc is installed under a path containing spaces
...
git-svn-id: trunk@14524 -
2010-01-02 17:27:03 +00:00
Jonas Maebe
b3a1833e0f
* lowered symbol length at which we start shortening it with a crc so
...
tw15203 also compiles on darwin
git-svn-id: trunk@14517 -
2010-01-02 11:54:16 +00:00
Jonas Maebe
04606982ac
* fixed evaluation of "mod" operator for tconstexprint with signed operands
...
(part of mantis #15453 )
git-svn-id: trunk@14516 -
2010-01-01 22:50:35 +00:00
florian
81f34dd4bb
* avoid too long prefixes of manglednames by using a CRC like for long parameter name lists, resolves #15203
...
git-svn-id: trunk@14515 -
2010-01-01 21:56:55 +00:00
paul
c83fc67e32
compiler: write correct method kind for constructors,destructors and class methods
...
git-svn-id: trunk@14512 -
2010-01-01 20:22:02 +00:00
paul
db0f23e643
compiler: write not dummy unit name for enumeration and dynamic array rtti
...
git-svn-id: trunk@14511 -
2010-01-01 19:32:53 +00:00
Jonas Maebe
dd94f5cf2b
* no longer allow typed files of reference counted data (mantis #15447 )
...
git-svn-id: trunk@14509 -
2010-01-01 14:56:33 +00:00
paul
17bd267141
compiler, rtl: write calling conventions for tkMethod members (issue #0014573 )
...
git-svn-id: trunk@14508 -
2010-01-01 14:36:33 +00:00
Jonas Maebe
7592388858
* the parameter to flagdependent() is not the ppu for which to flag the
...
dependent units, but the ppu that caused the current unit to be loaded
-> last comment of r14505 was wrong, and that change has been reverted
git-svn-id: trunk@14506 -
2010-01-01 12:17:52 +00:00
Jonas Maebe
820edb41a5
* hopefully fixed occasional endless ppu resolving loops after r14503
...
o keep track of a global defsgeneration counter that's increased every time
a unit has finished compiling its interface or implementation
o give each ppumodule the current defsgeneration number when its compiled
o only re-resolve a unit if its defsgeneration number is smaller than that
of the unit that wants it to be re-resolved
* fixed an error in the re-resolving logic added last time: re-resolve
units that depend on the current unit rather than those that also depend
on the parent unit
git-svn-id: trunk@14505 -
2009-12-31 13:28:38 +00:00
Jonas Maebe
1743c6f1a8
* also recompile a unit if class/object definitions in indirectly used
...
units have changed, because these can influence the code of the
current unit in case method signatures changed (mantis #13840 )
+ manual test
* fixed some recompilation crashes related to WPO info
* clarified the unit_u_add_depend_to message
git-svn-id: trunk@14503 -
2009-12-30 14:03:31 +00:00
Jonas Maebe
58c7c2f636
* fixed compilation in case overflow checking is enabled, but range
...
checking isn't
git-svn-id: trunk@14502 -
2009-12-30 13:21:23 +00:00
florian
701d911f58
* continued on node cse
...
git-svn-id: trunk@14496 -
2009-12-29 19:45:33 +00:00
florian
fdb67a28ab
* node complexity of subscribing increased because it's not only a simple operation to a register but requires a memory access
...
git-svn-id: trunk@14495 -
2009-12-29 19:43:32 +00:00