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