Commit Graph

54498 Commits

Author SHA1 Message Date
Mattias Gaertner
b6083f84a1 fcl-passrc: fixed handling $i %name%
git-svn-id: trunk@40061 -
2018-10-28 14:00:51 +00:00
michael
3b1622f10a * Add GetTypeKind
git-svn-id: trunk@40060 -
2018-10-28 10:47:57 +00:00
yury
bf4eda478d * SetExecutionWeight(): Set execution weight also for nodes with special handling. Minor code cleanup/improvements.
* Restore previous execution weight before exiting secondpass().
* It all improves register allocation for variables inside loops in some cases.

git-svn-id: trunk@40059 -
2018-10-27 18:13:33 +00:00
michael
8e0442fb1f * Fix 4-byte unicode characters
git-svn-id: trunk@40058 -
2018-10-27 17:16:13 +00:00
michael
645a528584 * Fix some warnings
git-svn-id: trunk@40057 -
2018-10-27 15:08:11 +00:00
michael
5240095a3e * Introduce overloaded version of ReplaceRegexpr which allows to set more options (see bug ID #34429).
git-svn-id: trunk@40056 -
2018-10-27 15:08:00 +00:00
michael
35d4a6449a * Fix bug ID #34451, introduce foSkipWhiteSpaceOnlyLeading
git-svn-id: trunk@40055 -
2018-10-27 14:47:45 +00:00
michael
68f74289e1 * Fix bug #34463, CMAP with 1 entry is ignored. Patch by Petr Kristan.
git-svn-id: trunk@40054 -
2018-10-27 14:36:57 +00:00
Mattias Gaertner
c8bc9202f7 pastojs: adapted pas2jsfilecache for pas2js
git-svn-id: trunk@40053 -
2018-10-27 14:15:53 +00:00
Mattias Gaertner
5a88c840d8 pastojs: allow calling Free inside method
git-svn-id: trunk@40051 -
2018-10-27 11:58:41 +00:00
yury
2b459b30d2 * Optimized generic implementations of tcg.a_op_const_ref() and tcg.a_op_reg_ref() for PIC and CPUs which need 2 or more instructions to load a symbol's value by reference.
First the symbol's address is taken and then it is used to load the value and also store the result. It eliminates extra calculation of the symbol's address needed to store the result.
  x86 and other CPUs which can handle refs ops directly or more efficiently already have overloaded versions of these methods and are not affected by this change.

git-svn-id: trunk@40050 -
2018-10-27 11:32:22 +00:00
Mattias Gaertner
a2c16728cc pastojs: adaptions for pas2js
git-svn-id: trunk@40049 -
2018-10-27 11:17:58 +00:00
Mattias Gaertner
43c2dce24f fcl-js: jssrcmap adapted for pas2js
git-svn-id: trunk@40048 -
2018-10-26 09:10:56 +00:00
Mattias Gaertner
06364845d6 pastojs: ExpandFileNamePJ for \\?\
git-svn-id: trunk@40047 -
2018-10-26 08:08:20 +00:00
Mattias Gaertner
70a21c91c1 pastojs: fixed compile under windows
git-svn-id: trunk@40046 -
2018-10-26 06:50:33 +00:00
Mattias Gaertner
75e6356e02 fcl-js: started jsonscanner adaption for pas2js
git-svn-id: trunk@40045 -
2018-10-25 20:16:56 +00:00
Mattias Gaertner
225aa064fe pastojs: adapted pas2jspparser for pas2js
git-svn-id: trunk@40044 -
2018-10-25 20:07:00 +00:00
Mattias Gaertner
d512e581e9 pastojs: fixed fileutils
git-svn-id: trunk@40043 -
2018-10-25 20:00:54 +00:00
Mattias Gaertner
60dab2f4fb pas2js: logger adapted for pas2js
git-svn-id: trunk@40042 -
2018-10-25 19:47:11 +00:00
Mattias Gaertner
a089496183 pas2js: logger adapted for pas2js
git-svn-id: trunk@40041 -
2018-10-25 19:43:08 +00:00
Mattias Gaertner
bcbc578287 fcl-passrc: using nodejsfs
git-svn-id: trunk@40040 -
2018-10-25 19:42:34 +00:00
Mattias Gaertner
024c6de3cc fcl-js: started TFileWriter for nodejs
git-svn-id: trunk@40039 -
2018-10-25 19:42:02 +00:00
Mattias Gaertner
703f5ea97e pas2js: started nodepas2js
git-svn-id: trunk@40037 -
2018-10-25 16:09:20 +00:00
Mattias Gaertner
36eb27c6eb pastojs: fppas2js adapted for pas2js
git-svn-id: trunk@40036 -
2018-10-25 15:40:31 +00:00
Mattias Gaertner
cd34e827db fcl-passrc: clean up
git-svn-id: trunk@40034 -
2018-10-25 15:24:45 +00:00
Mattias Gaertner
c2a00fb791 pastojs: fixed overload test
git-svn-id: trunk@40032 -
2018-10-25 15:21:56 +00:00
Mattias Gaertner
53d7360b9e fcl-passrc: resolver: proc overloads: prefer lossy int over int to float
git-svn-id: trunk@40030 -
2018-10-25 15:10:58 +00:00
Mattias Gaertner
37e98d3726 fcl-js: changed some ifdefs to be more specific
git-svn-id: trunk@40029 -
2018-10-25 11:11:57 +00:00
pierre
d26fb3b663 Try to fix compilation error after commit #40027
git-svn-id: trunk@40028 -
2018-10-25 06:39:42 +00:00
pierre
740a26d879 Fix compilation of RTL for watcom target
git-svn-id: trunk@40027 -
2018-10-24 21:37:54 +00:00
pierre
c6977a0a7a Explicitly disable range checking
git-svn-id: trunk@40026 -
2018-10-24 21:37:22 +00:00
pierre
f4d19402f4 Add missing dirs_wdosx
git-svn-id: trunk@40025 -
2018-10-24 21:11:45 +00:00
marco
283ca3db63 * fix typo
git-svn-id: trunk@40024 -
2018-10-24 20:58:31 +00:00
florian
112fb4613b * take care of the fact that x and w registers overlap when carrying out the Str/LdrAdd/Sub2Str/Ldr Postindex optimization
git-svn-id: trunk@40023 -
2018-10-24 17:38:51 +00:00
marco
adc225d0ee * last commit moved after testing. Undo move, now compiles again.
git-svn-id: trunk@40022 -
2018-10-24 16:09:28 +00:00
marco
3069f5e7de * only enable arbextended if extended is truly 10 bytes. Mantis #34434
git-svn-id: trunk@40021 -
2018-10-24 16:07:01 +00:00
marco
587b980169 * shellapi has pshpack1 for win32. There is a structure defined after poppack(NC_ADDRESS), but that is not in this unit.
Patch from mantis #34441
 

git-svn-id: trunk@40020 -
2018-10-24 15:05:24 +00:00
Mattias Gaertner
5153716916 fcl-passrc: resolver: allow using external const in const expression
git-svn-id: trunk@40018 -
2018-10-24 12:50:49 +00:00
florian
0a5e6d29cb + implement assembler optimization Str/LdrAdd/Sub2Str/Ldr Postindex done
git-svn-id: trunk@40017 -
2018-10-23 20:41:27 +00:00
florian
379c2fe821 * cleanup debug code
git-svn-id: trunk@40016 -
2018-10-22 21:27:36 +00:00
florian
f27fee5566 + make use of the BFI instruction in tcgaarch64.a_load_ref_reg_unaligned
git-svn-id: trunk@40015 -
2018-10-22 21:23:48 +00:00
pierre
f76e3dc705 Add missing unicode related units to netware OS
git-svn-id: trunk@40014 -
2018-10-22 21:14:59 +00:00
Mattias Gaertner
ce4ccfc0aa fcl-passrc: adapt pasuseanalyzer for pas2js
git-svn-id: trunk@40013 -
2018-10-22 10:39:43 +00:00
Jonas Maebe
9bd931e931 * make "formal const/var" parameters the least preferred conversion
(mantis #32179)
  - removed code to handle conversion to formaldef parameters that are not by
    reference (so the default conversion preference is kept)

git-svn-id: trunk@40012 -
2018-10-21 21:02:17 +00:00
florian
33463c8698 * moved align helper so it actually gets inlined
git-svn-id: trunk@40011 -
2018-10-21 20:50:21 +00:00
Jonas Maebe
2a3eeab96d * support for constant char/bool/enum indices in typed constant
index expressions (mantis #34055)
  * prevent all indirect structure indexing instead of only
    ansi/wide/unicodestrings

git-svn-id: trunk@40010 -
2018-10-21 18:48:41 +00:00
Jonas Maebe
2c7c0d1144 * handle widechar constants directly in the scanner, instead of in the
overload selection (where you can't even know whether the string is
    a valid widechar constant) (mantis #33875)

git-svn-id: trunk@40009 -
2018-10-21 17:34:00 +00:00
Jonas Maebe
60277dda09 * fix crash when checking load nodes during inlining in case they don't
have a symtable set (happens for internally generated labels, like
    $raiseaddr) (mantis #34442)

git-svn-id: trunk@40008 -
2018-10-21 15:53:46 +00:00
florian
88589fb99d * make install shall not make assumptions about FPC, if one was provided
git-svn-id: trunk@40007 -
2018-10-21 14:52:21 +00:00
florian
02e03cbd86 * use the built compiler to install files, so the version is set correctly
git-svn-id: trunk@40006 -
2018-10-21 13:35:44 +00:00