Commit Graph

54869 Commits

Author SHA1 Message Date
Mattias Gaertner
324a645bb5 pastojs: fixed compile
git-svn-id: trunk@40672 -
2018-12-27 08:18:26 +00:00
Mattias Gaertner
19836867da fcl-passrc: resolver: test adv records
git-svn-id: trunk@40671 -
2018-12-27 08:18:13 +00:00
svenbarth
0f83458513 * previous Invoke() related commit also correctly fixed Mantis #34509
git-svn-id: trunk@40670 -
2018-12-26 22:59:48 +00:00
svenbarth
9eac2ea852 * correctly handle record, set and array results if no extended parameter information is available
git-svn-id: trunk@40669 -
2018-12-26 22:59:45 +00:00
svenbarth
8c52dc30ce * move check for result location to separate function
git-svn-id: trunk@40668 -
2018-12-26 22:59:42 +00:00
svenbarth
cfd8df4894 + add tests for raw Invoke() which needs to determine the result location by itself
git-svn-id: trunk@40667 -
2018-12-26 22:59:39 +00:00
svenbarth
93e0cd9e1a * fix for Mantis #34496: correctly align stack so that SSE operations work correctly
git-svn-id: trunk@40666 -
2018-12-26 22:59:36 +00:00
svenbarth
30f14cfcc0 + add some more tests for floating point values
git-svn-id: trunk@40665 -
2018-12-26 22:59:33 +00:00
svenbarth
dbaf7a69bd * correctly handle a floating point result
git-svn-id: trunk@40664 -
2018-12-26 22:59:30 +00:00
svenbarth
551e36cd19 + add tests for floating point arguments and results
git-svn-id: trunk@40663 -
2018-12-26 22:59:27 +00:00
svenbarth
0d09c3c124 + add utility functions to get TValue values for Single, Double, Extended, Comp and Currency
git-svn-id: trunk@40662 -
2018-12-26 22:59:24 +00:00
svenbarth
bd328025fd * correctly compare tkFloat values
git-svn-id: trunk@40661 -
2018-12-26 22:59:21 +00:00
svenbarth
8d235b5f26 * more correct handling of floating point values (especially Comp and Currency) inside TValue
git-svn-id: trunk@40660 -
2018-12-26 22:59:18 +00:00
Mattias Gaertner
337fd5abb8 fcl-passrc: parser: fixed parsing record consts
git-svn-id: trunk@40659 -
2018-12-26 21:37:06 +00:00
svenbarth
e28dff523a * with the change regarding property access lists this test is no longer considered correct
git-svn-id: trunk@40658 -
2018-12-26 11:26:08 +00:00
svenbarth
60adebfe28 * Mantis #34691 is fixed by previous change regarding property access list
git-svn-id: trunk@40657 -
2018-12-26 11:26:04 +00:00
svenbarth
539ed761ba * a property access list must only consist of record or object fields; classes are not allowed
git-svn-id: trunk@40656 -
2018-12-26 11:26:01 +00:00
svenbarth
4afe3c6788 * regenerate msg*.inc files after addition of error message
git-svn-id: trunk@40655 -
2018-12-26 11:25:57 +00:00
svenbarth
425e9114f5 + add error message that a record or object type is required
git-svn-id: trunk@40654 -
2018-12-26 11:25:53 +00:00
Károly Balogh
120472dd5b amunits: fixed SetFileSize() return value to be LongInt
git-svn-id: trunk@40653 -
2018-12-26 06:13:41 +00:00
svenbarth
81fa0924d8 * an exception does not need to inherit from Exception, so declare that as such for the thread queue entry for the sake of clarity
git-svn-id: trunk@40652 -
2018-12-25 23:30:38 +00:00
svenbarth
3e0da1ef1c * fix for Mantis #34640: don't access the thread queue entry directly after it was added to the queue if it's a Queue()d entry instead of a Synchronize()d one
git-svn-id: trunk@40651 -
2018-12-25 23:30:35 +00:00
Mattias Gaertner
6ff287637a fcl-passrc: parser: record property must have type
git-svn-id: trunk@40650 -
2018-12-25 22:45:44 +00:00
Jonas Maebe
d75ba7cb11 * suppress notes about unused $nestedvars local variable
git-svn-id: trunk@40648 -
2018-12-25 18:22:41 +00:00
Jonas Maebe
acfa2088ef + test for previous commit
git-svn-id: trunk@40646 -
2018-12-25 17:52:56 +00:00
Jonas Maebe
9c6838ecca * do not allow implementing interface methods using methods that are not
visible in the current class

git-svn-id: trunk@40645 -
2018-12-25 17:51:30 +00:00
michael
66b61bd607 * Implement locate and lookup
git-svn-id: trunk@40644 -
2018-12-25 16:29:19 +00:00
Jonas Maebe
b840db7228 * addition to r40631: also force inline self parameters that are already in
a temp into a new temp for LLVM, so their type gets updated

git-svn-id: trunk@40642 -
2018-12-25 15:36:28 +00:00
Jonas Maebe
f754978540 * handle constructor function results that have been migrated to the
parentfpstruct the same as regular function results (see r32687)

git-svn-id: trunk@40641 -
2018-12-25 15:36:24 +00:00
Mattias Gaertner
18d4e36361 fcl-passrc: added some advanced record tests
git-svn-id: trunk@40639 -
2018-12-25 07:19:34 +00:00
Mattias Gaertner
5c5a524cd4 fcl-passrc: parse property dispid only in dispinterface
git-svn-id: trunk@40638 -
2018-12-25 07:18:12 +00:00
Jonas Maebe
70cadc7694 * fixed string constant length when going from utf-8 to single-byte code page
(mantis #33666, patch by engkin)

git-svn-id: trunk@40637 -
2018-12-24 22:21:40 +00:00
Jonas Maebe
c9a7afe053 * in constructors, free the temp holding self only after loading the function
result, as self is the function result there (follow up to 40501)

git-svn-id: trunk@40635 -
2018-12-24 22:10:09 +00:00
Jonas Maebe
acf02ab64b * when creating wrappers, add a prefix to parameter names to prevent them
hiding the method name of the wrapped routine
   o also add a few more '&' prefixes to the generated wrapper code to
     prevent issues when keywords are used as identifiers

git-svn-id: trunk@40634 -
2018-12-24 22:10:06 +00:00
Jonas Maebe
377d4e1b58 * make the size parameter of thlcgobj.location_force_mmregscalar() a
var-parameter, as the size sometimes gets changed in this routine and
    high level code generators don't use the location.size but the def

git-svn-id: trunk@40633 -
2018-12-24 22:10:02 +00:00
Jonas Maebe
f3d831b480 * fixed result cgsize of LLVM's second_nothing type conversion node (new
size instead of original size, which can be different in case of going
    from void to something else)

git-svn-id: trunk@40632 -
2018-12-24 22:09:58 +00:00
Jonas Maebe
eb769e3859 * force pointer-based self parameters of inlined routines in temps for LLVM
to ensure that their type gets updated

git-svn-id: trunk@40631 -
2018-12-24 22:09:55 +00:00
Jonas Maebe
3ccc3e329b * prevent calling firstpass multiple times for a node (such as when
transforming inc/dec to an addn/subn in case of range checking) from
    triggering the transformation logic for accessing nested variables
    on LLVM/JVM multiple times
  * also prevent it from triggering errors during inlining, in case a
    parameter to a nested routine gets replaced by a local variable
    from a parent routine (in that case, it does not need to be
    accessed via the parentfpstruct, as we are being inlined in the
    parent) -> don't duplicate the check from pass_typecheck in pass_1,
    but check whether it needs to be accessed via the parentfpstruct
    by verifying that tloadnode.left is assigned (which pass_typecheck
    will ensure if needed)

git-svn-id: trunk@40630 -
2018-12-24 22:09:52 +00:00
Jonas Maebe
dd29088430 * simplify all type conversions for formal constants even for LLVM and JVM
(since these happen at compile time and don't result in generated code,
     they never need extra type conversions in the code)

git-svn-id: trunk@40629 -
2018-12-24 22:09:48 +00:00
Jonas Maebe
b1b559f283 * fixed used resulttype of char-to-shortstring typeconversion in case the
shortstring type is smaler than 255 chars

git-svn-id: trunk@40628 -
2018-12-24 22:09:45 +00:00
Mattias Gaertner
765fdb7641 pastojs: fixed uninitialized result
git-svn-id: trunk@40620 -
2018-12-23 16:34:29 +00:00
pierre
1d7f5fa812 * in lexbase and yaccbase units,
use DirectorySeparator instead of '\' in functions
    path, root and addext.
  * in plex and pyacc programs, for unix,
    try to find installed yyparse.cod using
    path of paramstr(0).

git-svn-id: trunk@40619 -
2018-12-23 16:17:49 +00:00
marco
e156128065 * set version over $I, one less file to edit.
git-svn-id: trunk@40615 -
2018-12-22 16:31:39 +00:00
marco
a5b0531980 * fixed formatting parameter in SWarnRetryDeleteFile
git-svn-id: trunk@40614 -
2018-12-22 15:55:44 +00:00
marco
645b924b0c * ctrl-shift-arrow key definitions for xterm, xfce
git-svn-id: trunk@40611 -
2018-12-22 14:56:20 +00:00
michael
c0e680e277 * Load extension demo by Silvio Clecio
git-svn-id: trunk@40610 -
2018-12-21 23:09:40 +00:00
michael
51995c5cac * Examples for extension
git-svn-id: trunk@40609 -
2018-12-21 23:08:00 +00:00
michael
f5a1fce16f * Contribution by Silvio Clecio to make writing extensions possible
git-svn-id: trunk@40608 -
2018-12-21 23:06:14 +00:00
michael
e2ff02a0f5 * Small optimization: add const to string argument (By Silvio Clecio)
git-svn-id: trunk@40607 -
2018-12-21 22:11:32 +00:00
Jonas Maebe
f87304f5ca * fixed LLVM code generator not taking into account constalignmin/max
settings for typed constants

git-svn-id: trunk@40605 -
2018-12-21 20:57:22 +00:00