Commit Graph

56765 Commits

Author SHA1 Message Date
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
tg74
ad791e8e34 bugfix error with avx-memory-parameter OT_MEM128,OT_MEM256,OT_MEM512
git-svn-id: branches/tg74/avx512@42667 -
2019-08-12 20:59:53 +00:00
florian
58bbbadc16 * fix return registers for hfa's containing singles
git-svn-id: trunk@42666 -
2019-08-12 20:30:18 +00:00
florian
5a379cc256 * fix detection of floating point constants for arm
git-svn-id: trunk@42665 -
2019-08-12 20:29:03 +00:00
Mattias Gaertner
bbc542881f pastojs: test generic external class
git-svn-id: trunk@42664 -
2019-08-12 19:47:55 +00:00
Mattias Gaertner
59e0d334b5 fcl-passrc: specialize type reference
git-svn-id: trunk@42663 -
2019-08-12 19:47:18 +00:00
nickysn
5edc520468 + fill SizeInFile properly in the NewExe segment table
git-svn-id: trunk@42662 -
2019-08-12 16:04:07 +00:00
nickysn
6398c42a38 + fill MinAllocSize in the NewExe segment table
git-svn-id: trunk@42661 -
2019-08-12 15:47:08 +00:00
nickysn
31431d99ab * limit the heapsize to 65520 bytes on win16 (the $M directive in win16 only
sets the size of the "local heap", which is limited to a single segment. The
  actual heap in the large memory model is the "global heap", which doesn't have
  a set limit, but grows with the memory allocated)

git-svn-id: trunk@42660 -
2019-08-12 14:24:01 +00:00
nickysn
ae953214ee * fixed quoting of the "description" wlink option on Windows
git-svn-id: trunk@42659 -
2019-08-12 12:58:16 +00:00
nickysn
24e3d95fe0 - don't create a heap segment for win16
git-svn-id: trunk@42658 -
2019-08-12 12:51:37 +00:00
pierre
8015bfb5a0 Fix arm specific failure in tw12048
git-svn-id: trunk@42657 -
2019-08-12 12:17:00 +00:00
florian
5947143d8f * intel asm reader: try to read avx512 extensions only if the instruction supports them
* cleanup

git-svn-id: trunk@42656 -
2019-08-12 10:46:19 +00:00
florian
4c9a0403f4 * compilation on i386 fixed
git-svn-id: trunk@42655 -
2019-08-11 19:35:34 +00:00
florian
7f8dc75604 -- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«:
U    compiler/i8086/r8086int.inc
U    compiler/i8086/r8086nor.inc
U    compiler/i8086/r8086rni.inc
U    compiler/i8086/r8086std.inc
U    compiler/i386/i386prop.inc
U    compiler/i386/i386att.inc
U    compiler/i386/i386atts.inc
U    compiler/i386/i386int.inc
U    compiler/i8086/i8086int.inc
U    compiler/i8086/i8086op.inc
U    compiler/i8086/r8086dwrf.inc
U    compiler/i8086/r8086ari.inc
U    compiler/i8086/r8086con.inc
U    compiler/i8086/r8086nasm.inc
U    compiler/i8086/r8086num.inc
U    compiler/i8086/r8086stab.inc
U    compiler/i386/i386nop.inc
U    compiler/i386/i386op.inc
U    compiler/i386/i386tab.inc
U    compiler/i386/r386ot.inc
U    compiler/i386/r386ari.inc
U    compiler/i386/r386att.inc
U    compiler/i386/r386con.inc
U    compiler/i386/r386dwrf.inc
U    compiler/i386/r386int.inc
U    compiler/i386/r386iri.inc
U    compiler/i386/r386nasm.inc
U    compiler/i386/r386nor.inc
U    compiler/i386/r386nri.inc
U    compiler/i386/r386num.inc
U    compiler/i386/r386rni.inc
U    compiler/i386/r386sri.inc
U    compiler/i386/r386stab.inc
U    compiler/i386/r386std.inc
U    compiler/i8086/i8086prop.inc
U    compiler/i8086/i8086att.inc
U    compiler/i8086/i8086atts.inc
U    compiler/i8086/i8086nop.inc
U    compiler/i8086/i8086tab.inc
U    compiler/i8086/r8086ot.inc
U    compiler/i8086/r8086att.inc
U    compiler/i8086/r8086iri.inc
U    compiler/i8086/r8086nri.inc
U    compiler/i8086/r8086sri.inc
U    compiler/x86/agx86int.pas
U    compiler/x86/rax86int.pas
U    compiler/x86/aasmcpu.pas
U    compiler/x86/rax86.pas
U    compiler/x86/x86ins.dat
U    compiler/x86/agx86att.pas
U    compiler/x86/cpubase.pas
 U   packages/rtl-objpas/src/inc/rtti.pp
 U   packages/rtl-objpas/tests/tests.rtti.pas
 U   rtl
U    compiler/x86_64/x8664att.inc
U    compiler/x86_64/x8664tab.inc
U    compiler/x86_64/r8664con.inc
U    compiler/x86_64/r8664nasm.inc
U    compiler/x86_64/r8664sri.inc
U    compiler/aasmtai.pas
U    compiler/scanner.pas
U    tests/utils/avx/readme.txt
U    compiler/x86_64/x8664ats.inc
U    compiler/x86_64/x8664op.inc
U    compiler/x86_64/r8664att.inc
U    compiler/x86_64/r8664iri.inc
U    compiler/x86_64/r8664rni.inc
U    compiler/pp.lpi
U    compiler/msgtxt.inc
U    compiler/ppcx64.lpi
U    compiler/x86_64/x8664pro.inc
U    compiler/x86_64/x8664nop.inc
U    compiler/x86_64/r8664ari.inc
U    compiler/x86_64/r8664int.inc
U    compiler/x86_64/r8664num.inc
U    compiler/x86_64/r8664std.inc
U    compiler/msgidx.inc
U    compiler/utils/mkx86ins.pp
U    compiler/x86/x86reg.dat
D    compiler/x86/cx86innr.inc
U    compiler/x86_64/x8664int.inc
U    compiler/x86_64/r8664ot.inc
U    compiler/x86_64/r8664dwrf.inc
U    compiler/x86_64/r8664nor.inc
U    compiler/x86_64/r8664stab.inc
U    compiler/msg/errore.msg
U    compiler/utils/mkx86reg.pp
U    tests/utils/avx/asmtestgenerator.pas
U    tests/utils/avx/options.pas
U    tests/utils/avx/avxtestgenerator.pp
U    tests/test/units/character/tissurrogatepair2.pp
U    tests/test/units/character/tissurrogatepair.pp
U    tests/utils/avx/avxopcodes.pas
 U   .
-- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«:
 U   .
 U   packages/rtl-objpas/src/inc/rtti.pp
 U   packages/rtl-objpas/tests/tests.rtti.pas
 U   rtl

git-svn-id: trunk@42654 -
2019-08-11 17:29:30 +00:00
svenbarth
fc46b6c57c * apply patch by Blaise.ru to pass the record name for an internal record more efficiently
git-svn-id: trunk@42653 -
2019-08-11 17:26:44 +00:00
svenbarth
955ebf2f09 * applied patch by Blaise.ru to reduce code duplication in trecorddef.create_global_internal()
git-svn-id: trunk@42652 -
2019-08-11 17:26:35 +00:00
florian
70a2b0b260 * restored change information for FMA instructions which got lost somewhere
git-svn-id: branches/tg74/avx512@42651 -
2019-08-11 16:59:10 +00:00
florian
3ba313e7cd -- Rückwärtiges Zusammenführen von r39680 in ».«:
A    compiler/pp.lpi
-- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r39680 in ».«:
 U   .
-- Rückwärtiges Zusammenführen von r39678 in ».«:
U    compiler/pp.lpi
-- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r39678 in ».«:
 U   .

git-svn-id: branches/tg74/avx512@42650 -
2019-08-11 16:31:48 +00:00
florian
f9cd4c158a * improved readme.txt again
git-svn-id: branches/tg74/avx512@42649 -
2019-08-11 16:22:06 +00:00