yury
692c287c3e
* Undef FPC_HAS_TYPE_EXTENDED for x86_64-android.
...
git-svn-id: trunk@39961 -
2018-10-17 18:46:04 +00:00
yury
671d31df1d
+ Added support for the aarch64-android target.
...
git-svn-id: trunk@39862 -
2018-10-06 09:33:09 +00:00
pierre
0e0b43889f
Use vfpv2 as default fpu for eabihf if cpu is below armv7
...
git-svn-id: trunk@39849 -
2018-10-01 21:50:13 +00:00
Károly Balogh
b4a7d6a82e
cleanup: remove ARMHF-related comments from RISC-V only codepath. no functional change.
...
git-svn-id: trunk@39827 -
2018-09-27 07:04:04 +00:00
pierre
578e60e6ef
Fix default CPUs for riscv32
...
git-svn-id: trunk@39819 -
2018-09-26 21:56:36 +00:00
Jeppe Johansen
d33b520690
Clean up peephole optimization code.
...
Add hardfloat ABI option for RiscV. Still needs proper implementation though.
Add CG support for profiling.
git-svn-id: branches/laksen/riscv_new@39798 -
2018-09-24 17:15:22 +00:00
florian
3c69f9a066
+ basic infrastructure to generate code for floating point exception
...
checking for CPUs without floating point exception support
git-svn-id: branches/laksen/riscv_new@39637 -
2018-08-19 10:54:45 +00:00
Jeppe Johansen
ceb38833f2
Added RiscV32/64 target, from a cleaned up version of branches/laksen/riscv/trunk.
...
git-svn-id: branches/laksen/riscv_new@39474 -
2018-07-20 08:21:15 +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
Károly Balogh
d8f7fd008e
atari: enable vlink for native builds as default
...
git-svn-id: trunk@35222 -
2017-01-03 13:58:49 +00:00