forked from ericlangedijk/Lemmix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lem_directives.inc
44 lines (40 loc) · 1.71 KB
/
lem_directives.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{-------------------------------------------------------------------------------
#0: some program info
-------------------------------------------------------------------------------}
{$define beta} // affects programname
{-------------------------------------------------------------------------------
#1: compiler directives. do not change these
-------------------------------------------------------------------------------}
{$pointermath on} // must be on
{$rangechecks off} // must be off. on = impossible
{$overflowchecks off} // on = possible but not really useful
{$scopedenums on} // must be on. we like this
{-------------------------------------------------------------------------------
#2: release / debug options
-------------------------------------------------------------------------------}
{$if not defined(debug)}
//{$inline auto} // "Error: Wrong switch toggle, use ON/OFF or +/-"
{$optimization on}
{$debuginfo off}
{$stackframes off}
{$assertions off}
//{$referenceinfo off} // Warning: Unsupported switch "$Y"
{$elseif defined(debug)}
{.$define fastdebug} // useful for debugging/checking optimizations with CPU registers, compiled code etc. it is almost like release
{$if defined(fastdebug)}
{$inline auto}
{$optimization on}
{$debuginfo on}
{$stackframes off}
{$assertions off}
{$referenceinfo off}
{$else}
{.$define paranoid} // define this to activate some very lowlevel checks (slows down of course)
{$inline off}
{$optimization off}
{$debuginfo on}
{$stackframes on}
{$assertions on}
{$referenceinfo on}
{$ifend}
{$ifend}