svenbarth
f28ac2bfc6
+ add error messages for undefined symbols (both with a known object file and without)
...
git-svn-id: trunk@43547 -
2019-11-21 21:45:04 +00:00
svenbarth
cd7e3f354b
+ add a description for the link_e_comdat_selection_differs message
...
git-svn-id: trunk@43546 -
2019-11-21 21:45:01 +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
b7a8dd9479
* adjust error message when attributes are unbound
...
git-svn-id: trunk@42410 -
2019-07-12 22:08:17 +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
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
9e9a982bfe
* synchronised with trunk till r42095
...
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
Jonas Maebe
332679e28a
* updated German message files (patch by Karl-Michael Schindler,
...
mantis #35559 )
git-svn-id: trunk@42092 -
2019-05-18 12:29:35 +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
florian
10ab893de3
* improved explanation for warning 9034
...
git-svn-id: trunk@40749 -
2019-01-03 17:38:27 +00:00
svenbarth
425e9114f5
+ add error message that a record or object type is required
...
git-svn-id: trunk@40654 -
2018-12-26 11:25:53 +00:00
marco
b60cbf3329
* systematically capitalize first word of errormsg/sentence, patch by J. Gareth Moreton, mantis 34618
...
git-svn-id: trunk@40422 -
2018-11-30 11:21:50 +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
florian
ee338fc709
* patch by Karl-Michael Schindler to update the german messages files, resolves #34218
...
git-svn-id: trunk@39760 -
2018-09-16 15:13:04 +00:00
svenbarth
cfe75ca0fd
+ add messages to use when generic types of a definition do not match with its declaration
...
git-svn-id: trunk@39700 -
2018-09-02 16:20:18 +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
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
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
b7cc225149
* revert r39043 and r39045 which disallow static array constants inside dynamic constants for Delphi modes
...
git-svn-id: trunk@39078 -
2018-05-21 08:13:17 +00:00
svenbarth
74ca92b5dc
+ add a message that will be used to complain about static array constants inside dynamic array constants for
...
Delphi modes
git-svn-id: trunk@39043 -
2018-05-20 11:50:21 +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
600b460ecd
+ added new debug output option -godwarfomflinnum for generating line number
...
information in OMF LINNUM records, in addition to the DWARF debug information.
This enables source level debugging on i8086-msdos, when using the Open Watcom
Debugger, provided the source was compiled with this option and the external
linker (wlink) was used for generating the executable (the internal linker
does not yet support generating debug information).
git-svn-id: trunk@39014 -
2018-05-17 14:38:50 +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
56f36e6509
+ add a diagnostic mesage for the used unit scopes
...
git-svn-id: trunk@38942 -
2018-05-07 19:48:20 +00:00
svenbarth
aa38d6f831
* adjust text for -FN<x> to include both "namespace" and "unit scope"
...
git-svn-id: trunk@38941 -
2018-05-07 19:48:16 +00:00
svenbarth
7e1a058bb2
* document new -FN<x> option
...
git-svn-id: trunk@38920 -
2018-05-05 17:18:50 +00:00
florian
42d6e81c33
* made message about subroutines not being inlined a note instead of a hint, see also #33515
...
git-svn-id: trunk@38690 -
2018-04-05 09:51:25 +00:00
nickysn
602dd31a45
+ added a warning for using cs/ds/es/ss segment overrides in inline assembly on
...
the x86_64 target
git-svn-id: trunk@38517 -
2018-03-13 14:41:21 +00:00
pierre
46d83d296b
Add more missing -T options
...
git-svn-id: trunk@38426 -
2018-03-06 10:05:02 +00:00
pierre
ed15a50562
Add missing arm/i8086 targets
...
git-svn-id: trunk@38420 -
2018-03-05 22:26:58 +00:00
pierre
5fe20f3f9d
Add an explicit comment inside help pages
...
git-svn-id: trunk@38419 -
2018-03-05 22:08:42 +00:00
nickysn
45fdd7655d
+ support concatenation of references in x86 intel syntax inline asm:
...
[expr1][expr2] = [expr1+expr2]
[expr1[expr2]] = [expr1+expr2]
This is compatible with TP7's inline asm, and perhaps also with tasm/masm/delphi.
git-svn-id: trunk@38352 -
2018-02-26 17:17:47 +00:00
florian
62df4a4083
* patch by Christo Crause: more descriptive error message when BRxx destination out of reach
...
git-svn-id: trunk@38340 -
2018-02-25 15:31:17 +00:00
florian
73aef1402b
+ compiler writes a hint if a subroutine marked as inline cannot be/is not inlined, resolves #31717
...
+ test
git-svn-id: trunk@38330 -
2018-02-24 14:35:12 +00:00
florian
d031545f88
* warn if the first constant element of a range set expression is greater than the second one, resolves #31936
...
git-svn-id: trunk@38321 -
2018-02-23 22:30:35 +00:00
marco
b1678f80c7
* some copyright updates, mantis #33208
...
git-svn-id: trunk@38314 -
2018-02-22 19:15:12 +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
pierre
c3ffd778c0
Add new message for seg(procvar) with is not usable for some i8086 memory models
...
git-svn-id: trunk@38218 -
2018-02-12 10:06:48 +00:00
Jonas Maebe
1b66995754
* factored out check to determine whether a variable can be subscripted in
...
inline assembly, and fixed check after r35959 (mantis #32318 )
o can also subscript parameters passed by value on the stack
o can also subscript local variables, the parameters passed by reference
that are subsequently copied into a local
git-svn-id: trunk@37886 -
2018-01-01 14:29:21 +00:00
florian
8eb885de91
* better error message if a unit is not found
...
git-svn-id: trunk@37868 -
2017-12-29 17:27:44 +00:00
florian
5e9ae7f062
* update of german message files by Karl-Michael Schindler, second try, resolves #31921
...
git-svn-id: trunk@37843 -
2017-12-28 14:59:08 +00:00
florian
8df58981cf
* update of german message files by Karl-Michael Schindler, resolves #31921
...
git-svn-id: trunk@37811 -
2017-12-25 23:01:32 +00:00
nickysn
ed4a5acb31
+ added -Twin16 (the 16-bit windows target) to the i8086 crosscompiler help screen
...
git-svn-id: trunk@37710 -
2017-12-11 14:11:25 +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
29558a74cd
+ support exporting labels from asm blocks in intel syntax asm blocks via the
...
'public' directive
git-svn-id: trunk@37530 -
2017-10-30 16:44:13 +00:00
nickysn
e58bad8eef
+ check for the 'pop cs' instruction in the x86 inline assembler and print a
...
warning (on the i8086 target) or an error (on i386 and x86_64) when this
instruction is used (because it only works on 8086 and 8088 CPUs)
git-svn-id: trunk@37514 -
2017-10-24 15:07:20 +00:00
nickysn
cece021bd1
+ check whether the address sizes match for x86 string instructions with two
...
memory operands, when using the at&t syntax inline assembler
git-svn-id: trunk@37473 -
2017-10-16 16:01:38 +00:00
nickysn
a8232ac477
+ added warning if source or destination for x86 string instructions isn't
...
specified to be (%esi) or (%edi), when using at&t syntax assembler (this is
not considered an error by intel syntax assemblers, so we're not adding a
warning there, for now)
git-svn-id: trunk@37458 -
2017-10-14 15:27:00 +00:00
nickysn
1ee36b5b9b
+ added error message in the intel assembler reader, when an attempt is made to
...
override the ES segment in an x86 string instruction (because it cannot be
overriden)
git-svn-id: trunk@37454 -
2017-10-13 14:56:38 +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
svenbarth
9619576515
+ add support for $SetPE{OS,SubSys,User}Version directives; Delphi compatible; Note: $SetPEUserVersion takes precedence to $Version
...
+ added test
git-svn-id: trunk@37364 -
2017-09-30 13:55:29 +00:00
pierre
91fa2999ee
Add aarch64 and sparc64 linux targets to help output
...
git-svn-id: trunk@37249 -
2017-09-18 11:58:45 +00:00
Károly Balogh
2126f008f9
m68k: added NetBSD and MacOS to the compiler help output as targets
...
git-svn-id: trunk@37029 -
2017-08-22 10:42:27 +00:00
pierre
edfcb6558b
-Tandroid is for mipsel not mipseb
...
git-svn-id: trunk@36895 -
2017-08-14 10:47:14 +00:00
pierre
8fba611697
Remove obsolete -Tsunos help line, it is not accpeted by the compiler anymore
...
git-svn-id: trunk@36827 -
2017-08-04 09:38:08 +00:00
nickysn
d3251a349b
+ set the code page for errorct.msg (Catalan) to Windows 1252
...
git-svn-id: trunk@36457 -
2017-06-08 20:48:58 +00:00
nickysn
7252e3183b
+ set code page for erroriu.msg (Italian) to 1252 (could also be ISO 8859-1)
...
git-svn-id: trunk@36456 -
2017-06-08 20:43:20 +00:00
nickysn
5df3e2cfc2
+ set the code page of errord.msg (German) to 850; the file contents were also
...
regenerated from errordu.msg, which fixed two small typos (that were fixed
only in errordu.msg, but hadn't been applied to errord.msg)
git-svn-id: trunk@36455 -
2017-06-08 20:34:50 +00:00
nickysn
4d79c91507
+ set code page 20127 (US-ASCII) for errorid.msg (Indonesian)
...
git-svn-id: trunk@36454 -
2017-06-08 20:24:19 +00:00
nickysn
c0413a9179
+ added codepage info (not used by the compiler yet) to the compiler .msg files
...
git-svn-id: trunk@36448 -
2017-06-08 15:44:04 +00:00
pierre
22021dd0b8
Add help for second argument to -Ch option, -Chx,y y is max heap size
...
git-svn-id: trunk@36258 -
2017-05-19 21:27:08 +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
svenbarth
e9c40f5b24
+ correctly handle COMDAT sections in COFF files (at least as long as the COMDAT selection isn't IMAGE_COMDAT_SELECT_ASSOCIATIVE or IMAGE_COMDAT_SELECT_EXACT_MATCH), fixes the .refptr problems mentioned in Mantis #30614
...
git-svn-id: trunk@36197 -
2017-05-12 15:57:31 +00:00
florian
e7fd71db36
+ write name of segment/group which is too large
...
git-svn-id: trunk@35456 -
2017-02-19 19:15:18 +00:00
florian
c4fe4ab1f5
* correctly handle push <imm> on 80186+
...
git-svn-id: trunk@35455 -
2017-02-19 19:15:16 +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
florian
668b198d7c
* fix for issue #29936 : check if the internal needed types are available
...
git-svn-id: trunk@35310 -
2017-01-15 20:54:07 +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
466d26b5ef
* copyright notice updated to 2017
...
git-svn-id: trunk@35234 -
2017-01-04 21:32:19 +00:00
svenbarth
bec40e9a4a
* fix for Mantis #31146 : update German message files courtesy of Karl-Michael Schindler (the text "CheckPointer-Funktion" was also changed to "CheckPointer-Option" in both files for consistency with the English file)
...
git-svn-id: trunk@35183 -
2016-12-23 15:57:29 +00:00
svenbarth
88a0d8bc25
* use "CheckPointer option" instead of "CheckPointer function" for consistency with the other CheckPointer related message
...
git-svn-id: trunk@35181 -
2016-12-23 15:54:28 +00:00
svenbarth
d499163ef5
* provisional fix for Mantis #31076 : fail gracefully instead of with an internal error if a generic method is declared inside a generic class or record. This will change once we support nested generics however.
...
* adjusted error message to reflect that we're not only dealing with generic classes
+ added test; note: it's added in webtbs, cause the test will loose its %FAIL attribute in the future
git-svn-id: trunk@35079 -
2016-12-06 22:26:53 +00:00
Károly Balogh
64650261d1
m68k: refactor of the reglist and the regpair support in the assembler reader. also added support for float register lists for FMOVEM
...
git-svn-id: trunk@34783 -
2016-11-05 18:53:20 +00:00
svenbarth
254be82c43
* revert r34712: the behavior with the class constructors is indeed Delphi compatible. However only one class constructor/destructor per class is allowed no matter how it's named.
...
git-svn-id: trunk@34713 -
2016-10-13 20:11:35 +00:00
svenbarth
4e5ed5b0e2
Fix for Mantis #30729 : don't allow other names for class constructors or destructors than Create and Destroy respectively.
...
+ added tests
git-svn-id: trunk@34712 -
2016-10-13 19:24:07 +00:00