Commit Graph

549 Commits

Author SHA1 Message Date
florian
2a93e65511 * seperator => separator 2022-01-02 13:12:33 +01:00
florian
d2447026de + modeswitch UNDERSCOREISSEPERATOR, active by default in delphi modes:
support _ as seperator in numbers, it is ignored while reading them, resolves #39504
2022-01-01 23:28:36 +01:00
ccrause
5289aab4f2 Add -WP option so that IDF version can be passed in - stored in globals.idf_version. The version is checked in t_freertos.pas and for esp-idf version 4.3.x an extra link file is added, also running ldgen.py is skipped as that seems unused. 2021-11-29 22:42:49 +01:00
florian
e4ee8fa6a2 * patch by Rika to pass some strings by reference, resolves #39338 2021-11-09 22:41:52 +01:00
florian
5065e4ba50 * fix code for ARM FPA, just in case ... 2021-09-13 22:55:44 +02:00
Károly Balogh
c9b90ccde0 m68k: sinclair ql now requires vlink 0.16h or newer.
git-svn-id: trunk@49296 -
2021-04-29 22:23:58 +00:00
Károly Balogh
f718567c95 sinclairql: support the upcoming QL binary linking feature of vlink (still in development). it's behind an undocumented -WL switch now. also, reduce the amount of used dataspace by the size of the relocation table in the current linking mode
git-svn-id: trunk@49234 -
2021-04-19 19:09:34 +00:00
nickysn
f9daec43ef * synchronized with trunk
git-svn-id: branches/wasm@47588 -
2020-11-25 21:59:19 +00:00
Károly Balogh
45fc515400 sinclairql: added platform specific options to allow specifying executable metadata format
git-svn-id: trunk@47567 -
2020-11-25 01:48:36 +00:00
nickysn
509821260e * synchronized with trunk
git-svn-id: branches/wasm@47448 -
2020-11-19 01:12:38 +00:00
pierre
c44095733c * Give access to CPU specific fields of tsettings record
in GENERIC_CPU mode, to be used by ppudump utility.

  generic/cpuinfo.pas: Add tinstructionset, used for ARM cpu.
  globals.pas: Put all CPU specific fields of tsettings record
  inside a variant part when GENERIC_CPU is defined.
  Also import llvm unit when GENERIC_CPU is defined.

  + utils/Makefile.fpc: Add -Fu../llvm option to compile ppudump,
  as it now also needs llvm specific code decause of globals unit change.

git-svn-id: trunk@47438 -
2020-11-16 22:34:38 +00:00
nickysn
578750a646 * synchronized with trunk
git-svn-id: branches/wasm@47135 -
2020-10-19 05:06:33 +00:00
florian
9ea52b8578 + new switches -DD and DT which allow to pass an arbitrary string which is used by %DATE%/%TIME%
git-svn-id: trunk@47132 -
2020-10-18 17:13:38 +00:00
nickysn
fd772822d1 * synchronized with trunk
git-svn-id: branches/wasm@47045 -
2020-10-03 21:39:57 +00:00
florian
3463d469bf * set default processor for i386 to Pentium2
git-svn-id: trunk@47034 -
2020-10-02 19:40:09 +00:00
nickysn
9cc67f4bf8 * synchronized with trunk
git-svn-id: branches/wasm@46538 -
2020-08-21 21:20:41 +00:00
svenbarth
5801a7431c * reset idfpath when globals are initialized (needed for the textmode IDE)
git-svn-id: trunk@46535 -
2020-08-21 12:37:42 +00:00
nickysn
c1197ddb90 * synchronized with trunk
git-svn-id: branches/wasm@46529 -
2020-08-20 21:45:40 +00:00
florian
7157bac9fd * patch by Christo Crause, resolves #37335
* ESP8266 support for t_freertos.pas
    + -Ff switch to be able to pass the IDF_PATH without using an evironment variable

git-svn-id: trunk@46527 -
2020-08-20 21:29:48 +00:00
nickysn
62cb7c2d12 * synchronized with trunk
git-svn-id: branches/wasm@46214 -
2020-08-03 21:15:39 +00:00
nickysn
95bed362ba [PATCH 02/83] updating common FPC sources for WASM target
From 7705a37c1f11687c3d465c4645357d6679150996 Mon Sep 17 00:00:00 2001
From: Dmitry Boyarintsev <skalogryz.lists@gmail.com>
Date: Wed, 28 Aug 2019 17:01:14 -0400

git-svn-id: branches/wasm@45879 -
2020-07-29 16:01:48 +00:00
nickysn
784237ee33 * tcputype.cpu_z80 renamed .cpu_zilog_z80
git-svn-id: branches/z80@45138 -
2020-04-27 15:47:52 +00:00
nickysn
d2c32efb7b * synchronized with trunk
git-svn-id: branches/z80@44809 -
2020-04-18 23:47:30 +00:00
Jonas Maebe
ea2e516b4e + -ib parameter to print the code generator backend type: FPC or LLVM
* some cleanups related to -i printing

git-svn-id: trunk@44787 -
2020-04-18 15:44:42 +00:00
nickysn
1cfbae82c6 * synchronized with trunk
git-svn-id: branches/z80@44710 -
2020-04-12 20:45:34 +00:00
michael
71784254ab * Use exepath on all platforms
git-svn-id: trunk@44700 -
2020-04-12 10:52:24 +00:00
michael
39fa965790 * Use exepath on all platforms
git-svn-id: trunk@44699 -
2020-04-12 10:51:14 +00:00
michael
02ed51ea25 * Do not expand FPCBINDIR on darwin
git-svn-id: trunk@44698 -
2020-04-12 09:32:03 +00:00
michael
f3560004cf * Add FPCBINDIR macro for paths
git-svn-id: trunk@44697 -
2020-04-12 07:56:01 +00:00
nickysn
6e346f1c79 * synchronize with trunk
git-svn-id: branches/z80@44444 -
2020-03-30 22:36:17 +00:00
Jonas Maebe
79974a9671 + -XlS<x> option to specify a suffix for externally called LLVM utilities,
e.g. -XlS-7 to call clang-7 instead of clang)
  * IMPORTANT: changed the -CL llvm code generation options to -Cl, for
    consistency with the new -Xl option (-XL was already taken)

git-svn-id: trunk@44436 -
2020-03-30 19:58:49 +00:00
nickysn
755fe97c51 * synchronize with trunk
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
florian
9e40d536cb + Xtensa: initial skeleton completed
+ xtensa-embedded support in the compiler

git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
Jonas Maebe
c477816100 - removed LLVM support for clang < 7.0 and Xcode < 10.0: those versions
contain various bugs and can't even complete "make all", so there is no
    point in keeping them
   o changed default LLVM target version to 7.0

git-svn-id: trunk@43682 -
2019-12-14 14:59:05 +00:00
pierre
0fa70759a2 * cutils.pas (size_2_align): Move to..
globals.pas (size_2_align): ...here.
     Change parameter type to asizeuint to avoid overflows.
     (var_align_size, const_align_size): Also change parameter type to asizeuint.
     i386/cpupara.pas, i8086/cpupara.pas, x86_64/cpupara.pas: Add globals
     to implementation uses clause because of size_2_align move.

git-svn-id: trunk@43022 -
2019-09-16 14:50:43 +00:00
svenbarth
24c4b90343 * instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit)
+ added test

git-svn-id: trunk@42362 -
2019-07-12 22:05:18 +00:00
svenbarth
b2932393df Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.

git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00
Jeppe Johansen
a1a17447ff - Fix bug in 64bit softfloat double negation.
- Clean up handling of CPU/FPU type handling in RISCV.
- Do more fixes to get RISCV32 working.
- Fix most soft multiplication handling for generic RISCV code. Still missing a few.
- Add RISCV embedded targets.

git-svn-id: trunk@42335 -
2019-07-07 11:32:27 +00:00
Jonas Maebe
fc60ec2ea4 + support for LLVM LTO: compile units with -CLflto -> when compiling a main
program/library also with -Clflto, all units compiled with that option
    will be linked using their bitcode files and LTO
   o compiling with -CLflto will compile all units twice: once for normal
     (static or smart) linking, and once for LTO. So the result can be
     used both with and without LTO.

git-svn-id: branches/debug_eh@41910 -
2019-04-20 18:56:11 +00:00
Jonas Maebe
a7bd37d17a * synchronised with trunk till r40776
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
nickysn
261114ff32 + introduce the $OPENBSD_LOCALBASE and $OPENBSD_X11BASE pseudo variables; these
may now be used in fpc.cfg, etc. They evaluate to /usr/local and /usr/X11R6 by
  default, but may optionally be overriden via the LOCALBASE and X11BASE
  environment variables.
* use the new $OPENBSD_LOCALBASE and $OPENBSD_X11BASE variables in the default
  library search path on OpenBSD

git-svn-id: trunk@41755 -
2019-03-20 17:03:11 +00:00
Jonas Maebe
cf65c55b72 * support specifying the target LLVM/Xcode version
git-svn-id: branches/debug_eh@41727 -
2019-03-17 15:28:20 +00:00
Jonas Maebe
dee1056546 * fixed wrong change of jumpalignmax from 10 to 16 in previous commit
o renamed jumpalignmax and coalescealignmax to jumpalignskipmax/
     coalescealignskipmax to better reflex the meaning of these setting
     (and the difference in meaning to e.g. constalignmax)

git-svn-id: trunk@40682 -
2018-12-28 13:22:50 +00:00
florian
0d50a63c7d + tsettings.tlsmodel
git-svn-id: trunk@40271 -
2018-11-07 22:03:01 +00:00
pierre
d55f80d2f9 Really change extension of hs1 local variable in get_exepath
git-svn-id: trunk@40236 -
2018-11-06 07:40:31 +00:00
florian
a092da723a + new fields for more precise control of alignment
+ support of new alignment control values for GNU AS writer
+ support of new alignment control values for binary writer
* better alignment settings on i386-win32
* improved inserted align directives for if nodes

git-svn-id: trunk@40159 -
2018-11-01 20:49:17 +00:00
Jeppe Johansen
054bf32f1f Add RV64GC cpu type.
Fix float loading.
Fix a number of small issues with wrong operand sizes.
Fixed concatcopy code generation.
Align jump table for case statements.

git-svn-id: branches/laksen/riscv_new@39481 -
2018-07-21 22:34:42 +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
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
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