Commit Graph

21631 Commits

Author SHA1 Message Date
Jonas Maebe
7e2c3b39ec * fixed LLVM compilation after r43860
git-svn-id: trunk@43862 -
(cherry picked from commit f659e91a95)
2024-06-09 17:51:39 +02:00
florian
823a6d23d7 * correct Dwarf-4 line info header as noted by Martin on the mailing list
(cherry picked from commit b313a66a47)
2024-06-07 23:03:11 +02:00
Jonas Maebe
3795cadbc8 * fix compilation after last commit 2024-06-04 22:56:05 +02:00
J. Gareth "Curious Kit" Moreton
1b8fc23dfd * x86: Code generation fixes where FLAGS
register is not properly allocated.

(cherry picked from commit 6f24c8b4ef)
2024-06-04 22:53:51 +02:00
florian
bff5cbd342 * patch by Alfred Glänzer (manually "cherry picked"): Fix for internal error 200603061 on fixes, resolves #40758
(cherry picked from commit ccb169b0f1)
2024-05-04 22:40:50 +02:00
Pierre Muller
3326d095df Do allocate a new regset for top_regset for ARM compiler to avoid heap memory corruption
(cherry picked from commit 1e5240b5a4)
2024-05-02 21:34:20 +00:00
Pierre Muller
fdf93c5b29 Avoid running cleanppulogs and ppulogs rules in parallel
(cherry picked from commit 8fa80295d0)
2024-04-09 08:41:02 +00:00
florian
b5c4c6418c * copyright year for compiler logo updated
(cherry picked from commit 615e9bdafd)
2024-01-20 21:17:34 +01:00
Onur ERÇELEN
f993126c69 Upload New File
(cherry picked from commit 44af9d87de)
2024-01-20 21:17:25 +01:00
florian
76b86e8797 * copyright year updated
(cherry picked from commit 7bb9638094)

# Conflicts:
#	compiler/msg/errord.msg
2024-01-20 21:16:23 +01:00
florian
313d9fc9f7 * copyright for 2023 updated
(cherry picked from commit f4d9082028)

# Conflicts:
#	compiler/msg/errord.msg
#	compiler/msgtxt.inc
2024-01-20 21:15:12 +01:00
florian
0a2bfb3765 * year of copyright updated to 2022
(cherry picked from commit 6dd0a1c078)

# Conflicts:
#	compiler/msg/errord.msg
#	compiler/msg/errordu.msg
#	compiler/msgtxt.inc
2024-01-20 21:14:21 +01:00
Jonas Maebe
abf89eea0d * fix conversion of true/false macro definitions to boolean values
(mantis #38492)
   o since the macro lookups are recursive, "mac" will usually be nil
     afterwards (unless we found an undefined macro)

git-svn-id: trunk@49160 -
(cherry picked from commit ff3f812d97)
2023-12-07 23:16:49 +01:00
Pierre Muller
8ed9c79c23 Add dwarf CFI for 32-bit powerpc cpu
(cherry picked from commit b8036f7173)
2023-12-04 20:37:06 +00:00
Pierre Muller
4fc8dde4fe Add dwarf CFI for powerpc64 cpu
(cherry picked from commit da683ade18)
2023-12-04 20:36:23 +00:00
Pierre Muller
276eed00d0 Remove trunk-only as_XXX values 2023-11-20 23:03:15 +01:00
Pierre Muller
f54aeb911e Try to adapt to missing as_default in fixes branch 2023-11-20 23:03:15 +01:00
Pierre Muller
3e197cb8d7 Default to external assembler in cross-endian configuration.
Add note about reason of switching to external assembler.

(cherry picked from commit 31c8e78581)
2023-11-20 23:03:15 +01:00
Pierre Muller
044088494e Prevent usage of internal linker in cross-endian configuration.
Add LinkInternSetExplicitly field to TOption class.
Set this field to true if '-Xe-' or '-Xi' option is used.
Check at exit if in cross-endian configuration:
 if LinkInternSetExplicitly is set, issue error message,
else add cs_link_extern to init_settings.globalswitches.

(cherry picked from commit 2cbaa24f76)
2023-11-20 22:30:22 +01:00
Pierre Muller
dfebb4df8e Add new option_switch_bin_to_src_assembler_cross_endian message
(cherry picked from commit 19a3e69f03)
2023-11-20 22:23:27 +01:00
pierre
78dbdcb095 Disable overflow/range check in some part of the arm code
git-svn-id: trunk@49274 -
(cherry picked from commit d03c3c0669)
2023-10-30 12:59:19 +00:00
Pierre Muller
2c23160571 Allow compilation of i8086, i386 and x86_64 cross-compiler
if -dFPC_SOFT_FPUX80 option is used

  Partial cherry pick from 85d19af48c
2023-10-04 04:06:10 -05:00
Pierre Muller
25acaac104 Update compiler/utils Makefile using latest fixes fpcmake utility 2023-10-04 03:52:50 -05:00
Pierre Muller
8403c629fc Regenerate Compiler Makefile 2023-09-30 22:18:15 +00:00
Pierre Muller
277a3a1b4c Generalize -DD option outside cycle
Add -DD option to LOCALOPT
  if FPC_VERSION is equal to PACKAGE_VERSION

  This is to avoid get different dates for
native compiler generated using 'make cycle'
versus cross-compilers.

(cherry picked from commit c335591b70)
2023-09-30 21:53:07 +00:00
kamischi
51692224f0 update German errordx.msg files
(cherry picked from commit 40d0464e88)

# Conflicts:
#	compiler/msg/errord.msg
#	compiler/msg/errordu.msg
2023-09-30 16:12:00 +02:00
Jonas Maebe
a0c9c7fa64 + -ib parameter to print the code generator backend type: FPC or LLVM
* some cleanups related to -i printing

git-svn-id: trunk@44787 -
(cherry picked from commit ea2e516b4e)
2023-09-28 16:50:34 +02:00
Tomas Hajny
3ee68ea048 + added possibility to list supported modeswitches using -im and documented it in help pages
git-svn-id: trunk@44120 -
(cherry picked from commit 8de6066b95)
2023-09-28 16:48:27 +02:00
florian
727dc3dca9 * according to Jonas iOS doesn't zero extend results in the callee either, so check removed
(cherry picked from commit 657f3c52bf)
2023-09-14 11:48:03 +02:00
florian
75a6fbb813 * on aarch64-darwin, the unused part of function results is not cleared
(cherry picked from commit a517ada539)
2023-09-14 11:48:03 +02:00
Pierre Muller
837df925c5 Short version of the mips code genration bug
(cherry picked from commit dce70b3b70)
2023-06-09 07:53:29 +01:00
florian
56a99d2512 + sanity checks in mips and sparc register allocator
(cherry picked from commit 03f4685455)
2023-06-09 07:53:29 +01:00
pierre
91aad00398 Fix for bug report 38549 about wrong code generation
for mips/mipsel and riscv32/riscv64 CPUs for
  set operators '<=' and '>='.
  New tests for this bug report.
  tw38549.pp, main source, also included
  by tw38549a.pp, tw38549b.pp, tw38459c.pp and tw38459d.pp
  with explicit {$packset X}, with X=1,2,4, or 8 added.

git-svn-id: trunk@48874 -
(cherry picked from commit 01a351f804)
2023-05-25 21:37:47 +00:00
Pierre Muller
caf964ac31 Fix storing of unaligned 64-bit to memory
(cherry picked from commit dc04a8a677)
2023-05-25 21:37:47 +00:00
Pierre Muller
59ad47503b Avoid float_raise call in FPC_SOFT_FPUX80 code
(cherry picked from commit 5cedecbe25)
2023-05-25 21:37:47 +00:00
pierre
0b5af8a53f Extend ait_ua_elf_const2str to all aitconst_XXX to fix mips/mipsel RTTI generation
git-svn-id: trunk@45719 -
(cherry picked from commit f71415a2de)
2023-05-25 21:37:47 +00:00
Pierre Muller
7b2f6871ff Fix bug report #39952.
* compiler/aggas.pas: Avoid use of .long for 64bit constant
    for targets that automatically insert alignments.
  + tests/webtbs/tw39952.pp: New test from bug report 39952.

(cherry picked from commit d217a459aa)
2023-05-25 21:37:47 +00:00
Pierre Muller
2640e77307 Fix a_load64_reg_ref and a_load64_ref_reg mips methods
(cherry picked from commit d18ff64ed7)
2023-05-25 21:37:47 +00:00
Pierre Muller
2aa3270ca0 Handle unaligned references in 64-bit a_load_ref_reg and a_load_reg_ref methods
(cherry picked from commit c96bb0f416)
2023-05-25 21:37:47 +00:00
florian
07f3b23c78 * handle -Ca (as proposed by Michael Ring) and -Cf in the first option pass as well
git-svn-id: trunk@48668 -
(cherry picked from commit 50bc387688)
2023-05-25 21:37:47 +00:00
pierre
8d165d7e98 Revert wrong part in commit 42580: reinstate 'override FPC=' for cycle targets
git-svn-id: trunk@42585 -
(cherry picked from commit c74007b580)
2023-05-25 17:36:26 +02:00
florian
b3baa35179 * handle -Ca (as proposed by Michael Ring) and -Cf in the first option pass as well
git-svn-id: trunk@48668 -
(cherry picked from commit 50bc387688)
2023-04-16 18:26:18 +02:00
Pierre Muller
a1040cf1b2 Treat -Cb / -Cb- options in first pass (to be able to use FPC_BIG_ENDIAN inside .fpc.cfg config file)
(cherry picked from commit 892220d6fe)
2023-04-16 18:03:50 +02:00
Pierre Muller
2a3efea7ba Avoid read past buffer end for empty source when checking for utf-8 signature
(cherry picked from commit aaf356ba9f)
2023-04-16 17:35:31 +02:00
florian
3498d78aad * make eabihf/eabi changeable at compilation time
git-svn-id: trunk@44706 -
(cherry picked from commit 9d7261a60b)
2023-04-06 22:02:58 +02:00
florian
15194c6ee9 * correctly compile constant multiplications by 6 for 80386 (fix needed only for 3.2.x), resolves #40230 2023-04-02 22:52:10 +02:00
ccrause
aadb53e72c Only perform OpCp2Op optimization when the first Op is ANDI and comparison is against 0.
(cherry picked from commit f83a8f0f8f)
2023-03-10 23:27:48 +01:00
florian
67e8c304c1 * allow iso gotos within a procedure
git-svn-id: trunk@46396 -
(cherry picked from commit 61d44bba17)
2022-12-04 12:19:53 +01:00
florian
b6ccf16c9d * 0 is a valid label in iso mode, resolves #37428
git-svn-id: trunk@46362 -
(cherry picked from commit 6dac888ae5)
2022-12-04 11:43:48 +01:00
Pierre Muller
53d7a0a603 Add system_powerpc_wii to supported_targets of powerpc generic GNU assembler
(cherry picked from commit f3179cb718)
2022-10-24 10:35:02 -05:00