Commit Graph

50951 Commits

Author SHA1 Message Date
Mattias Gaertner
2a0c83bb3c fcl-passrc: skip unknown $if functions by default
git-svn-id: trunk@36184 -
2017-05-11 20:12:46 +00:00
Mattias Gaertner
071225ca59 fcl-passrc: treat $error as warning by default
git-svn-id: trunk@36183 -
2017-05-11 19:08:05 +00:00
Mattias Gaertner
9eb7248817 fcl-passrc: ignore unknown functions in directive conditions, issue #31799
git-svn-id: trunk@36182 -
2017-05-11 17:45:10 +00:00
michael
a5ae6778e3 * Fix bug #31720
git-svn-id: trunk@36181 -
2017-05-11 16:08:26 +00:00
nickysn
1529aee506 + apply the "x:=k+x" / "x:=k [and/or/xor] x" optimization even when there are
two implicit type conversions, inserted by the compiler. This makes it work
  for smaller ints also (e.g. int16 and int8 on 32-bit platforms, etc.)

git-svn-id: trunk@36180 -
2017-05-11 15:27:11 +00:00
michael
dbc9b7f8b4 * Fix Bug ID #31733
git-svn-id: trunk@36179 -
2017-05-11 15:13:56 +00:00
Mattias Gaertner
e783e54e8c fcl-passrc: implemented $elseif
git-svn-id: trunk@36178 -
2017-05-11 14:18:13 +00:00
Mattias Gaertner
cbe98e75d8 fcl-passrc: $warning, $note, $hint
git-svn-id: trunk@36177 -
2017-05-11 11:07:25 +00:00
joost
1fba4f936b * Avoid double parameters (paths) on compilation of fpmake-executables
git-svn-id: trunk@36176 -
2017-05-10 21:23:00 +00:00
svenbarth
5971e1327e * fix for Mantis #31756: have array constructors prefer open array parameters instead of dynamic array parameters for backwards compatibility
+ added test

git-svn-id: trunk@36175 -
2017-05-10 21:01:23 +00:00
nickysn
efc5e339d0 * use an enum instead of integer constants to represent inline numbers
* compinnr.inc include file converted to a unit
* inline number field size stored in ppu increased from byte to longint
* inlines in the parse tree (when written with the -vp option) now printed with
  their enum name, instead of number

git-svn-id: trunk@36174 -
2017-05-10 14:41:43 +00:00
pierre
ac3b9ac979 Avoid placing COMPILER_UNITTARGETDIR in the prerequisite list of assmebler files,
as those directories are modified by any new file in that directory, which
  lead to repeated (and useless) recompilation of assembler files on linux systems.

git-svn-id: trunk@36173 -
2017-05-10 13:06:39 +00:00
Mattias Gaertner
65d14ace38 pastojs: test invalid mode and modeswitch
git-svn-id: trunk@36172 -
2017-05-10 09:35:38 +00:00
Mattias Gaertner
2e80006c6d fcl-passrc: check allowed modes, fixed po_KeepScannerError
git-svn-id: trunk@36171 -
2017-05-10 09:35:07 +00:00
marco
324ec4af58 * another sysctl fix. Original fixes were done in the assumption that the
sysctl param type change was merged. It wasn't. So from specific 3.0 versions
   now all versions.

git-svn-id: trunk@36170 -
2017-05-10 09:09:59 +00:00
pierre
6416864997 Revert wrong patch, which lead to an endless loop on linux systems, as directories are modified by each file additions
git-svn-id: trunk@36169 -
2017-05-10 08:43:58 +00:00
maciej-izak
fa75f25fac * Enabling crosscompiling from Windows towards Darwin. Patch from Alfred (mantis 31099). Thanks! :)
git-svn-id: trunk@36168 -
2017-05-10 07:53:43 +00:00
pierre
e6aa46f7f9 Add explicit dependency of gparmake and createlst executables to the units/FULL_TARGET subdirectory creation to avoid errors
git-svn-id: trunk@36167 -
2017-05-10 06:29:18 +00:00
florian
7b658f56dc * compilation fixed after last cleanup
git-svn-id: trunk@36166 -
2017-05-09 20:06:36 +00:00
florian
b1dff29cbf * removed unused units
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
florian
f93b784895 * make fullcycle for i8086 fixed
git-svn-id: trunk@36164 -
2017-05-09 19:53:06 +00:00
marco
b837f544de * only rtl needed fix.
git-svn-id: trunk@36163 -
2017-05-09 17:10:42 +00:00
marco
818a64952c * fix bootstrapping issue on freebsd x86_64
git-svn-id: trunk@36162 -
2017-05-09 17:07:44 +00:00
Mattias Gaertner
141238bb90 fcl-passrc: scanner property OnDirective, resourcestrings for IFOpt
git-svn-id: trunk@36161 -
2017-05-09 16:27:29 +00:00
Mattias Gaertner
de2aedade2 fcl-passrc: implemented $ifopt
git-svn-id: trunk@36160 -
2017-05-08 21:18:15 +00:00
florian
52d3756c26 * factored out OptPass1Movx and merged i386 and x86-64 version
git-svn-id: trunk@36159 -
2017-05-08 20:44:27 +00:00
florian
06c4c651fd * factored out PrePeepholeOptSxx
+ x86-64 uses PrePeepholeOptSxx now as well

git-svn-id: trunk@36158 -
2017-05-08 20:44:24 +00:00
svenbarth
9fc420b546 - remove unused variable
git-svn-id: trunk@36157 -
2017-05-08 19:54:45 +00:00
Mattias Gaertner
f643d15078 pastojs: fixed typo
git-svn-id: trunk@36156 -
2017-05-08 19:20:21 +00:00
Mattias Gaertner
e3f525a109 fcl-passrc: scanner: change defines when switching modeswitches
git-svn-id: trunk@36155 -
2017-05-08 19:20:06 +00:00
Mattias Gaertner
b687247256 fcl-passrc: scanner: added property ReadOnlyModeSwitches
git-svn-id: trunk@36154 -
2017-05-08 12:22:48 +00:00
nickysn
504662826a * fixed the rtl cpu ifdefs for the rol/ror/sar cpu support check
git-svn-id: trunk@36153 -
2017-05-08 10:16:15 +00:00
florian
74b338266d * ifdef cmov optimization, as i8086 has no cpu_capabilities
git-svn-id: trunk@36150 -
2017-05-07 16:18:44 +00:00
florian
5c2c5d72a2 * use avx for copying data only on i386 for 8 byte chunks
git-svn-id: trunk@36149 -
2017-05-07 16:18:42 +00:00
florian
f8d517be70 * make TX86AsmOptimizer.IsExitCode usable for x86-64 as well
git-svn-id: trunk@36148 -
2017-05-07 16:18:40 +00:00
florian
dd69ab5488 * cleanup after all old code from PeepHoleOptPass2 of i386 was moved to the common x86 optimizer class
git-svn-id: trunk@36147 -
2017-05-07 16:18:37 +00:00
florian
cd134ea5bb + DebugMsg
git-svn-id: trunk@36146 -
2017-05-07 16:18:35 +00:00
florian
4a43d992f5 * unified usage of MatchOpType
* fixed generic MatchOpType

git-svn-id: trunk@36145 -
2017-05-07 16:18:33 +00:00
nickysn
4a8a7c210a * fixed test on platforms that don't have 8-bit and 16-bit rol/ror
git-svn-id: trunk@36144 -
2017-05-07 13:34:26 +00:00
florian
7afe762d22 * factored out OptPass2Jcc assembler optimization
* OptPass2Jcc now used by x86-64 as well
* remove orphaned alignments if the label is not used anymore after cmov is used

git-svn-id: trunk@36143 -
2017-05-07 12:45:48 +00:00
florian
e3f0b338d4 * SkipLabels moved to aoptutils
* factored out OptPass2Jmp assembler optimization
* OptPass2Jmp now used by x86-64 as well

git-svn-id: trunk@36141 -
2017-05-06 21:07:02 +00:00
Mattias Gaertner
04807d1ac4 fcl-passrc: implemented $if
git-svn-id: trunk@36140 -
2017-05-06 20:11:26 +00:00
marco
6ed045a911 * encoding strings now CONST, minor optimization from mantis 028117
git-svn-id: trunk@36139 -
2017-05-06 18:47:50 +00:00
florian
f985971a62 * apply mov reg1, mem1; cmp x, mem1 to mov reg1, mem1; cmp x, reg1 also for test
git-svn-id: trunk@36138 -
2017-05-06 18:47:47 +00:00
florian
c7ba611bf9 * when explicitly casting a variable, it might be sufficient if it is const_regable
git-svn-id: trunk@36137 -
2017-05-06 18:47:45 +00:00
florian
52d40bb25b * spacing fixed
git-svn-id: trunk@36136 -
2017-05-06 18:47:43 +00:00
florian
b3f889e028 * -Ox options are incremental, so disable all optimizations first in case testing is run with -O4
git-svn-id: trunk@36135 -
2017-05-06 18:47:41 +00:00
pierre
ded1fb23a2 Improve stack trace output with -Cr option, contributed by Colin Western
git-svn-id: trunk@36134 -
2017-05-06 13:54:50 +00:00
maciej-izak
631d4a2d53 * Move global variable in_preproc_comp_expr into tscannerfile class.
git-svn-id: trunk@36133 -
2017-05-06 12:12:50 +00:00
Mattias Gaertner
d493980bb2 fcl-passrc: scanner: implemented macros directive
git-svn-id: trunk@36131 -
2017-05-06 07:41:40 +00:00