Commit Graph

880 Commits

Author SHA1 Message Date
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
florian
c146aecc01 * throw an error if the forward interface type and the actual interface type do not match, resolves #36720
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
florian
b7afb2431c * do not allow constraints in headers of procedure implementations in delphi mode, resolves #36584
* better error message if a constraint is found at a wrong location

git-svn-id: trunk@44174 -
2020-02-14 20:56:55 +00:00
svenbarth
20698bb36f * regenerate msg*.inc after last commit
git-svn-id: trunk@44171 -
2020-02-14 16:49:04 +00:00
florian
2135b9b724 * for avr1, do not save registers during an interrupt procedure, as it has no memory to store them
git-svn-id: trunk@44139 -
2020-02-09 14:35:56 +00:00
florian
a905a074b0 * AVR: decide after compiler if a certain subroutine is suitable for avr1, if not, replace it by sleep and warn
git-svn-id: trunk@44133 -
2020-02-08 22:05:21 +00:00
Tomas Hajny
8de6066b95 + added possibility to list supported modeswitches using -im and documented it in help pages
git-svn-id: trunk@44120 -
2020-02-05 22:37:43 +00:00
Tomas Hajny
f4702ee139 * added information about -M allowing to specify modeswitches
git-svn-id: trunk@44115 -
2020-02-04 22:28:23 +00:00
marco
a640a8d21e * regenned msgtxt.inc
git-svn-id: trunk@44009 -
2020-01-21 13:21:59 +00:00
svenbarth
707f722531 * regenerate msg*.inc files after adding a new error message related to C blocks
git-svn-id: trunk@43685 -
2019-12-14 16:45:42 +00:00
florian
fb4b1cbf35 * warn only in delphi mode if an explicit enumeration value exceeds the range, relaxes r43191
git-svn-id: trunk@43590 -
2019-11-25 20:58:20 +00:00
svenbarth
1e66b2464a * regenerate msg*.inc files after adding new error messages for undefined symbols
git-svn-id: trunk@43548 -
2019-11-21 21:45:08 +00:00
florian
e1433adc2e * check in the internal assembler for references with incorrect use of RIP
+ test

git-svn-id: trunk@43461 -
2019-11-13 20:47:42 +00:00
florian
cc703a9c59 + include -Avasm into the help screen
git-svn-id: trunk@43311 -
2019-10-26 08:37:20 +00:00
florian
626ef4ae0c * give an error if an explicit enumeration valid exceeds the valid range, resolves #34633
git-svn-id: trunk@43191 -
2019-10-13 15:48:21 +00:00
florian
d8e2db2691 + command line switch -CV to select the threadvar model for section threadvars
git-svn-id: trunk@43071 -
2019-09-25 21:19:04 +00:00
florian
f883dd6dbb Synchronized with trunk, part 2 (make all works, avx-512 support not yet tested, no regression testing yet)
git-svn-id: branches/tg74/avx512@42643 -
2019-08-10 19:38:35 +00:00
florian
746bfced25 Synchronized with trunk, part 1 (only make cycle tested, make all is broken, avx-512 support not yet tested
git-svn-id: branches/tg74/avx512@42642 -
2019-08-10 13:53:20 +00:00
Jonas Maebe
46afcbb362 * an incomplete case statement is not an error in ISO Pascal (mantis #35910)
* give a compile-time error in ISO/Extended Pascal if the compiler can prove
    the case selector value is not handled, and a warning in other modes
    (mantis #35915)
   o trigger the case node simplification at the end of the case node typecheck
     pass, like for other nodes

git-svn-id: trunk@42574 -
2019-08-03 13:47:27 +00:00
svenbarth
7809930b08 * fix for Mantis #35903: apply patch by J. Gareth Moreton to update the copyright year to 2019
git-svn-id: trunk@42558 -
2019-08-02 13:16:14 +00:00
svenbarth
04a50733ad * get rid of the scanner message for attributes for real this time (sometimes I *really* hate Git -.-)
git-svn-id: trunk@42413 -
2019-07-13 09:37:44 +00:00
Károly Balogh
4d6b8a6c45 fixed the messy state of messages after recent custom attributes merge. fixed a typo, fixed double definition of message 3350, restored a message that was removed but still used, so the build passes at least.
git-svn-id: trunk@42412 -
2019-07-13 07:34:07 +00:00
svenbarth
6db674cd02 * regenerate msg*.inc files
git-svn-id: trunk@42411 -
2019-07-12 22:08:22 +00:00
svenbarth
f91e38d1bd Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 2/3]
Regenerated compiler/msgidx.inc and compiler/msgtxt.inc.

git-svn-id: trunk@42357 -
2019-07-12 22:04:53 +00:00
Jonas Maebe
c262c5dbc9 * synchronised with trunk till r42256
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
nickysn
697f2fcf75 * prettify the "Use of -offset(%esp), access may cause a crash or value may be
lost" warning by showing the exact register used (esp or rsp) and using the
  asm syntax (Intel or AT&T) used originally in the code

git-svn-id: trunk@42211 -
2019-06-10 16:19:06 +00:00
nickysn
4f2ab3fb11 * prettify the "Use of -offset(%ebp) is not recommended for local variable
access" warning by showing the exact register used (bp, ebp or rbp) and using
  the original asm syntax

git-svn-id: trunk@42208 -
2019-06-10 15:26:46 +00:00
nickysn
1e07606cbf * prettify the "Use of +offset(%ebp) is not compatible with regcall convention"
and "Use of +offset(%ebp) for parameters invalid here" warning messages by
  showing the exact register used (bp, ebp or rbp) and using the original asm
  syntax (Intel: [EBP+offset]; AT&T: +offset(%ebp) )

git-svn-id: trunk@42207 -
2019-06-10 15:08:46 +00:00
Jonas Maebe
9a327f1fcd * ensure the LLVM-based compiler does not try to load units compiled with a
non-LLVM-base compiler and vice versa (caused internal errors, because
    the LLVM compiler uses different nodes, and these are saved in the PPUs
    for inline routines)

git-svn-id: branches/debug_eh@42196 -
2019-06-08 20:17:10 +00:00
Jonas Maebe
1b6425176b * synchronised with trunk till r42049
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
ba1b4b1c92 + support for verifying whether a case statements handles all possibilities
(based on patch by Martok)
   o enabled by default in ISO and Extended Pascal: compile-time error if not
     the case in ISO mode, warning and run-time error in Extended Pascal mode
   o warning enabled by default in all other modes for boolean, enumeration and
     subrange integer types with ranges different from the default ones
     (i.e., different from 0..255, -128..127, 0..65536, etc)
   o warnings for all ordinal types can be enabled in all modes with
     -CC

git-svn-id: trunk@42047 -
2019-05-12 14:29:11 +00:00
Jonas Maebe
cd3e4d26d4 * recognise extra llvm/Xcode versions
git-svn-id: branches/debug_eh@41912 -
2019-04-20 18:56:19 +00:00
Jonas Maebe
46efaf4b2c + support for -CLflto_nosystem option to perform LTO for everything except
for the system unit, as there are several bugs in the Xcode linkers
    that trigger when the system unit is involved:
   o Xcode 9.3: the second symbol associated with routines that have multiple
     symbols (such as FPC_INTERLOCKED*) gets moved to the next routine (so
     e.g. calling InterlockedIncrement results in calling InterlockedExchange)
   o Xcode 10.1: the linker does not generate native code for the personality
     routine (probably because it's not referenced directly anywhere)

git-svn-id: branches/debug_eh@41911 -
2019-04-20 18:56:15 +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
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
bc77aad3d9 * give an error when trying to call through to a C varargs routine with a
high level code generator
   o we cannot create a high-level stub in that case

git-svn-id: trunk@41443 -
2019-02-24 19:58:44 +00:00
Jonas Maebe
b2b34338e5 * give an error when trying to call an object instance method via a type node
(mantis #34821)

git-svn-id: trunk@40785 -
2019-01-06 15:21:36 +00:00
svenbarth
4afe3c6788 * regenerate msg*.inc files after addition of error message
git-svn-id: trunk@40655 -
2018-12-26 11:25:57 +00:00
pierre
67fe756642 Regenerate msgid and msgtxt include files after commit 40422
git-svn-id: trunk@40425 -
2018-12-01 16:18:58 +00:00
yury
5c5dc2ed50 * Changed verbosity of ""???" not yet supported inside inline procedure/function" to note to be consistent with note "Call to subroutine "?" marked as inline is not inlined".
git-svn-id: trunk@40255 -
2018-11-07 12:57:23 +00:00
pierre
4c0a213f0d Add -Tlinux and -Tembedded help lines for riscv32 and riscv64 compilers
git-svn-id: trunk@39945 -
2018-10-16 10:41:27 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
svenbarth
03a036c6cb * regenerate msg*.inc after adding messages for mismatching generic declarations
git-svn-id: trunk@39701 -
2018-09-02 16:20: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
tg74
867d145e50 support vector operand bcst,{sae},{er} + k-register
git-svn-id: branches/tg74/avx512@39457 -
2018-07-16 17:06:57 +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
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
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
4354821f05 * regenerate msg* files after r39078
git-svn-id: trunk@39079 -
2018-05-21 08:14:21 +00:00
svenbarth
31a9ed573c * regenerate msg* files after addition of the new message for static array constants inside dynamic array
constants

git-svn-id: trunk@39044 -
2018-05-20 11:50:24 +00:00