Commit Graph

51001 Commits

Author SHA1 Message Date
michael
7c9e5591b6 * Fix bug ID #31583 (patch from Zoran Vucenovic)
git-svn-id: trunk@36341 -
2017-05-26 09:22:08 +00:00
pierre
a16326fa95 Avoid MSDOS Memory Control Block (MCB) chain corruption in RegisterTinyHeapBlock
git-svn-id: trunk@36340 -
2017-05-26 06:44:07 +00:00
Károly Balogh
87e8010f05 m68k: support 32x32 to 64bit MUL generation when targeting CPUs which support this instruction
git-svn-id: trunk@36339 -
2017-05-25 22:35:12 +00:00
joost
f5d17b2884 * Unified determination of source-package
* Scan installed packages for their sources in the same order as they are
   used
 * Added test for both points

git-svn-id: trunk@36338 -
2017-05-25 21:58:56 +00:00
joost
569bd1e812 * Only pass prefix and baseinstalldir to fpmake during (de-)installation
* First evaluate the baseinstalldir, so that the user gets a warning when 
   an install-repository is chosen which is not available for installations

git-svn-id: trunk@36337 -
2017-05-25 21:24:51 +00:00
Károly Balogh
63b3304374 m68k: instead of calling a helper, generate inlined code for 64 bit multiplications, when applicable
git-svn-id: trunk@36336 -
2017-05-25 20:59:12 +00:00
Károly Balogh
829b2fc3b3 m68k: enable 68020 codepaths to all CPUs supporting '020 features
git-svn-id: trunk@36335 -
2017-05-25 20:54:18 +00:00
Károly Balogh
e9ff684ff0 m68k: handle operand type correctly for 3 operand mul/div
git-svn-id: trunk@36334 -
2017-05-25 20:52:57 +00:00
Károly Balogh
aa87e911d7 m68k: fixed some copypaste error in a disabled debug string. no functional changes.
git-svn-id: trunk@36329 -
2017-05-25 15:12:28 +00:00
nickysn
78a7445751 + added Odd(byte) and Odd(shortint) for cpus with 8-bit alu and Odd(word)/
Odd(smallint) for cpus with 8 or 16-bit alu

git-svn-id: trunk@36328 -
2017-05-25 14:42:56 +00:00
nickysn
fa645dcaf7 + added abs(smallint) and abs(shortint) for cpus with 8-bit or 16-bit alu
git-svn-id: trunk@36327 -
2017-05-25 14:14:18 +00:00
nickysn
9946393018 + added comment about the fptan instruction restrictions on the 8087 and 80287
git-svn-id: trunk@36326 -
2017-05-25 12:57:24 +00:00
florian
db49b2f62b * coalesce spilled registers if possible to avoid mem->mem moves
git-svn-id: trunk@36325 -
2017-05-25 12:44:35 +00:00
florian
4b17ad80d0 * reduce initial size of movelist, 16 is enough for most cases
git-svn-id: trunk@36324 -
2017-05-25 12:44:33 +00:00
florian
5e07957594 + TLinkedList.RemoveAll
git-svn-id: trunk@36323 -
2017-05-25 12:44:32 +00:00
florian
c83e6991d5 * properly check number of operands
git-svn-id: trunk@36322 -
2017-05-25 12:44:30 +00:00
Károly Balogh
bfc5f67f92 fcl-passrc: attempt to fix the install rule and some of the dependencies
git-svn-id: trunk@36321 -
2017-05-25 12:32:04 +00:00
Mattias Gaertner
ae5492af44 fcl-passrc: fixed checking direct class-ancestor cycle
git-svn-id: trunk@36320 -
2017-05-25 11:00:54 +00:00
Mattias Gaertner
e552db6ef6 pastojs: fixed compilation
git-svn-id: trunk@36319 -
2017-05-25 10:48:14 +00:00
Mattias Gaertner
dd48453c57 resolver: const evaluation: ranges, int+int
git-svn-id: trunk@36318 -
2017-05-25 10:47:48 +00:00
pierre
3a9ed7db72 Limit log size to 50000, and add all testrun information at start
git-svn-id: trunk@36317 -
2017-05-24 21:53:01 +00:00
marco
91513dc414 * menubarinfo, remove packed (64-bit fix)
git-svn-id: trunk@36315 -
2017-05-24 17:02:54 +00:00
pierre
53972e6df0 Remove BASEFPCDIR, use FPCDIR instead
git-svn-id: trunk@36314 -
2017-05-24 11:07:45 +00:00
pierre
87bb473780 Fix ExitCode readout if temp directory is used by postponing temp directory cleanup
git-svn-id: trunk@36313 -
2017-05-24 07:41:25 +00:00
Károly Balogh
dd01b7ca8b fix a typo to hopefully fix the build
git-svn-id: trunk@36312 -
2017-05-23 21:13:00 +00:00
florian
c79342030e * let the avrsim throw an exception if a program tries to execute code at address 0
git-svn-id: trunk@36311 -
2017-05-23 20:18:17 +00:00
svenbarth
7c9aeda656 * rework InsertInitFinalTable a bit more so that the list of init/fini entries does not need to be generated twice for AVR
git-svn-id: trunk@36310 -
2017-05-23 19:58:39 +00:00
svenbarth
fab6f70de8 * rework AVR's InsertInitFinalTable to make use of get_init_final_list instead of iterating the init/fini functions itself
git-svn-id: trunk@36309 -
2017-05-23 19:46:07 +00:00
svenbarth
29d9beb40c * initialize datatemp
git-svn-id: trunk@36308 -
2017-05-23 19:27:08 +00:00
svenbarth
72c595eefe + implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
+ added test

git-svn-id: trunk@36307 -
2017-05-23 19:11:49 +00:00
nickysn
30b5a4dd3e + added x86_64 asm implementation of math.DivMod
git-svn-id: trunk@36306 -
2017-05-23 17:14:10 +00:00
nickysn
958d74e41c - removed the "else" in math.EnsureRange, because this way the compiler
generates entirely branchless code (via CMOVxx) on Pentium II or later (when
  compiling with -CpPENTIUM2)

git-svn-id: trunk@36305 -
2017-05-23 13:17:28 +00:00
Károly Balogh
346f040a54 also try to inline 32bit SwapEndian variants, as they're still reasonably simple
git-svn-id: trunk@36304 -
2017-05-23 07:32:54 +00:00
Károly Balogh
a4c40a51ff m68k: also add options.pas to the previous change
git-svn-id: trunk@36303 -
2017-05-23 00:18:13 +00:00
Károly Balogh
3e8ee48458 m68k: define cpurox and enabled the rotate-related optimizations on CPUs which support rotate instructionsoptions.pas
git-svn-id: trunk@36302 -
2017-05-23 00:16:29 +00:00
joost
d5087df6fb * Undo all changes in the test-environment before each test
git-svn-id: trunk@36301 -
2017-05-22 21:56:35 +00:00
joost
408cae639f * Moved all logic to determine in which repository to install a package into
one method.
 * Re-designed the logic to determine where to install packages. Documented 
   the logic in repositorylogics.dia.
 * Partly implemented this new logic.
 * Added tests.

git-svn-id: trunk@36300 -
2017-05-22 21:20:22 +00:00
pierre
53bfafa290 Add information about MCB to SysAlloc call if DEBUG_TINY_HEAP macro is defined
git-svn-id: trunk@36299 -
2017-05-22 20:42:33 +00:00
pierre
e092f00843 Avoid trying to use invalid instruction exception if Test8087 is below 2, as older CPU ignore simply invalid instructions
git-svn-id: trunk@36298 -
2017-05-22 20:41:36 +00:00
pierre
0f80603dae + SysGetMem: Add DEBUG_TINY_HEAP message after SysAlloc call.
* Change InternalTinyAlign procedure:
  Change variable ASize to be VAR parameter type
  so that possible size reduction required by alignment
  is propagated correctly to calling function.

git-svn-id: trunk@36297 -
2017-05-22 20:27:08 +00:00
yury
376174d7ac * pas2jni: Fixed error handling of ppudump.
git-svn-id: trunk@36296 -
2017-05-22 15:35:17 +00:00
yury
884cb758e7 * Ensure the number of operands is 2 for MOVXX instructions in OptPass1MOVXX. Otherwise the classic MOVSD/W/B no-operand instructions (REP MOVSX) cause AV during checks of operands. The AV is thrown when trying to compile ucomplex.pp with -Cfsse3.
* Also fixed generation of debug comments in OptPass1MOVXX.

git-svn-id: trunk@36295 -
2017-05-22 15:20:18 +00:00
marco
5eb0506be7 * added two gtk constants, mantis #31566, patch by "MiniApp"
git-svn-id: trunk@36294 -
2017-05-22 14:27:28 +00:00
marco
f0a02cdaf9 * reengineered utf8-less fix for #0031257
git-svn-id: trunk@36293 -
2017-05-22 13:58:43 +00:00
yury
f37613ddd8 * Use .rodata and .data.rel.ro sections for Android with PIC.
git-svn-id: trunk@36292 -
2017-05-22 13:40:48 +00:00
Károly Balogh
1f7b6fbd9a m68k: implement frac inline nodes
git-svn-id: trunk@36290 -
2017-05-21 21:13:02 +00:00
Károly Balogh
7ed9b9f188 m68k: instead of the FPU, use CPU instructions to copy cgparas to stack
git-svn-id: trunk@36289 -
2017-05-21 21:09:47 +00:00
Jonas Maebe
744facb7fc * properly support accepting register parameters of assembler routines in
the intel assembler reader: no longer parse them as register tokens,
    but as local operands that are later converted into registers. This
    ensures in particular that the type of the operand is set, which is
    necessary in case this operand later subscripted (as in tasm10a)

git-svn-id: trunk@36288 -
2017-05-21 20:17:15 +00:00
Jonas Maebe
61af0fb72d * only take into account the location of the parameter at the callee side to
determine whether it's in a register if it's a pure assembler routine
  * you can't "index" implicit pointers either using their fields

git-svn-id: trunk@36287 -
2017-05-21 20:17:11 +00:00
joost
2f72f67f11 * TFPPackage.GetDebugName now also works when the package is not assigned
git-svn-id: trunk@36286 -
2017-05-21 16:10:53 +00:00