Commit Graph

31574 Commits

Author SHA1 Message Date
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
marco
d6b2b55d41 * inversed the ttime/ptime declaration to be sure, see mantis 15483.
git-svn-id: trunk@14601 -
2010-01-10 15:23:12 +00:00
marco
75f425f34a * fixed some minor aliases in header. From nldelphi.
git-svn-id: trunk@14600 -
2010-01-10 15:15:17 +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
50d1008577 * superfluos empty lines removed
git-svn-id: trunk@14596 -
2010-01-10 13:24:41 +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
Jonas Maebe
49f01e7b64 * replaced writelock of TMultiReadExclusiveWriteSynchronizer with a
critical section, so that it can be entered recursively just like
    the one from TSimpleRWSync + test
  - reverted r14593, since the reason for using TRWSync instead of
    TMultiReadExclusiveWriteSynchronizer was because the former
    supported recursive write locks

git-svn-id: trunk@14594 -
2010-01-10 12:14:21 +00:00
Jonas Maebe
47882716cf * use a TSimpleRWSync instead of a TMultiReadExclusiveWriteSynchronizer
for the globalnamespacelock, since it seems to require recursive locking
    (which TMultiReadExclusiveWriteSynchronizer does not support)

git-svn-id: trunk@14593 -
2010-01-10 11:41:55 +00:00
Jonas Maebe
356845ba1e * set function results for unimplemented generic thread manager routines
(to remove warnings)
  * don't give a thread error for basicevent and threadevent routines if
    isMultiThreaded is false, except for the waiting routines (the new
    TMultiReadExclusiveWriteSynchronizer creates/sets such events in the
    constructor, which caused thread manager errors in case cthreads was
    not used under unix)
  * don't perform any actual locking in TMultiReadExclusiveWriteSynchronizer
    routines if isMultiThreaded is false (in order to avoid the errors
    described above)
  + added generic RTLeventResetEvent stub

git-svn-id: trunk@14592 -
2010-01-10 11:04:05 +00:00
paul
9bad162368 rtl: fix crash in TMultiReadExclusiveWriteSynchronizer.Beginwrite
git-svn-id: trunk@14591 -
2010-01-10 09:35:37 +00:00
paul
538cf8667b rtl: fix compilation under windows
git-svn-id: trunk@14590 -
2010-01-10 06:28:50 +00:00
Jonas Maebe
f52e88dfe8 * added watcher thread that will force quite the test if it isn't finished
after 15 seconds

git-svn-id: trunk@14589 -
2010-01-09 23:26:34 +00:00
Jonas Maebe
8da0a031bf * fixed memory leak in new TMultiReadExclusiveWriteSynchronizer
(fwaitingwriterlock was not freed)
  * fixed typo in comment
  * free all memory in trwsync.pp test

git-svn-id: trunk@14588 -
2010-01-09 23:14:53 +00:00
Jonas Maebe
106baa8b2f * optimized version of TMultiReadExclusiveWriteSynchronizer that allows
concurrent readers (mantis #14451)

git-svn-id: trunk@14587 -
2010-01-09 23:00:45 +00:00
marco
b8d5a8f44c * Linux specific time_t fixes. Also tested with -dFPC_USE_LIBC and more problem fixed.
git-svn-id: trunk@14586 -
2010-01-09 22:02:36 +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
marco
5d87461507 * moves the alias "TTime = time_t" from ptypes.inc to unixtype.pp.
This means it is not aliased in the body of the system unit (which causes
  trouble with the delphi type of the same name), but baseunix/unix/unixtype
  will containue to export the type.

git-svn-id: trunk@14584 -
2010-01-09 16:05:42 +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
florian
775f532c95 * disabled TTime and TDate for now till a solution for the conflicts on unix is found
git-svn-id: trunk@14581 -
2010-01-08 21:22:25 +00:00
paul
00624ad7a3 tests: remove {$STATIC ON} directive since it is not available anymore
git-svn-id: trunk@14580 -
2010-01-08 18:01:28 +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
joost
699c07ce7f * Let TSessionHTTPModule.CheckSession really create a new session when there is none
git-svn-id: trunk@14576 -
2010-01-08 15:20:41 +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
florian
06e604cffd + patch by Sven Barth to add TDate and TTime to the system unit, resolves #15474
git-svn-id: trunk@14573 -
2010-01-08 09:56:09 +00:00
marco
8e9a7e14ad * Revised yesterday solution to a more general one. Executeprocess gets
another parameter, a set type with flags, default = []

git-svn-id: trunk@14572 -
2010-01-07 20:49:28 +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
florian
3f17af3437 * patch by taka_jp to set SysLocale.PriLangID on windows properly, resolves #14872
git-svn-id: trunk@14570 -
2010-01-07 20:06:24 +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
d94f37e375 + patch by Sven Barth to add native NT rtl support to the fpc rtl, resolves #14887
git-svn-id: trunk@14568 -
2010-01-07 18:47:04 +00:00
Jonas Maebe
7ce1c94cc5 * give a compiler error when attempting to compile these units for any
platform other than Linux/i386, so that people trying to manually
    compile them will be informed about the fact that these units
    will break in various ways on non-Linux/i386

git-svn-id: trunk@14567 -
2010-01-07 18:18:20 +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
Jonas Maebe
0c1247ba7d * removed extra space character when generating the maximal number of
significant digits and frac(value)+roundcorr overflows to 1
    (mantis #15308, fix by Dariusz Mazur)

git-svn-id: trunk@14563 -
2010-01-07 15:26:30 +00:00
pierre
d4e57bcfa9 * Update testsuite web interface
git-svn-id: trunk@14562 -
2010-01-07 15:22:18 +00:00
florian
e6648da567 * make heaptrc aware of the fact that multi threading could be initialized before heaptrc itself is initialized, this is currently the case for windows dlls
git-svn-id: trunk@14560 -
2010-01-07 13:41:43 +00:00
florian
fb07fe5856 * always assume a multithreaded application when using threadvars in dlls, resolves #14992
git-svn-id: trunk@14557 -
2010-01-06 21:26:49 +00:00
marco
0b4b9b5220 * Windows specific overloads for ExecuteProcess that implements a hack for redir that exists for dos.exec too.
.. but then not using a global variable

git-svn-id: trunk@14556 -
2010-01-06 19:50:09 +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
marco
d52071fc04 * Onprogress added to .compress and .decompress
git-svn-id: trunk@14551 -
2010-01-05 23:02:40 +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