diff options
author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-09-27 14:46:09 +0000 |
---|---|---|
committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-09-27 14:46:09 +0000 |
commit | 78dad64a336ad1fa4d679a82786c4e01d730c6b6 (patch) | |
tree | b5e41e7ae4c6ec3576e695233e8c9b4c667779c0 /compiler/globtype.pas | |
parent | cf941369b1878e578a42888b797fda0bf8e39105 (diff) | |
download | fpc-78dad64a336ad1fa4d679a82786c4e01d730c6b6.tar.gz |
Remember usage of checkpointer (-gc) option:
Use new cs_checkpointer_called moduleswitches set element.
Use new uf_checkpointer_called PPU flag (reusing obsolete uf_local_browser flag value)
Emit warning if compiled library/program has any code using checkpointer.
* ppu.pas: New constant: uf_checkpointer_called
* globtype.pas: New constant: cs_checkpointer_called
* fppu.pas: Set uf_checkpointer_called flag if cs_checkpointer_called is set in current_settings.module_switches
* i8086/n8086mem.pas: Include cs_checkpointer_called in current_settings.moduleswitches
* ncgmem.pas: Likewise.
* msg/errore.msg: Add new message saying that -gc and -Ur options are incompatible
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.
* options.pas: if -gc and -Ur options are used, never enable checkpointer code,
instead output a warning that release is incompatible with -gc option.
* pmodules.pas: proc_program: Check all modules for uf_checkpointer_called flag,
emit a warning if checkpointer is used.
* utils/ppuutils/ppudump.pp: Add code for uf_codepointer_called option.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@34567 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/globtype.pas')
-rw-r--r-- | compiler/globtype.pas | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/globtype.pas b/compiler/globtype.pas index bd30034fe5..421fe44a72 100644 --- a/compiler/globtype.pas +++ b/compiler/globtype.pas @@ -178,7 +178,9 @@ interface cs_executable_stack, { i8086 specific } cs_huge_code, - cs_win16_smartcallbacks + cs_win16_smartcallbacks, + { Record usage of checkpointer experimental feature } + cs_checkpointer_called ); tmoduleswitches = set of tmoduleswitch; |