Commit Graph

54126 Commits

Author SHA1 Message Date
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