pierre
6230de31bb
* Second patch xml-node-dump-defs.patch from J. Gareth Moreton from bug report 36882.
...
With same changes to ensure that xmllint find no errors in generated xml files.
git-svn-id: trunk@47667 -
2020-12-02 21:01:40 +00:00
pierre
a7fa31aa10
Fix i8086 compiler failure due to move of printnodeindention variable into verbose unit in commit #47658
...
git-svn-id: trunk@47664 -
2020-12-02 09:29:08 +00:00
florian
0b63068ad2
* dir_push might not flush pending switch changes but has to read the pending
...
record if needed
git-svn-id: trunk@47660 -
2020-12-01 21:39:38 +00:00
pierre
af17e9460b
Apply patch proposed by J. Gareth Moreton in:
...
bug report #0036882 : [Feature] Class and record definition XML dump extension
These patches extend the node dump feature (enabled with DEBUG_NODE_XML)
so it also dumps class and record definitions to the XML file. They are contained within <definition> tags.
Currently only fields and constants are dumped to the XML file. Methods, constant and variable definitions may be added later.
git-svn-id: trunk@47658 -
2020-12-01 11:45:14 +00:00
pierre
9901a11d22
Add internalerror when V_Error level is used in Test_double_checksum code, only with TEST_CRC_ERROR macro set
...
git-svn-id: trunk@47657 -
2020-12-01 10:41:16 +00:00
florian
7f07c9f94d
+ range check enumeration array indicies, range checking is after all a safety mean
...
git-svn-id: trunk@47652 -
2020-11-30 22:08:04 +00:00
florian
792b629aa6
+ -Xa option: generate code which allows to use more than 2 GB of static data on 64 Bit targets
...
+ implemented support for x86-64
* more than 2 GB static data requires to use the --no-relax option on linux
git-svn-id: trunk@47651 -
2020-11-30 22:07:34 +00:00
florian
c890a126fe
* allow an AT&T suffix for movabs
...
git-svn-id: trunk@47650 -
2020-11-30 22:07:33 +00:00
svenbarth
3597696e98
* fix for Mantis #38145 : allow overloading of assignment operators that return ShortStrings with a specific size
...
+ added tests
The following rules for using these operator overloads as *implicit* overloads apply (Delphi compatible):
- if a found assignment operator returns a default ShortString then that is used
- if only one assignment operator to a String[x] is found then that is used
- otherwise the assignment is not possible
The explicit assignment checks for an exact match (and falls back for an implicit assignment). This is not entirely Delphi compatible as Delphi seems to favor the first found symbol in that case, but sometimes also not... :/
git-svn-id: trunk@47634 -
2020-11-29 15:47:52 +00:00
florian
c47d6d7af0
* check if an invisible parameter for the result occupies parameter space
...
git-svn-id: trunk@47632 -
2020-11-29 13:38:33 +00:00
florian
fbb2e63fea
+ #QLvember work: stack frame optimization for m68k
...
git-svn-id: trunk@47629 -
2020-11-29 10:16:00 +00:00
florian
8192bf1b33
* version update
...
git-svn-id: trunk@47628 -
2020-11-29 09:40:54 +00:00
pierre
8e13adad4c
* Improve Test_Double_checksum with Test_Double_checksum_write CRC testing code.
...
Pass the three checksum arrays from ppufile to module owner,
to be able to check that the checksums computed at the time pf ppu writing
are compatible with the ones computed at interface level.
git-svn-id: trunk@47626 -
2020-11-28 18:32:46 +00:00
svenbarth
82957ec5a3
* Fix for Mantis #38122 : when a deref node is passed as a Self parameter for a type helper (which is a var parameter) we need to pass the non-derefentiated value so that the data it points to can be modified by the helper's method (this is Delphi compatible)
...
+ added tests
git-svn-id: trunk@47625 -
2020-11-28 18:32:24 +00:00
florian
5ca2356638
* take care of po_noreturn in more cases
...
git-svn-id: trunk@47623 -
2020-11-28 16:02:51 +00:00
florian
ff87df7581
+ factor out PostProcessELFExecutable
...
+ write executable section size on linux
git-svn-id: trunk@47622 -
2020-11-28 16:02:50 +00:00
florian
99d88b91a9
* do not include fpcdefs in the cepiktimer unit
...
git-svn-id: trunk@47621 -
2020-11-28 16:02:49 +00:00
pierre
f8c84dd1fd
Fix compilation with DEBUG_PPU macro set
...
git-svn-id: trunk@47615 -
2020-11-28 12:06:36 +00:00
florian
eb098a3d11
* do not reuse a loaded reference for avrtiny in a_op_const*, resolves #38142
...
git-svn-id: trunk@47612 -
2020-11-27 21:16:31 +00:00
svenbarth
903486642e
* allow an integer expression for SetPeFlags and SetPeOptFlags (Delphi compatible)
...
* adjusted test to check that as well
git-svn-id: trunk@47602 -
2020-11-26 20:13:40 +00:00
svenbarth
a8d316d187
+ add method to retrieve an integer expression from the scanner
...
git-svn-id: trunk@47601 -
2020-11-26 20:13:34 +00:00
pierre
48271b880c
Add {$i fpcdefs.inc} to units that do not have that include
...
git-svn-id: trunk@47599 -
2020-11-26 10:34:02 +00:00
pierre
9c1c2acd64
Improve CRC_checksum testing code with -dDEBUG_UNIT_CRC_CHANGES -dTest_Double_checksum -dTest_Double_checksum_write
...
git-svn-id: trunk@47597 -
2020-11-25 23:40:02 +00:00
pierre
787899b921
Allow easier disabling of $inline on, by using -dDISABLE_INLINE
...
git-svn-id: trunk@47593 -
2020-11-25 22:40:04 +00:00
florian
bb80851d65
* .def must be set on linux else it might be that the created executable is
...
deleted after compilation
git-svn-id: trunk@47592 -
2020-11-25 22:34:17 +00:00
florian
5cd4e5a016
* pass lp64d to GNU AS for abi_riscv_hf to get the right ABI set
...
git-svn-id: trunk@47585 -
2020-11-25 20:20:08 +00:00
Jonas Maebe
c3e2285c45
* when getting an llvm temporary recorddef, recurse into arrays rather than
...
treating them as opaque defs. This is required to ensure that the temporary
recorddef for all x86-64 function results are the same on the caller and
callee side, as we allocate new arrays when generating them
git-svn-id: trunk@47584 -
2020-11-25 18:44:44 +00:00
pierre
64866179a9
Add missing llvm directory for ppu unit compilation
...
git-svn-id: trunk@47578 -
2020-11-25 09:03:11 +00:00
Károly Balogh
d8997405c5
sinclairql: mark the qhdr metadata format as default in the help text
...
git-svn-id: trunk@47572 -
2020-11-25 04:57:33 +00:00
Károly Balogh
6a88f2fc28
sinclairql: drop support for the BASIC loader, write Q-emuLator or XTcc compatible metadata to the executable instead. based on a patch by Marcel Kilgus in qlforum.co.uk
...
git-svn-id: trunk@47569 -
2020-11-25 04:39:42 +00:00
Károly Balogh
45fc515400
sinclairql: added platform specific options to allow specifying executable metadata format
...
git-svn-id: trunk@47567 -
2020-11-25 01:48:36 +00:00
Tomas Hajny
74eb7b5050
+ added coloured compiler output support for OS/2 and DOS targets, platform-specific parts refactored to a standalone unit to remove the heap of ifdefs in unit comphook
...
git-svn-id: trunk@47566 -
2020-11-24 23:09:01 +00:00
florian
6ac2957187
* Xtensa: cleanup of getreferencestring
...
git-svn-id: trunk@47565 -
2020-11-24 22:04:28 +00:00
florian
4a05053650
+ Xtensa: make use of the LSX/SSX instructions
...
git-svn-id: trunk@47564 -
2020-11-24 21:22:20 +00:00
florian
9dcf85a8ef
+ Xtensa: FMA support
...
git-svn-id: trunk@47563 -
2020-11-24 20:59:47 +00:00
Károly Balogh
ab2db33b4c
* backported vlink map file generation to other targets using vlink: Amiga, Atari and ZXSpectrum
...
git-svn-id: trunk@47560 -
2020-11-24 19:07:15 +00:00
Károly Balogh
ffa1b24f7e
sinclairql: map file generation support with vlink, inspired by a patch posted by Marcel Kilgus in qlforum.co.uk
...
git-svn-id: trunk@47559 -
2020-11-24 18:34:09 +00:00
pierre
96f2e683e7
Also accept s80bit real constants when FPC_SOFT_FPUX80 macro is defined
...
git-svn-id: trunk@47557 -
2020-11-24 15:31:26 +00:00
Károly Balogh
9cf99b818d
sinclairql: use .exe as extension for executables instead of .bin, patch by Marcel Kilgus at qlforum.co.uk
...
git-svn-id: trunk@47556 -
2020-11-24 15:18:05 +00:00
Károly Balogh
6b1c5861af
* remove obsolete comment from rautils/ConcatConstant, issue reported/initial patch by Marcel Kilgus in QLForum.co.uk
...
git-svn-id: trunk@47549 -
2020-11-24 05:47:09 +00:00
Károly Balogh
7444733f5d
m68k: fix DB/DW/DD handling in inline assembler, update BuildConstant() method to current standards. issue reported/initial patch by Marcel Kilgus in QLForum.co.uk
...
git-svn-id: trunk@47548 -
2020-11-24 05:42:38 +00:00
florian
4c0dac4864
+ Aarch64: implemented FMovFMov2FMov, not yet used
...
git-svn-id: trunk@47534 -
2020-11-22 21:20:51 +00:00
florian
ef1ba48cc4
+ Aarch64: call OptPass1FData for FMA instructions as well
...
git-svn-id: trunk@47533 -
2020-11-22 21:19:51 +00:00
florian
1014e53081
* patch by J. Gareth Moreton: fixes crash on ARM with -CriotR, resolves #38116
...
git-svn-id: trunk@47531 -
2020-11-22 19:47:34 +00:00
florian
7ad8f94ec4
* set reasonable defaults for arm eabi
...
git-svn-id: trunk@47530 -
2020-11-22 19:47:12 +00:00
florian
76406dbc36
+ implement prefetch intrinsic for aarch64
...
git-svn-id: trunk@47526 -
2020-11-22 10:27:06 +00:00
florian
9c7cb3dbd7
* fix spilling of avx(512) registers
...
* get_scalar_mm_op fixed for M256
git-svn-id: trunk@47524 -
2020-11-21 22:30:34 +00:00
florian
1d474f822e
* fits_in_mm_register takes care of avx(512) support
...
git-svn-id: trunk@47523 -
2020-11-21 22:30:33 +00:00
florian
d5dcf5cd7a
* cleanup
...
git-svn-id: trunk@47522 -
2020-11-21 21:58:30 +00:00
florian
ea11517d27
+ optimization type converted (modulo) divisions as well by removing up/down converting but,
...
insert a test and separate code path for -1 if needed
git-svn-id: trunk@47521 -
2020-11-21 21:58:28 +00:00