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 -
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 -
[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 -
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 -
* 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 -
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 -
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 -
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 -
* 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 -
Add description to -gc option, saying it is experimental.
Add warning at link time for program/library if checkpointer is used in any unit or main code.
git-svn-id: trunk@34565 -
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 -
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 -
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 -
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 -
* 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 -
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 -
+ 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 -
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 -
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 -