summaryrefslogtreecommitdiff
path: root/compiler/globtype.pas
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-09-27 14:46:09 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-09-27 14:46:09 +0000
commit78dad64a336ad1fa4d679a82786c4e01d730c6b6 (patch)
treeb5e41e7ae4c6ec3576e695233e8c9b4c667779c0 /compiler/globtype.pas
parentcf941369b1878e578a42888b797fda0bf8e39105 (diff)
downloadfpc-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.pas4
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;