Commit Graph

57695 Commits

Author SHA1 Message Date
florian
cbec738829 * last commit was not complete/earlier version committed
git-svn-id: trunk@43767 -
2019-12-23 23:07:26 +00:00
florian
abb79553d2 * optimize case statements with a single branch into if statements (ord const only)
git-svn-id: trunk@43766 -
2019-12-23 22:42:53 +00:00
florian
cb44d7d4e2 * some cleanup
git-svn-id: trunk@43765 -
2019-12-23 21:52:06 +00:00
florian
4de6b3e6b9 * do not crash when an unsupported code page is encountered, resolves #35581
git-svn-id: trunk@43764 -
2019-12-23 21:44:50 +00:00
michael
abeb00cd94 * Fix bug ID #34303, readability opimizations
git-svn-id: trunk@43714 -
2019-12-23 13:15:19 +00:00
michael
5edf438489 * Fix writing of special chars (bug ID 0036470)
git-svn-id: trunk@43713 -
2019-12-23 13:05:59 +00:00
florian
8b24033e93 * last fix was most likely not complete
git-svn-id: trunk@43712 -
2019-12-22 23:39:44 +00:00
florian
0dabe49601 * fix building on non-unix/windows targets
git-svn-id: trunk@43711 -
2019-12-22 23:34:22 +00:00
florian
99680eb88c * patch by Anton Kavalenka: heaptrc: Improve tracing by printing actual
module name (ether EXE or DLL), resolves #36130

git-svn-id: trunk@43710 -
2019-12-22 22:51:53 +00:00
florian
2f374a37b7 * patch by Bart Broersma to allow to declare "LongInt = AnsiString" comparison
operator in non-macpas modes, resolves #29460

git-svn-id: trunk@43709 -
2019-12-22 22:06:26 +00:00
florian
b8b5d84108 * missing +')' added
git-svn-id: trunk@43707 -
2019-12-22 20:41:48 +00:00
florian
8465710329 + make use of mulx instruction, if available
git-svn-id: trunk@43706 -
2019-12-21 16:20:10 +00:00
florian
30927039a6 + MULX instruction
* change information for RORX corrected

git-svn-id: trunk@43705 -
2019-12-21 16:20:09 +00:00
svenbarth
0149d26adb * in PeepHoleOptPass1Cpu when an instruction contains a segment, don't replace the current instruction with the next, cause then we get an infinite loop when compiling on Win32 with -dTEST_WIN32_SEH -O4
git-svn-id: trunk@43704 -
2019-12-20 16:44:54 +00:00
svenbarth
1779011ab4 * fix typo in comment
git-svn-id: trunk@43703 -
2019-12-20 16:44:52 +00:00
michael
b2957b92f4 * Fix bug #0036461, parameters not correctly refreshed in Mysql
git-svn-id: trunk@43702 -
2019-12-20 16:28:42 +00:00
michael
3440d166ae * Correct font handling for blocks in memos with different fonts (bug ID 36459, patch by Andi Friess)
git-svn-id: trunk@43701 -
2019-12-20 15:28:57 +00:00
ondrej
c09c8ed845 sqldb: odbc: use ANSI codepage for connection as default
git-svn-id: trunk@43700 -
2019-12-19 17:43:34 +00:00
ondrej
f27787b269 sqldb: odbc: send SQL to ODBC as WideString to support FPC 3.0.x character conversion
git-svn-id: trunk@43699 -
2019-12-19 16:54:36 +00:00
ondrej
a66442ea47 odbc: fix passing ANSI parameters with FPC character conversion
git-svn-id: trunk@43698 -
2019-12-19 16:41:57 +00:00
michael
49ba4731ed * Fix currency to SQL_NUMERIC_STRUCT for platforms without extended
git-svn-id: trunk@43697 -
2019-12-18 12:14:51 +00:00
florian
fe7d7aa1e7 * patch by Alfred to fix building on DragonFly OS, resolves #36450
git-svn-id: trunk@43696 -
2019-12-17 21:57:09 +00:00
florian
33fa211b84 + x86-64: assembler implementation for u128_div_u64_to_u64 for SysV ABI
* reminder => remainder (thanks to Stefan Kanthak for pointing it out)

git-svn-id: trunk@43695 -
2019-12-17 21:54:47 +00:00
florian
5f2410b871 * patch by J. Gareth Moreton to fix an ie 2018061400 on darwin
git-svn-id: trunk@43694 -
2019-12-16 21:15:57 +00:00
michael
46fa6d9bf5 * Fix bug #36443, patch from Andrew H. Allow non-blocking read
git-svn-id: trunk@43693 -
2019-12-15 17:13:08 +00:00
Mattias Gaertner
822dc85f77 pastojs: fixed compile nodejs
git-svn-id: trunk@43692 -
2019-12-15 14:34:06 +00:00
Mattias Gaertner
384c5ab644 pastojs: fixed conflicting msg number 4016
git-svn-id: trunk@43691 -
2019-12-15 14:13:51 +00:00
Mattias Gaertner
12084211bf pastojs: filer: warn for generics
git-svn-id: trunk@43690 -
2019-12-15 14:06:15 +00:00
Mattias Gaertner
c8a3a11a26 pastojs: treat constref as const, warn for non record/array
git-svn-id: trunk@43689 -
2019-12-15 14:05:28 +00:00
Mattias Gaertner
200c3b9390 fcl-passrc: resolver: allow constref
git-svn-id: trunk@43688 -
2019-12-15 14:04:05 +00:00
Jonas Maebe
94f77251e4 * synchronised zith r444 of the universal interfaces:
o changed C-blocks modifier to new FPC syntax

git-svn-id: trunk@43687 -
2019-12-14 17:15:31 +00:00
Jonas Maebe
0f57151d36 + recognise LLVM 9.0 (no changes needed compared to LLVM 8.0)
git-svn-id: trunk@43686 -
2019-12-14 17:15:27 +00:00
svenbarth
707f722531 * regenerate msg*.inc files after adding a new error message related to C blocks
git-svn-id: trunk@43685 -
2019-12-14 16:45:42 +00:00
svenbarth
8111e92e1f * rework syntax for cblocks: now a cblock directive is required
* additionally implicit calling conventions of cdecl or mwpascal now work as well
* adjusted tests
+ added tests

Note: the generator for packages/univint needs to be fixed, until then building on macOS will be broken

git-svn-id: trunk@43684 -
2019-12-14 16:45:38 +00:00
Jonas Maebe
c477816100 - removed LLVM support for clang < 7.0 and Xcode < 10.0: those versions
contain various bugs and can't even complete "make all", so there is no
    point in keeping them
   o changed default LLVM target version to 7.0

git-svn-id: trunk@43682 -
2019-12-14 14:59:05 +00:00
Jonas Maebe
a352a12bb4 * use value_real rather than value_curency when writing currency
realconstnodes (fixes tcurrency1, tw33439 and tw36179 with LLVM)
   o we need to load the fpu representation of the currency values,
     not the scaled currency value

git-svn-id: trunk@43681 -
2019-12-14 14:11:12 +00:00
michael
a3871b0a87 * Fix option character test (bug ID 36438)
git-svn-id: trunk@43680 -
2019-12-14 11:59:53 +00:00
michael
0b9b002807 * Fix bug ID #36425
git-svn-id: trunk@43678 -
2019-12-12 15:07:46 +00:00
svenbarth
22ce9006ab * fix number of last parser_* message entry
git-svn-id: trunk@43677 -
2019-12-11 22:43:03 +00:00
svenbarth
36e32ee607 * more correct method names (based on patch by Blaise.ru)
git-svn-id: trunk@43676 -
2019-12-11 22:43:00 +00:00
svenbarth
46a366d6ae * clear up file comment (based on patch by Blaise.ru)
git-svn-id: trunk@43675 -
2019-12-11 22:42:56 +00:00
svenbarth
bf5d75e594 * move the common sequence to build a VMT for an objectdef into a separate procedure (based on a patch by Blaise.ru)
git-svn-id: trunk@43674 -
2019-12-11 22:42:53 +00:00
svenbarth
a6354741e6 * TVMTBuilder.build_interface_mappings does not need to be public (based on patch by Blaise.ru)
git-svn-id: trunk@43673 -
2019-12-11 22:42:48 +00:00
pierre
8c2aa32683 * Remove duplicate ibextraheader handling.
* Move SymAnsiStr boolean setting inside parseextraheader function.
  * Only accept same CurrentPPULongVersion in parseextraheader function.

git-svn-id: trunk@43672 -
2019-12-11 17:14:27 +00:00
florian
f62fd437b1 * patch by J. Gareth Moreton: improve test and benchmark, resolves #35633
git-svn-id: trunk@43671 -
2019-12-10 21:31:42 +00:00
florian
ef7e4f6f62 * fix J. Gareth Moreton to resolve #36389
git-svn-id: trunk@43670 -
2019-12-09 22:00:45 +00:00
Tomas Hajny
caf1f0c714 * added support for specifying package listing files using wildcards
git-svn-id: trunk@43669 -
2019-12-09 21:49:05 +00:00
florian
599e2df71f o patch by J. Gareth Moreton, resolves r36371:
* This patch makes some minor improvements to the cross-platform code that deals with jump optimisations.
      More specifically, it attempts to do more in a single pass which has the nice side-effect of
      fixing a couple of minor mistakes (in some situations, it would erroneously remove an alignment entry).
      - Most improvements are with dealing with Jcc/JMP pairs and their equivalents on other platforms, by
      collapsing label clusters and stripping dead code as soon as it has enough information to do so, and being
      more intelligent before calling Continue to see if another optimisation can be performed in the same sitting.

      - RemoveDeadCodeAfterJump is now a function that returns True if a jump was found among the dead code,
      thus allowing the ability to flag the peephole optimizer for another iteration of Pass 1 - the
      destination label may have appeared earlier in the code and become dead as a result of the removal
      of the jump, thus opening up new optimisations with instructions that sat either side of the label.

      - Preliminary tests show that it does sometimes reduce the number of passes required to optimise a subroutine
      under -O3.

git-svn-id: trunk@43668 -
2019-12-09 20:58:31 +00:00
florian
2a315df80c * check in CheckLive* if a register allocator is initialized for a certain register type
git-svn-id: trunk@43665 -
2019-12-08 22:22:17 +00:00
michael
eb2c7d2ca5 * Fix lime color (bug ID 0036407)
git-svn-id: trunk@43664 -
2019-12-08 20:11:23 +00:00