svenbarth
50323043c1
* generate an error if the type parameters of the record, object or class do not match with its declaration
...
+ added test
git-svn-id: trunk@39702 -
2018-09-02 16:20:25 +00:00
svenbarth
03a036c6cb
* regenerate msg*.inc after adding messages for mismatching generic declarations
...
git-svn-id: trunk@39701 -
2018-09-02 16:20:22 +00:00
svenbarth
cfe75ca0fd
+ add messages to use when generic types of a definition do not match with its declaration
...
git-svn-id: trunk@39700 -
2018-09-02 16:20:18 +00:00
svenbarth
17ebe6e28f
* also move to the next field when skipping it
...
git-svn-id: trunk@39699 -
2018-09-02 16:20:15 +00:00
svenbarth
70ae0a2dc9
+ add a comment to the destructor of tsymtable so that others (and maybe me a well) will hopefully see that the destructor of that class is not completely trivial!
...
git-svn-id: trunk@39694 -
2018-08-31 19:16:48 +00:00
svenbarth
072699d38a
* protect the destructors of tabstractrecordsymtable and twithsymtable against executing when called with a refcount > 1 (this fixes Mantis #34210 )
...
+ added simplified test
git-svn-id: trunk@39693 -
2018-08-31 19:16:45 +00:00
svenbarth
10886d8cef
* fix for Mantis #34206 : when specializing nested routines of a generic routine we don't need access to their genericdef (which isn't available anyway in other units when loading from PPU) as their definition is completely contained in the token stream
...
+ added simplified test for the problem
git-svn-id: trunk@39692 -
2018-08-31 16:11:05 +00:00
svenbarth
897abb72e6
- disable debug options -gv, -pg and -gh for the chmcmd project
...
git-svn-id: trunk@39691 -
2018-08-31 12:58:35 +00:00
svenbarth
a076677336
* instead of a flags field generate a table with all Initialize operators of all fields (nested or not, parent class or not) for class types; objects and records don't use this (yet)
...
git-svn-id: trunk@39690 -
2018-08-29 19:21:35 +00:00
svenbarth
21e7ddaac7
+ add method to retrieve a list of management operator/field offset pairs for a specific management operator inside a structured type (no matter how deeply nested they are)
...
git-svn-id: trunk@39689 -
2018-08-29 19:21:31 +00:00
svenbarth
ecc02f3fdb
* always search in the current module as well as its symtables are be popped already in case of RTTI generation
...
git-svn-id: trunk@39688 -
2018-08-29 19:21:28 +00:00
svenbarth
190716ac0e
* move getrecorddef and gettabledef from TVMTWritter to symdef as they might be used from the RTTI as well
...
git-svn-id: trunk@39687 -
2018-08-29 19:21:23 +00:00
svenbarth
2e1327b6b2
* use pooled constant references for the parameter locations as more often than not they're equal between multiple methdos (e.g. the Self argument is always the same)
...
* using this the TypInfo unit can navigate interface methods and VMT method parameters much more quickly as the latter have a constant size now
git-svn-id: trunk@39686 -
2018-08-29 19:20:31 +00:00
svenbarth
029ec93df6
* use pooled constant references for the names of VMT methods in the RTTI
...
git-svn-id: trunk@39685 -
2018-08-29 19:20:27 +00:00
svenbarth
228d3252cc
* use pooled constant references for the parameter names of VMT methods in the RTTI
...
git-svn-id: trunk@39684 -
2018-08-29 19:20:24 +00:00
svenbarth
8bf3661f7f
+ add a method to emit a reference to a pooled shortstring constant (aka one per unit); very useful for new RTTI tables to avoid poluting the binary with string constants
...
git-svn-id: trunk@39683 -
2018-08-29 19:20:20 +00:00
marco
0f619c3ef8
* two new priority classes for all but wince. See comments in process.pp
...
* some left over changes to RunCommandEventCode in preparation of more events.
git-svn-id: trunk@39681 -
2018-08-29 10:00:36 +00:00
marco
b929b8b8eb
* fix for #34185 , pallette not nilled, causes problems when reader is recycled.
...
git-svn-id: trunk@39676 -
2018-08-28 08:46:43 +00:00
marco
0b9ee238b5
* windows unit enhancements from mantis #34184
...
git-svn-id: trunk@39675 -
2018-08-27 18:11:40 +00:00
svenbarth
d9cb5c4502
+ add a Boolean8 alias for Boolean for symmetry's sake (fixes Mantis #34058 )
...
git-svn-id: trunk@39673 -
2018-08-24 15:53:10 +00:00
svenbarth
d8f024a490
* improve DirectoryExists() and FileExists() based on patch by Serge Anvarov in Mantis #32370 so that they also support files/directories that aren't accessible (e.g. the page file) as well as FollowLink = False
...
git-svn-id: trunk@39672 -
2018-08-24 15:34:09 +00:00
svenbarth
e110d90127
+ implement FileGetSymLinkTarget() based on patch by Serge Anvarov in Mantis #32370
...
git-svn-id: trunk@39671 -
2018-08-24 15:34:04 +00:00
svenbarth
b9721003f0
+ add missing defines
...
git-svn-id: trunk@39670 -
2018-08-24 15:33:55 +00:00
svenbarth
09e5f463dc
+ add Delphi-compatible FileGetSymLinkTarget functions to all platforms (currently returns False on all platforms); this also includes TSymLinkRec variants for both RawByteString and UnicodeString
...
git-svn-id: trunk@39669 -
2018-08-24 15:33:45 +00:00
svenbarth
92dcdd8b5b
+ add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target
...
git-svn-id: trunk@39668 -
2018-08-24 15:33:09 +00:00
michael
3e3c8fdbc1
* Fixed bug ID #33743 with provided patch. (erroneous exception in getbinarydata)
...
git-svn-id: trunk@39667 -
2018-08-24 08:16:49 +00:00
michael
a6f61d6cd7
* Fix bug #34176 , use access field when creating key
...
git-svn-id: trunk@39666 -
2018-08-24 08:09:24 +00:00
marco
315fe21718
* deprecations, remove oldlinux.
...
git-svn-id: trunk@39663 -
2018-08-23 07:57:56 +00:00
marco
096e7d7513
* add prawbytestring.
...
git-svn-id: trunk@39662 -
2018-08-22 12:26:42 +00:00
michael
fd8641d83c
* Fix bug #34164 - Fix use of AssertCount and use overloaded ComparisonMsg
...
git-svn-id: trunk@39660 -
2018-08-21 13:24:17 +00:00
michael
e6304da9a6
* Inadvertenly applied untested change, undo
...
git-svn-id: trunk@39659 -
2018-08-21 08:44:47 +00:00
michael
74b6fb2bfe
* Patch from Bart Broersma to fix bug ID #33993
...
git-svn-id: trunk@39658 -
2018-08-21 08:43:31 +00:00
marco
aaef0d5570
* removed a space, mantis #34149
...
git-svn-id: trunk@39657 -
2018-08-20 16:15:42 +00:00
marco
1e60364572
* another stat file cleanup.
...
git-svn-id: trunk@39655 -
2018-08-20 14:27:59 +00:00
marco
8554332c1d
* centralize some type definitions so that they are compatible between process and processunicode
...
* add an extra parameter to the callback in preparation of readoutput callbacks.
This is needed to let the callback differentiate between stderr or stdout callbacks
* rename processunicode class to TProcess on recommendation of MvC.
git-svn-id: trunk@39651 -
2018-08-20 11:46:11 +00:00
marco
bffbff73e1
* remove deprecated parts linux stat records (FPC 1.0 leftovers)
...
git-svn-id: trunk@39644 -
2018-08-19 15:10:22 +00:00
marco
15fcd0ab61
* remove old ifdefs
...
git-svn-id: trunk@39642 -
2018-08-19 14:54:58 +00:00
marco
98f00acb06
* trunk to 3.3.1
...
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
marco
57b73f7022
* don't include date/rev info of fpcmake. complicates merging.
...
git-svn-id: trunk@39631 -
2018-08-18 15:06:58 +00:00
marco
d143ab60e1
* regenned makefile without date/rev components for easier merging.
...
git-svn-id: trunk@39630 -
2018-08-18 15:06:25 +00:00
marco
4dbc2ae873
* enable processunicode in fpmake and .fpcmake for win32 and win64.
...
git-svn-id: trunk@39628 -
2018-08-18 14:09:56 +00:00
marco
9b969c6cca
* second part processunicode commit.
...
git-svn-id: trunk@39627 -
2018-08-18 13:56:21 +00:00
marco
b7e6492119
* Unicode version TProcess in two commits.
...
* first misc files & rename process.pp -> processbody.inc
Next commit will add new process.pp + update of processbody.inc to preserve history.
git-svn-id: trunk@39626 -
2018-08-18 13:55:11 +00:00
marco
ee810cea10
* give stderr as much chance to drain as output per runcommandloop cycle.
...
* clean some stale variable declarations
* variable with class to instantiate in runcommand. This allows hooking runcommand* with a derivative.
git-svn-id: trunk@39625 -
2018-08-18 10:30:24 +00:00
florian
9e9c2c02ed
* test fails now if it causes an exception
...
git-svn-id: trunk@39624 -
2018-08-17 19:49:40 +00:00
florian
ea32ddd5b2
* avoid overflows of execution weight
...
git-svn-id: trunk@39623 -
2018-08-16 20:45:36 +00:00
florian
75251913b1
* properly pass execution weight in SetExecutionWeight
...
git-svn-id: trunk@39622 -
2018-08-16 20:45:36 +00:00
florian
a825a66d01
* IntPower inverts the base first for negative exponents and multiplies then, resolves #34124
...
git-svn-id: trunk@39621 -
2018-08-16 20:45:35 +00:00
joost
098464d260
* Fixed RunCommandIndir with poStderrToOutput
...
git-svn-id: trunk@39620 -
2018-08-15 21:31:56 +00:00
michael
cfab40fd74
* Publish ancestorclass
...
git-svn-id: trunk@39619 -
2018-08-15 18:47:59 +00:00