Commit Graph

21467 Commits

Author SHA1 Message Date
Jonas Maebe
3129605195 --- Merging r40180 into '.':
U    compiler/ninl.pas
--- Recording mergeinfo for merge of r40180 into '.':
 U   .
--- Merging r40216 into '.':
U    compiler/htypechk.pas
G    compiler/ninl.pas
U    tests/tbf/tb0258.pp
A    tests/tbf/tb0259.pp
A    tests/tbf/tb0260.pp
A    tests/tbs/tb0653.pp
--- Recording mergeinfo for merge of r40216 into '.':
 G   .
--- Merging r40217 into '.':
U    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40217 into '.':
 G   .
--- Merging r40218 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40218 into '.':
 G   .

git-svn-id: branches/fixes_3_2@44000 -
2020-01-19 19:20:31 +00:00
joost
e70c001dad --- Merging r42115 into '.':
U    compiler/i386/n386flw.pas
--- Recording mergeinfo for merge of r42115 into '.':
 U   .
--- Merging r43830 into '.':
U    compiler/i386/cpunode.pas
U    compiler/options.pas
--- Recording mergeinfo for merge of r43830 into '.':
 G   .

git-svn-id: branches/fixes_3_2@43978 -
2020-01-19 12:48:36 +00:00
marco
ab533f43aa # revisions: 43409,43473,43474,43482
git-svn-id: branches/fixes_3_2@43944 -
2020-01-14 13:28:25 +00:00
marco
fdb477df1e # revisions: 43566,43567,43568,43586,43629,43823
git-svn-id: branches/fixes_3_2@43941 -
2020-01-14 10:41:39 +00:00
florian
636c4419a0 -- Zusammenführen von r43696 in ».«:
U    compiler/systems/t_bsd.pas
U    utils/fppkg/fpmake.pp
-- Aufzeichnung der Informationen für Zusammenführung von r43696 in ».«:
 U   .

git-svn-id: branches/fixes_3_2@43708 -
2019-12-22 21:02:15 +00:00
Jonas Maebe
c4bcb45fea --- Merging r43650 into '.':
U    compiler/i386/cpupi.pas
U    compiler/ncgcal.pas
U    compiler/ncgutil.pas
U    compiler/systems/i_bsd.pas
U    compiler/systems/i_linux.pas
U    compiler/systems.inc

git-svn-id: branches/fixes_3_2@43683 -
2019-12-14 16:20:28 +00:00
pierre
f2f4a29dbb * Merge r43604 to fix i8086-embedded utils compilation
------------------------------------------------------------------------
r43604 | pierre | 2019-11-28 14:50:55 +0000 (Thu, 28 Nov 2019) | 1 line

 Set default stack size for i8086-embedded target: 16384 for far data model, and 2048 for other memory models
------------------------------------------------------------------------
--- Merging r43604 into '.':
U    compiler/parser.pas
--- Recording mergeinfo for merge of r43604 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43667 -
2019-12-09 12:32:16 +00:00
pierre
06ef4e6ca8 Merge of commits 43634 and 43635 for currency problems
------------------------------------------------------------------------
r43634 | pierre | 2019-12-03 16:05:30 +0000 (Tue, 03 Dec 2019) | 1 line

 Use PInt64(@value_currency)^ construct to avoid internal error when starting from 3.0.4 ppcarm compiler
------------------------------------------------------------------------
--- Merging r43634 into '.':
U    compiler/nadd.pas
--- Recording mergeinfo for merge of r43634 into '.':
 U   .
------------------------------------------------------------------------
r43635 | florian | 2019-12-03 19:31:50 +0000 (Tue, 03 Dec 2019) | 1 line

  * more currency fixes, should resolve #36176
------------------------------------------------------------------------
--- Merging r43635 into '.':
G    compiler/nadd.pas
U    tests/test/tcurrency1.pp
--- Recording mergeinfo for merge of r43635 into '.':
 G   .

git-svn-id: branches/fixes_3_2@43661 -
2019-12-06 16:20:37 +00:00
michael
3450e79ce2 * Merging revisions 43481 from trunk:
------------------------------------------------------------------------
    r43481 | michael | 2019-11-15 16:37:58 +0100 (Fri, 15 Nov 2019) | 1 line
    
    * Fix overflow of compiler messages  (bug id 27973)
    ------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@43660 -
2019-12-06 10:55:45 +00:00
florian
b3dbf75026 -- Zusammenführen von r43651 in ».«:
U    compiler/systems/t_linux.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43651 in ».«:
 U   .

git-svn-id: branches/fixes_3_2@43652 -
2019-12-05 20:11:43 +00:00
pierre
3da4ccfb3e Merge r43631 to fixes branch
------------------------------------------------------------------------
--- Merging r43631 into '.':
U    compiler/nadd.pas
--- Recording mergeinfo for merge of r43631 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43633 -
2019-12-02 23:20:40 +00:00
florian
532410ef1f -- Zusammenführen von r43553 in ».«:
U    compiler/ncal.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43553 in ».«:
 U   .

git-svn-id: branches/fixes_3_2@43622 -
2019-12-01 20:39:37 +00:00
florian
aadd93847f -- Zusammenführen von r43620 in ».«:
U    compiler/nadd.pas
U    compiler/ncnv.pas
U    compiler/ncon.pas
U    compiler/node.pas
A    tests/test/tcurrency1.pp
A    tests/webtbs/tw33963.pp
A    tests/webtbs/tw36179.pp
-- Aufzeichnung der Informationen für Zusammenführung von r43620 in ».«:
 U   .

git-svn-id: branches/fixes_3_2@43621 -
2019-12-01 20:29:52 +00:00
pierre
038e5067b9 Merge r43598
------------------------------------------------------------------------
r43598 | pierre | 2019-11-27 22:15:23 +0000 (Wed, 27 Nov 2019) | 1 line

 Use defined(aarch64) instead of defined(cpuaarch64) for FPC_HAS_INTERNAL_ABS_INT64
------------------------------------------------------------------------
--- Merging r43598 into '.':
U    compiler/options.pas
--- Recording mergeinfo for merge of r43598 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43606 -
2019-11-28 17:04:55 +00:00
Jonas Maebe
94e6363b34 --- Merging r43560 into '.':
U    compiler/nmat.pas
--- Recording mergeinfo for merge of r43560 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43597 -
2019-11-27 19:55:07 +00:00
florian
a3be76e22f -- Zusammenführen von r43570 in ».«:
U    compiler/systems/t_linux.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43570 in ».«:
 U   .

git-svn-id: branches/fixes_3_2@43571 -
2019-11-24 12:19:23 +00:00
pierre
030e93414c Merge commit r43165
------------------------------------------------------------------------
r43165 | pierre | 2019-10-10 21:57:07 +0000 (Thu, 10 Oct 2019) | 1 line

 Fix m68k errors with -CriotR option
------------------------------------------------------------------------
--- Merging r43165 into '.':
U    compiler/m68k/cgcpu.pas
U    compiler/m68k/ra68kmot.pas
--- Recording mergeinfo for merge of r43165 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43516 -
2019-11-20 09:49:22 +00:00
pierre
1b4fb37948 Merge commit r42337, to fix avr-embedded packages compilation
------------------------------------------------------------------------
r42337 | laksen | 2019-07-07 14:37:45 +0000 (Sun, 07 Jul 2019) | 1 line

- Fix result type of SizeOf and BitSizeOf to use sizesint instead of sint.
------------------------------------------------------------------------
--- Merging r42337 into '.':
U    compiler/ninl.pas
U    compiler/pexpr.pas
--- Recording mergeinfo for merge of r42337 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43514 -
2019-11-19 22:28:04 +00:00
florian
319b575012 -- Aufzeichnung der Informationen für Zusammenführung von r43503 in ».«:
U   .
-- Zusammenführen von r43506 in ».«:
U    compiler/x86/cgx86.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43506 in ».«:
 G   .
-- Zusammenführen von r43508 in ».«:
U    compiler/i386/n386cal.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43508 in ».«:
 G   .

git-svn-id: branches/fixes_3_2@43510 -
2019-11-17 20:16:02 +00:00
Jonas Maebe
afa7c478a2 --- Merging r43504 into '.':
U    compiler/nmat.pas
--- Recording mergeinfo for merge of r43504 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43505 -
2019-11-16 17:58:36 +00:00
Jonas Maebe
858bf743ef --- Merging r43347 into '.':
C    compiler/nmat.pas
--- Recording mergeinfo for merge of r43347 into '.':
 G   .
--- Merging r43436 into '.':
U    compiler/defutil.pas
U    compiler/nadd.pas
U    compiler/ncnv.pas
U    compiler/ncon.pas
U    compiler/ngtcon.pas
U    compiler/ninl.pas
G    compiler/nmat.pas
U    compiler/nutils.pas
U    compiler/pstatmnt.pas
--- Recording mergeinfo for merge of r43436 into '.':
 G   .
--- Merging r43438 into '.':
A    tests/test/tinlrange1.pp
A    tests/test/tinlrange2.pp
A    tests/test/tinlrange3.pp
--- Recording mergeinfo for merge of r43438 into '.':
 G   .
--- Merging r43451 into '.':
U    tests/test/tinlrange1.pp
--- Recording mergeinfo for merge of r43451 into '.':
 G   .
--- Merging r43497 into '.':
C    compiler/nmat.pas
A    tests/test/tinlrange4.pp
--- Recording mergeinfo for merge of r43497 into '.':
 G   .

git-svn-id: branches/fixes_3_2@43498 -
2019-11-16 15:18:43 +00:00
marco
d24f4b0926 --- Merging r42998 into '.':
U    compiler/blockutl.pas
U    compiler/jvm/njvmutil.pas
U    compiler/jvm/pjvm.pas
U    compiler/ncal.pas
U    compiler/ninl.pas
U    compiler/pdecl.pas
U    compiler/pdecsub.pas
U    compiler/pdecvar.pas
U    compiler/pexpr.pas
U    compiler/pgenutil.pas
U    compiler/pmodules.pas
U    compiler/pparautl.pas
U    compiler/pstatmnt.pas
U    compiler/psub.pas
U    compiler/psystem.pas
U    compiler/ptype.pas
U    compiler/symcreat.pas
U    compiler/symdef.pas
U    compiler/symsym.pas
U    compiler/symutil.pas
--- Recording mergeinfo for merge of r42998 into '.':
 U   .
--- Merging r43116 into '.':
G    compiler/symsym.pas
A    tests/webtbf/tw36114.pp
--- Recording mergeinfo for merge of r43116 into '.':
 G   .

# revisions: 42998,43116

git-svn-id: branches/fixes_3_2@43442 -
2019-11-10 16:12:48 +00:00
Jonas Maebe
9a58d7bb65 --- Merging r43185 into '.':
U    compiler/ncgcal.pas

git-svn-id: branches/fixes_3_2@43437 -
2019-11-10 12:03:56 +00:00
florian
7cdb39b3f9 -- Aufzeichnung der Informationen für Zusammenführung von r43005 in ».«:
G   .
-- Aufzeichnung der Informationen für Zusammenführung von r43006 in ».«:
 G   .
-- Aufzeichnung der Informationen für Zusammenführung von r43007 in ».«:
 G   .
-- Aufzeichnung der Informationen für Zusammenführung von r43008 in ».«:
 G   .
-- Zusammenführen von r43000 in ».«:
U    compiler/pp.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43000 in ».«:
 G   .
-- Zusammenführen von r43011 in ».«:
U    rtl/inc/system.inc
-- Aufzeichnung der Informationen für Zusammenführung von r43011 in ».«:
 G   .
-- Zusammenführen von r43012 in ».«:
U    rtl/i386/i386.inc
-- Aufzeichnung der Informationen für Zusammenführung von r43012 in ».«:
 G   .
-- Zusammenführen von r43013 in ».«:
U    rtl/linux/i386/si_c21.inc
-- Aufzeichnung der Informationen für Zusammenführung von r43013 in ».«:
 G   .
-- Zusammenführen von r43014 in ».«:
U    compiler/systems/i_linux.pas
-- Aufzeichnung der Informationen für Zusammenführung von r43014 in ».«:
 G   .
-- Zusammenführen von r43176 in ».«:
U    compiler/i386/cpupi.pas
U    compiler/i386/n386cal.pas
U    compiler/ncgcal.pas
U    compiler/ncgutil.pas
G    compiler/systems/i_linux.pas
U    compiler/systems.inc
C    compiler/systems.pas
G    tests/webtbs/tw7808.pp
-- Aufzeichnung der Informationen für Zusammenführung von r43176 in ».«:
 G   .
Konfliktübersicht:
  Textkonflikte: 1
Konfliktübersicht:
  Textkonflikte: 1

git-svn-id: branches/fixes_3_2@43434 -
2019-11-09 22:07:33 +00:00
marco
4fbb2d9cf0 --- Merging r42809 into '.':
U    packages/rtl-objpas/tests/tests.rtti.util.pas
--- Recording mergeinfo for merge of r42809 into '.':
 U   .
--- Merging r42810 into '.':
U    packages/rtl-objpas/tests/tests.rtti.pas
G    packages/rtl-objpas/tests/tests.rtti.util.pas
--- Recording mergeinfo for merge of r42810 into '.':
 G   .
--- Recording mergeinfo for merge of r42810 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 U   packages/rtl-objpas/tests/tests.rtti.pas
--- Merging r42988 into '.':
U    compiler/aarch64/racpugas.pas
--- Recording mergeinfo for merge of r42988 into '.':
 G   .
--- Recording mergeinfo for merge of r42988 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 G   packages/rtl-objpas/tests/tests.rtti.pas
--- Merging r42989 into '.':
G    compiler/aarch64/racpugas.pas
--- Recording mergeinfo for merge of r42989 into '.':
 G   .
--- Recording mergeinfo for merge of r42989 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 G   packages/rtl-objpas/tests/tests.rtti.pas
--- Merging r42990 into '.':
U    packages/rtl-objpas/src/inc/rtti.pp
--- Recording mergeinfo for merge of r42990 into '.':
 G   .
--- Recording mergeinfo for merge of r42990 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 G   packages/rtl-objpas/tests/tests.rtti.pas
--- Merging r42991 into '.':
G    packages/rtl-objpas/src/inc/rtti.pp
--- Recording mergeinfo for merge of r42991 into '.':
 G   .
--- Recording mergeinfo for merge of r42991 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 G   packages/rtl-objpas/tests/tests.rtti.pas
--- Merging r43016 into '.':
U    compiler/aarch64/aasmcpu.pas
U    compiler/aarch64/agcpugas.pas
G    compiler/aarch64/racpugas.pas
--- Recording mergeinfo for merge of r43016 into '.':
 G   .
--- Recording mergeinfo for merge of r43016 into 'packages/rtl-objpas/tests/tests.rtti.pas':
 G   packages/rtl-objpas/tests/tests.rtti.pas

# revisions: 42809,42810,42988,42989,42990,42991,43016

git-svn-id: branches/fixes_3_2@43424 -
2019-11-09 13:28:55 +00:00
Jonas Maebe
83f4803773 --- Merging r43374 into '.':
C    compiler/options.pas

git-svn-id: branches/fixes_3_2@43422 -
2019-11-09 11:25:32 +00:00
Jonas Maebe
153ddaffc9 --- Merging r43279 into '.':
U    compiler/cfileutl.pas
U    compiler/options.pas
U    compiler/systems/t_bsd.pas
C    compiler/systems/t_linux.pas
--- Merging r43302 into '.':
G    compiler/cfileutl.pas
--- Merging r43306 into '.':
G    compiler/cfileutl.pas
--- Merging r43312 into '.':
G    compiler/cfileutl.pas
G    compiler/options.pas
U    compiler/scandir.pas
U    compiler/systems/t_aix.pas
U    compiler/systems/t_beos.pas
G    compiler/systems/t_bsd.pas
U    compiler/systems/t_haiku.pas
C    compiler/systems/t_linux.pas
U    compiler/systems/t_macos.pas
U    compiler/systems/t_sunos.pas

git-svn-id: branches/fixes_3_2@43421 -
2019-11-09 10:59:39 +00:00
marco
037583ef4e --- Merging r40654 into '.':
U    compiler/msg/errore.msg
--- Recording mergeinfo for merge of r40654 into '.':
 U   .
--- Merging r40656 into '.':
U    compiler/pdecvar.pas
A    tests/tbf/tb0266a.pp
A    tests/tbf/tb0266b.pp
--- Recording mergeinfo for merge of r40656 into '.':
 G   .
--- Merging r41308 into '.':
U    tests/webtbs/tw35027.pp
--- Recording mergeinfo for merge of r41308 into '.':
 G   .
--- Merging r41829 into '.':
U    compiler/htypechk.pas
U    compiler/ncal.pas
A    tests/tbs/tb0656.pp
--- Recording mergeinfo for merge of r41829 into '.':
 G   .
--- Merging r42511 into '.':
U    packages/rtl-objpas/src/inc/rtti.pp
U    rtl/objpas/typinfo.pp
U    tests/test/trtti19.pp
--- Recording mergeinfo for merge of r42511 into '.':
 G   .

# revisions: 40654,40656,41308,41829,42511

git-svn-id: branches/fixes_3_2@43410 -
2019-11-07 10:04:13 +00:00
marco
c4b9529d6b # revisions: 42328,42329
git-svn-id: branches/fixes_3_2@43401 -
2019-11-05 16:22:23 +00:00
marco
89e051bac9 # revisions: 41828,41830,41831,41832,41833,41834,41835,41836,41837,41838,41839,41841,41842,42025,42031,42032,42033,42034,42035,42036,42065,42066,42067,42068,42069,42070,42071,42072,42073,42089,42150,42151,42181,42182,42183,42184,42185,42219,42220,42221,42222
git-svn-id: branches/fixes_3_2@43400 -
2019-11-05 16:17:53 +00:00
marco
9c8a2d29e1 # revisions: 40702,40703,40704,40747,40750,40765,41277,41535,41536,41537,41548,41549,41770
git-svn-id: branches/fixes_3_2@43399 -
2019-11-05 16:08:58 +00:00
marco
0f4e7b65b2 # revisions: 41843,41844,42700
git-svn-id: branches/fixes_3_2@43396 -
2019-11-05 15:35:13 +00:00
pierre
6b0a663b24 Merge commit 42281, to fix i8086 compiler
------------------------------------------------------------------------
r42281 | pierre | 2019-06-25 04:24:56 +0000 (Tue, 25 Jun 2019) | 1 line

 Use tcgint typecast instead of aint, as it is the type of the second parameter of loadconst taicpu method
------------------------------------------------------------------------
--- Merging r42281 into '.':
U    compiler/x86/aoptx86.pas
--- Recording mergeinfo for merge of r42281 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43388 -
2019-11-04 09:29:16 +00:00
pierre
1f20cfe991 Merge of several commits related to enhancements in PPU writing
and more precisely to cross reading/writing fixes.

------------------------------------------------------------------------
r41896 | pierre | 2019-04-18 14:08:03 +0000 (Thu, 18 Apr 2019) | 15 lines

  Integrate patch from bug report 35409.
  Add possibiliy to throw InternalError
  for unhandled case values inside tentryfile,
  But avoid adding dependency on verbose unit
  as this would break ppudump handling of ppu files.

  Add RaiseAssertion virtual method to tentryfile class.
  Call RaiseAssertion in tentryfile methods
  where an internal error is wanted.
  Override RaiseAssertion method in symtype.pas unit
  to call InternalError.
  Add new class tppudumpfile to override RaiseAssertion
  in utils/ppuutils/ppudump.pp unit.


------------------------------------------------------------------------
--- Merging r41896 into '.':
U    compiler/entfile.pas
U    compiler/pcp.pas
U    compiler/symtype.pas
U    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r41896 into '.':
 U   .
------------------------------------------------------------------------
r42111 | pierre | 2019-05-20 22:06:57 +0000 (Mon, 20 May 2019) | 1 line

 List TSettings partially and improve generic output
------------------------------------------------------------------------
--- Merging r42111 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42111 into '.':
 G   .
------------------------------------------------------------------------
r42322 | pierre | 2019-07-03 13:35:05 +0000 (Wed, 03 Jul 2019) | 1 line

 Systematically include fpcdefs.inc at sart of all units used by compiler
------------------------------------------------------------------------
--- Merging r42322 into '.':
U    compiler/aarch64/cpuinfo.pas
U    compiler/arm/cpuinfo.pas
U    compiler/avr/cpuinfo.pas
U    compiler/ccharset.pas
U    compiler/generic/cpuinfo.pas
U    compiler/jvm/cpuinfo.pas
U    compiler/m68k/cpuinfo.pas
U    compiler/macho.pas
U    compiler/machoutils.pas
U    compiler/mips/cpuinfo.pas
G    compiler/pcp.pas
U    compiler/powerpc/cpuinfo.pas
U    compiler/powerpc64/cpuinfo.pas
U    compiler/systems/i_wii.pas
--- Recording mergeinfo for merge of r42322 into '.':
 G   .

------------------------------------------------------------------------
r42323 | pierre | 2019-07-04 15:24:49 +0000 (Thu, 04 Jul 2019) | 7 lines

  * Set ControllerSupport to false for sparc/sparc64 and x86_64 CPUs.
    This boolean must only be set to true if TControllerType is not simply (ct_none)
  * ppu.pas: Increment CurrentPPULongVersion constant as the above modification
    changes the number of fields of the TSettings record that is saved to
    PPU in ST_LOADSETTINGS field. { not mereged }


------------------------------------------------------------------------
--- Merging r42323 into '.':
C    compiler/ppu.pas { not mereged }
U    compiler/sparc/cpuinfo.pas
U    compiler/sparc64/cpuinfo.pas
U    compiler/x86_64/cpuinfo.pas
--- Recording mergeinfo for merge of r42323 into '.':
 G   .

------------------------------------------------------------------------
r42324 | pierre | 2019-07-04 15:25:40 +0000 (Thu, 04 Jul 2019) | 1 line

 Correctly read saved tsettings
------------------------------------------------------------------------
--- Merging r42324 into '.':
C    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42324 into '.':
 G   .
Summary of conflicts:
  Text conflicts: 1
------------------------------------------------------------------------
r42325 | marcus | 2019-07-04 16:49:26 +0000 (Thu, 04 Jul 2019) | 1 line

Fixed ppudump compilation on big endian platforms after r42324
------------------------------------------------------------------------
--- Merging r42325 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42325 into '.':
 G   .
------------------------------------------------------------------------
r42353 | svenbarth | 2019-07-12 16:25:33 +0000 (Fri, 12 Jul 2019) | 1 line

* write an entry name for the property options
------------------------------------------------------------------------
--- Merging r42353 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42353 into '.':
 G   .
------------------------------------------------------------------------
r42354 | svenbarth | 2019-07-12 16:25:36 +0000 (Fri, 12 Jul 2019) | 1 line

* write a name for the none property access entry (looks nicer than a "(Nil)" at the start of the line)
------------------------------------------------------------------------
--- Merging r42354 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42354 into '.':
 G   .
------------------------------------------------------------------------
r42527 | pierre | 2019-07-29 05:33:00 +0000 (Mon, 29 Jul 2019) | 22 lines

  Fix recordtoken writing into ppu files to allow correct
  handling in cross-configuration with different endianess.

  The code has been modified to use the same scheme as the writing of
  the other parts of the ppu, i.e. change_endian filed has been
  added also to tscannerfile class of scanner unit.
  This field is then used to swap values that required endianess
  conversion.

  * scanner.pas: change_endian filed added to tscannerfile class.
    The value of this field is set as the same field in tentryfile class of entfile unit.
    Token read and write methods converted to use change_endian field.

  * ppu.pas: Increase CurrentPPILongVersion

  * utils/ppuutils/ppudump.pp: Remove unneeded FPC_BIG_ENDIAN code
    which was needed because tokens were previously written using a
    different rule.




------------------------------------------------------------------------
--- Merging r42527 into '.':
C    compiler/ppu.pas
U    compiler/scanner.pas
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42527 into '.':
 G   .
Summary of conflicts:
  Text conflicts: 1
------------------------------------------------------------------------
r42528 | pierre | 2019-07-29 11:54:27 +0000 (Mon, 29 Jul 2019) | 1 line
Changed paths:
   M /trunk/compiler/scanner.pas

Try to fix bug introduced in previous commit #42527, hopefully fixing bug report 35902
------------------------------------------------------------------------

--- Merging r42528 into '.':
G    compiler/scanner.pas
--- Recording mergeinfo for merge of r42528 into '.':
 G   .------------------------------------------------------------------------
r42530 | pierre | 2019-07-29 16:40:58 +0000 (Mon, 29 Jul 2019) | 8 lines

   Try to fix ppudump for generic/inline.

   * entfile.pas: Differenciate ibsymtableoptions and ibrecsymtableoptions.
   * ppu.pas: Increase ppu unit CurrentPPULongVersion value.
   * utils/ppuutils/ppudump.pp: Add current_symtable_options variable.
     Change readsymtableoptions from procedure to function returning
     the new tsymtableoptions.

------------------------------------------------------------------------
--- Merging r42530 into '.':
G    compiler/entfile.pas
G    compiler/ppu.pas
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42530 into '.':
 G   .
------------------------------------------------------------------------
r42583 | pierre | 2019-08-05 09:15:12 +0000 (Mon, 05 Aug 2019) | 1 line

 Reorganize token buffer output to be able to use it for generics and inlined functions
------------------------------------------------------------------------
--- Merging r42583 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42583 into '.':
 G   .
------------------------------------------------------------------------
r42591 | pierre | 2019-08-06 06:32:52 +0000 (Tue, 06 Aug 2019) | 1 line

 Add mode and optimizer switches names, and check that no unknown switch is set
------------------------------------------------------------------------
--- Merging r42591 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42591 into '.':
 G   .
------------------------------------------------------------------------
r42596 | pierre | 2019-08-06 21:32:51 +0000 (Tue, 06 Aug 2019) | 1 line

 Fix gettokenbufshortint, as shortint is one byte long, not two
------------------------------------------------------------------------
--- Merging r42596 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42596 into '.':
 G   .
------------------------------------------------------------------------
r42609 | pierre | 2019-08-09 09:29:50 +0000 (Fri, 09 Aug 2019) | 1 line

 Correct size of asizeint, which is still 4-byte long even when CpuAddrBitSize is 16 as for avr and i8086
------------------------------------------------------------------------
--- Merging r42609 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42609 into '.':
 G   .
------------------------------------------------------------------------
r42670 | pierre | 2019-08-13 06:20:23 +0000 (Tue, 13 Aug 2019) | 1 line

 Reduce cpu-os dependency on real constant printout by using system.str
------------------------------------------------------------------------
--- Merging r42670 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42670 into '.':
 G   .
------------------------------------------------------------------------
r42906 | pierre | 2019-09-02 16:00:15 +0000 (Mon, 02 Sep 2019) | 1 line

 Fix problems with big endian systems without 80-bit floating point support
------------------------------------------------------------------------
--- Merging r42906 into '.':
G    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r42906 into '.':
 G   .

git-svn-id: branches/fixes_3_2@43387 -
2019-11-04 08:50:42 +00:00
florian
b6e7ebdd3c -- Zusammenführen von r42272 in ».«:
U    compiler/defutil.pas
A    tests/webtbf/tw35671.pp
-- Aufzeichnung der Informationen für Zusammenführung von r42272 in ».«:
 U   .
-- Zusammenführen von r42274 in ».«:
U    compiler/cgbase.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42274 in ».«:
 G   .
-- Zusammenführen von r42275 in ».«:
U    compiler/defcmp.pas
C    compiler/defutil.pas
U    compiler/ncnv.pas
U    compiler/ncon.pas
U    compiler/ngtcon.pas
U    compiler/ninl.pas
U    compiler/pstatmnt.pas
A    tests/webtbf/tw35753.pp
-- Aufzeichnung der Informationen für Zusammenführung von r42275 in ».«:
 G   .

git-svn-id: branches/fixes_3_2@43367 -
2019-11-02 18:07:58 +00:00
pierre
baa1603371 ------------------------------------------------------------------------
r42084 | pierre | 2019-05-16 12:17:32 +0000 (Thu, 16 May 2019) | 1 line

Fix compilation of compiler with -dPREPROCWRITE
------------------------------------------------------------------------
--- Merging r42084 into '.':
U    compiler/parser.pas
U    compiler/scanner.pas
--- Recording mergeinfo for merge of r42084 into '.':
 U   .

git-svn-id: branches/fixes_3_2@43340 -
2019-10-31 08:54:15 +00:00
Jonas Maebe
b489002e4e --- Merging r42835 into '.':
U    compiler/powerpc64/cpupara.pas
--- Recording mergeinfo for merge of r42835 into '.':
 U   .

git-svn-id: branches/fixes_3_2@42930 -
2019-09-07 12:23:20 +00:00
Jonas Maebe
f29598384b * Objective-Pascal inferred result type and improved category method searching
--- Merging r42815 through r42817 into '.':
U    tests/test/tobjc34.pp
U    tests/test/tobjc36.pp
U    tests/test/tobjcl2.pp
A    tests/test/units/cocoaall
A    tests/test/units/cocoaall/tw35994.pp
U    compiler/defcmp.pas
U    compiler/ncal.pas
C    compiler/pdecl.pas
C    compiler/symconst.pas
C    compiler/utils/ppuutils/ppudump.pp
U    compiler/symtable.pas
--- Recording mergeinfo for merge of r42815 through r42817 into '.':
 U   .
--- Merging r42857 into '.':
G    compiler/symtable.pas
--- Recording mergeinfo for merge of r42857 into '.':
 G   .
  

git-svn-id: branches/fixes_3_2@42883 -
2019-08-31 11:43:41 +00:00
pierre
43436808e9 --- Merging r42860 into '.':
U    compiler/arm/narmmat.pas
--- Recording mergeinfo for merge of r42860 into '.':
 U   .
------------------------------------------------------------------------
r42860 | pierre | 2019-08-28 07:38:35 +0000 (Wed, 28 Aug 2019) | 1 line

 Fix code generated in tarmnotnode.second_boolean
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@42879 -
2019-08-30 13:05:02 +00:00
nickysn
cfa1ddb5e4 Merged revision(s) 42176, 42186 from trunk:
* fixed an i8086 inline assembler bug, where 'call word ptr [label]' (an
  indirect call) was assembled as 'call near label' (direct call) instead of
  'call near [label]' and 'call dword ptr [label]' was assembled as
  'call near label' instead of 'call far [label]'
........
 Add {$goto on} if FPC macro is defined
........

git-svn-id: branches/fixes_3_2@42215 -
2019-06-12 11:11:06 +00:00
nickysn
783273cf01 * merged the OpenBSD 6.5 fixes
git-svn-id: branches/fixes_3_2@42213 -
2019-06-11 19:18:28 +00:00
pierre
cae238ca98 ------------------------------------------------------------------------
r40756 | karoly | 2019-01-04 03:00:03 +0000 (Fri, 04 Jan 2019) | 1 line

haiku: linker support code for internal sysinit and make the x86_64 port use it
------------------------------------------------------------------------
--- Merging r40756 into '.':
G    compiler/systems/t_haiku.pas
U    compiler/systems.pas
--- Recording mergeinfo for merge of r40756 into '.':
 G   .
------------------------------------------------------------------------
------------------------------------------------------------------------
r40791 | karoly | 2019-01-07 12:58:02 +0000 (Mon, 07 Jan 2019) | 1 line

haiku: move i386 also to internal sysinit
------------------------------------------------------------------------
U    compiler/systems.pas
U    rtl/haiku/system.pp
--- Recording mergeinfo for merge of r40791 into '.':
 U   .

git-svn-id: branches/fixes_3_2@42136 -
2019-05-29 21:55:51 +00:00
pierre
12c54a62e7 Update all Makefile's to enable x86_64-haiku target
git-svn-id: branches/fixes_3_2@42135 -
2019-05-28 22:07:11 +00:00
pierre
17d0f31119 + Enabling of x86_64-hziku target in fixes_3_2 compiler branch by merging of commits #40753 and 40756.
------------------------------------------------------------------------
r40753 | karoly | 2019-01-04 02:16:24 +0000 (Fri, 04 Jan 2019) | 1 line

haiku-x86_64: add target to the compiler and ppudump, enable it in fpmake and fpcmake
------------------------------------------------------------------------
--- Merging r40753 into '.':
U    compiler/options.pas
U    compiler/systems/i_haiku.pas
U    compiler/systems/t_haiku.pas
U    compiler/systems.inc
U    compiler/utils/ppuutils/ppudump.pp
U    compiler/x86/agx86att.pas
U    compiler/x86_64/cpuelf.pas
U    compiler/x86_64/cputarg.pas
U    utils/fpcm/fpcmmain.pp
--- Recording mergeinfo for merge of r40753 into '.':
 U   .
------------------------------------------------------------------------
r40756 | karoly | 2019-01-04 03:00:03 +0000 (Fri, 04 Jan 2019) | 1 line

haiku: linker support code for internal sysinit and make the x86_64 port use it
------------------------------------------------------------------------
--- Merging r40756 into '.':
G    compiler/systems/t_haiku.pas
U    compiler/systems.pas
--- Recording mergeinfo for merge of r40756 into '.':
 G   .

git-svn-id: branches/fixes_3_2@42133 -
2019-05-28 21:50:18 +00:00
marco
d093d252d5 # revisions: 42037,42038,42039,42087
git-svn-id: branches/fixes_3_2@42098 -
2019-05-18 22:59:31 +00:00
marco
22f48c207e # revisions: 39998, requested by Pierre.
git-svn-id: branches/fixes_3_2@42006 -
2019-05-06 09:41:54 +00:00
marco
54ff00ba30 # revisions: 39760
git-svn-id: branches/fixes_3_2@42001 -
2019-05-05 15:57:12 +00:00
marco
23fbaa2726 # revisions: 41760,41761,41762,41763,41764,41765,41766,41769,41772,41773,41774,41775,41776,41777,41778,41779,41780,41781,41783
git-svn-id: branches/fixes_3_2@41990 -
2019-05-04 21:51:52 +00:00
marco
9d2f071ea2 --- Merging r41709 into '.':
C    compiler/systems.pas
--- Recording mergeinfo for merge of r41709 into '.':
 U   .
Summary of conflicts:
  Text conflicts: 1

# revisions: 41709

git-svn-id: branches/fixes_3_2@41989 -
2019-05-04 21:49:19 +00:00
marco
abccef11e0 # revisions: 41710,41711,41733,41734,41735,41736,41737,41738,41739,41740,41741,41743,41744,41745,41746,41750,41751,41752,41753,41754,41755,41757,41758,41759
git-svn-id: branches/fixes_3_2@41988 -
2019-05-04 21:45:55 +00:00
marco
046150ddeb --- Merging r41646 into '.':
U    packages/opengl/src/gl.pp
U    packages/opengl/src/glu.pp
U    packages/opengl/src/glut.pp
--- Recording mergeinfo for merge of r41646 into '.':
 U   .
--- Merging r41647 into '.':
G    packages/opengl/src/gl.pp
G    packages/opengl/src/glu.pp
G    packages/opengl/src/glut.pp
--- Recording mergeinfo for merge of r41647 into '.':
 G   .
--- Merging r41675 into '.':
U    compiler/systems/i_bsd.pas
--- Recording mergeinfo for merge of r41675 into '.':
 G   .
--- Merging r41695 into '.':
A    rtl/openbsd/si_impl.inc
U    rtl/openbsd/si_intf.inc
U    rtl/openbsd/si_prc.pp
U    rtl/openbsd/x86_64/si_prc.inc
--- Recording mergeinfo for merge of r41695 into '.':
 G   .
--- Merging r41696 into '.':
U    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41696 into '.':
 G   .
--- Merging r41697 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41697 into '.':
 G   .
--- Merging r41698 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41698 into '.':
 G   .
--- Merging r41699 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41699 into '.':
 G   .
--- Merging r41700 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41700 into '.':
 G   .
--- Merging r41701 into '.':
U    rtl/openbsd/si_impl.inc
G    rtl/openbsd/si_intf.inc
G    rtl/openbsd/x86_64/si_prc.inc
--- Recording mergeinfo for merge of r41701 into '.':
 G   .

# revisions: 41646,41647,41675,41695,41696,41697,41698,41699,41700,41701

git-svn-id: branches/fixes_3_2@41985 -
2019-05-04 21:36:49 +00:00
Jonas Maebe
846da37c9f --- Merging r41243 into '.':
U    rtl/inc/objc.pp
--- Recording mergeinfo for merge of r41243 into '.':
 U   .
--- Merging r41335 into '.':
U    compiler/arm/cgcpu.pas
U    compiler/cgobj.pas
--- Recording mergeinfo for merge of r41335 into '.':
 G   .
--- Merging r41422 into '.':
U    compiler/scanner.pas
--- Recording mergeinfo for merge of r41422 into '.':
 G   .
--- Merging r41474 into '.':
U    compiler/pexpr.pas
A    tests/webtbf/tw35149a.pp
A    tests/webtbs/tw35149.pp
--- Recording mergeinfo for merge of r41474 into '.':
 G   .
--- Merging r41650 into '.':
U    compiler/aarch64/racpugas.pas
--- Recording mergeinfo for merge of r41650 into '.':
 G   .
--- Merging r41651 into '.':
U    tests/test/taarch64abi.pp
--- Recording mergeinfo for merge of r41651 into '.':
 G   .
--- Merging r41905 into '.':
U    compiler/utils/ppuutils/ppudump.pp
--- Recording mergeinfo for merge of r41905 into '.':
 G   .

git-svn-id: branches/fixes_3_2@41943 -
2019-04-27 19:21:30 +00:00
marco
4fd1f5ebe7 --- Merging r41637 into '.':
U    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41637 into '.':
 U   .
--- Merging r41638 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41638 into '.':
 G   .
--- Merging r41639 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41639 into '.':
 G   .
--- Merging r41652 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41652 into '.':
 G   .
--- Merging r41668 into '.':
G    compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r41668 into '.':
 G   .

# revisions: 41637,41638,41639,41652,41668
r41637 | nickysn | 2019-03-08 16:59:00 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/compiler/systems/t_bsd.pas

* Correct library search path for OpenBSD. Based on 1/3 of OpenBSD ports patch
  patch-fpcsrc_compiler_systems_t_bsd_pas
r41638 | nickysn | 2019-03-08 17:01:30 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/compiler/systems/t_bsd.pas

* always add -nopie to linker flags on OpenBSD. Based on 2/3 of OpenBSD ports
  patch patch-fpcsrc_compiler_systems_t_bsd_pas
r41639 | nickysn | 2019-03-08 17:04:48 +0100 (Fri, 08 Mar 2019) | 2 lines
Changed paths:
   M /trunk/compiler/systems/t_bsd.pas

* Do not link to /usr/libexec/ld.so as a shared library on OpenBSD. Based on 3/3
  of OpenBSD ports patch patch-fpcsrc_compiler_systems_t_bsd_pas
r41652 | nickysn | 2019-03-09 17:11:52 +0100 (Sat, 09 Mar 2019) | 3 lines
Changed paths:
   M /trunk/compiler/systems/t_bsd.pas

* link with -nopie on OpenBSD only if PIC code generation is disabled
r41668 | nickysn | 2019-03-10 16:56:09 +0100 (Sun, 10 Mar 2019) | 5 lines
Changed paths:
   M /trunk/compiler/systems/t_bsd.pas

+ pass the -dynamic-linker option to the linker even when making a static binary
  on OpenBSD, because that seems to be needed in order to produce a static
  position independent executable in the correct format for that platform

git-svn-id: branches/fixes_3_2@41901 -
2019-04-19 17:20:35 +00:00
yury
99c2a15203 Merged revision(s) 41627 from trunk:
* ppudump: Fixed formatting of a error message.
........

git-svn-id: branches/fixes_3_2@41629 -
2019-03-07 10:36:52 +00:00
yury
0d2cb32aad Merged revision(s) 41625 from trunk:
* ppudump: Avoid using GetLastOSError on platforms that doesn't support it (e.g. go32v2).
........

git-svn-id: branches/fixes_3_2@41626 -
2019-03-07 10:24:25 +00:00
pierre
663c97ed23 Merge of revisions 41425 from trunk to fixes_3_2
------------------------------------------------------------------------
r41425 | pierre | 2019-02-23 23:03:29 +0000 (Sat, 23 Feb 2019) | 11 lines

  + compiler/symdef.pas: Add missing call to tderef.reset methods in all tdef constructors.
  + compiler/sysmsym.pas: Do the same for for all tsym constructors.
  + compiler/symtype.pas: Generate internalerror in  tcompilerppufile.putderef
    if a deref field has index -1, as this means that buildderef was not called
    while it should have been called.
  + compiler/symtable.pas: Fix bug report itself by adding an extra local variable
    CHANGED to add extra cycles in tstoredsymtable.buildderef_referenced method.

New tests for this bug report: tests/webtbs/tw35139.pp and  tests/webtbs/tw35139a.pp


------------------------------------------------------------------------
--- Merging r41425 into '.':
U    compiler/symtype.pas
U    compiler/symdef.pas
U    compiler/symsym.pas
U    compiler/symtable.pas
A    tests/webtbs/tw35139.pp
A    tests/webtbs/tw35139a.pp
--- Recording mergeinfo for merge of r41425 into '.':
 U   .

git-svn-id: branches/fixes_3_2@41620 -
2019-03-06 13:51:14 +00:00
yury
fcc7daf98d Merged revision(s) 41412 from trunk:
* aarch64: According to ARM64 ABI, function's arguments and the result are not required to be sign/zero extended to a full register size. Obey this rule for all targets except iOS where sign/zero extension is required.

........

git-svn-id: branches/fixes_3_2@41616 -
2019-03-06 07:58:23 +00:00
yury
61568c5e3d Merged revision(s) 41393-41394 from trunk:
* ppudump: Use buffered write when outputting to json or xml. It improves the output speed a lot.
........
* ppudump: Fixed warnings with -O3.
........

git-svn-id: branches/fixes_3_2@41615 -
2019-03-06 07:56:41 +00:00
Jonas Maebe
3ac703506c * rest of the previous accidental partial commit
git-svn-id: branches/fixes_3_2@41250 -
2019-02-07 19:56:21 +00:00
pierre
5fa93e2a1e ------------------------------------------------------------------------
r41065 | pierre | 2019-01-25 08:00:58 +0000 (Fri, 25 Jan 2019) | 1 line

Fix compilation (with -st option) of compiler for macos OS target
------------------------------------------------------------------------
--- Merging r41065 into '.':
U    compiler/fpcdefs.inc
U    compiler/cfileutl.pas
--- Recording mergeinfo for merge of r41065 into '.':
 U   .
------------------------------------------------------------------------
r41074 | pierre | 2019-01-25 18:35:33 +0000 (Fri, 25 Jan 2019) | 1 line

Add missing ESysEMSGSIZE and ESysEOPNOTSUPP for beos
------------------------------------------------------------------------
--- Merging r41074 into '.':
U    rtl/beos/errno.inc
--- Recording mergeinfo for merge of r41074 into '.':
 G   .

git-svn-id: branches/fixes_3_2@41227 -
2019-02-05 07:43:20 +00:00
pierre
9e0530caa8 Group merge of changes to fpmake.pp for pacakges and utils
with fpmkunit change.

------------------------------------------------------------------------
r40365 | pierre | 2018-11-24 15:14:57 +0000 (Sat, 24 Nov 2018) | 4 lines

  + Add Debug message when resource file is found, but not registered.
  + Add missing "T.ResourceStrings:=True;" for all source units
    that generate the new debug message above.

------------------------------------------------------------------------
--- Merging r40365 into '.':
U    packages/mysql/fpmake.pp
U    packages/fcl-base/fpmake.pp
U    packages/fcl-web/fpmake.pp
U    packages/fcl-db/fpmake.pp
U    packages/fcl-pdf/fpmake.pp
U    packages/fcl-image/fpmake.pp
U    packages/pastojs/fpmake.pp
U    packages/fcl-passrc/fpmake.pp
U    packages/rtl-objpas/fpmake.pp
U    packages/openssl/fpmake.pp
U    packages/winunits-base/fpmake.pp
U    packages/fpmkunit/src/fpmkunit.pp
--- Recording mergeinfo for merge of r40365 into '.':
 U   .
------------------------------------------------------------------------
r40391 | pierre | 2018-11-28 23:45:35 +0000 (Wed, 28 Nov 2018) | 1 line

 Add several missing unit references in fpmake files
------------------------------------------------------------------------
--- Merging r40391 into '.':
U    utils/pas2ut/fpmake.pp
U    utils/fpdoc/fpmake.pp
U    utils/pas2js/fpmake.pp
U    utils/fppkg/fpmake.pp
U    utils/fpcmkcfg/fpmake.pp
U    utils/fpmake.pp
U    utils/unicode/fpmake.pp
--- Recording mergeinfo for merge of r40391 into '.':
 G   .
------------------------------------------------------------------------
r40899 | pierre | 2019-01-19 10:26:51 +0000 (Sat, 19 Jan 2019) | 1 line

 Activate fpc-web package for android OS, except for jvm compiler
------------------------------------------------------------------------
--- Merging r40899 into '.':
G    packages/fcl-web/fpmake.pp
--- Recording mergeinfo for merge of r40899 into '.':
 G   .
------------------------------------------------------------------------
r41069 | pierre | 2019-01-25 12:58:21 +0000 (Fri, 25 Jan 2019) | 1 line

 Disable targets that do not support fcl-base for utils packages that need fcl-base
------------------------------------------------------------------------
--- Merging r41069 into '.':
G    utils/pas2ut/fpmake.pp
G    utils/fpdoc/fpmake.pp
U    utils/json2pas/fpmake.pp
U    utils/fpcreslipo/fpmake.pp
G    utils/fpcmkcfg/fpmake.pp
G    utils/fpmake.pp
U    utils/fpcres/fpmake.pp
U    utils/fpcm/fpmake.pp
G    utils/unicode/fpmake.pp
U    utils/pas2fpm/fpmake.pp
U    utils/instantfpc/fpmake.pp
U    utils/importtl/fpmake.pp
--- Recording mergeinfo for merge of r41069 into '.':
 G   .
------------------------------------------------------------------------
r41070 | pierre | 2019-01-25 14:39:12 +0000 (Fri, 25 Jan 2019) | 1 line

 Enable paszlib package and disable utils/fpcm and utils/fpcmkcfg for nativent OS
------------------------------------------------------------------------
--- Merging r41070 into '.':
U    packages/paszlib/fpmake.pp
G    utils/fpcmkcfg/fpmake.pp
G    utils/fpcm/fpmake.pp
--- Recording mergeinfo for merge of r41070 into '.':
 G   .
------------------------------------------------------------------------
r41076 | pierre | 2019-01-26 10:17:58 +0000 (Sat, 26 Jan 2019) | 1 line

 Also use installed ppudump for ppu testing in utils directory
------------------------------------------------------------------------
--- Merging r41076 into '.':
U    utils/Makefile.fpc
U    utils/Makefile
--- Recording mergeinfo for merge of r41076 into '.':
 G   .
------------------------------------------------------------------------
r41104 | pierre | 2019-01-28 17:43:15 +0000 (Mon, 28 Jan 2019) | 1 line

 -Xr is also supported for systems_android
------------------------------------------------------------------------
--- Merging r41104 into '.':
U    compiler/options.pas
--- Recording mergeinfo for merge of r41104 into '.':
 G   .
------------------------------------------------------------------------
r41106 | pierre | 2019-01-29 09:01:42 +0000 (Tue, 29 Jan 2019) | 1 line

 Disable jvm-android and jvm-java targets for fprcp, h2pas and tply packages because they use memory allocation or fpc_get_output
------------------------------------------------------------------------
--- Merging r41106 into '.':
U    utils/fprcp/fpmake.pp
U    utils/h2pas/fpmake.pp
U    utils/tply/fpmake.pp
--- Recording mergeinfo for merge of r41106 into '.':
 G   .
------------------------------------------------------------------------
r41119 | pierre | 2019-01-29 13:46:43 +0000 (Tue, 29 Jan 2019) | 1 line

 Disable palmos in fprcp, h2pas and tply packages
------------------------------------------------------------------------
--- Merging r41119 into '.':
G    utils/fprcp/fpmake.pp
G    utils/h2pas/fpmake.pp
G    utils/tply/fpmake.pp
--- Recording mergeinfo for merge of r41119 into '.':
 G   .
------------------------------------------------------------------------
r41120 | pierre | 2019-01-29 14:08:03 +0000 (Tue, 29 Jan 2019) | 1 line

 Disable fprcp, h2pas and tply pacakges for msdos and win16 because the programs are too big
------------------------------------------------------------------------
--- Merging r41120 into '.':
G    utils/fprcp/fpmake.pp
G    utils/h2pas/fpmake.pp
G    utils/tply/fpmake.pp
--- Recording mergeinfo for merge of r41120 into '.':
 G   .
------------------------------------------------------------------------
r41121 | pierre | 2019-01-29 14:17:53 +0000 (Tue, 29 Jan 2019) | 1 line

 Disable atari target for fpcm and fpcmkcfg because it depends on unsupported fpmkunit package
------------------------------------------------------------------------
--- Merging r41121 into '.':
G    utils/fpcmkcfg/fpmake.pp
G    utils/fpcm/fpmake.pp
--- Recording mergeinfo for merge of r41121 into '.':
 G   .
------------------------------------------------------------------------
r41122 | pierre | 2019-01-29 14:32:28 +0000 (Tue, 29 Jan 2019) | 1 line

 Disable some packages for avr-embedded and i8086-embedded targets
------------------------------------------------------------------------
--- Merging r41122 into '.':
G    utils/fprcp/fpmake.pp
G    utils/h2pas/fpmake.pp
G    utils/tply/fpmake.pp
--- Recording mergeinfo for merge of r41122 into '.':
 G   .
------------------------------------------------------------------------
r41142 | pierre | 2019-01-30 12:55:04 +0000 (Wed, 30 Jan 2019) | 1 line

 Disable jvm-android as fcl-json is not supported for this target
------------------------------------------------------------------------
--- Merging r41142 into '.':
G    utils/pas2js/fpmake.pp
--- Recording mergeinfo for merge of r41142 into '.':
 G   .
------------------------------------------------------------------------
r41150 | pierre | 2019-01-31 11:20:34 +0000 (Thu, 31 Jan 2019) | 1 line

 Disable pas2js for jvm compiler
------------------------------------------------------------------------
--- Merging r41150 into '.':
G    utils/pas2js/fpmake.pp
--- Recording mergeinfo for merge of r41150 into '.':
 G   .

git-svn-id: branches/fixes_3_2@41193 -
2019-02-03 16:51:17 +00:00
pierre
dee94698c6 ------------------------------------------------------------------------
r40905 | pierre | 2019-01-19 16:06:04 +0000 (Sat, 19 Jan 2019) | 1 line

 Also add /usr/lib/CPU-linux-gnu to link directory list for mips and mipsel
------------------------------------------------------------------------
--- Merging r40905 into '.':
U    compiler/systems/t_linux.pas
--- Recording mergeinfo for merge of r40905 into '.':
 U   .

git-svn-id: branches/fixes_3_2@41077 -
2019-01-26 21:02:52 +00:00
pierre
cdfefa381e * Merge 40833 (without the riscvXX part)
------------------------------------------------------------------------
r40833 | pierre | 2019-01-10 12:18:22 +0000 (Thu, 10 Jan 2019) | 1 line

 Add missing support for -PriscvXX and -Psparc64
------------------------------------------------------------------------
--- Merging r40833 into '.':
U    compiler/utils/fpc.pp
--- Recording mergeinfo for merge of r40833 into '.':
 U   .

git-svn-id: branches/fixes_3_2@40963 -
2019-01-21 14:22:03 +00:00
pierre
875af11d02 Merge of commits 39916, 39925 and 39963
------------------------------------------------------------------------
r39916 | yury | 2018-10-12 14:43:17 +0000 (Fri, 12 Oct 2018) | 1 line

* Fixed checks for exceeding limit of locals space. Prevent range and overflow errors during the checks. Introduced the MaxLocalsSize constant which provides the maximum possible size of locals space (stack frame) depending of bitness of a cpu.
------------------------------------------------------------------------
--- Merging r39916 into '.':
U    compiler/tgobj.pas
U    compiler/globtype.pas
--- Recording mergeinfo for merge of r39916 into '.':
 U   .
------------------------------------------------------------------------
r39925 | pierre | 2018-10-13 12:00:31 +0000 (Sat, 13 Oct 2018) | 1 line

 Set MaxLocalsSize according to address size not register size
------------------------------------------------------------------------
--- Merging r39925 into '.':
G    compiler/globtype.pas
--- Recording mergeinfo for merge of r39925 into '.':
 G   .
------------------------------------------------------------------------
r39963 | yury | 2018-10-17 19:12:27 +0000 (Wed, 17 Oct 2018) | 1 line

* Fixed range check errors.
------------------------------------------------------------------------
--- Merging r39963 into '.':
G    compiler/tgobj.pas
--- Recording mergeinfo for merge of r39963 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40834 -
2019-01-10 12:22:58 +00:00
pierre
70b6244a29 Partial merge of commit #39990
mergeinfo property left unchanged on purpose, as the commit also has
  a change in compiler/nadd.pas source that is not handled here.
------------------------------------------------------------------------
r39990 | florian | 2018-10-20 10:17:34 +0000 (Sat, 20 Oct 2018) | 2 lines

* avoid range check errors

------------------------------------------------------------------------
--- Merging r39990 into '.':
U    compiler/powerpc/rappcgas.pas

git-svn-id: branches/fixes_3_2@40794 -
2019-01-07 15:35:31 +00:00
nickysn
27c618b4c4 * Merged r40720
git-svn-id: branches/fixes_3_2@40744 -
2019-01-02 04:27:06 +00:00
florian
0ad0cefeb3 --- Merging r40202 into '.':
U    compiler/ncal.pas
U    compiler/optdfa.pas
A    tests/webtbs/tw34438.pp
--- Recording mergeinfo for merge of r40202 into '.':
 U   .

git-svn-id: branches/fixes_3_2@40740 -
2019-01-01 21:59:57 +00:00
Jonas Maebe
fc9e9e804a --- Merging r40512 into '.':
A    tests/webtbs/tw33607.pp
U    compiler/aarch64/hlcgcpu.pas
--- Recording mergeinfo for merge of r40512 into '.':
 U   .
--- Merging r40566 into '.':
U    compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40566 into '.':
 G   .
--- Merging r40567 into '.':
G    compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40567 into '.':
 G   .
--- Merging r40573 into '.':
G    compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40573 into '.':
 G   .
--- Merging r40629 into '.':
U    compiler/ncnv.pas
U    compiler/llvm/nllvmcnv.pas
--- Recording mergeinfo for merge of r40629 into '.':
 G   .
--- Merging r40637 into '.':
U    compiler/ncon.pas
A    tests/webtbs/tw33666.pp
--- Recording mergeinfo for merge of r40637 into '.':
 G   .
--- Merging r40729 into '.':
U    compiler/ncal.pas
U    compiler/jvm/njvminl.pas
U    compiler/ninl.pas
--- Recording mergeinfo for merge of r40729 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40735 -
2019-01-01 16:49:46 +00:00
pierre
23b9dde397 Merge of commits 40142, 40189 and 40347
------------------------------------------------------------------------
r40142 | jonas | 2018-11-01 13:19:33 +0000 (Thu, 01 Nov 2018) | 2 lines

  * ttryfinallynode now inherits from tbinarynode instead of tloopnode, as its
    t1 field was always set to tnothingnode
------------------------------------------------------------------------
--- Merging r40142 into '.':
U    compiler/i386/n386flw.pas
U    compiler/nflw.pas
U    compiler/x86_64/nx64flw.pas
U    compiler/nutils.pas
U    compiler/ppu.pas
U    compiler/ncgflw.pas
U    compiler/psub.pas
--- Recording mergeinfo for merge of r40142 into '.':
 U   .
------------------------------------------------------------------------
r40189 | jonas | 2018-11-02 21:12:18 +0000 (Fri, 02 Nov 2018) | 2 lines

  * fixed overzealous removal of an assigned(t1) check in r40142 (it was for a
    ttryexceptnode instead of for a ttryfinally node)
------------------------------------------------------------------------
--- Merging r40189 into '.':
G    compiler/x86_64/nx64flw.pas
--- Recording mergeinfo for merge of r40189 into '.':
 G   .
------------------------------------------------------------------------
r40347 | pierre | 2018-11-18 10:32:13 +0000 (Sun, 18 Nov 2018) | 3 lines

  * Use getasizeint/putasizeint for tfieldvarsym.fieldoffset 
  * Change CurrentPPUVersion

------------------------------------------------------------------------
--- Merging r40347 into '.':
G    compiler/ppu.pas
U    compiler/utils/ppuutils/ppudump.pp
U    compiler/symsym.pas
--- Recording mergeinfo for merge of r40347 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40717 -
2018-12-31 16:15:55 +00:00
pierre
92cd9502ef Merge of revisions 40277
40307
40309
40314
40319
40322
40324
40326
40377
40378 from trunk to fixes_3_2
------------------------------------------------------------------------
r40277 | pierre | 2018-11-08 20:18:30 +0000 (Thu, 08 Nov 2018) | 1 line

 Implement mark_write override for tinilinenode
------------------------------------------------------------------------
--- Merging r40277 into '.':
U    compiler/ninl.pas
--- Recording mergeinfo for merge of r40277 into '.':
 U   .
------------------------------------------------------------------------
r40307 | pierre | 2018-11-13 15:10:21 +0000 (Tue, 13 Nov 2018) | 6 lines

  + Introduce PPC_SUFFIXES, new make variable that lists all ppc suffixes
    for all different CPUs supported.
  * Use PPC_SUFFIXES in execlean and CPU_clean targets.
  * Also delete CPU/bin subbirectory.


------------------------------------------------------------------------
--- Merging r40307 into '.':
U    compiler/Makefile
U    compiler/Makefile.fpc
--- Recording mergeinfo for merge of r40307 into '.':
 G   .
------------------------------------------------------------------------
r40309 | pierre | 2018-11-13 15:51:32 +0000 (Tue, 13 Nov 2018) | 1 line

 Try to avoid expectloc not set after first pass error for call node
------------------------------------------------------------------------
--- Merging r40309 into '.':
U    compiler/ncal.pas
--- Recording mergeinfo for merge of r40309 into '.':
 G   .
------------------------------------------------------------------------
r40314 | pierre | 2018-11-14 13:13:19 +0000 (Wed, 14 Nov 2018) | 4 lines

  * Change first parameter type of function is_continuous_maks to aword type.
    Add typecasts where needed to allow for successful compilation of arm-linux target
    with -CriotR options when building the compiler.

------------------------------------------------------------------------
--- Merging r40314 into '.':
U    compiler/arm/cpubase.pas
U    compiler/arm/cgcpu.pas
--- Recording mergeinfo for merge of r40314 into '.':
 G   .
------------------------------------------------------------------------
r40319 | pierre | 2018-11-15 16:58:40 +0000 (Thu, 15 Nov 2018) | 1 line

 Disable range check in m68k:tiscv32 and riscv64 cgcpu units
------------------------------------------------------------------------
--- Merging r40319 into '.':
   C compiler/riscv64
U    compiler/m68k/cgcpu.pas
   C compiler/riscv32
--- Recording mergeinfo for merge of r40319 into '.':
 G   .
Summary of conflicts:
  Tree conflicts: 2
------------------------------------------------------------------------
r40322 | pierre | 2018-11-15 22:01:25 +0000 (Thu, 15 Nov 2018) | 1 line

 Also disable range checking in arm/aoptcpu unit
------------------------------------------------------------------------
--- Merging r40322 into '.':
U    compiler/arm/aoptcpu.pas
--- Recording mergeinfo for merge of r40322 into '.':
 G   .
------------------------------------------------------------------------
r40324 | pierre | 2018-11-16 10:27:42 +0000 (Fri, 16 Nov 2018) | 4 lines

  * Disable range check for m68k/aoptcpu unit
  * Add missing change of var parameter p to next instruction
    in TryToOptimizeMove method after instruction removal.

------------------------------------------------------------------------
--- Merging r40324 into '.':
U    compiler/m68k/aoptcpu.pas
--- Recording mergeinfo for merge of r40324 into '.':
 G   .
------------------------------------------------------------------------
r40326 | pierre | 2018-11-16 13:28:26 +0000 (Fri, 16 Nov 2018) | 1 line

 Change local variables offsetdec and extraoffset type to ASizeInt
------------------------------------------------------------------------
--- Merging r40326 into '.':
U    compiler/ncgmem.pas
--- Recording mergeinfo for merge of r40326 into '.':
 G   .
------------------------------------------------------------------------
r40377 | pierre | 2018-11-27 10:19:36 +0000 (Tue, 27 Nov 2018) | 1 line

 Fix bug report 34605 and add corresponding test
------------------------------------------------------------------------
--- Merging r40377 into '.':
A    tests/webtbs/tw34605.pp
U    compiler/nutils.pas
--- Recording mergeinfo for merge of r40377 into '.':
 G   .
------------------------------------------------------------------------
r40378 | pierre | 2018-11-27 10:21:37 +0000 (Tue, 27 Nov 2018) | 1 line

 Avoid range errors or overflows on for AVR cpu, when computing address offsets
------------------------------------------------------------------------
--- Merging r40378 into '.':
U    compiler/ncgset.pas
U    compiler/ngtcon.pas
--- Recording mergeinfo for merge of r40378 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40716 -
2018-12-31 15:48:08 +00:00
pierre
9ca0c1c5dc Fix compilation error after last commit
git-svn-id: branches/fixes_3_2@40625 -
2018-12-23 23:25:34 +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
pierre
1fafc17016 Merge of revisions 39731 39825 39849 39912 39913 39914 39924 39935 39999 40000 40001 40026 40115 40132 40163 from trunk to fixes_3_2
------------------------------------------------------------------------
r39731 | pierre | 2018-09-11 08:00:54 +0000 (Tue, 11 Sep 2018) | 1 line

 Disable overflow for UDIVX ans SDIVX 64-bit instructions
------------------------------------------------------------------------
--- Merging r39731 into '.':
U    compiler/sparcgen/ncpumat.pas
--- Recording mergeinfo for merge of r39731 into '.':
 G   .
------------------------------------------------------------------------
r39825 | pierre | 2018-09-27 06:59:07 +0000 (Thu, 27 Sep 2018) | 1 line

 Add rtl dependency and fix fpcdir value
------------------------------------------------------------------------
--- Merging r39825 into '.':
U    packages/ide/compiler/Makefile.fpc
--- Recording mergeinfo for merge of r39825 into '.':
 G   .
------------------------------------------------------------------------
r39849 | pierre | 2018-10-01 21:50:13 +0000 (Mon, 01 Oct 2018) | 1 line

 Use vfpv2 as default fpu for eabihf if cpu is below armv7
------------------------------------------------------------------------
--- Merging r39849 into '.':
U    compiler/options.pas
--- Recording mergeinfo for merge of r39849 into '.':
 G   .
------------------------------------------------------------------------
r39912 | pierre | 2018-10-11 20:38:39 +0000 (Thu, 11 Oct 2018) | 1 line

 Fix ppuload for string type for i8086, use getasizeint for all string defs but short string
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39912 into '.':
 G   .
------------------------------------------------------------------------
r39913 | pierre | 2018-10-11 21:02:25 +0000 (Thu, 11 Oct 2018) | 1 line

 fix position of ppuload_platform for trecorddef
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39913 into '.':
 G   .
------------------------------------------------------------------------
r39914 | pierre | 2018-10-12 06:05:50 +0000 (Fri, 12 Oct 2018) | 1 line

 Adapt ppudump to fix introduced in revision 39912
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39914 into '.':
 G   .
------------------------------------------------------------------------
r39924 | pierre | 2018-10-13 11:35:34 +0000 (Sat, 13 Oct 2018) | 1 line

 Downgrade some warnings to notes for EXTDEBUG
------------------------------------------------------------------------
--- Merging r39924 into '.':
U    compiler/pass_2.pas
U    compiler/tgobj.pas
--- Recording mergeinfo for merge of r39924 into '.':
 G   .
------------------------------------------------------------------------
r39935 | pierre | 2018-10-14 22:18:50 +0000 (Sun, 14 Oct 2018) | 1 line

 Add missing setting of expectloc for multiplications
------------------------------------------------------------------------
--- Merging r39935 into '.':
U    compiler/nadd.pas
--- Recording mergeinfo for merge of r39935 into '.':
 G   .
------------------------------------------------------------------------
r39999 | pierre | 2018-10-20 18:44:05 +0000 (Sat, 20 Oct 2018) | 1 line

 Avoid run time error if compiled with -CR option
------------------------------------------------------------------------
--- Merging r39999 into '.':
U    compiler/m68k/cpupara.pas
--- Recording mergeinfo for merge of r39999 into '.':
 G   .
------------------------------------------------------------------------
r40000 | pierre | 2018-10-20 18:49:53 +0000 (Sat, 20 Oct 2018) | 1 line

Avoid range check error when compiled with -CR
------------------------------------------------------------------------
--- Merging r40000 into '.':
U    compiler/m68k/cgcpu.pas
--- Recording mergeinfo for merge of r40000 into '.':
 G   .
------------------------------------------------------------------------
r40001 | pierre | 2018-10-20 22:19:08 +0000 (Sat, 20 Oct 2018) | 1 line

 Add explicit typecast to avoid range check error
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40001 into '.':
 G   .
------------------------------------------------------------------------
r40026 | pierre | 2018-10-24 21:37:22 +0000 (Wed, 24 Oct 2018) | 1 line

 Explicitly disable range checking
------------------------------------------------------------------------
--- Merging r40026 into '.':
U    compiler/x86/cgx86.pas
--- Recording mergeinfo for merge of r40026 into '.':
 G   .
------------------------------------------------------------------------
r40115 | pierre | 2018-10-31 22:53:11 +0000 (Wed, 31 Oct 2018) | 1 line

 Avoid range check error in ReadPosInfo
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40115 into '.':
 G   .
------------------------------------------------------------------------
r40132 | pierre | 2018-11-01 07:09:47 +0000 (Thu, 01 Nov 2018) | 1 line

 Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40132 into '.':
 G   .
------------------------------------------------------------------------
r40163 | pierre | 2018-11-01 21:58:54 +0000 (Thu, 01 Nov 2018) | 8 lines

  More -CriotR fixes:
  * entfile.pas: Change PPU header falgs filed from longint to dword.
  * ngtcon.pas: Change local variable startoffset type to aword.
  * omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
    to avoid a range check error.
  * owomflib.pas: Disable range check explicitly in hash computation.
  * utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas

------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40163 into '.':
 G   .

git-svn-id: branches/fixes_3_2@40616 -
2018-12-22 22:19:05 +00:00
yury
71d9269b25 Merged revision(s) 40585-40586 from trunk:
* ARM: Remove preindexing and postindexing for LDR in some cases when removing superfluous MOVs. It fixes crash when calling Format() if rtl is compiled with -O3.
........
* Improved the comment.
........

git-svn-id: branches/fixes_3_2@40588 -
2018-12-18 14:01:57 +00:00
yury
3331a30501 ds_dwarf_cpp improvements.
Merged revision(s) 40492, 40498 from trunk:
* When ds_dwarf_cpp option is enabled, use dwarf2 implementation of strings debug info. It makes LLDB happy.
........
* If ds_dwarf_cpp (C++ emulation) is enabled, add DW_AT_linkage_name attribute for methods.
  LLDB uses it to display fully qualified method names. Add a simple C++ mangled name without params to achieve at least "Class::Method()" instead of just "Method" in LLDB.
........

git-svn-id: branches/fixes_3_2@40545 -
2018-12-13 18:32:23 +00:00
yury
0dd9e4d6a5 Fixes for aarch64.
Merged revision(s) 39948, 39951, 39953 from trunk:
* Fixed interface delegation for aarch64 (tdel1 and tdel2 tests).
  It was broken by r31676 which did not take in account r29953. As a consequence $self was passed in register x1 instead of x0 when the method result is of a managed type.
  This fix enables changing order of the $self and $result parameters only for aarch64 AND llvm combination where it is actually needed.
  The issue with interface delegation still exists for aarch64-llvm and need to be fixed separately. Probably by applying llvm-specific workarounds as it was made in r29953 for regular aarch64 targets.
........
* Fixed bug #17413 (and the tw17413 test) for aarch64 by adding additional check.
........
* aarch64: Fixed loading of a function result which is returned in 4 32-bit MM registers to 2 64-bit int registers. Bug #30329.
........

git-svn-id: branches/fixes_3_2@40543 -
2018-12-13 18:27:26 +00:00
yury
2d48bc8b9c * Regenerated makefiles.
git-svn-id: branches/fixes_3_2@40541 -
2018-12-13 18:18:24 +00:00
yury
0654857ce1 Merged aarch64-android, x86_64-android targets and fixes for the Android target.
Revision(s) 39739, 39749, 39860, 39862, 39865, 39869, 39871, 39903, 39905, 39917, 39956, 39959-39960, 39969, 39971, 39980, 39987, 40198-40201, 40472, 40532, 40535-40536 from trunk:
* Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.
........
* Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
........
* Fixed UnhookSignal when RTL_SIGDEFAULT is passed. The bug have caused crash on aarch64-android due to out of bounds read of the rtlsig2ossig[] array.
........
+ Added support for the aarch64-android target.
........
* Set ICU data dir if it is not set by the system. It fixes issues on newer Android versions.
* Added more predefined ICU versions.
........
* android: Use the current dir as temp.
........
* Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
........
* Enabled safecall support for aarch64 to be on par with other cpus.
........
* Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.
........
* Use syscall_nr_renameat for android.
........
+ added support for x86_64-android target.
........
+ Added the auto-generated list syscalls for mips64-android. It will be needed when mips64 is supported.
........
* x86_64-android requires sigreturn for proper signal handling.
........
* Register external gas assembler for aarch64-android and x86_64-android.
........
* Enabled compilation of the cpu unit for arm-android and x86_64-android.
........
* ucnv_open() must be called with some SSE exception masked on x86_64-android.
* Call u_init() during initialization.
........
* Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
........
* android: Removed cwstring from the uses clause of the unix unit. Use cwstring indirectly. It allows to avoid using cwstring if needed.
........
* ICU v3.8 on Android 1.5-2.1 is buggy and can't be unloaded properly.
........
* Fixed locale detection on new Android versions.
........
* Fixed obtaining a time zone information for 64-bit android.
........
* Since Android 8 the net.dnsX properties can't be read. Use Google Public DNS servers.

........
* android: Use libc for sockets since the "accept" syscall is blocked by SECCOMP, but the "accept4" alternative is not available on old Android versions (2.3 and older). 
........
* android: Regenerated syscalls.
........
* android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
........

git-svn-id: branches/fixes_3_2@40540 -
2018-12-13 18:08:42 +00:00
pierre
6205e530aa Merge commits 39912, 39914, 40001, 40115, 40132 and 40163
------------------------------------------------------------------------
r39912 | pierre | 2018-10-11 22:38:39 +0200 (Thu, 11 Oct 2018) | 1 line

 Fix ppuload for string type for i8086, use getasizeint for all string defs but short string
------------------------------------------------------------------------
------------------------------------------------------------------------
r39914 | pierre | 2018-10-12 08:05:50 +0200 (Fri, 12 Oct 2018) | 1 line

 Adapt ppudump to fix introduced in revision 39912
------------------------------------------------------------------------
------------------------------------------------------------------------
r40001 | pierre | 2018-10-21 00:19:08 +0200 (Sun, 21 Oct 2018) | 1 line

 Add explicit typecast to avoid range check error
------------------------------------------------------------------------
------------------------------------------------------------------------
r40115 | pierre | 2018-10-31 23:53:11 +0100 (Wed, 31 Oct 2018) | 1 line

 Avoid range check error in ReadPosInfo
------------------------------------------------------------------------
------------------------------------------------------------------------
r40132 | pierre | 2018-11-01 08:09:47 +0100 (Thu, 01 Nov 2018) | 1 line

 Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
------------------------------------------------------------------------
------------------------------------------------------------------------
r40163 | pierre | 2018-11-01 22:58:54 +0100 (Thu, 01 Nov 2018) | 8 lines

  More -CriotR fixes:
  * entfile.pas: Change PPU header falgs filed from longint to dword.
  * ngtcon.pas: Change local variable startoffset type to aword.
  * omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
    to avoid a range check error.
  * owomflib.pas: Disable range check explicitly in hash computation.
  * utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas

------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@40519 -
2018-12-10 21:18:24 +00:00
pierre
36f9ce1cb2 Merge of trunk commits 39983,39986,40109
------------------------------------------------------------------------
r39983 | florian | 2018-10-18 20:28:03 +0200 (Thu, 18 Oct 2018) | 3 lines

* properly take care of register allocations between the first and second instruction for the FoldLea optimization
* check for ait_instruction after a GetNextInstruction function call
* cosmetics
------------------------------------------------------------------------
------------------------------------------------------------------------
r39986 | pierre | 2018-10-18 22:21:54 +0200 (Thu, 18 Oct 2018) | 1 line

 Fix for bug report #34380
------------------------------------------------------------------------
------------------------------------------------------------------------
r40109 | pierre | 2018-10-31 15:43:18 +0100 (Wed, 31 Oct 2018) | 1 line

 Use correct field for sl_absolutetype or sl_typeconv ppropaccesslistitem type (revealed by compilation with -CriotR)
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@40482 -
2018-12-06 22:17:57 +00:00
marco
6574f0974a --- Merging r40284 into '.':
U    compiler/pdecvar.pas
--- Recording mergeinfo for merge of r40284 into '.':
 U   .
--- Merging r40285 into '.':
D    tests/webtbs/tw27880.pp
A    tests/webtbf/tw27880.pp
A    tests/tbf/tb0261.pp
A    tests/tbf/tb0262.pp
A    tests/tbf/tb0263.pp
A    tests/tbf/tb0264.pp
A    tests/tbf/tb0265.pp
U    compiler/pdecl.pas
--- Recording mergeinfo for merge of r40285 into '.':
 G   .

# revisions: 40284,40285

git-svn-id: branches/fixes_3_2@40289 -
2018-11-12 09:41:51 +00:00
marco
f42dffb36d --- Merging r39877 into '.':
U    compiler/x86_64/rax64att.pas
--- Recording mergeinfo for merge of r39877 into '.':
 U   .
--- Merging r39882 into '.':
U    compiler/nld.pas
A    tests/webtbf/tw34355.pp
--- Recording mergeinfo for merge of r39882 into '.':
 G   .
--- Merging r39885 into '.':
U    compiler/ncgrtti.pas
--- Recording mergeinfo for merge of r39885 into '.':
 G   .

# revisions: 39877,39882,39885

git-svn-id: branches/fixes_3_2@40286 -
2018-11-12 08:36:43 +00:00
marco
338873d7a7 --- Merging r39785 into '.':
U    packages/fcl-stl/src/gset.pp
--- Recording mergeinfo for merge of r39785 into '.':
 U   .
--- Merging r39786 into '.':
A    tests/tbs/tb0651.pp
U    compiler/symdef.pas
--- Recording mergeinfo for merge of r39786 into '.':
 G   .
--- Merging r39787 into '.':
U    compiler/pexpr.pas
A    tests/webtbs/uw34287a.pp
A    tests/webtbs/tw34287.pp
A    tests/webtbs/uw34287b.pp
--- Recording mergeinfo for merge of r39787 into '.':
 G   .
--- Merging r39788 into '.':
U    compiler/nbas.pas
--- Recording mergeinfo for merge of r39788 into '.':
 G   .
--- Merging r39812 into '.':
G    compiler/pexpr.pas
--- Recording mergeinfo for merge of r39812 into '.':
 G   .

# revisions: 39785,39786,39787,39788,39812

git-svn-id: branches/fixes_3_2@39835 -
2018-09-27 13:01:08 +00:00
marco
2b01261f36 --- Recording mergeinfo for merge of r39673 into '.':
U   .
--- Merging r39693 into '.':
A    tests/tbs/tb0650.pp
U    compiler/symtable.pas
--- Recording mergeinfo for merge of r39693 into '.':
 U   .
--- Merging r39700 into '.':
U    compiler/msg/errore.msg
--- Recording mergeinfo for merge of r39700 into '.':
 G   .
--- Merging r39701 into '.':
U    compiler/msgtxt.inc
U    compiler/msgidx.inc
--- Recording mergeinfo for merge of r39701 into '.':
 G   .
--- Merging r39702 into '.':
U    compiler/pdecsub.pas
A    tests/test/tgeneric105.pp
--- Recording mergeinfo for merge of r39702 into '.':
 G   .
--- Merging r39703 into '.':
A    tests/test/tgenfunc18.pp
A    tests/test/tgenfunc17.pp
G    compiler/pdecsub.pas
--- Recording mergeinfo for merge of r39703 into '.':
 G   .
--- Merging r39715 into '.':
U    packages/rtl-extra/src/inc/objects.pp
A    tests/webtbs/tw34239.pp
--- Recording mergeinfo for merge of r39715 into '.':
 G   .
--- Merging r39727 into '.':
G    packages/rtl-extra/src/inc/objects.pp
--- Recording mergeinfo for merge of r39727 into '.':
 G   .

# revisions: 39673,39693,39700,39701,39702,39703,39715,39727

git-svn-id: branches/fixes_3_2@39834 -
2018-09-27 12:36:19 +00:00
marco
ee7090b118 --- Merging r39711 into '.':
U    compiler/symtable.pas
--- Recording mergeinfo for merge of r39711 into '.':
 U   .
--- Merging r39728 into '.':
G    compiler/symtable.pas
--- Recording mergeinfo for merge of r39728 into '.':
 G   .
--- Merging r39692 into '.':
U    compiler/psub.pas
A    tests/test/tgeneric104.pp
A    tests/test/ugeneric104.pp
--- Recording mergeinfo for merge of r39692 into '.':
 G   .
--- Merging r39699 into '.':
U    packages/libffi/src/ffi.manager.pp
--- Recording mergeinfo for merge of r39699 into '.':
 G   .

# revisions: 39711,39728,39692,39699

git-svn-id: branches/fixes_3_2@39810 -
2018-09-26 13:22:48 +00:00
marco
edf32cd5dc The Important Ones:
- 39683, 39684, 39685, 39686 (rework of Interface Method RTTI)
- 39687, 39688, 39689, 39690, 39709, 39710 (change of PPU version)

git-svn-id: branches/fixes_3_2@39809 -
2018-09-26 12:50:46 +00:00
marco
ced4e6c27d --- Merging r39714 into '.':
U    compiler/arm/aasmcpu.pas
--- Recording mergeinfo for merge of r39714 into '.':
 U   .

# revisions: 39714

git-svn-id: branches/fixes_3_2@39794 -
2018-09-22 12:02:55 +00:00
marco
bceb71bf9f * version to 3.2.0-beta
git-svn-id: branches/fixes_3_2@39633 -
2018-08-18 15:25:41 +00:00
florian
ea32ddd5b2 * avoid overflows of execution weight
git-svn-id: trunk@39623 -
2018-08-16 20:45:36 +00:00
florian
75251913b1 * properly pass execution weight in SetExecutionWeight
git-svn-id: trunk@39622 -
2018-08-16 20:45:36 +00:00
marco
dd52e79089 * two comment spelling fixes. Mantis #34092 & #34097
git-svn-id: trunk@39593 -
2018-08-08 08:39:20 +00:00
pierre
ada8891d9e Also allow clang assembler for powerpc64-darwin target
git-svn-id: trunk@39580 -
2018-08-06 16:13:05 +00:00
svenbarth
3d740f13e4 * ensure that the data of the temp node is freed correctly in case of an error (the error might be non-fatal in case of a generic passing an untyped type to Write/Read)
git-svn-id: trunk@39566 -
2018-08-04 08:37:07 +00:00
svenbarth
781303c0d8 * ensure that the file parameter for the Read/Write family of intrinsics is (and can be) freed in tinlinenode.handle_read_write()
git-svn-id: trunk@39565 -
2018-08-04 08:37:01 +00:00
svenbarth
473a028523 - the freegenericparams variable is no longer required as it's always true whenever consume_proc_name is called anyway
git-svn-id: trunk@39562 -
2018-08-03 20:24:23 +00:00
svenbarth
32db846289 * free the list containing the generic parameters as after calling insert_generic_parameter_types() it's no longer required (though this means that the condition handling generictypelist instead needs to be adjusted)
git-svn-id: trunk@39561 -
2018-08-03 20:24:19 +00:00
svenbarth
c1cfd87b56 * the call node takes ownership of the specialization context, so free it in the destructor
git-svn-id: trunk@39560 -
2018-08-03 20:24:15 +00:00
svenbarth
0aee319fdb * do_member_read() takes ownership of the specialization context, so Nil it after the call
git-svn-id: trunk@39559 -
2018-08-03 20:24:10 +00:00
svenbarth
0ba14c7ad8 * fix memory leak when freeing a temp delete node: also call the inherited destructor so that e.g. tnode.optinfo is freed.
git-svn-id: trunk@39558 -
2018-08-03 20:24:05 +00:00
svenbarth
32c307e9ce * fix for Mantis #34021: if one of the two operators is an array constructor try to use an operator overload for that first before converting it to a set
+ added tests

git-svn-id: trunk@39554 -
2018-08-03 15:24:59 +00:00
pierre
29d524e7e6 Remove abolute path for native linker, ld is in directory /usr/ccs/bin in Oracle Solaris 10 8/11
git-svn-id: trunk@39541 -
2018-08-01 06:44:26 +00:00
nickysn
42432d4ef3 * use sizeuinttype, instead of ptruinttype for the indexdef conversion in
tcgvecnode.pass_generate_code. This avoids a meaningless conversion to 32-bit
  (and using the cwd instruction) on i8086 in the far data memory models.

git-svn-id: trunk@39472 -
2018-07-19 15:27:14 +00:00
michael
f6867cbd63 * Patch by Cyrax to allow creating map file on linux (bug ID 33982)
git-svn-id: trunk@39449 -
2018-07-14 08:12:38 +00:00
florian
93c5eae528 * accept dereferences in generics definitions, resolves #33700 properly
git-svn-id: trunk@39447 -
2018-07-13 21:00:33 +00:00
florian
52846df241 * fixed condition in getbestreal
git-svn-id: trunk@39446 -
2018-07-13 19:53:47 +00:00
florian
0c6cf12fbf + support for the directive $EXCESSPRECISION
git-svn-id: trunk@39443 -
2018-07-12 21:39:50 +00:00
Jeppe Johansen
3e2be29030 Make sure to align at the end of the .text, in case .data bytes will be placed there in flash.
git-svn-id: trunk@39442 -
2018-07-12 18:52:19 +00:00
nickysn
9272bf59b2 + added x86 (i8086, i386 and x86_64) intrinsics fpc_x86_get_cs/ss/ds/es/fs/gs
for getting the value of x86 segment registers

git-svn-id: trunk@39433 -
2018-07-11 14:19:40 +00:00
florian
d4c65cdac4 * better register de-allocation after CWD/CWB
git-svn-id: trunk@39413 -
2018-07-07 21:38:42 +00:00
florian
4f580f7878 + add missing exit as mentioned by J. Gareth Moreton in #33754
git-svn-id: trunk@39408 -
2018-07-07 14:53:56 +00:00
florian
0eea2141f6 * patch by J. Gareth Moreton: clarity in directive conflict error messages, resolves #33754
git-svn-id: trunk@39407 -
2018-07-07 14:46:01 +00:00
florian
96e92527e9 * constant folding of not must check if the deftype is really an orddef, resolves #33696
git-svn-id: trunk@39406 -
2018-07-07 14:17:41 +00:00
pierre
6cab9fd7db Add replacement of $GCSECTIONS for shared libraries
git-svn-id: trunk@39403 -
2018-07-07 07:22:51 +00:00
svenbarth
441fc2fab6 * also parse postfix operators after parsing a _STRING token (required for class functions on type helpers for String)
+ added tests

git-svn-id: trunk@39399 -
2018-07-06 15:57:11 +00:00
marco
2a80eb3fdd * patch from #31920, pass gc-sections to .so's
git-svn-id: trunk@39392 -
2018-07-06 08:17:10 +00:00
nickysn
ff2fff365f + added x86 compiler intrinsics fpc_x86_sti and fpc_x86_cli, which generate the
'sti' and 'cli' instructions

git-svn-id: trunk@39388 -
2018-07-04 16:48:34 +00:00
nickysn
6cd88a24dc * release al/ax/eax immediately after the 'in', before (instead of after) moving
it to the destination imaginary register. This generates better code.

git-svn-id: trunk@39380 -
2018-07-04 13:09:47 +00:00
nickysn
f34710faa0 + use the in and out instructions with immediate constant port number for ports
that are evaluated as a compile-time constant in the range 0..255

git-svn-id: trunk@39365 -
2018-07-03 20:15:20 +00:00
nickysn
fdc896ad0a + inline support for the x86 'in' and 'out' instructions. Currently only enabled
in the i8086-msdos 'ports' unit, but will be enabled on other targets (e.g.
  go32v2) in the future as well. 32-bit 'in' and 'out' not inlined on i8086, but
  will be on i386 and x86_64.

git-svn-id: trunk@39362 -
2018-07-03 17:01:42 +00:00
florian
b70fc52874 * patch by Ondrej Pokorny: the stored property modifier does not delete the inherited default value anymore, resolves #33564
git-svn-id: trunk@39357 -
2018-07-01 20:11:13 +00:00
florian
eb61923762 * patch by Ondrej Pokorny: The nodefault is now inherited from parent class, resolves #33563
git-svn-id: trunk@39356 -
2018-07-01 19:01:41 +00:00
florian
5782acc32d * patch by J. Gareth Moreton to fix 33909
git-svn-id: trunk@39353 -
2018-07-01 12:54:30 +00:00
Károly Balogh
e7025b6759 another fix for the new warning introduced in r39347, hopefully it fixes win32 build
git-svn-id: trunk@39352 -
2018-06-30 16:51:41 +00:00
florian
6a2cb0bbbd * more compilation fixes
git-svn-id: trunk@39350 -
2018-06-30 12:48:54 +00:00
florian
68eb921d46 * broken compilation after r39347 fixed
git-svn-id: trunk@39349 -
2018-06-30 12:30:25 +00:00
florian
9af9658fa7 * first parameter of SetLength must be valid, as it is read
git-svn-id: trunk@39347 -
2018-06-30 11:25:43 +00:00
nickysn
e813a11e85 + support TP7-compatible @proc^ (as in FillChar(@proc^,...))
git-svn-id: trunk@39343 -
2018-06-29 14:16:35 +00:00
pierre
c654739db9 Change default settings for i8086 compiler when compiled for go32v2 OS, to avoid use of Watcom tools
git-svn-id: trunk@39340 -
2018-06-29 09:41:38 +00:00
nickysn
88d9dd23ae * the 'again' parameter of factor_read_id() changed to 'out' instead of 'var'
git-svn-id: trunk@39317 -
2018-06-27 15:59:40 +00:00
nickysn
a38e9ff12e * if an include file name ends in dot, and the file is not found, also search
for the file name without the dot. So, for example, if the code contains
  {$I MPAL256.} and 'MPAL256.' is not found, search also for 'MPAL256'

git-svn-id: trunk@39316 -
2018-06-27 14:41:06 +00:00
nickysn
966564aade - removed 'if assigned(code)' before calling code.free in tcgprocinfo.destroy,
since .free already checks for <>nil

git-svn-id: trunk@39312 -
2018-06-27 12:38:58 +00:00
florian
78943ea843 + patch by J. Gareth Moreton: x86 optimisations for Jcc and SETcc, resolves #33899
* optimization also added for i386

git-svn-id: trunk@39307 -
2018-06-25 20:40:05 +00:00
florian
af37ca8563 - remove SetccMovbLeaveRet2SetccLeaveRet optimization, this type of code is not generated anymore for years
git-svn-id: trunk@39306 -
2018-06-25 20:40:04 +00:00
florian
1472a81768 * patch by J. Gareth Moreton to unify the x86 assembler optimizer method headers, resolves #33908
git-svn-id: trunk@39305 -
2018-06-25 20:13:34 +00:00
florian
4aa0ad6735 * use vmov.xx to load float constants if possible
git-svn-id: trunk@39298 -
2018-06-24 12:40:00 +00:00
florian
4f5f3c4a09 + support for vmov.xx vreg,#imm on arm
git-svn-id: trunk@39297 -
2018-06-24 12:39:59 +00:00
svenbarth
a2b58b842b + add support for threadvars in records
+ added tests

git-svn-id: trunk@39289 -
2018-06-23 13:49:16 +00:00
svenbarth
c3ca96279a + add support for threadvars inside classes
+ added tests

git-svn-id: trunk@39288 -
2018-06-23 13:49:12 +00:00
svenbarth
019ebe598a * regenerate msg*.inc files after addition of the message about threadvars inside classes/records without
"class" specifier

git-svn-id: trunk@39287 -
2018-06-23 13:49:08 +00:00
svenbarth
0a45d7a774 + add a message that is used when a threadvar section is started inside a class or record without the "class"
specifier

git-svn-id: trunk@39286 -
2018-06-23 13:49:05 +00:00
svenbarth
89f42fcdae * handle vd_threadvar inside read_record_fields()
git-svn-id: trunk@39285 -
2018-06-23 13:49:01 +00:00
svenbarth
ff407c56d9 * extend scanning of $modeswitch to support not only + and -, but also ON and OFF like other switches
+ added tests

git-svn-id: trunk@39280 -
2018-06-22 21:29:08 +00:00
nickysn
f036e67d8f * fixed the reading of OMF groups by the internal linker. Previously, it only
worked, when the files had only one group, called 'DGROUP'.

git-svn-id: trunk@39279 -
2018-06-22 17:00:23 +00:00
nickysn
45337b67fe + when using the i8086 with section based smartlinking, create OMF section
groups, named 'CGROUP' or 'CGROUP_UNITNAME', which include all the code
  sections, that need to be put in the same segment

git-svn-id: trunk@39277 -
2018-06-22 15:02:39 +00:00
nickysn
f07658d3dc * get rid of TOmfRelocation.GetGroupIndex; instead, read the index property of
the group object. This adds support for groups, other than DGROUP, when
  writing omf relocations.

git-svn-id: trunk@39276 -
2018-06-22 14:29:09 +00:00
nickysn
c8fc7c84c8 * avoid adding a section to a group twice in TOmfObjData.createsection
* add all sections, belonging to a group directly inside TOmfObjOutput.AddGroup,
  based on the TObjSectionsGroup.members array

git-svn-id: trunk@39275 -
2018-06-21 21:14:54 +00:00
nickysn
8a34bd22b8 * pass a TObjSectionGroup object as parameter to TOmfObjOutput.AddGroup, instead
of the group name

git-svn-id: trunk@39273 -
2018-06-21 20:45:52 +00:00
nickysn
d3db9e101a * don't check for the presence of the group in TOmfObjOutput.AddSegmentToGroup,
because, it is no longer possible for it to not be present (all the groups
  are added beforehand now)

git-svn-id: trunk@39272 -
2018-06-21 20:33:24 +00:00
nickysn
9a0eca52cb * changed the type of TOmfObjSection.PrimaryGroup from string to
TObjSectionGroup, so instead of holding the group's name, it now points to the
  TObjSectionGroup object, from which you can retrieve its name or any of the
  other fields and properties it contains

git-svn-id: trunk@39271 -
2018-06-21 16:28:06 +00:00
nickysn
42f06acaeb + also create the primary section group and add the newly created section to it
in TOmfObjData.createsection

git-svn-id: trunk@39270 -
2018-06-21 16:14:42 +00:00
nickysn
f4e26f382f + added an 'index' field to TObjSectionGroup, specifying the index of the group
in the object file (similar to TObjSection.index, but for groups, instead of
  sections). Set the new index field, when writing .obj files with the internal
  omf object writer.

git-svn-id: trunk@39269 -
2018-06-21 15:51:58 +00:00
nickysn
ab47c8b899 + introduce the omf_section_primary_group function. Use it instead of
section_belongs_to_dgroup, to allow sections to belong to groups, other than
  dgroup.

git-svn-id: trunk@39268 -
2018-06-21 13:21:53 +00:00
svenbarth
3f96c0baed * use reverse_longword() instead of reverse_byte(); fixes the management operators of records inside classes on big endian systems
git-svn-id: trunk@39265 -
2018-06-20 21:11:19 +00:00
svenbarth
af6f094420 + add reverse_longword() function that reverses the bit pattern for a longword, just like reverse_byte() and reverse_word() do for Byte and Word respectively
git-svn-id: trunk@39264 -
2018-06-20 21:10:19 +00:00
svenbarth
fa0765d131 * regenerate msg*.inc files after addition of the warning for array operators
git-svn-id: trunk@39262 -
2018-06-20 19:54:02 +00:00
svenbarth
fa78bb0e89 * warn if the compiler hides an eventual "+" operator overload if modeswitch ArrayOperators is active
git-svn-id: trunk@39261 -
2018-06-20 19:53:56 +00:00
svenbarth
7522a34a67 + add a message that can be used if an internal operator hides an existing operator overload
git-svn-id: trunk@39260 -
2018-06-20 19:53:50 +00:00
svenbarth
97acf24290 + add a new modeswitch ArrayOperators which is set by default in Delphi modes that enables the internal array operators (currently only "+")
git-svn-id: trunk@39259 -
2018-06-20 19:53:43 +00:00
svenbarth
9b45f58c0b + add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators
git-svn-id: trunk@39258 -
2018-06-20 19:53:34 +00:00
svenbarth
8536abce8a * as the management operator feature is not platform specific using a specific define for it aside from a
version check is unnecessary, thus remove the FPC_HAS_MANAGEMENT_OPERATOR define and instead check for VER3_0

git-svn-id: trunk@39257 -
2018-06-20 19:00:24 +00:00
svenbarth
ac0322c323 + add a flags field to the record init RTTI which declares whether
a) the current record contains a field with non-trivial initialization
    b) and of the parents contains such a field (only relevant for objects and classes)

git-svn-id: trunk@39255 -
2018-06-20 19:00:17 +00:00
svenbarth
61bde67082 + add method has_non_trivial_init_child() to tdef which provides access to the symtable's
sto_has_non_trivial_init flag

git-svn-id: trunk@39253 -
2018-06-20 19:00:11 +00:00
svenbarth
cc153176f3 + add a new symtable option sto_has_non_trivial_init that is true if the symtable contains a symbol with an
Initialize() operator (like sto_needs_init_final this flag is calculated on demand)
* increase PPU version

git-svn-id: trunk@39252 -
2018-06-20 19:00:08 +00:00
svenbarth
80ed66f349 * move calculation of sto_needs_init_final to a separate method do_init_final_check()
git-svn-id: trunk@39251 -
2018-06-20 19:00:05 +00:00
nickysn
1631d9ac0a + support segments (sections) with a primary group, other than 'DGROUP' in the
NASM assembler writer

git-svn-id: trunk@39246 -
2018-06-20 16:14:41 +00:00
nickysn
5eb69edf9e + support segments (sections) with a primary group, other than 'DGROUP' in the
OMF internal object writer

git-svn-id: trunk@39245 -
2018-06-20 14:57:20 +00:00
florian
0d168796d7 * patch by J. Gareth Moreton: More Peephole optimizations for AND and MOV
git-svn-id: trunk@39242 -
2018-06-18 20:50:08 +00:00
nickysn
7fcec8460f + parse OMF COMENT records when reading object files and produce error messages
for the records that are not supported, but are important for the executable
  being produced (such as weak/lazy externals, etc.)

git-svn-id: trunk@39241 -
2018-06-18 14:48:04 +00:00
florian
a0b343a787 * patch by J. Gareth Moreton for less invasive DEBUG_AOPTCPU
git-svn-id: trunk@39239 -
2018-06-17 14:56:19 +00:00
nickysn
3aff9d6735 * set MemPos to 0 for each debug .MZ section. This fixes all references within
the debug sections themselves.

git-svn-id: trunk@39235 -
2018-06-15 14:49:43 +00:00
svenbarth
22a5e5e4ee * the symbol parsed for "specialize" does not need to be a type; it could be a procsym or some other type (e.g. a constant of the same name in a third unit)
git-svn-id: trunk@39233 -
2018-06-15 13:49:26 +00:00
svenbarth
598ac21791 * if the generic dummy symbol is a procsym (with procdefs added) then this is the symbol that should be resolved to
git-svn-id: trunk@39232 -
2018-06-15 13:49:21 +00:00
svenbarth
8423fd7632 * also process procsyms when adding a symtable as they may be generic dummy symbols as well
git-svn-id: trunk@39231 -
2018-06-15 13:49:16 +00:00
svenbarth
5510b13975 * ensure that sto_has_generic is set when a generic routine has been parsed
git-svn-id: trunk@39230 -
2018-06-15 13:49:03 +00:00
nickysn
84b5265312 + append a TIS trailer after the debug ELF (this helps the watcom debugger find
the beginning of the ELF debug image)

git-svn-id: trunk@39229 -
2018-06-15 13:41:40 +00:00
nickysn
480eedac9f * fix/pretty print the segment and group list with too long segment/group/class
names in the linker map file, produced by the i8086 internal linker

git-svn-id: trunk@39228 -
2018-06-15 00:03:58 +00:00
nickysn
8af56ad6c8 * fixed silly (caused by copy/paste) bug when writing elf section contents in the dwarf debug binary, produced by TMZExeOutput.writeDebugElf
git-svn-id: trunk@39227 -
2018-06-14 16:29:25 +00:00
nickysn
11cf2a6996 * emit a warning, when encountering an omf reference to a section, that has been
removed due to smartlinking

git-svn-id: trunk@39226 -
2018-06-14 16:22:47 +00:00
nickysn
c41f736958 + allow MemPos_EndExeSection to be called with an empty section name
git-svn-id: trunk@39225 -
2018-06-14 16:17:00 +00:00
nickysn
97365abbcf + set the oso_debug flag to dwarf MZ exe sections
git-svn-id: trunk@39224 -
2018-06-14 16:15:11 +00:00
nickysn
239fb25179 + assign an MZExeUnifiedLogicalSegment object to the OMF dwarf sections, so that
OMF relocations work on them too

git-svn-id: trunk@39223 -
2018-06-14 16:03:05 +00:00
nickysn
7103e3cb5c + set the oso_debug section flags when reading an OMF section, which belongs to
the 'DWARF' class

git-svn-id: trunk@39222 -
2018-06-14 15:27:08 +00:00
nickysn
b7bfac11cb + enable using the i8086 internal linker with debug info, if the compiler is
compiled with -di8086_link_intern_debuginfo

git-svn-id: trunk@39221 -
2018-06-14 15:24:39 +00:00
nickysn
5b47bad32a * use uppercase object section names in the OMF linker script for matching the
dwarf debug sections. This is because they are converted to upper case when
  reading (so that we treat omf section names as case-insensitive)

git-svn-id: trunk@39220 -
2018-06-14 15:19:11 +00:00
nickysn
c56ebad183 + implemented writing of dwarf debug info (by calling writeDebugElf) in
TMZExeOutput.writeData. Note that writing i8086 debug info with the internal
  linker is still disabled (i.e. it switches to external linking) in 
  options.TOption.checkoptionscompatibility

git-svn-id: trunk@39219 -
2018-06-14 14:30:59 +00:00
nickysn
29b3ec3fdb * call MaybeSwapHeader and MaybeSwapSecHeader in TMZExeOutput.writeDebugElf, so
the debug ELF file is generated with the correct endianness

git-svn-id: trunk@39218 -
2018-06-14 13:02:54 +00:00
nickysn
b34ab6b279 * The MaybeSwapXXXHeader functions moved from ogelf to the elfbase unit, so they
can be used by TMZExeOutput.writeDebugElf as well

git-svn-id: trunk@39217 -
2018-06-14 13:01:08 +00:00
nickysn
daa47f4b7f + completed the internal debug ELF writer in TMZExeOutput.writeDebugElf (not
enabled yet)

git-svn-id: trunk@39216 -
2018-06-13 16:08:54 +00:00
svenbarth
be0d51d64c * allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
+ added tests

git-svn-id: trunk@39215 -
2018-06-12 19:40:45 +00:00
svenbarth
da672d1344 * instead of using separate booleans use a set to keep track of pending changes for popped settings
git-svn-id: trunk@39214 -
2018-06-12 19:40:41 +00:00
nickysn
b3e4ace4e3 * fixed compilation of .com files in the i8086 tiny memory model, when used with
section based smartlinking

git-svn-id: trunk@39213 -
2018-06-12 00:38:51 +00:00
nickysn
420a57ddc6 * use upper case OMF section names when using i8086 section-based smart linking
git-svn-id: trunk@39212 -
2018-06-12 00:14:08 +00:00
nickysn
b9ab9e5782 + initial (experimental) implementation of section-based smartlinking for i8086.
Use -dI8086_SMARTLINK_SECTIONS to enable.

git-svn-id: trunk@39211 -
2018-06-11 16:56:33 +00:00
nickysn
bfdd75eabf + support AB_LOCAL symbols in OMF object files, by implementing support for
LPUBDEF/LPUBDEF32 OMF records

git-svn-id: trunk@39210 -
2018-06-11 15:29:23 +00:00
nickysn
188e9ff64a * only read the first OMF record in TOmfLibObjectWriter.closefile, since we no
longer copy the entire file there, so we parse the file only to get the module
  name, and the THEADR record should always be the first record in the OMF file.

git-svn-id: trunk@39198 -
2018-06-08 14:21:18 +00:00
nickysn
3f5577077a * automatically create omf libraries with the smallest page size possible. This
greatly reduces the size of i8086 snapshots by keeping the amount of padding
  in the library files to the minimum.

git-svn-id: trunk@39195 -
2018-06-07 22:27:47 +00:00
nickysn
345713c1fa * refactored omf library writing, so that the whole library is written in
TOmfLibObjectWrite.WriteLib, after determining the page size (currently still
  fixed to 512 bytes). Prerequisite for OMF lib page size optimization.

git-svn-id: trunk@39194 -
2018-06-07 22:11:03 +00:00
nickysn
00c6826896 * moved the PageNum property of TOmfLibObjectWriter.TOmfLibDictionaryEntry to
TOmfLibObjectWriter.TOmfLibObjectModule. Instead, store the module index (in
  FObjectModules) in TOmfLibDictionaryEntry. This is a prerequisite for
  implementing OMF library page size optimization.

git-svn-id: trunk@39193 -
2018-06-07 18:32:50 +00:00
nickysn
4bcfe8dbb2 * refactored TOmfLibObjectWriter, so it keeps all object modules in a
TFPObjectList. This will allow implementing omf library page size optimization
  later.

git-svn-id: trunk@39192 -
2018-06-07 15:03:05 +00:00
nickysn
af5e6e182d * the TOmfLibDictionaryEntry class in unit owomflib converted to two identical
nested classes inside TOmfLibObjectWriter and TOmfLibObjectReader. The reason
  is I'm planning to change the class, used in TOmfLibObjectWriter, but not the
  one in TOmfLibObjectReader. And using nested classes keeps things clean and
  avoids exposing implementation details in the interface of the owomflib unit.
* also changed 'private' to 'strict private' in the classes of the owomflib to
  reduce the risk of interference between TOmfLibObjectWriter and TOmfLibObjectReader.

git-svn-id: trunk@39191 -
2018-06-07 12:24:36 +00:00