Commit Graph

56814 Commits

Author SHA1 Message Date
pierre
5ed7bd35df Update all trunk/fpcsrc Makefile's after commit 42749
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
pierre
a652f9e304 Adapt fpc_clean and fpc_cleanall targets
to handle link.res ans script.res vairants with ProcessID.
   Also remove *$(FULL_TARGET).fpm file for fpc_clean
   and *.fpm for fpc_cleanall target.

git-svn-id: trunk@42749 -
2019-08-20 15:40:49 +00:00
pierre
e8ae490128 sparc32 bit needs SA_SIGINFO
git-svn-id: trunk@42748 -
2019-08-20 14:25:32 +00:00
pierre
c406d0121e Move test for read-only data to new separate test source treadonlydata.pp
git-svn-id: trunk@42747 -
2019-08-20 14:15:06 +00:00
nickysn
94e22f1262 + added a getter for the NewExeSegmentFlags property, that returns the
nesfHasRelocationData flag according to whether the Relocations list is
  non-empty

git-svn-id: trunk@42746 -
2019-08-20 13:49:43 +00:00
pierre
36b7842eb6 Add x86_64-aros and m68k-macos to OSCPUSupported table
git-svn-id: trunk@42745 -
2019-08-20 12:11:17 +00:00
nickysn
e7d590724a + added and implemented the TNewExeRelocationList class
git-svn-id: trunk@42744 -
2019-08-20 11:42:07 +00:00
michael
a7880cbfab * Fix bug #0035985
git-svn-id: trunk@42743 -
2019-08-20 07:03:24 +00:00
pierre
6f2b027e51 Avoid range check error for functions returning THandle type by using unusedhandle system constant
git-svn-id: trunk@42742 -
2019-08-19 20:23:31 +00:00
pierre
8fd0a27875 Avoid range check error for avr/i8086 CPU by changing local variable dist type to asizeuint
git-svn-id: trunk@42741 -
2019-08-19 20:22:22 +00:00
pierre
687554f4ec Fix compilation for i8086, AllocateRawThunk return type changed to CodePointer
git-svn-id: trunk@42740 -
2019-08-19 15:44:29 +00:00
Károly Balogh
4936358bee m68k: fpu capabilities support
git-svn-id: trunk@42739 -
2019-08-19 15:07:22 +00:00
pierre
7f6122884f Fix assembly instruction errors
git-svn-id: trunk@42738 -
2019-08-19 12:05:30 +00:00
lacak
1da7ba5d70 fcl-db: sqldb: Upgrade TDS protocol version from 7.0 (MS SQL Server 2000) to newer 7.3 (MS SQL Server 2008) to support new data types DATE, TIME, DATETIME2 introduced in MS SQL Server 2008.
git-svn-id: trunk@42737 -
2019-08-19 11:52:28 +00:00
Mattias Gaertner
722e33ce65 fcl-passrc: parser: bark on garbage behind proc modifier
git-svn-id: trunk@42736 -
2019-08-19 08:53:09 +00:00
Mattias Gaertner
c3b1450c4b fcl-passrc: generics: allow both a<t> and a<s,t>
git-svn-id: trunk@42735 -
2019-08-19 08:22:22 +00:00
svenbarth
652e1985a9 * implement thunking for x86_64 SysV ABI targets
git-svn-id: trunk@42734 -
2019-08-18 18:30:42 +00:00
svenbarth
58ada1f547 + add a test for RawThunk; this does not require a function call manager thus it's better to place it in the general RTTI testcase so that it's always tested
git-svn-id: trunk@42733 -
2019-08-18 18:30:39 +00:00
svenbarth
62a61bdb41 * fix ifdefs for non-fpc (Lazarus likes to mess these up during auto completion...)
git-svn-id: trunk@42732 -
2019-08-18 18:30:37 +00:00
svenbarth
048dc7b289 * implement RawThunk for x86_64-win64
git-svn-id: trunk@42731 -
2019-08-18 18:30:34 +00:00
Jonas Maebe
27a4a3d446 * added error checking to the test
git-svn-id: trunk@42730 -
2019-08-18 15:55:11 +00:00
Jonas Maebe
693e72ade3 * Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap
+ added sysrealloc support for Darwin (Darwin does not have mremap)

git-svn-id: trunk@42729 -
2019-08-18 15:55:07 +00:00
Jonas Maebe
14a7429e19 * factored out inlinenode check whether it may have a side effect
o also added register assert as having a side-effect (if asserts are
     enabled)

git-svn-id: trunk@42728 -
2019-08-18 15:55:03 +00:00
florian
5d1d9858d1 + VMovVMov2VMov optimization
git-svn-id: trunk@42727 -
2019-08-18 12:09:03 +00:00
florian
3d5ab366e1 * fix RemoveSuperfluousVMov if the VMov destination reg is an integer register, resolved #35978
git-svn-id: trunk@42726 -
2019-08-18 11:28:39 +00:00
florian
4f38f12815 -- Zusammenführen von r42706 bis r42724 in ».«:
U    tests/utils/avx/avxopcodes.pas
U    compiler/x86/aasmcpu.pas
U    compiler/x86/rax86.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r42724 in ».«:
 U   .

git-svn-id: trunk@42725 -
2019-08-18 11:18:41 +00:00
tg74
a5e158f8d6 cleanup
git-svn-id: branches/tg74/avx512merge@42724 -
2019-08-18 04:41:34 +00:00
tg74
9baf452681 Bugfix GATHER/SCATTER memref
git-svn-id: branches/tg74/avx512merge@42723 -
2019-08-18 04:39:36 +00:00
florian
9230ae5aab o overhaul-base.patch by J. Gareth Moreton, base for further patches
+ some inline directives added
  + some functions exported from units

git-svn-id: trunk@42722 -
2019-08-17 16:14:22 +00:00
Mattias Gaertner
210caa0c8d fcl-passrc: fixed IsTypeCast for record type
git-svn-id: trunk@42721 -
2019-08-17 15:41:51 +00:00
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