Commit Graph

55558 Commits

Author SHA1 Message Date
florian
63375effda * patch by Christo Crause: fix for r43136
git-svn-id: trunk@43169 -
(cherry picked from commit 5fc12500f2)
2021-10-24 12:40:36 +02:00
florian
8e68ea69cb * (modified/re-formatted) patch by Christo Crause: AVR: Optimizing code generation for shift with compile time constant
git-svn-id: trunk@43136 -
(cherry picked from commit dd2d1bf68b)
2021-10-24 12:40:36 +02:00
florian
bf85e51962 * AVR: patch by Christo Crause: fixes tcgavr.g_concatcopy for data with size>255, resolves #36066
git-svn-id: trunk@42977 -
(cherry picked from commit 4e93a9a6c7)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
821a83f735 * Fix exitcode handling for avrsim target. Patch by Christo Crause
git-svn-id: trunk@42940 -
(cherry picked from commit 05c4f45596)
2021-10-24 12:40:36 +02:00
florian
97b0bda68d * fix tcgavr.g_flags2reg for sizes > 1 byte
git-svn-id: trunk@42938 -
(cherry picked from commit 9e5cbce6be)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
d14e3e96a7 - Fix bug in software overflow checking for longint's.
- AVR: Fix overflow checking for HW multiplications

git-svn-id: trunk@42531 -
(cherry picked from commit 1b698d319f)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
0c4d299514 AVR: Add support for using nostackframe in interrupt routines.
git-svn-id: trunk@42519 -
(cherry picked from commit f72342ed0e)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
49ac4e0ed3 AVR: Add optimizations for sign testing, and a better Abs() implementation.
git-svn-id: trunk@42510 -
(cherry picked from commit 91016c97a4)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
bca0d5774f - Adds a number of optimizations for 64bit integer operations on AVR. Patch from Christo Crause in issue #35691.
git-svn-id: trunk@42495 -
(cherry picked from commit 893507a5d6)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
8b02397b18 - Split division routines out into an include file.
- Reuse division routines for calculating both division and modulus.
- Add implementations of BsfByte and BsrByte that don't use a lookup table.

git-svn-id: trunk@42494 -
(cherry picked from commit 4b93eb64b3)

# Conflicts:
#	.gitattributes
2021-10-24 12:40:36 +02:00
Jeppe Johansen
e03c4eb34f - Applied patch by Christo Crause from #33914
git-svn-id: trunk@42493 -
(cherry picked from commit ff3372567f)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
464aeb266e - Fix overflow checking for multiplication operations on AVR.
git-svn-id: trunk@42492 -
(cherry picked from commit 030cf78ac5)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
2b92b97056 - Change syntax of sbiw operands to work around syntax in older binutils.
git-svn-id: trunk@42336 -
(cherry picked from commit 48a7c0989a)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
f1a9930550 avr: Fixed some inconsistencies.
git-svn-id: trunk@42204 -
(cherry picked from commit 0d97dc7965)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
a886e77b5e - Fix compilation on architectures without absolute call/jump instructions.
git-svn-id: trunk@42164 -
(cherry picked from commit ee7bc1d516)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
4996d129e5 - Add mov optimization for STS instruction.
git-svn-id: trunk@42163 -
(cherry picked from commit aa4961d06e)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
8eb523e696 - Add assembler implementation of integer division, patch by Christo Crause. For now there's a division by zero check added.
- Fix setjmp/longjmp handling on 3 byte PC AVRs.

git-svn-id: trunk@42162 -
(cherry picked from commit dee0197890)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
3916bcba38 Check if the current register was the last in the cgpara, to avoid running over the last register allocated.
git-svn-id: trunk@42159 -
(cherry picked from commit 5bdc635f50)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
ebe4d4cf13 Fixed stack checking for embedded target. Based on work by Christo Crause
git-svn-id: trunk@42157 -
(cherry picked from commit 2f501be2a0)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
915e48c675 Add assembler implementation of Move.
git-svn-id: trunk@42155 -
(cherry picked from commit 009c87156a)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
18ba7fc23a Generalize skip instruction optimization for both sbix and sbrx.
git-svn-id: trunk@42154 -
(cherry picked from commit c867d2b7f6)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
d993e1b9c3 avr: Add peephole optimization for in+sbr* bit test sequence.
git-svn-id: trunk@41962 -
(cherry picked from commit 3ad450c636)
2021-10-24 12:40:36 +02:00
Jeppe Johansen
f5e34990ae - Adds intrinsics to save/restore SREG when disabling interrupts.
- Adds nostackframe to stack frame investigation stubs.

git-svn-id: trunk@41898 -
(cherry picked from commit 12879adc2f)
2021-10-24 12:40:36 +02:00
florian
3d3e828151 * properly allocate parameter registers for constants on avr, resolves #33932
git-svn-id: trunk@40848 -
(cherry picked from commit 8fceba4493)
2021-10-24 12:40:36 +02:00
florian
7ac474341a * patch (slighly modified) by Christo Crause to write 16 bit registers on avr in hi/lo order, resolves #34721
git-svn-id: trunk@40678 -
(cherry picked from commit 917de001d6)
2021-10-24 12:40:36 +02:00
florian
a5d24ec763 * max_operands needs only to be 2 on avr
git-svn-id: trunk@40197 -
(cherry picked from commit 42e54c1ad5)
2021-10-24 12:40:36 +02:00
Jonas Maebe
667938c6c9 * add missing unixutils -> baseunix dependency
git-svn-id: trunk@47302 -
(cherry picked from commit 24e188f0d2)
2021-10-09 21:13:32 +00:00
Yuriy Sydorov
eb69bbf4f1 * x86: Fixed update of used registers in the CMOV optimizations.
This fixes a bug reported by Martin Frb in fpc-devel which is triggered
  by the recently provided test code in FPC 3.2.2 x86_64, but is hidden
  in trunk by other pipeline peephole optimizations.

(cherry picked from commit e9d318e7e2)
2021-10-05 22:09:39 +03:00
Sven/Sarah Barth
48c54afabb * patch by Sergey Larin to handle Native(U)Int conversions from/to variants, resolves #37339
git-svn-id: trunk@45797 -
(cherry picked from commit a57f3ba396)
2021-10-01 17:43:23 +02:00
flyingsheep
b8b1aeb4e0 * Fix for issue #39379 by bart broersma
(cherry picked from commit 6c6cb13a5e)
2021-09-30 19:41:44 +00:00
pierre
8a568acaa8 Use gdate/date -u option to get universal time for TEST_DATETIME variable
git-svn-id: trunk@49289 -
(cherry picked from commit 6f4617eeb3)
2021-09-30 10:16:19 -06:00
florian
083b7da54e * @PLT is needed for calls to link it properly with pic code
git-svn-id: trunk@46209 -


(cherry picked from commit b60ac4c2db)
2021-09-29 16:20:47 +00:00
pierre
5aea57b5fc * tests/Makefile.fpc: Add NATIVE_FPC=$(FPC) to tstunits rule make call.
* tests/Makefile: Regenerate.
  * tests/tstunits/Makefile.fpc: Pass FPCFPMAKE=$(NATIVE_FPC) to rtl and packages
    recompilation rules, to avoid truobles for cross-compilation.
  * tests/tstunits/Makefile: Regenerate.

git-svn-id: trunk@43019 -
(cherry picked from commit 0b2a6e5a74)
2021-09-27 20:03:20 +00:00
florian
35bcb99e6f + create directory for C objects if needed
git-svn-id: trunk@46788 -
(cherry picked from commit 323b3b5d2b)
2021-09-27 19:58:58 +00:00
pierre
1081f5aad7 + Add TEST_PARALLEL, adds -L option to DOTESTOPT
git-svn-id: trunk@40308 -
(cherry picked from commit 122fd55564)

Conflicts:
	tests/Makefile
2021-09-27 19:55:22 +00:00
pierre
c595135723 Add wposuffix to keep different logs for each pass when passes is > 1
git-svn-id: trunk@48800 -
(cherry picked from commit 63a3c25493)
2021-09-27 19:50:13 +00:00
florian
bef4d583da * support passing options to the emulator when using one for testing
git-svn-id: trunk@47604 -
(cherry picked from commit 9c77e4a899)
2021-09-27 19:49:38 +00:00
lacak
aadb08980b fcl-db: base: +TParam.AsByte (for Delphi compatibility)
git-svn-id: trunk@49603 -
(cherry picked from commit ab86ce7e62)
2021-09-27 21:03:20 +02:00
lacak
b421a17c84 fcl-db: sqlite: add support for journal_mode pragma (beside foreign_keys pragma). This pragma must be set after connect before any transaction starts.
git-svn-id: trunk@47656 -
(cherry picked from commit 738959ce59)
2021-09-27 21:03:20 +02:00
lacak
aff575ea1b fcl-db: base: xmldatapacketreader: fix XML data types
git-svn-id: trunk@47247 -
(cherry picked from commit 5f04bb4a8e)
2021-09-27 21:03:20 +02:00
lacak
5a3c4b5f39 fcl-db: tests: fix typo
git-svn-id: trunk@47238 -
(cherry picked from commit 28d1ad595a)
2021-09-27 21:03:20 +02:00
lacak
f02f74ec24 fcl-db: mysql: use new ftLongWord for INT UNSIGNED fields. Bug #37979
git-svn-id: trunk@47237 -
(cherry picked from commit 78e7ea6fbf)

# Conflicts:
#	packages/fcl-db/src/sqldb/mysql/mysqlconn.inc
2021-09-27 21:03:20 +02:00
lacak
1409b84323 fcl-db: base: +TFMTBCDField.AsLongWord
git-svn-id: trunk@47235 -
(cherry picked from commit 806ddcdbbc)
2021-09-27 21:03:19 +02:00
lacak
4108c6446a fcl-db: test: +testShortIntValues
git-svn-id: trunk@47233 -
(cherry picked from commit 7ee3b01eff)
2021-09-27 21:03:19 +02:00
lacak
aefc2d789f fcl-db: dbase: add new field types (ftLongWord, ftShortint, ftByte) to fix export test errors
git-svn-id: trunk@47225 -
(cherry picked from commit eb4bc9d153)
2021-09-27 21:03:19 +02:00
lacak
ec3eeec9ef fcl-db: tests: add support for ftLongWord, ftShortInt, ftByte field types to TBufDataset + basic test
git-svn-id: trunk@47224 -
(cherry picked from commit 6c2554af69)
2021-09-27 21:03:19 +02:00
michael
be620090ad * Fix compilation after Lacos changes to TFieldType
git-svn-id: trunk@47223 -
(cherry picked from commit 7f6d0fec96)
2021-09-27 21:03:19 +02:00
lacak
746f1ffcc8 fcl-db: base: fix after adding new field types into enumeration TFieldType (in rev. 47217)
git-svn-id: trunk@47222 -
(cherry picked from commit 63aed04024)
2021-09-27 21:03:19 +02:00
lacak
ceea302738 fcl-db: base: TShortintField + TByteField
git-svn-id: trunk@47221 -
(cherry picked from commit 54f85eec56)
2021-09-27 21:03:19 +02:00
lacak
ce066238b4 fcl-db: base: enable TLongWordField in DefaultFieldClasses
git-svn-id: trunk@47220 -
(cherry picked from commit b5a1c93ec2)
2021-09-27 21:03:19 +02:00