Commit Graph

765 Commits

Author SHA1 Message Date
svenbarth
88108bc4df Extend "compilerproc" with the optional ability to specify an index (same syntax as for "internproc") which allows to map the routine to a syssym.
git-svn-id: trunk@33890 -
2016-06-03 20:53:33 +00:00
svenbarth
cde95b0e4a Merge all message related changes from the package branch
Merged revision(s) 29015, 29036, 31989, 32132-32133, 32306, 32478, 32513 from branches/svenbarth/packages:
Start to use package related messages
........
+ add a error message for specifying a package multiple times

........
msg/errore.msg:
  + add additional messages for implicitely imported units and units that must not be part of a package
........
* fix name of section for package related messages
+ add missing EndOfTex tag
........
+ add more package loading related messages
........
errore.msg:
  + new message that a PPU is loaded from a package
........
+ new message for when a unit is listed in the contains section that is already part of another package

........
msg/errore.msg:
  + new message when a unit from an indirectly referenced package is used

........

git-svn-id: trunk@33450 -
2016-04-08 14:56:20 +00:00
florian
f01edc0a57 * copyright message updated to 2016
git-svn-id: trunk@33249 -
2016-03-13 19:37:57 +00:00
florian
3499c59872 * update of German messages files by Karl-Michael Schindler, resolves #29628
git-svn-id: trunk@33197 -
2016-03-06 17:11:33 +00:00
florian
cb4773432b + hardfloat directive (arm only): use hard float calling conventions regardless of the abi, resolves #29715
git-svn-id: trunk@33196 -
2016-03-06 15:47:31 +00:00
nickysn
06b9789928 + implemented a new {$ASMCPU XXX} directive, allowing to specify a different
CPU target for inline assembler blocks. In addition to the different CPUs
  (as listed under 'Supported CPU instruction sets:' in the output of 'fpc -i'),
  it also supports the special values 'ANY' and 'CURRENT'. 'ANY' means no
  restrictions (i.e. all instructions are available). 'CURRENT' means the
  current CPU target (as specified with the '-Cp' command line option). For
  backward compatibility, the default value is 'ANY' for all CPU targets, except
  i8086, where it defaults to 'CURRENT'.

  This directive requires support for the new asd_cpu directive in the assembler
  writer. This is currently implemented only for NASM, but will be supported in
  some of the other assembler writers as well (incl. the x86 internal assembler
  writer).

git-svn-id: trunk@33138 -
2016-02-29 22:25:25 +00:00
Tomas Hajny
6a8caf84b2 * -Mdelphiunicode added to the help pages
git-svn-id: trunk@33053 -
2016-02-05 15:31:38 +00:00
florian
aa0ec8c0e5 + show -Mextendedpascal in the help page
git-svn-id: trunk@33051 -
2016-02-04 20:32:09 +00:00
florian
368d77dfae + show -Miso in the help page
git-svn-id: trunk@33050 -
2016-02-04 20:22:36 +00:00
svenbarth
e9d8fadb58 Merged revision(s) 28237 from branches/svenbarth/packages:
Add a new target flag which determines whether the target supports dynamic packages or not.

systems.pas:
  + new flag tf_supports_packages
pmodules.pas, proc_package:
  * error out when flag tf_supports_packages is not set for the current target
msg/errore.msg:
  + error message for when tf_supports_packages is missing and a package file is compiled
........

git-svn-id: trunk@32978 -
2016-01-22 15:35:41 +00:00
nickysn
a508f9e5d3 + added check if the selected cpu is 386+ when writing a 66h or 67h prefix in
the i8086 internal object writer. This allows weeding out spurious 386
  instructions, as is similarly done by NASM when using it as an external
  assembler.

git-svn-id: trunk@32871 -
2016-01-07 15:40:32 +00:00
nickysn
114c76bc4a + added i8086 to the list of supported cpus in the compiler usage help screen
git-svn-id: trunk@32870 -
2016-01-07 14:38:25 +00:00
florian
37cb35d780 + support for the .code directive in arm inline assembler
git-svn-id: trunk@32840 -
2016-01-03 22:08:25 +00:00
Károly Balogh
3675fc75cb VLink Support:
* fixed for MorphOS, added for Amiga/m68k
* enabled as default when running natively on these systems (cross still defaults to GNU LD)
* added -XV command line switch to enable/disable it
* dropped the 'fpc' prefix from vlink binary name on MorphOS

git-svn-id: trunk@32324 -
2015-11-15 01:18:30 +00:00
svenbarth
dabde774c4 Fix for Mantis #29005.
errore.msg:
  * consequently use <x> instead of xxxx for value placeholders

git-svn-id: trunk@32322 -
2015-11-14 21:22:15 +00:00
nickysn
a553b15a1c + handle properly inline asm segment constants different than word:
o 'DB SEG symbol' produces an error
  o 'DD SEG symbol' (and anything larger than DW, like DQ) adds extra high zeros
    to the segment constant (this is Turbo Pascal 7 compatible)

git-svn-id: trunk@32283 -
2015-11-10 21:18:34 +00:00
nickysn
995ca4fb12 + implemented the 'SEG @DATA' inline assembler directive for i8086
git-svn-id: trunk@32280 -
2015-11-10 17:26:21 +00:00
nickysn
7d41d19150 + added an error message when trying to compile a tiny model DOS .COM file with
segment relocations

git-svn-id: trunk@32276 -
2015-11-08 21:13:16 +00:00
pierre
5c5c28ab9b Add new general_e_exception_raised Error
git-svn-id: trunk@31799 -
2015-09-23 16:39:23 +00:00
svenbarth
79f19f79f2 msg/errore.msg:
+ add error message if a generic method is declared inside an interface
  + add error message if a generic method is declared as virtual

git-svn-id: trunk@31764 -
2015-09-18 14:52:47 +00:00
Jonas Maebe
4564bffb85 * use binutils 2.19+ linker script "augmentation" functionality to specify
how the fpc sections have to be linked *on Linux*. This prevents the
    "did you forget -T" warnings from ld, and in general is more correct than
    our previous approach of specifying a complete linker script without -T
    and hoping that there won't be any unexpected interactions with ld's
    built-in linker script (fixed version of r31664, thanks to Alan Modra)
   o use the new -X9 command line option to generate linker scripts that
     are compatible with binutils older than 2.19 (reverts to the old
     behaviour)

git-svn-id: trunk@31675 -
2015-09-14 07:24:54 +00:00
Jonas Maebe
e06a759e20 - reverted r31664, it causes crashes with some ld versions :/
git-svn-id: trunk@31670 -
2015-09-13 20:14:46 +00:00
Jonas Maebe
cd41bf672c * use binutils 2.19+ linker script "augmentation" functionality to specify
how the fpc sections have to be linked *on Linux*. This prevents the
    "did you forget -T" warnings from ld, and in general is more correct than
    our previous approach of specifying a complete linker script without -T
    and hoping that there won't be any unexpected interactions with ld's
    built-in linker script
   o use the new -X9 command line option to generate linker scripts that
     are compatible with binutils older than 2.19 (reverts to the old
     behaviour)

git-svn-id: trunk@31664 -
2015-09-13 19:06:14 +00:00
nickysn
253793ab9d + added the 'farprocspushoddbp' target switch to the help screen
git-svn-id: trunk@31570 -
2015-09-07 19:23:25 +00:00
nickysn
4c9b339c22 + added the huge memory model option to the compiler help screen
git-svn-id: trunk@31518 -
2015-09-04 20:43:38 +00:00
Jonas Maebe
e720b44471 * expand the error message for when trying to use a formal class with an
explanation of what to do

git-svn-id: trunk@31457 -
2015-08-30 14:32:56 +00:00
nickysn
e9c790f4eb + support 'SEG' in the i8086 inline assembler
git-svn-id: trunk@31428 -
2015-08-26 15:57:44 +00:00
nickysn
6e20e0fc84 + added checks and error messages in case a 16-bit segment or group exceeds 64k
git-svn-id: trunk@31416 -
2015-08-25 01:01:20 +00:00
florian
ee89e99189 * correctly write an error if one tries to implement a method introduced in a generic in a specialization of the generic, resolves issue #23169
git-svn-id: trunk@31241 -
2015-07-28 21:16:47 +00:00
florian
f2a5672355 * Update of German error message files by Karl-Michael Schindler, resolves issue #28010
git-svn-id: trunk@30763 -
2015-05-02 13:34:03 +00:00
Jonas Maebe
e3ddf1c0b7 * fixed typos in error.msg (patch by Stéphane Aulery, mantis #27931)
git-svn-id: trunk@30725 -
2015-04-25 18:15:18 +00:00
nickysn
bde7d0aacb + added "code segment too large" and "data segment too large" error messages
git-svn-id: trunk@30687 -
2015-04-20 23:47:22 +00:00
Jonas Maebe
3684e7665d * changed temporary type_e_anonymous_function_unsupported message into an
inline comment, because using a high message number wastes space in
    the messages array

git-svn-id: trunk@30666 -
2015-04-19 14:31:35 +00:00
michael
d802842ecf * Committed working patches to error message files from Stéphane Aulery
git-svn-id: trunk@30617 -
2015-04-17 12:19:13 +00:00
michael
b2caba585d * Patch from Stéphane Aulery to fix typos in compiler messages (bug ID 27857)
git-svn-id: trunk@30604 -
2015-04-15 17:34:56 +00:00
nickysn
470fb65e80 + implemented aasmcpu.process_ea for i8086
git-svn-id: trunk@30495 -
2015-04-08 12:54:09 +00:00
florian
9ab9e03650 * limit number of possible units with initialization/finalization for a certain architecture to high(aint)
+ give an error if the number of possible units is exceeded

git-svn-id: trunk@30450 -
2015-04-05 21:06:58 +00:00
florian
b07ba5786b * updated errord(u).msg files by Karl-Michael Schindler, resolves #27725
git-svn-id: trunk@30382 -
2015-03-29 20:02:06 +00:00
Tomas Hajny
9f9ab082da * fix typo (space instead of underscore resulting in broken help display)
git-svn-id: trunk@30041 -
2015-02-28 23:30:24 +00:00
florian
91db2a1698 + report when compilation of a unit is stopped because it has been already compiled during the recursive search in uses clauses
git-svn-id: trunk@30001 -
2015-02-24 21:46:09 +00:00
Jonas Maebe
3b5adcb3de + print iphonesim/x86_86-specific command line options in the help
git-svn-id: trunk@29982 -
2015-02-23 22:57:12 +00:00
Jonas Maebe
dcb6f2baae + print Darwin/AArch64-specific command line options in the help
git-svn-id: trunk@29981 -
2015-02-23 22:57:09 +00:00
florian
0d944c8b1d * update of german message files by Karl-Michael Schindler, resolves #27342
git-svn-id: trunk@29595 -
2015-02-01 16:24:23 +00:00
Jonas Maebe
146e3bcb9e * synchronised with trunk till r29513
git-svn-id: branches/blocks@29516 -
2015-01-21 23:28:34 +00:00
Jonas Maebe
e97f31541e - reverted partial commit of merge
git-svn-id: branches/blocks@29515 -
2015-01-21 23:24:37 +00:00
Jonas Maebe
a76bbf363d * synchronised with trunk r29513
git-svn-id: branches/blocks@29514 -
2015-01-21 23:18:29 +00:00
Jonas Maebe
990e47f2d3 * give a warning instead of an error if a parameter or local variable in a
an Objective-C method masks an identifier from a category, because due
    to the fact that all standard categories are imported at the same time via
    the CocoaAll unit, this can often happen with categories you don't know/
    care about. These errors also didn't happen in 2.6.x

git-svn-id: trunk@29497 -
2015-01-17 15:27:42 +00:00
florian
d25dbec070 * allow the varargs directive in combination with stdcall as well, resolves #27299
git-svn-id: trunk@29496 -
2015-01-17 14:23:38 +00:00
Tomas Hajny
b1e51054cb * add information about -vz to the help pages
git-svn-id: trunk@29475 -
2015-01-14 17:08:26 +00:00
pierre
18fe66b0e7 Added two new messages for changes in assembler symbols after use.
Those changes can lead to invalid code generation.

git-svn-id: trunk@29444 -
2015-01-12 10:05:21 +00:00