Commit Graph

63785 Commits

Author SHA1 Message Date
Sven Barth
69bfff046a + add a test for converting a 64-bit Boolean (either QWordBool or Boolean64) to a 32-bit signed integer (this problematic case was discovered after e65b822a on PowerPC 2021-12-05 15:11:24 +01:00
Sven Barth
2636966e2a * adjust ToInteger of the Boolean helpers so that it returns the value of either True or False, but not any other value (e.g. in the *Bool types). This is not only Delphi compatible, but also fixes the compilation problem of the one or other 32-bit platform (like PowerPC) after e65b822a. 2021-12-05 00:03:05 +01:00
Florian Klämpfl
49af134ba7 * compilation of x86_64-win64 fixed 2021-12-04 16:21:29 +01:00
Michaël Van Canneyt
cbc2d0351c * Correct casing of rposex - fix issue #39466 2021-12-03 23:49:44 +01:00
florian
0b3fb55c6a * generate no exit code at all on x86-64 if the subroutine is compiled with po_noreturn 2021-12-03 23:26:28 +01:00
Sven/Sarah Barth
e65b822a0c + add type helpers for the remaining Boolean types (QWordBool and Boolean{8,16,32,64}) 2021-12-03 14:52:19 +01:00
J. Gareth "Curious Kit" Moreton
0f1c4b4db8 Fixed Unreachable code warning when building on a 32-bit platform with DEBUG_NODE_XML 2021-12-02 20:32:05 +00:00
Pierre Muller
0508f643c0 Add gdb4fpc.ini, generated by gppcCPUSUFFIX utility and utils/fpcm/fpcmake to .gitignore list 2021-12-02 10:31:36 +00:00
Sven Barth
b7034cb960 * move Boolean helpers before the ordinal ones so that ToOneZeroString can be inlined correctly 2021-12-01 23:55:35 +01:00
Sven Barth
5412e463ff * use the already existing TNative(U)IntNibbleIndex types for the TORDINALNIBBLEINDEX macro as this way memory models with far pointers (where Native(U)Int has a size of 4) is handled correctly as well 2021-12-01 23:55:35 +01:00
florian
89aeedac1e * fixes excluding of cpu capabilities 2021-12-01 22:48:19 +01:00
Michaël Van Canneyt
a868a45ba9 * Patch from Werner Pamler to fix some errors in JSON export 2021-12-01 12:53:56 +01:00
Michaël Van Canneyt
a9b4fa5ed4 * Attempt to fix failing cross-compilation, remove unused dll 2021-11-30 23:02:33 +01:00
florian
60623f39a1 + - can be used to remove options from a cpu capability switch 2021-11-30 22:37:47 +01:00
Michaël Van Canneyt
e422743841 * Patch from Zeljko Avramovic to add additional typehelpers for basic types. Fix issue #39268 2021-11-30 09:22:06 +01:00
Michaël Van Canneyt
b1412ec5c0 * Make hexdigits a global constant 2021-11-30 09:06:41 +01:00
Michaël Van Canneyt
65101b36dc * typescript parsing & conversion, initial commit 2021-11-30 08:58:16 +01:00
ccrause
793c157a9c Always call DoExec to generate linker scripts. Even if cs_link_nolink is set, the ldgen scipt needs to be called in the generated ppas script. 2021-11-29 22:42:49 +01:00
ccrause
b0c0309cc1 Add output path to kconfig source file location parameters. 2021-11-29 22:42:49 +01:00
ccrause
f66dd54bc2 Extract linker script generation as separate method. Check if esp linker scripts can be found in library paths, if not then generate scritps. 2021-11-29 22:42:49 +01:00
ccrause
ab00794343 Keep esp32 and esp8266 version specific tweaks separate. 2021-11-29 22:42:49 +01:00
ccrause
a58567004b Remove unused $OUTPUT substtution and empty check of outputexedir. 2021-11-29 22:42:49 +01:00
ccrause
655a5f526c Place IDF related files in executable output folder. 2021-11-29 22:42:49 +01:00
ccrause
e86d3af7e0 The linklib list for esp-idf v4.2 is also needed for v4.3 2021-11-29 22:42:49 +01:00
florian
5db20610dd * correct idf version check 2021-11-29 22:42:49 +01:00
florian
802f24dfbd * force result to be set 2021-11-29 22:42:49 +01:00
florian
54f2308d2a + draft for esp-idf version specific rtl unit which contains the necessery linklib statements 2021-11-29 22:42:49 +01:00
florian
dc161e519f * inputfilepath might not be empty 2021-11-29 22:42:49 +01:00
ccrause
5289aab4f2 Add -WP option so that IDF version can be passed in - stored in globals.idf_version. The version is checked in t_freertos.pas and for esp-idf version 4.3.x an extra link file is added, also running ldgen.py is skipped as that seems unused. 2021-11-29 22:42:49 +01:00
Pierre Muller
222a41be7b Change declaration of DynLinkStr local variable of MakeExecutable method to ansitring to avoid short string overflows 2021-11-28 23:57:09 +00:00
Jonas Maebe
2de72c8541 Linux/PPC64: fix missing TOC loads
Routines loading a global symbol need the TOC register
2021-11-28 18:32:32 +01:00
Jonas Maebe
e1a739d15d FreeBSD CSU fixes
* Assembler blocks in non-pure assembler functions must always declare all
changed registers
* argc is read as *(long*) in C -> changed plongint to pptrint
* fixed ident section
2021-11-28 18:32:32 +01:00
florian
9314bbbf08 * compilation hopefully fixed 2021-11-28 00:03:30 +01:00
Yuriy Sydorov
4f711a8b2c * Use longint for Tmoveins.id instead of word to prevent overflow in extreme cases. 2021-11-28 01:02:20 +02:00
florian
12f48c230b * use high level interface wrappers for powerpc64 if pic is generated as
the abi does not support branches between functions located in different
    tocs which might happen for inter-module branches
2021-11-27 23:33:22 +01:00
Yuriy Sydorov
5c55f1a16e * Added Tmoveins.id to be used for sorting and searching in Tmovelist, to
produce the consistent order of elements.
  This fixes occasional differences in the register allocation caused by
  the address space randomization. When ASLR is in effect, the previous
  approach to sort elements by their memory addresses can't guarantee the
  consistent elements order for each compilation of the same source code.
2021-11-27 19:44:50 +02:00
Yuriy Sydorov
fad6b0e489 * Fixed build with NO_THREADING on Windows. 2021-11-27 19:12:25 +02:00
florian
e132ae2fee * last commit was not correct, fixed 2021-11-27 00:28:57 +01:00
florian
bf5f37b14a * fix conditional statement as pointed out by Sergey Larin 2021-11-26 22:27:19 +01:00
Pierre Muller
b3fb6a0ec0 Commit revision.inc change after 7d1b7eda0e 2021-11-26 07:52:15 +00:00
Pierre Muller
dabc59977d Avoid having uninitialized UseBinutilsPrefix local variable in GetDefaultLibGCCDir function 2021-11-25 23:34:28 +01:00
Pierre Muller
271ba59cf1 All Makefile's regenerated 2021-11-25 22:13:32 +00:00
Pierre Muller
c9ee52a8f5 Regenerated fpcmake.inc after previous commit: Use filter instead of findstring make function when a whole word needs to match 2021-11-25 21:42:17 +00:00
Pierre Muller
7d1b7eda0e Use filter instead of findstring make function when a whole word needs to match 2021-11-25 21:41:35 +00:00
florian
5bddb3a435 * x86-64 can handle overflows in 64 bit multiplications directly, part of resolving #39450 2021-11-24 23:06:38 +01:00
florian
65ef6f1f37 * regenerated Makefiles 2021-11-24 22:50:37 +01:00
florian
5c9de7edd7 * compile fpc with -Cg on powerpc64-linux 2021-11-24 22:45:38 +01:00
florian
1ebc0350d3 * fpcmake uses now git for date and hash in revision.inc 2021-11-24 22:37:20 +01:00
florian
18e0979379 + Exception.GetBaseException 2021-11-23 23:01:06 +01:00
florian
b0459a19f4 + initial files for intrinsics support on AArch64 2021-11-21 21:11:23 +01:00