40
39
****************************************************************************}
43
TSwitchType=(ignoredsw,localsw,modulesw,globalsw,illegalsw,unsupportedsw);
42
TSwitchType=(ignoredsw,localsw,modulesw,globalsw,illegalsw,unsupportedsw,alignsw);
45
44
typesw : TSwitchType;
51
50
turboSwitchTable: SwitchRecTable =(
52
{A} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
51
{A} (typesw:alignsw; setsw:ord(cs_localnone)),
53
52
{B} (typesw:localsw; setsw:ord(cs_full_boolean_eval)),
54
53
{C} (typesw:localsw; setsw:ord(cs_do_assertion)),
55
54
{D} (typesw:modulesw; setsw:ord(cs_debuginfo)),
60
59
{I} (typesw:localsw; setsw:ord(cs_check_io)),
61
60
{J} (typesw:localsw; setsw:ord(cs_typed_const_writable)),
62
61
{K} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
63
{$ifdef supportbrowser}
64
62
{L} (typesw:modulesw; setsw:ord(cs_local_browser)),
65
{$else supportbrowser}
66
{L} (typesw:modulesw; setsw:ord(cs_localnone)),
67
{$endif supportbrowser}
68
63
{M} (typesw:localsw; setsw:ord(cs_generate_rtti)),
69
64
{N} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
70
65
{O} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
75
70
{T} (typesw:localsw; setsw:ord(cs_typed_addresses)),
76
71
{U} (typesw:illegalsw; setsw:ord(cs_localnone)),
77
72
{V} (typesw:localsw; setsw:ord(cs_strict_var_strings)),
78
{W} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
73
{W} (typesw:localsw; setsw:ord(cs_generate_stackframes)),
79
74
{X} (typesw:modulesw; setsw:ord(cs_extsyntax)),
80
{$ifdef supportbrowser}
81
75
{Y} (typesw:modulesw; setsw:ord(cs_browser)),
82
{$else supportbrowser}
83
{Y} (typesw:modulesw; setsw:ord(cs_localnone)),
84
{$endif supportbrowser}
85
76
{Z} (typesw:illegalsw; setsw:ord(cs_localnone))
98
89
{I} (typesw:localsw; setsw:ord(cs_check_io)),
99
90
{J} (typesw:localsw; setsw:ord(cs_external_var)),
100
91
{K} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
101
{$ifdef supportbrowser}
102
92
{L} (typesw:modulesw; setsw:ord(cs_local_browser)),
103
{$else supportbrowser}
104
{L} (typesw:modulesw; setsw:ord(cs_localnone)),
105
{$endif supportbrowser}
106
93
{M} (typesw:localsw; setsw:ord(cs_generate_rtti)),
107
94
{N} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
108
95
{O} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
113
100
{T} (typesw:localsw; setsw:ord(cs_typed_addresses)),
114
101
{U} (typesw:illegalsw; setsw:ord(cs_localnone)),
115
102
{V} (typesw:localsw; setsw:ord(cs_strict_var_strings)),
116
{W} (typesw:unsupportedsw; setsw:ord(cs_localnone)),
103
{W} (typesw:localsw; setsw:ord(cs_generate_stackframes)),
117
104
{X} (typesw:modulesw; setsw:ord(cs_extsyntax)),
118
{$ifdef supportbrowser}
119
105
{Y} (typesw:modulesw; setsw:ord(cs_browser)),
120
{$else supportbrowser}
121
{Y} (typesw:modulesw; setsw:ord(cs_localnone)),
122
{$endif supportbrowser}
123
106
{Z} (typesw:localsw; setsw:ord(cs_externally_visible))
147
130
with switchTablePtr^[switch] do
150
ignoredsw : Message1(scan_n_ignored_switch,'$'+switch);
151
illegalsw : Message1(scan_w_illegal_switch,'$'+switch);
152
unsupportedsw : Message1(scan_w_unsupported_switch,'$'+switch);
154
if not localswitcheschanged then
155
nextaktlocalswitches:=aktlocalswitches;
157
include(nextaktlocalswitches,tlocalswitch(setsw))
159
exclude(nextaktlocalswitches,tlocalswitch(setsw));
160
localswitcheschanged:=true;
163
if current_module.in_global then
166
include(aktmoduleswitches,tmoduleswitch(setsw))
169
{ Turning off debuginfo when lineinfo is requested
171
if not((cs_gdb_lineinfo in aktglobalswitches) and
172
(tmoduleswitch(setsw)=cs_debuginfo)) then
173
exclude(aktmoduleswitches,tmoduleswitch(setsw));
177
Message(scan_w_switch_is_global);
180
if current_module.in_global and (current_module=main_module) then
183
include(aktglobalswitches,tglobalswitch(setsw))
185
exclude(aktglobalswitches,tglobalswitch(setsw));
188
Message(scan_w_switch_is_global);
139
Message1(scan_n_ignored_switch,'$'+switch);
141
Message1(scan_w_illegal_switch,'$'+switch);
143
Message1(scan_w_unsupported_switch,'$'+switch);
146
if not localswitcheschanged then
147
nextaktlocalswitches:=aktlocalswitches;
149
include(nextaktlocalswitches,tlocalswitch(setsw))
151
exclude(nextaktlocalswitches,tlocalswitch(setsw));
152
localswitcheschanged:=true;
156
if current_module.in_global then
159
include(aktmoduleswitches,tmoduleswitch(setsw))
162
{ Turning off debuginfo when lineinfo is requested
164
if not((cs_gdb_lineinfo in aktglobalswitches) and
165
(tmoduleswitch(setsw)=cs_debuginfo)) then
166
exclude(aktmoduleswitches,tmoduleswitch(setsw));
170
Message(scan_w_switch_is_global);
174
if current_module.in_global and (current_module=main_module) then
177
include(aktglobalswitches,tglobalswitch(setsw))
179
exclude(aktglobalswitches,tglobalswitch(setsw));
182
Message(scan_w_switch_is_global);