Commit Graph

747 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
florian
68eb921d46 * broken compilation after r39347 fixed
git-svn-id: trunk@39349 -
2018-06-30 12:30:25 +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
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
9a4a61ab97 * automatically switch to external linking (and show message) when requested to
generate debug info on the i8086 targets

git-svn-id: trunk@39017 -
2018-05-17 16:11:51 +00:00
nickysn
b80642c384 + started implementing support for generating Microsoft CodeView debug
information. Only enabled on i8086 (for now). Does not do much yet, but
  hopefully, soon it'll start emitting line number information for i8086-msdos
  that is usable by DOS debuggers.

git-svn-id: trunk@39006 -
2018-05-16 15:25:33 +00:00
svenbarth
11f673a991 * also allow a ";"-separated list of namespaces for -FN
+ added test

git-svn-id: trunk@38939 -
2018-05-06 21:16:51 +00:00
svenbarth
760e1f3776 * default namespaces are specified using the new -FN<x> option whereby <x> is the namespace to be added to the
list of default namespaces

git-svn-id: trunk@38919 -
2018-05-05 17:18:47 +00:00
florian
5d17b335a6 * based on patch by Christo Crause: when setting the controller type, set also the sub architecture, resolves #33189
git-svn-id: trunk@38285 -
2018-02-18 21:19:35 +00:00
florian
5c18758b12 + based on a patch by Christo Crause create a define for the selected controller type (FPC_MCU_...), resolves #33191
git-svn-id: trunk@38284 -
2018-02-18 18:30:28 +00:00
pierre
22c4c349a6 force dwarf-2 debug format if used assembler does not support stabs (as indicated by new af_no_stabs flag)
git-svn-id: trunk@38239 -
2018-02-14 15:19:12 +00:00
Károly Balogh
75158d02ca m68k: set palmos to use 68000 and no FPU by default
git-svn-id: trunk@37916 -
2018-01-06 08:43:20 +00:00
pierre
0c3486f6e4 Add 'U' to list of first pass parsing, required to set cs_compilesystem early and avoid false error
git-svn-id: trunk@37908 -
2018-01-04 16:37:13 +00:00
Károly Balogh
6094910917 amiga/m68k: disable dynlibs feature. while the amiga has dynamic libraries, they have a different architecture, which don't mix with this feature. powerpc amiga could support the mainstream-style dynlibs, so keep it enabled there.
git-svn-id: trunk@37880 -
2017-12-30 07:00:15 +00:00
Károly Balogh
05642cd495 atari: switch off threading for atari tos. i think if we'll ever support MiNT, that should be a separate target, with all the advanced features enabled
git-svn-id: trunk@37877 -
2017-12-30 06:49:39 +00:00
florian
b41cb26727 + write selected features in ppu of the system unit and load them further on
* ppu version update
* -Sf might be used only during system unit compilation
* loadsystemunit factored out so the system unit can be loaded earlier than other units to get features set

git-svn-id: trunk@37708 -
2017-12-10 16:32:56 +00:00
nickysn
1c8b607d92 - disable threading on win16
git-svn-id: trunk@37669 -
2017-12-03 15:37:50 +00:00
florian
7fa9d267e3 * correctly set cpu defines after r37582, even if architecture and cpu type defines are equal (like CPUMIPS32), resolves #32687
git-svn-id: trunk@37590 -
2017-11-13 21:13:53 +00:00
florian
826f208e45 * define CPU and FPU type macros before the second parsing of the parameters so they can be used in config files
git-svn-id: trunk@37582 -
2017-11-12 22:14:18 +00:00
svenbarth
fcc1ce7a08 * fix for Mantis #30344: applied patch by Mario Ray Mahardhika to add new command line option -Sj[-|+] to control writeable typed constants (with a small adjustment to the help text)
+ added test

git-svn-id: trunk@37437 -
2017-10-09 19:19:23 +00:00
pierre
fee49a3e40 Disable threading feature for arm-palmos (like it is done for m68k-palmos)
git-svn-id: trunk@37221 -
2017-09-15 20:27:03 +00:00
nickysn
4e489f2b33 + generate faster, branchless code for abs(int64) on i8086
git-svn-id: trunk@37172 -
2017-09-10 18:58:45 +00:00
nickysn
aefa317474 + fast and branchless implementation of abs(int64) for i386
git-svn-id: trunk@37169 -
2017-09-10 17:25:47 +00:00
Károly Balogh
a87df638e7 m68k-atari: reenable threading feature. even if it's technically unsupported, it breaks the build of too many otherwise applicable packages
git-svn-id: trunk@37033 -
2017-08-22 11:07:10 +00:00
Károly Balogh
8db10af841 m68k: palmos and atari doesn't support threading
git-svn-id: trunk@37027 -
2017-08-22 09:06:52 +00:00
florian
7f72c780d8 * cleanup
git-svn-id: trunk@36960 -
2017-08-20 17:20:42 +00:00
pierre
903955f329 Add 's' for sparc64 specific message prefix
git-svn-id: trunk@36744 -
2017-07-18 12:50:47 +00:00
Károly Balogh
eaa769053b m68k: enable 68881 FPU on Linux and NetBSD by default
git-svn-id: trunk@36699 -
2017-07-08 23:54:39 +00:00
Károly Balogh
177a571af8 morphos/amiga/atari: fixed making vlink default based on the host platform
git-svn-id: trunk@36486 -
2017-06-11 23:33:11 +00:00
nickysn
a34f531661 + implemented support for codepage aware compiler messages. It can be enabled
per platform (currently only enabled for win32 and win64). Enabling it forces
  code page conversion from the codepage of the .msg file to CP_ACP, before
  writing the message to the console. Not enabling it keeps the previous
  behaviour of not doing any kind of code page conversion for messages. This
  feature should be tested and enabled per platform, because it requires code
  page conversion support in the rtl (so it may require adding the appropriate
  extra units, such as fpwidestring). When this feature is enabled for all
  platforms, we can start keeping only one .msg file per language, because
  having extra .msg files for different encodings for the same language becomes
  redundant, since the compiler can do code page conversion to whatever code
  page the console uses.

git-svn-id: trunk@36450 -
2017-06-08 16:11:33 +00:00
florian
024481262c + compiler sets SPARC64 defines
git-svn-id: trunk@36427 -
2017-06-05 21:30:58 +00:00
nickysn
fa645dcaf7 + added abs(smallint) and abs(shortint) for cpus with 8-bit or 16-bit alu
git-svn-id: trunk@36327 -
2017-05-25 14:14:18 +00:00
Károly Balogh
a4c40a51ff m68k: also add options.pas to the previous change
git-svn-id: trunk@36303 -
2017-05-23 00:18:13 +00:00
pierre
ae349a3ccc Handle second argument to -Ch option, -Chx,y y is max heap size
git-svn-id: trunk@36260 -
2017-05-19 21:28:24 +00:00
pierre
b7fab7d39c Add -Wh command line option to enable HugeCode (equivalent of $F+)
for msdos memory models that support this.
  Add message to document this new command line option.

git-svn-id: trunk@36199 -
2017-05-12 22:49:50 +00:00
pierre
65fadcaa53 Disable threading and dynlibs features for msdos OS target by default
git-svn-id: trunk@36123 -
2017-05-05 15:03:47 +00:00
maciej-izak
af8e0efe57 * Rtti info about Management Operators (MO) in init table for records. Note: commit contains minimal changes for RTL (for proper "make") no functional changes. More RTL changes for fully functionally MO in next commits.
compiler/ncgrtti.pas
  + write_record_operators procedure which fills simple VMT like table for MO.
  * recorddef_rtti save MO (if exists)
  * objectdef_rtti_fields save nil pointer/entry for objects rtti (have same RTL parts like for records)

compiler/options.pas
  + new define FPC_HAS_MANAGEMENT_OPERATORS

compiler/symconst.pas
  + new item itp_init_record_operators for tinternaltypeprefix enum
  + new entry '$init_record_operators$' in internaltypeprefixName

rtl/inc/rtti.inc
  + new field RecordOp (pointer to MO VMT table) in TRecordInfoInit
  + new types to handle MO VMT: TRTTIRecordOpVMT, PRTTIRecordOpVMT, TRTTIRecCopyOp, TRTTIRecVarOp

rtl/objpas/typinfo.pp
  + RecordOp field for TRecInitData record

git-svn-id: trunk@35445 -
2017-02-19 00:22:59 +00:00
Jonas Maebe
265c8e7bbc + support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
sysv_abi_cdecl calling conventions on x86-64 to force using the SYSV/
    Microsoft ABI on platforms that don't use it by default (mainly to ease
    porting pure assembler routines)

git-svn-id: trunk@35425 -
2017-02-11 19:57:12 +00:00
svenbarth
a9888eba70 * also generate Big Obj COFF files with the GNU utilities (needs 2.25 or newer), at least as long as the new option -a5 isn't given, which disables this
Note 1: using an older AS might fail anyway if the amount of sections is too high (like in packages\odata\src\sharepoint.pp)
Note 2: it might be an idea to keep track of the created sections in the asmlists and only enable the option if *really* necessary (like with the internal COFF output generator), though this might lead to false positives due to multiple sections with the same name (since I'd prefer to use the KISS principle only a counter would be used)

git-svn-id: trunk@35381 -
2017-02-03 22:45:32 +00:00
Jonas Maebe
9cd707a27a * give an error if -Pxxx is specified to the compiler binary and xxx is not
the target architecture this compiler binary supports (mantis #30098)

git-svn-id: trunk@35299 -
2017-01-14 13:50:41 +00:00
florian
29a2c433f7 * -Sr option for iso mode: in case no command line parameter is passed, the file name for program parameters is derived from their variable name
git-svn-id: trunk@35257 -
2017-01-07 14:50:58 +00:00
florian
42cde51805 * ignore warnings caused by boolean expression simplification
git-svn-id: trunk@35231 -
2017-01-04 16:33:31 +00:00