svenbarth
9cac24a325
* fix compilation on targets that don't have a RawThunk defined yet
...
git-svn-id: trunk@42720 -
2019-08-17 15:36:01 +00:00
svenbarth
7d9b249def
+ add TRttiOrdinalType and TRttiInt64Type (what's left of the "ordinal like" ones is TRttiEnumerationType, TRttiSetType and a non-Delphi compatible TRttiBooleanType (due to FPC supporting multiple Boolean types))
...
git-svn-id: trunk@42719 -
2019-08-17 15:35:58 +00:00
svenbarth
92c6d166a8
* TRttiFloatType.GetFloatType() can be inline
...
git-svn-id: trunk@42718 -
2019-08-17 15:35:55 +00:00
svenbarth
8fdee2b3b1
* implement TRttiFloatType.GetTypeSize()
...
git-svn-id: trunk@42717 -
2019-08-17 15:35:52 +00:00
Mattias Gaertner
8ee413a736
pastojs: skip specialized types
...
git-svn-id: trunk@42716 -
2019-08-17 13:35:27 +00:00
Mattias Gaertner
4787de8764
fcl-passrc: half specialized type
...
git-svn-id: trunk@42715 -
2019-08-17 13:35:16 +00:00
Mattias Gaertner
5bf43bd1d4
fcl-passrc: specialize class interface
...
git-svn-id: trunk@42714 -
2019-08-17 08:29:15 +00:00
florian
f0213a2c46
+ make use of the mremap syscall of linux to re-allocate large memory blocks faster
...
git-svn-id: trunk@42713 -
2019-08-16 20:47:37 +00:00
Mattias Gaertner
880f7d7c1c
fcl-passrc: specialize nested class type
...
git-svn-id: trunk@42712 -
2019-08-16 19:57:55 +00:00
pierre
970ce7f243
Avoid error with -CR option in tobjectdef.vmt_def method
...
git-svn-id: trunk@42711 -
2019-08-16 16:31:08 +00:00
svenbarth
16f47fbee3
* explicitely ignore the TestIntfMethods test if TVirtualInterface is not supported
...
git-svn-id: trunk@42710 -
2019-08-16 15:43:09 +00:00
svenbarth
95b60bc6b2
* switch TVirtualInterface to using thunks for QueryInterface, _AddRef and _Release as otherwise _Release will execute code that's no longer valid (it's also a bit more performant ;) )
...
Note: this is currently i386 only, x86_64 needs to be switched as well and thus TVirtualInterface.Create will raise a ENotImplemented there
git-svn-id: trunk@42709 -
2019-08-16 15:43:07 +00:00
svenbarth
2c4d7b6316
* implement a infrastructure for method thunks (these first adjust Self and then jump to the specified address)
...
git-svn-id: trunk@42708 -
2019-08-16 15:43:04 +00:00
florian
ba203c0564
+ x86 makes use of fpu_capabilities
...
* moved CPUX86_HAS_AVXUNIT to FPUX86_HAS_AVXUNIT
+ mm register allocator can be initialized with 32 mm registers of AVX512
git-svn-id: trunk@42707 -
2019-08-16 11:35:03 +00:00
tg74
aa9c00193a
Merge in trunk
...
git-svn-id: branches/tg74/avx512merge@42706 -
2019-08-16 08:17:38 +00:00
Mattias Gaertner
497c830603
fcl-passrc: check used unit reference for duplicate, in case unit is found via different names
...
git-svn-id: trunk@42704 -
2019-08-16 07:28:09 +00:00
Mattias Gaertner
8ad47efcb3
fcl-passrc: specialize class with nested record type
...
git-svn-id: trunk@42703 -
2019-08-16 06:48:12 +00:00
Mattias Gaertner
32573139a8
fcl-passrc: specialize inlinespecializeexpr
...
git-svn-id: trunk@42702 -
2019-08-15 17:25:12 +00:00
svenbarth
0e79bd2c70
+ add a test that ensures that the introduction of fullscale array constructors didn't mess with array constructors passed to an open array of Variant
...
git-svn-id: trunk@42701 -
2019-08-15 14:33:03 +00:00
svenbarth
44bfa98a30
* fix for Mantis #35955 : when the element of an array constructer requires an operator for conversion we don't let the caller of compare_defs_ext know that, instead we simply say that some conversion is required and let the typecheck handler deal with the element wise conversion
...
+ added test
git-svn-id: trunk@42700 -
2019-08-15 14:33:00 +00:00
svenbarth
663040a666
* ensure that aprocdef is initialized to Nil to catch problems with compare_defs_ext() easier
...
git-svn-id: trunk@42699 -
2019-08-15 14:32:57 +00:00
svenbarth
10af6fe2fb
* fix for Mantis #35965 : correct alignment also for the class info used to retrieve the unit name
...
+ added test
git-svn-id: trunk@42697 -
2019-08-15 13:29:19 +00:00
svenbarth
aa0422b2ed
* fix for Mantis #35964 : reestablish pre r42594 behavior for WinCE as at least Windows Mobile does not support the required COM functions
...
Note: in theory Windows CE *can* support these functions, but it dependends on the provider whether they're indeed supported (e.g. Windows Mobile does not). Probably this should be revisited once we support the "delayed" directive.
git-svn-id: trunk@42696 -
2019-08-15 11:41:36 +00:00
Jonas Maebe
03cd0cce59
* change result of pi function from ansistring into dynamic array, so we
...
generate unique calls every time we write to it
* replace calls to high(ansistring/dynarray) in the inner body of the pi
function with a variable that gets assigned once
-> the FPC version is now just as fast as the C version
git-svn-id: trunk@42695 -
2019-08-15 10:32:36 +00:00
florian
45847da693
* fix building for targets with no vfp support
...
git-svn-id: trunk@42693 -
2019-08-15 09:37:50 +00:00
pierre
f82cc96cb9
Check that inserttypeconv really change node type to ttypeconvnode before setting convtype field (should fix taddbool.pp bytebool failure on powerpc)
...
git-svn-id: trunk@42692 -
2019-08-14 23:00:35 +00:00
nickysn
81fba52adb
+ added constant NewExeRelocationRecordSize
...
git-svn-id: trunk@42691 -
2019-08-14 15:10:22 +00:00
Mattias Gaertner
35d7fade97
fcl-passrc: replace method impl arguments with intf arguments
...
git-svn-id: trunk@42690 -
2019-08-14 12:38:06 +00:00
Mattias Gaertner
55b1f676dc
pastojs: fixed tests
...
git-svn-id: trunk@42689 -
2019-08-14 10:44:36 +00:00
Mattias Gaertner
b4b6efc5a0
fcl-passrc: check forward generic class constraints match
...
git-svn-id: trunk@42688 -
2019-08-14 10:42:16 +00:00
nickysn
71df2911da
* fixed compilation with -Sew
...
git-svn-id: trunk@42687 -
2019-08-14 02:19:26 +00:00
nickysn
0224d632f1
+ added and implemented method TNewExeRelocation.EncodeTo
...
git-svn-id: trunk@42686 -
2019-08-14 02:14:02 +00:00
florian
3a1ecd4f16
* fix tarminlinenode.first_sqrt_real
...
git-svn-id: trunk@42685 -
2019-08-13 22:12:53 +00:00
florian
0a0397c9f5
* forgotten part of previous commit: fix BccB2Cond optimization on arm
...
git-svn-id: trunk@42684 -
2019-08-13 22:12:52 +00:00
florian
ba0768b6a6
* building with -Cfvfpv2 hopefully fixed
...
git-svn-id: trunk@42683 -
2019-08-13 22:12:52 +00:00
florian
867df5362c
+ basic Neon support in the assembler writer
...
+ make use of VEOR if possible to clear VFP registers
git-svn-id: trunk@42682 -
2019-08-13 22:12:51 +00:00
florian
c418d63c16
+ create defines with FPU capabilites
...
+ make use of FPU capability defines in the rtl
git-svn-id: trunk@42681 -
2019-08-13 22:12:49 +00:00
Mattias Gaertner
10ffed0528
fcl-passrc: specialize try-except
...
git-svn-id: trunk@42680 -
2019-08-13 19:43:05 +00:00
florian
85edf1c1eb
* reworked arm vfp capability handling to use fpu_capabilites
...
git-svn-id: trunk@42679 -
2019-08-13 18:41:15 +00:00
Mattias Gaertner
3ddefe999e
fcl-passrc: specialize procedure type
...
git-svn-id: trunk@42678 -
2019-08-13 17:47:31 +00:00
nickysn
5d8078f666
+ added class, representing a NewExe relocation entry
...
git-svn-id: trunk@42677 -
2019-08-13 14:59:55 +00:00
florian
fd70fcace6
* fix BccB2Cond optimization on arm
...
git-svn-id: trunk@42676 -
2019-08-13 10:07:30 +00:00
florian
46b4f91175
* compilation on i386-linux fixed
...
git-svn-id: trunk@42675 -
2019-08-13 09:45:13 +00:00
florian
413beee9ae
-- Zusammenführen von r42652 bis r42673 in ».«:
...
U compiler/x86/aasmcpu.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42652 bis r42673 in ».«:
U .
git-svn-id: trunk@42674 -
2019-08-13 08:54:47 +00:00
sergei
416c974d3f
* x86_64: Fixed code generation for try..finally blocks, so that exit label from inner try..finally stays within scope of procedure's implicit try..finally block if one is present. Mantis #34772 .
...
git-svn-id: trunk@42673 -
2019-08-13 08:29:28 +00:00
lacak
59f186e7b7
fcl-db: base: cosmetic (char-case)
...
git-svn-id: trunk@42672 -
2019-08-13 07:31:12 +00:00
lacak
04e6c5c858
fcl-db: tests: small improvement (change order of tests; first test native field type, after that string representation)
...
git-svn-id: trunk@42671 -
2019-08-13 07:28:26 +00:00
pierre
36bc9b726e
Reduce cpu-os dependency on real constant printout by using system.str
...
git-svn-id: trunk@42670 -
2019-08-13 06:20:23 +00:00
Mattias Gaertner
3c9732cd3b
fcl-passrc: specialize generic array
...
git-svn-id: trunk@42669 -
2019-08-12 23:20:35 +00:00
florian
f23f3a4c5e
* enable TCpuAsmOptimizer.RemoveSuperfluousVMov for VLDR
...
* fixed TCpuAsmOptimizer.RemoveSuperfluousVMov to be actually applied
git-svn-id: trunk@42668 -
2019-08-12 21:25:30 +00:00