Commit Graph

490 Commits

Author SHA1 Message Date
Pierre Muller
2a33e47277 Add test for mips code generation bug
(cherry picked from commit e1b3c03daf)
2023-06-09 07:53:30 +01:00
Jonas Maebe
76045bfc04 * merged macOS/AArch64 support + revisions these changes depended on
git-svn-id: branches/fixes_3_2@46866 -
2020-09-15 19:40:36 +00:00
yury
99affa69c9 Merged revision(s) 39902, 39964 from trunk:
+ Added test object files for aarch64-android.
........
+ Added test object files for x86_64-android.
........

git-svn-id: branches/fixes_3_2@44047 -
2020-01-27 16:44:58 +00:00
marco
f2dfbe645e --- Merging r41673 into '.':
U    tests/test/cg/obj/openbsd/x86_64/tcext6.o
--- Recording mergeinfo for merge of r41673 into '.':
 U   .

# revisions: 41673
r41673 | nickysn | 2019-03-10 19:18:47 +0100 (Sun, 10 Mar 2019) | 3 lines
Changed paths:
   M /trunk/tests/test/cg/obj/openbsd/x86_64/tcext6.o

* recompiled OpenBSD x86_64 C external modules with -fPIC

git-svn-id: branches/fixes_3_2@41902 -
2019-04-19 17:41:35 +00:00
marco
5c0a5db4bd --- Merging r41640 into '.':
U    rtl/bsd/ostypes.inc
--- Recording mergeinfo for merge of r41640 into '.':
 U   .
--- Merging r41642 into '.':
G    rtl/bsd/ostypes.inc
--- Recording mergeinfo for merge of r41642 into '.':
 G   .
--- Merging r41643 into '.':
G    rtl/bsd/ostypes.inc
--- Recording mergeinfo for merge of r41643 into '.':
 G   .
--- Merging r41645 into '.':
U    rtl/openbsd/i386/prt0.as
U    rtl/openbsd/i386/cprt0.as
U    rtl/openbsd/x86_64/gprt0.as
U    rtl/openbsd/x86_64/prt0.as
U    rtl/openbsd/x86_64/cprt0.as
--- Recording mergeinfo for merge of r41645 into '.':
 G   .
--- Merging r41649 into '.':
G    rtl/openbsd/i386/prt0.as
G    rtl/openbsd/i386/cprt0.as
G    rtl/openbsd/x86_64/prt0.as
G    rtl/openbsd/x86_64/cprt0.as
--- Recording mergeinfo for merge of r41649 into '.':
 G   .
--- Merging r41653 into '.':
U    rtl/openbsd/x86_64/prt0.as
--- Recording mergeinfo for merge of r41653 into '.':
 G   .
--- Merging r41654 into '.':
G    rtl/openbsd/x86_64/prt0.as
--- Recording mergeinfo for merge of r41654 into '.':
 G   .
--- Merging r41659 into '.':
G    rtl/openbsd/x86_64/prt0.as
--- Recording mergeinfo for merge of r41659 into '.':
 G   .
--- Merging r41660 into '.':
G    rtl/openbsd/x86_64/prt0.as
--- Recording mergeinfo for merge of r41660 into '.':
 G   .
--- Merging r41669 into '.':
U    rtl/openbsd/x86_64/cprt0.as
--- Recording mergeinfo for merge of r41669 into '.':
 G   .
--- Merging r41670 into '.':
G    rtl/openbsd/x86_64/cprt0.as
--- Recording mergeinfo for merge of r41670 into '.':
 G   .
--- Merging r41671 into '.':
G    rtl/openbsd/x86_64/cprt0.as
--- Recording mergeinfo for merge of r41671 into '.':
 G   .
--- Merging r41672 into '.':
U    tests/test/cg/obj/openbsd/x86_64/cpptcl2.o
U    tests/test/cg/obj/openbsd/x86_64/tcext3.o
U    tests/test/cg/obj/openbsd/x86_64/tcext4.o
U    tests/test/cg/obj/openbsd/x86_64/tcext5.o
U    tests/test/cg/obj/openbsd/x86_64/tcext6.o
U    tests/test/cg/obj/openbsd/x86_64/ctest.o
U    tests/test/cg/obj/openbsd/x86_64/cpptcl1.o
--- Recording mergeinfo for merge of r41672 into '.':
 G   .
--- Merging r41677 into '.':
U    rtl/openbsd/termios.inc
--- Recording mergeinfo for merge of r41677 into '.':
 G   .
--- Merging r41678 into '.':
U    packages/rtl-console/src/unix/keyboard.pp
--- Recording mergeinfo for merge of r41678 into '.':
 G   .
--- Merging r41682 into '.':
U    rtl/openbsd/i386/prt0.as
--- Recording mergeinfo for merge of r41682 into '.':
 G   .
--- Merging r41683 into '.':
G    rtl/openbsd/i386/prt0.as
--- Recording mergeinfo for merge of r41683 into '.':
 G   .
--- Merging r41685 into '.':
G    rtl/openbsd/i386/prt0.as
--- Recording mergeinfo for merge of r41685 into '.':
 G   .
--- Merging r41686 into '.':
G    rtl/openbsd/i386/cprt0.as
--- Recording mergeinfo for merge of r41686 into '.':
 G   .
--- Merging r41687 into '.':
G    rtl/openbsd/i386/cprt0.as
--- Recording mergeinfo for merge of r41687 into '.':
 G   .
--- Merging r41688 into '.':
U    tests/test/cg/obj/openbsd/i386/tcext3.o
U    tests/test/cg/obj/openbsd/i386/tcext4.o
U    tests/test/cg/obj/openbsd/i386/tcext5.o
U    tests/test/cg/obj/openbsd/i386/tcext6.o
U    tests/test/cg/obj/openbsd/i386/ctest.o
U    tests/test/cg/obj/openbsd/i386/cpptcl1.o
U    tests/test/cg/obj/openbsd/i386/cpptcl2.o
--- Recording mergeinfo for merge of r41688 into '.':
 G   .
--- Merging r41692 into '.':
A    rtl/openbsd/si_dll.pp
A    rtl/openbsd/i386/si_c.inc
A    rtl/openbsd/i386/si_prc.inc
A    rtl/openbsd/i386/si_dll.inc
A    rtl/openbsd/si_c.pp
A    rtl/openbsd/si_prc.pp
A    rtl/openbsd/x86_64/si_c.inc
A    rtl/openbsd/x86_64/si_prc.inc
A    rtl/openbsd/x86_64/si_dll.inc
A    rtl/openbsd/si_intf.inc
--- Recording mergeinfo for merge of r41692 into '.':
 G   .

# revisions: 41640,41642,41643,41645,41649,41653,41654,41659,41660,41669,41670,41671,41672,41677,41678,41682,41683,41685,41686,41687,41688,41692
r41640 | nickysn | 2019-03-08 17:14:40 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/rtl/bsd/ostypes.inc

* Adjust for OpenBSD struct changes in the 'stat' structure. Based on OpenBSD
  ports patch patch-fpcsrc_rtl_bsd_ostypes_inc
r41642 | nickysn | 2019-03-08 17:22:53 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/rtl/bsd/ostypes.inc

* Adjust for OpenBSD struct changes in the 'dirent' structure. Based on OpenBSD
  ports patch patch-fpcsrc_rtl_bsd_ostypes_inc
r41643 | nickysn | 2019-03-08 17:26:40 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/rtl/bsd/ostypes.inc

* Adjust for OpenBSD struct changes in the 'dir' structure. Based on OpenBSD
  ports patch patch-fpcsrc_rtl_bsd_ostypes_inc
r41645 | nickysn | 2019-03-09 15:33:25 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/cprt0.as
   M /trunk/rtl/openbsd/i386/prt0.as
   M /trunk/rtl/openbsd/x86_64/cprt0.as
   M /trunk/rtl/openbsd/x86_64/gprt0.as
   M /trunk/rtl/openbsd/x86_64/prt0.as

* applied all the OpenBSD startup code patches from the OpenBSD ports tree
r41649 | nickysn | 2019-03-09 16:40:34 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/cprt0.as
   M /trunk/rtl/openbsd/i386/prt0.as
   M /trunk/rtl/openbsd/x86_64/cprt0.as
   M /trunk/rtl/openbsd/x86_64/prt0.as

- removed duplicated ".note.openbsd.ident" sections, committed erroneously in r41645
r41653 | nickysn | 2019-03-09 17:54:39 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/prt0.as

* PIC fixes in OpenBSD's prt0.as for x86_64
r41654 | nickysn | 2019-03-09 17:58:25 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/prt0.as

* fixed bug, due to a typo in the previous commit
r41659 | nickysn | 2019-03-09 18:48:28 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/prt0.as

* use PIC in the eh_frame section as well
r41660 | nickysn | 2019-03-09 19:30:31 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/prt0.as

* changed the type of the .eh_frame section to 'unwind'
r41669 | nickysn | 2019-03-10 17:08:46 +0100 (Sun, 10 Mar 2019) | 4 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/cprt0.as

* some PIC fixes in OpenBSD x86_64 cprt0.as
* use the correct section type for .eh_frame
r41670 | nickysn | 2019-03-10 17:20:33 +0100 (Sun, 10 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/cprt0.as

* more PIC fixes in OpenBSD's x86_64 cprt0.as
r41671 | nickysn | 2019-03-10 17:53:47 +0100 (Sun, 10 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/x86_64/cprt0.as

* more PIC fixes in OpenBSD's x86_64 cprt0.as
r41672 | nickysn | 2019-03-10 18:38:07 +0100 (Sun, 10 Mar 2019) | 5 lines
Changed paths:
   M /trunk/tests/test/cg/obj/openbsd/x86_64/cpptcl1.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/cpptcl2.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/ctest.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/tcext3.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/tcext4.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/tcext5.o
   M /trunk/tests/test/cg/obj/openbsd/x86_64/tcext6.o

* recompiled the OpenBSD x86_64 C and C++ .o test files; GCC version is the
  same (so, no need to update readme.txt), but OpenBSD's default compile
  settings have changed (PIC is enabled by default)
r41677 | nickysn | 2019-03-11 17:53:00 +0100 (Mon, 11 Mar 2019) | 1 line
Changed paths:
   M /trunk/rtl/openbsd/termios.inc

* OpenBSD termios interface updates
r41678 | nickysn | 2019-03-11 19:08:21 +0100 (Mon, 11 Mar 2019) | 4 lines
Changed paths:
   M /trunk/packages/rtl-console/src/unix/keyboard.pp

* use stdin instead of stdout to switch the console to raw mode; this fixes
  keyboard input in OpenBSD
r41682 | nickysn | 2019-03-12 02:33:06 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/prt0.as

* partial PIC conversion of the i386 OpenBSD startup code
r41683 | nickysn | 2019-03-12 02:58:11 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/prt0.as

* more PIC fixes in the i386 OpenBSD startup code
r41685 | nickysn | 2019-03-12 14:55:54 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/prt0.as

* more PIC fixes in i386 OpenBSD's startup code. prt0.as is now completely PIC
r41686 | nickysn | 2019-03-12 15:56:27 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/cprt0.as

* PIC fixes in cprt0 for i386-openbsd
r41687 | nickysn | 2019-03-12 17:00:12 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/rtl/openbsd/i386/cprt0.as

* yet another PIC fix in cprt0 for i386-openbsd
r41688 | nickysn | 2019-03-12 17:04:57 +0100 (Tue, 12 Mar 2019) | 3 lines
Changed paths:
   M /trunk/tests/test/cg/obj/openbsd/i386/cpptcl1.o
   M /trunk/tests/test/cg/obj/openbsd/i386/cpptcl2.o
   M /trunk/tests/test/cg/obj/openbsd/i386/ctest.o
   M /trunk/tests/test/cg/obj/openbsd/i386/tcext3.o
   M /trunk/tests/test/cg/obj/openbsd/i386/tcext4.o
   M /trunk/tests/test/cg/obj/openbsd/i386/tcext5.o
   M /trunk/tests/test/cg/obj/openbsd/i386/tcext6.o

* the i386-openbsd C and C++ test modules recompiled with -fPIC
r41692 | nickysn | 2019-03-13 16:59:36 +0100 (Wed, 13 Mar 2019) | 3 lines
Changed paths:
   A /trunk/rtl/openbsd/i386/si_c.inc
   A /trunk/rtl/openbsd/i386/si_dll.inc
   A /trunk/rtl/openbsd/i386/si_prc.inc
   A /trunk/rtl/openbsd/si_c.pp
   A /trunk/rtl/openbsd/si_dll.pp
   A /trunk/rtl/openbsd/si_intf.inc
   A /trunk/rtl/openbsd/si_prc.pp
   A /trunk/rtl/openbsd/x86_64/si_c.inc
   A /trunk/rtl/openbsd/x86_64/si_dll.inc
   A /trunk/rtl/openbsd/x86_64/si_prc.inc

+ initial (only a stub for now) implementation of pascal-based startup code units for OpenBSD

git-svn-id: branches/fixes_3_2@41782 -
2019-03-23 14:41:24 +00:00
pierre
d8b0ded10c Marge of more trunk fixes into fixes branch.
------------------------------------------------------------------------
r39725 | pierre | 2018-09-10 13:28:33 +0000 (Mon, 10 Sep 2018) | 1 line

 Add branches for 3.2.0, 3.2.1 and 3.3.1 versions
------------------------------------------------------------------------
--- Merging r39725 into '.':
U    tests/utils/testsuite/utests.pp
--- Recording mergeinfo for merge of r39725 into '.':
 U   .
------------------------------------------------------------------------
r39733 | pierre | 2018-09-11 08:16:56 +0000 (Tue, 11 Sep 2018) | 1 line

 sparc64-linux objects recompiled with GCC 7.3.0
------------------------------------------------------------------------
--- Merging r39733 into '.':
U    tests/test/cg/obj/readme.txt
U    tests/test/cg/obj/linux/sparc64/ctest.o
U    tests/test/cg/obj/linux/sparc64/cpptcl1.o
U    tests/test/cg/obj/linux/sparc64/cpptcl2.o
U    tests/test/cg/obj/linux/sparc64/tcext3.o
U    tests/test/cg/obj/linux/sparc64/tcext4.o
U    tests/test/cg/obj/linux/sparc64/tcext5.o
U    tests/test/cg/obj/linux/sparc64/tcext6.o
--- Recording mergeinfo for merge of r39733 into '.':
 G   .
------------------------------------------------------------------------
r39808 | pierre | 2018-09-26 09:29:33 +0000 (Wed, 26 Sep 2018) | 1 line

Disable libraries not compiling for jvm-java or jvm-android targets
------------------------------------------------------------------------
--- Merging r39808 into '.':
U    packages/fppkg/fpmake.pp
U    packages/fcl-base/fpmake.pp
U    packages/rtl-extra/fpmake.pp
U    packages/hermes/fpmake.pp
U    packages/fcl-extra/fpmake.pp
U    packages/fcl-db/fpmake.pp
U    packages/unzip/fpmake.pp
U    packages/odbc/fpmake.pp
U    packages/gdbm/fpmake.pp
U    packages/pthreads/fpmake.pp
U    packages/fcl-json/fpmake.pp
U    packages/pcap/fpmake.pp
U    packages/numlib/fpmake.pp
U    packages/rtl-generics/fpmake.pp
U    packages/zlib/fpmake.pp
U    packages/paszlib/fpmake.pp
U    packages/webidl/fpmake.pp
U    packages/regexpr/fpmake.pp
U    packages/libgd/fpmake.pp
U    packages/fcl-net/fpmake.pp
U    packages/fcl-res/fpmake.pp
U    packages/libpng/fpmake.pp
U    packages/dblib/fpmake.pp
U    packages/tcl/fpmake.pp
U    packages/openssl/fpmake.pp
U    packages/ibase/fpmake.pp
U    packages/bzip2/fpmake.pp
U    packages/fcl-sdo/fpmake.pp
U    packages/fcl-sound/fpmake.pp
U    packages/fcl-passrc/fpmake.pp
U    packages/fcl-stl/fpmake.pp
U    packages/libmicrohttpd/fpmake.pp
U    packages/mysql/fpmake.pp
U    packages/postgres/fpmake.pp
U    packages/httpd22/fpmake.pp
U    packages/httpd24/fpmake.pp
U    packages/rtl-console/fpmake.pp
U    packages/sqlite/fpmake.pp
U    packages/fftw/fpmake.pp
U    packages/fcl-pdf/fpmake.pp
U    packages/rtl-objpas/fpmake.pp
U    packages/fcl-image/fpmake.pp
U    packages/pasjpeg/fpmake.pp
U    packages/chm/fpmake.pp
U    packages/fcl-registry/fpmake.pp
U    packages/libtar/fpmake.pp
U    packages/symbolic/fpmake.pp
U    packages/libenet/fpmake.pp
U    packages/imagemagick/fpmake.pp
U    packages/fcl-xml/fpmake.pp
U    packages/oracle/fpmake.pp
U    packages/fcl-fpcunit/fpmake.pp
U    packages/fcl-js/fpmake.pp
U    packages/fcl-async/fpmake.pp
U    packages/fcl-process/fpmake.pp
U    packages/pastojs/fpmake.pp
U    packages/hash/fpmake.pp
U    packages/rtl-unicode/fpmake.pp
U    packages/fpmkunit/fpmake.pp
--- Recording mergeinfo for merge of r39808 into '.':
 G   .
------------------------------------------------------------------------
r40027 | pierre | 2018-10-24 21:37:54 +0000 (Wed, 24 Oct 2018) | 1 line

 Fix compilation of RTL for watcom target
------------------------------------------------------------------------
--- Merging r40027 into '.':
U    compiler/x86/agx86int.pas
--- Recording mergeinfo for merge of r40027 into '.':
 G   .
------------------------------------------------------------------------
r40028 | pierre | 2018-10-25 06:39:42 +0000 (Thu, 25 Oct 2018) | 1 line

Try to fix compilation error after commit #40027
------------------------------------------------------------------------
--- Merging r40028 into '.':
G    compiler/x86/agx86int.pas
--- Recording mergeinfo for merge of r40028 into '.':
 G   .
------------------------------------------------------------------------
r40102 | pierre | 2018-10-31 09:07:57 +0000 (Wed, 31 Oct 2018) | 1 line

 Replace aint (which is a compiler specific type) by ptruint type, which is defined in system unit
------------------------------------------------------------------------
--- Merging r40102 into '.':
U    tests/test/tarray5.pp
--- Recording mergeinfo for merge of r40102 into '.':
 G   .
------------------------------------------------------------------------
r40103 | pierre | 2018-10-31 09:59:45 +0000 (Wed, 31 Oct 2018) | 1 line

 Use pdword to avoid range check erro in tentryfile.getdword method
------------------------------------------------------------------------
--- Merging r40103 into '.':
U    compiler/entfile.pas
--- Recording mergeinfo for merge of r40103 into '.':
 G   .
------------------------------------------------------------------------
r40104 | pierre | 2018-10-31 10:21:51 +0000 (Wed, 31 Oct 2018) | 1 line

 Use longint type instead of AWord for Initial parameter in CalcExecutionWeigths (to avoid range error for avr compiler)
------------------------------------------------------------------------
@@
      begin
        Result:=fen_false;
        n.allocoptinfo;
<<<<<<< MINE (select with 'mc') (367)
        Weight:=PAWord(arg)^;
||||||| ORIGINAL (367)
        Weight:=max(PAWord(arg)^,1);
=======
        Weight:=max(plongint(arg)^,1);
>>>>>>> THEIRS (select with 'tc') (367)
        case n.nodetype of
          casen:
            begin
--- Merging r40104 into '.':
C    compiler/optutils.pas
--- Recording mergeinfo for merge of r40104 into '.':
 G   .
Summary of conflicts:
  Text conflicts: 1
------------------------------------------------------------------------
r40110 | pierre | 2018-10-31 14:51:23 +0000 (Wed, 31 Oct 2018) | 1 line

 Avoid range check error in MaskLength evaluation
------------------------------------------------------------------------
--- Merging r40110 into '.':
U    compiler/x86/aoptx86.pas
--- Recording mergeinfo for merge of r40110 into '.':
 G   .
------------------------------------------------------------------------
r40111 | pierre | 2018-10-31 15:47:53 +0000 (Wed, 31 Oct 2018) | 1 line

 Complement commit 40104, by changing type of executionweight in toptinfo record and adapt pass_2 code
------------------------------------------------------------------------
--- Merging r40111 into '.':
U    compiler/pass_2.pas
U    compiler/optbase.pas
--- Recording mergeinfo for merge of r40111 into '.':
 G   .
------------------------------------------------------------------------
r40112 | pierre | 2018-10-31 15:48:32 +0000 (Wed, 31 Oct 2018) | 1 line

 Disable range check completely in arm/cgcpu unit
------------------------------------------------------------------------
--- Merging r40112 into '.':
U    compiler/arm/cgcpu.pas
--- Recording mergeinfo for merge of r40112 into '.':
 G   .
------------------------------------------------------------------------
r40113 | pierre | 2018-10-31 15:49:14 +0000 (Wed, 31 Oct 2018) | 1 line

 Avoid overflow in code
------------------------------------------------------------------------
--- Merging r40113 into '.':
U    compiler/symdef.pas
--- Recording mergeinfo for merge of r40113 into '.':
 G   .
------------------------------------------------------------------------
r40114 | pierre | 2018-10-31 15:50:26 +0000 (Wed, 31 Oct 2018) | 1 line

Add explicit rtlclean/rtl targets in fullcycle rule if DOWPOCYCLE is set
------------------------------------------------------------------------
--- Merging r40114 into '.':
U    compiler/Makefile.fpc
U    compiler/Makefile
--- Recording mergeinfo for merge of r40114 into '.':
 G   .
------------------------------------------------------------------------
r40120 | pierre | 2018-10-31 23:15:22 +0000 (Wed, 31 Oct 2018) | 1 line

 Change RemoveCurrentP parameter type to tai, because GetNextInstruction does not always return a taicpu, adapt code in avr/aoptcpu unit
------------------------------------------------------------------------
--- Merging r40120 into '.':
U    compiler/aoptobj.pas
U    compiler/avr/aoptcpu.pas
--- Recording mergeinfo for merge of r40120 into '.':
 G   .
------------------------------------------------------------------------
r40121 | pierre | 2018-10-31 23:16:51 +0000 (Wed, 31 Oct 2018) | 1 line

Add check about tloadnode.symtableentry type before typecast
------------------------------------------------------------------------
--- Merging r40121 into '.':
U    compiler/ncal.pas
--- Recording mergeinfo for merge of r40121 into '.':
 G   .
------------------------------------------------------------------------
r40122 | pierre | 2018-10-31 23:18:09 +0000 (Wed, 31 Oct 2018) | 1 line

Fix typecast in FindRegDeAlloc call
------------------------------------------------------------------------
--- Merging r40122 into '.':
U    compiler/arm/aoptcpu.pas
--- Recording mergeinfo for merge of r40122 into '.':
 G   .
------------------------------------------------------------------------
r40123 | pierre | 2018-10-31 23:19:39 +0000 (Wed, 31 Oct 2018) | 1 line

 Remove unneeded typecasts in TryTOptimizeMove
------------------------------------------------------------------------
--- Merging r40123 into '.':
U    compiler/m68k/aoptcpu.pas
--- Recording mergeinfo for merge of r40123 into '.':
 G   .
------------------------------------------------------------------------
r40124 | pierre | 2018-10-31 23:20:29 +0000 (Wed, 31 Oct 2018) | 1 line

 Add global range check disable for i8086 cgcpu and x86 nx86add units
------------------------------------------------------------------------
--- Merging r40124 into '.':
U    compiler/i8086/cgcpu.pas
U    compiler/x86/nx86add.pas
--- Recording mergeinfo for merge of r40124 into '.':
 G   .
------------------------------------------------------------------------
r40131 | pierre | 2018-11-01 07:01:02 +0000 (Thu, 01 Nov 2018) | 1 line

 Remove another wrong typecast when testing  that a tai is an instruction
------------------------------------------------------------------------
--- Merging r40131 into '.':
G    compiler/m68k/aoptcpu.pas
--- Recording mergeinfo for merge of r40131 into '.':
 G   .
------------------------------------------------------------------------
r40236 | pierre | 2018-11-06 07:40:31 +0000 (Tue, 06 Nov 2018) | 1 line

 Really change extension of hs1 local variable in get_exepath
------------------------------------------------------------------------
--- Merging r40236 into '.':
U    compiler/globals.pas
--- Recording mergeinfo for merge of r40236 into '.':
 G   .
------------------------------------------------------------------------
r40237 | pierre | 2018-11-06 07:41:15 +0000 (Tue, 06 Nov 2018) | 1 line

 Disable range checking in rax86int unit
------------------------------------------------------------------------
--- Merging r40237 into '.':
U    compiler/x86/rax86int.pas
--- Recording mergeinfo for merge of r40237 into '.':
 G   .
------------------------------------------------------------------------
r40278 | pierre | 2018-11-08 20:19:54 +0000 (Thu, 08 Nov 2018) | 1 line

 Downgrade EXTDEBUG warning to note about zero size temp, as it is used for empty sets
------------------------------------------------------------------------
--- Merging r40278 into '.':
U    compiler/tgobj.pas
--- Recording mergeinfo for merge of r40278 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40624 -
2018-12-23 22:27:05 +00:00
florian
21d785e41b * do not unroll loops if the counter variable is accessed outside the current scope
git-svn-id: trunk@39163 -
2018-06-03 15:12:48 +00:00
svenbarth
e8153df7b7 * fix compilation
git-svn-id: trunk@39132 -
2018-05-28 15:16:37 +00:00
pierre
64dc9abbc2 Use small value of MAX_DISP also for i8086 CPU
git-svn-id: trunk@39130 -
2018-05-28 09:01:34 +00:00
pierre
48f06bef12 Add C objects linked with $L directive in %FILES to fix dosbox go32v2 tests
git-svn-id: trunk@39129 -
2018-05-28 08:11:42 +00:00
pierre
640f7fbf94 Add test for small records for 1 to 8 bytes in size passing to procedures
git-svn-id: trunk@38503 -
2018-03-11 22:06:29 +00:00
florian
09e205b7b0 * test is i386 only
git-svn-id: trunk@38396 -
2018-03-02 21:57:44 +00:00
florian
8c5606b41d + support mmx shifting
git-svn-id: trunk@38367 -
2018-02-27 21:40:12 +00:00
florian
96ffb8abc9 + more tests
git-svn-id: trunk@38207 -
2018-02-11 17:50:40 +00:00
florian
31f78ea2b6 + implementation of the vectorcall calling convention by J. Gareth Moreton
+ tests

git-svn-id: trunk@38206 -
2018-02-11 17:50:37 +00:00
florian
f61b074912 * (re)store alignment when doing a $push/$pop
git-svn-id: trunk@38020 -
2018-01-22 21:06:07 +00:00
florian
4a98fcb9d3 * patch by J. Gareth Moreton: reorganises the produced machine code for large unsigned divisions, resolves #32984
git-svn-id: trunk@37950 -
2018-01-12 22:03:52 +00:00
florian
11a3d8762a * patch by J. Gareth Moreton:
- Moved the part that emits the CMOV command outside of the if-else block, because it's the same in both branches and was just duplicated code.
  - Moved a comment about powers of 2 to be right before the correct if-else block.
  - Added a couple of comments to explain what the algorithm is doing to obtain the remainder.
  - Added missing "writeln('ok');" (since 'tmoddiv3.pp' has it) and program header to 'tmoddiv4.pp'.
  - Changed program name from "testfile2" to "tmoddiv3" in 'tmoddiv3.pp'.

git-svn-id: trunk@37939 -
2018-01-09 20:04:49 +00:00
florian
81b2cf5d65 * slightly modified patch by J. Gareth Moreton: Optimization for 'mod' on i386/x86-64, resolves #32945
git-svn-id: trunk@37922 -
2018-01-06 14:58:28 +00:00
florian
567dfef9a7 + object files for sparc64-linux to test linking with gcc
git-svn-id: trunk@36655 -
2017-07-06 18:02:20 +00:00
Károly Balogh
4001435454 fixed typo in previous commit
git-svn-id: trunk@36614 -
2017-06-29 01:21:35 +00:00
Károly Balogh
a12111e1bd m68k: define safecall_is_cdecl on m68k too in tcalvar6 and tcalst6
git-svn-id: trunk@36613 -
2017-06-29 00:33:55 +00:00
marcus
d4d7778e86 + Linux/m68k test object files
git-svn-id: trunk@36502 -
2017-06-14 20:33:26 +00:00
nickysn
256dc546ac + implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
be used (TBD in a future commit) for optimizing x:=-x and x:=not x on CPUs
  that support performing these operations directly in memory (such as x86)

git-svn-id: trunk@35749 -
2017-04-07 16:02:40 +00:00
nickysn
f19ebe2acf * fixed compiler internal error in the in_[and/or/xor]_assign_x_y inline nodes
when their second parameter is a large 64-bit unsigned constant

git-svn-id: trunk@35684 -
2017-03-29 14:55:07 +00:00
nickysn
fc59649a98 + added inline nodes for handling and/or/xor in place (i.e. x:=x op y, where
op=and/or/xor). They generate more optimal code on certain architectures
  (including x86). The new inline nodes aren't generated by the compiler yet,
  but will be used in the future, at certain optimization levels, whenever the
  pattern x:=x op y is detected by the compiler.

git-svn-id: trunk@35666 -
2017-03-26 23:16:53 +00:00
florian
e8f7c9dfdd + test for large case statements
git-svn-id: trunk@35646 -
2017-03-23 17:57:31 +00:00
florian
a80fcb74d8 * make test working for architectures with no float and ansistring support
git-svn-id: trunk@35460 -
2017-02-19 22:29:52 +00:00
florian
96858dd64d + additional tests which ensure that constant propagation is off
as the compiler optimizes the original tests too much with constant propagation
  to keep them useful

git-svn-id: trunk@34796 -
2016-11-05 23:05:57 +00:00
pierre
bc839068de Fix test for compact and medium i8086 memory model
git-svn-id: trunk@34072 -
2016-07-05 22:30:12 +00:00
pierre
345361beef Revert commit 33771 and directly replace cpu8086 by cpui8086 which is always defined by ppc8086 compiler
git-svn-id: trunk@33773 -
2016-05-24 06:52:17 +00:00
pierre
ba509152b8 Also define CPUSMALL macro if CPUI8086 is defined
git-svn-id: trunk@33771 -
2016-05-23 21:07:11 +00:00
pierre
238040afdd * Fix compilation for JVM cpu
git-svn-id: trunk@32956 -
2016-01-16 01:15:12 +00:00
florian
b7786d0849 * fix test parameter
git-svn-id: trunk@32793 -
2015-12-29 21:12:28 +00:00
florian
a03d992cc0 * doing fastmath is not useful when testing currency calculation accuracy (test fails with fastmath enabled on some targets)
git-svn-id: trunk@32790 -
2015-12-29 15:22:55 +00:00
nickysn
a19c506b46 + added a very simple test for i8086-msdos for linking an external TASM
assembler .obj module. Note that TASM modules aren't fully supported yet,
  because our OMF internal linker doesn't support all features of the OMF object
  format. This test works, because it's really simple. As more OMF features are
  supported, this test will be extended.

git-svn-id: trunk@32353 -
2015-11-17 17:08:25 +00:00
nickysn
c25585daee * fixed addr(procedure), mantis #28775
git-svn-id: trunk@32204 -
2015-10-30 15:17:48 +00:00
pierre
89f5b65bbf New aarch64-linux gcc compiled objects generated on GCC Compile Farm gcc115 machine
git-svn-id: trunk@32094 -
2015-10-19 10:40:35 +00:00
sergei
72f60de3c4 * Added two test cases from Mantis #28584. The issue itself has been fixed with r31475 and r31582.
git-svn-id: trunk@32092 -
2015-10-18 14:48:36 +00:00
Jonas Maebe
e25c5b809e * use cextended instead of clongdouble, so that the tests keeps compiling
for platforms where we don't support the "long double" type

git-svn-id: trunk@31883 -
2015-09-29 07:44:07 +00:00
yury
bbb1cae57f * Use "clongdouble" instead of "extended" in libc printf tests.
git-svn-id: trunk@31864 -
2015-09-27 21:14:04 +00:00
florian
fbd6d2a0f9 + check for FPUNONE
git-svn-id: trunk@30750 -
2015-05-01 14:46:37 +00:00
Jonas Maebe
faf3efe139 + Linux/ppc64le test object files
git-svn-id: trunk@30228 -
2015-03-14 18:37:01 +00:00
Jonas Maebe
b5b7e0f338 * ensure that 64->32 bit truncations cannot be optimized away by the
register allocator on AArch64 + test (did not get caught by existing
    tests)

git-svn-id: trunk@29965 -
2015-02-23 22:55:54 +00:00
Jonas Maebe
62fb05b7c4 + Darwin/AArch64 test object files
git-svn-id: trunk@29924 -
2015-02-23 22:53:11 +00:00
Jonas Maebe
f9647b661f + Darwin/AArch64 test object files
git-svn-id: trunk@29918 -
2015-02-23 22:52:52 +00:00
Tomas Hajny
693a239842 * information about GCC version used for compiling the OS/2 object files added
git-svn-id: trunk@29565 -
2015-01-27 16:24:24 +00:00
pierre
84bb209ce8 Add some missing C compiler information found inside C objects
git-svn-id: trunk@29564 -
2015-01-27 13:48:44 +00:00
Tomas Hajny
5a03b52801 * compiled object files for OS/2
git-svn-id: trunk@29563 -
2015-01-27 09:20:55 +00:00
Tomas Hajny
d3ee7d4999 * there is no wchar.h included in EMX GCC port (but it is fortunately not needed for our testsuite)
git-svn-id: trunk@29562 -
2015-01-27 09:17:05 +00:00