2 |
7u83 |
1 |
<!-- Crown Copyright (c) 1998 -->
|
|
|
2 |
<HTML>
|
|
|
3 |
<HEAD>
|
|
|
4 |
<TITLE>C Checker Reference Manual: Summary of the pragma statements</TITLE>
|
|
|
5 |
</HEAD>
|
|
|
6 |
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
|
|
|
7 |
<A NAME=S130>
|
|
|
8 |
<H1>C Checker Reference Manual</H1>
|
|
|
9 |
<H3>January 1998</H3>
|
|
|
10 |
<A HREF="tdfc19.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
|
|
|
11 |
<A HREF="tdfc17.html"><IMG SRC="../images/prev.gif" ALT="previous section"></A>
|
|
|
12 |
<A HREF="tdfc1.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
|
|
|
13 |
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
|
|
|
14 |
</A>
|
|
|
15 |
<IMG SRC="../images/no_index.gif" ALT="document index"><P>
|
|
|
16 |
|
|
|
17 |
<HR>
|
|
|
18 |
<H1>D Summary of the pragma statements</H1>
|
|
|
19 |
<OL>
|
|
|
20 |
<LI><CODE><EM>pragma_syntax:</EM></CODE>
|
|
|
21 |
<PRE>
|
|
|
22 |
#pragma TenDRA <EM>tendra_pragma</EM>
|
|
|
23 |
#pragma token <EM>token_pragma</EM>
|
|
|
24 |
#pragma <EM>token_operation</EM>
|
|
|
25 |
#pragma <EM>integer_pragma</EM>
|
|
|
26 |
</PRE>
|
|
|
27 |
<LI><CODE><EM>tendra_pragma:</EM></CODE>
|
|
|
28 |
<PRE>
|
|
|
29 |
begin <A HREF="tdfc5.html#13">==></A>
|
|
|
30 |
begin <EM>name</EM> environment <EM>identifier</EM> </A>
|
|
|
31 |
declaration block <EM>identifier</EM> begin <A HREF="tdfc21.html#6">==></A>
|
|
|
32 |
declaration block end <A HREF="tdfc21.html#6">==></A>
|
|
|
33 |
directory <EM>name</EM> use environment <EM>identifier</EM>
|
|
|
34 |
use environment <EM>identifier</EM>
|
|
|
35 |
end <A HREF="tdfc5.html#13">==></A>
|
|
|
36 |
<EM>analysis_spec</EM>
|
|
|
37 |
<EM>function_pars</EM> <A HREF="tdfc6.html#32">==></A>
|
|
|
38 |
keyword <EM>identifier</EM> for <EM>keyword_spec</EM>
|
|
|
39 |
type <EM>identifier</EM> for <EM>type_spec</EM>
|
|
|
40 |
<EM>check_pragma</EM>
|
|
|
41 |
<EM>variable_pragma</EM>
|
|
|
42 |
<EM>dialect_pragma</EM>
|
|
|
43 |
</PRE>
|
|
|
44 |
<LI><CODE><EM>analysis_spec:</EM></CODE>
|
|
|
45 |
<PRE>
|
|
|
46 |
complete struct/union analysis <EM>state</EM> <A HREF="tdfc11.html#4">==> </A>
|
|
|
47 |
conversion <EM>conv_list</EM> allow <A HREF="tdfc22.html#2">==></A>
|
|
|
48 |
conversion analysis <EM>conversion_spec</EM> <A HREF="tdfc6.html#2">==></A>
|
|
|
49 |
discard analysis <EM>discard_spec</EM> <A HREF="tdfc8.html#36">==></A>
|
|
|
50 |
enum switch analysis <EM>state</EM> <A HREF="tdfc11.html#2">==></A>
|
|
|
51 |
fall into case <EM>permit</EM> <A HREF="tdfc8.html#6">==></A>
|
|
|
52 |
function pointer as pointer <EM>permit</EM> <A HREF="tdfc6.html#11">==></A>
|
|
|
53 |
integer operator analysis <EM>state</EM> <A HREF="tdfc7.html#18">==></A>
|
|
|
54 |
integer overflow analysis <EM>state</EM> <A HREF="tdfc7.html#14">==></A>
|
|
|
55 |
nested comment analysis <EM>state</EM> <A HREF="tdfc10.html#45">==></A>
|
|
|
56 |
operator precedence analysis <EM>state</EM> <A HREF="tdfc8.html#15">==></A>
|
|
|
57 |
unreachable code <EM>permit</EM> <A HREF="tdfc8.html#2">==></A>
|
|
|
58 |
variable analysis <EM>state</EM> <A HREF="tdfc8.html#2">==></A>
|
|
|
59 |
variable hiding analysis <EM>state</EM> <A HREF="tdfc11.html#6">==></A>
|
|
|
60 |
weak prototype analysis <EM>state</EM> <A HREF="tdfc6.html#20">==></A>
|
|
|
61 |
</PRE>
|
|
|
62 |
<LI><CODE><EM>conversion_spec:</EM></CODE>
|
|
|
63 |
<PRE>
|
|
|
64 |
<EM>empty</EM>
|
|
|
65 |
( int-int ) <A HREF="tdfc6.html#5">==></A>
|
|
|
66 |
( int-int explicit ) <A HREF="tdfc6.html#5">==></A>
|
|
|
67 |
( int-int implicit ) <A HREF="tdfc6.html#5">==></A>
|
|
|
68 |
( int-enum implicit) <A HREF="tdfc6.html#5">==></A>
|
|
|
69 |
(enum-int implicit) <A HREF="tdfc6.html#5">==></A>
|
|
|
70 |
( int-pointer ) <A HREF="tdfc6.html#8">==></A>
|
|
|
71 |
( int-pointer explicit ) <A HREF="tdfc6.html#8">==></A>
|
|
|
72 |
(int-pointer implicit ) <A HREF="tdfc6.html#8">==></A>
|
|
|
73 |
( pointer-int ) <A HREF="tdfc6.html#8">==></A>
|
|
|
74 |
( pointer-int explicit ) <A HREF="tdfc6.html#8">==></A>
|
|
|
75 |
( pointer-int implicit ) <A HREF="tdfc6.html#8">==></A>
|
|
|
76 |
( pointer-pointer ) <A HREF="tdfc6.html#11">==></A>
|
|
|
77 |
( pointer-pointer explicit ) <A HREF="tdfc6.html#11">==></A>
|
|
|
78 |
( pointer-pointer implicit ) <A HREF="tdfc6.html#11">==></A>
|
|
|
79 |
</PRE>
|
|
|
80 |
<LI><CODE><EM>discard_spec:</EM></CODE>
|
|
|
81 |
<PRE>
|
|
|
82 |
<EM>empty</EM>
|
|
|
83 |
( function return ) <A HREF="tdfc8.html#38">==></A>
|
|
|
84 |
( static ) <A HREF="tdfc8.html#42">==></A>
|
|
|
85 |
( value ) <A HREF="tdfc8.html#40">==></A>
|
|
|
86 |
<LI><EM>function_pars:</EM>
|
|
|
87 |
argument <EM>type_name</EM> as <EM>type_name</EM> <A HREF="tdfc6.html#32">==> </A>
|
|
|
88 |
argument <EM>type_name</EM> as ... <A HREF="tdfc6.html#32">==></A>
|
|
|
89 |
extra ... <EM>permit</EM> <A HREF="tdfc6.html#32">==></A>
|
|
|
90 |
</PRE>
|
|
|
91 |
<LI><CODE><EM>keyword_spec:</EM></CODE>
|
|
|
92 |
<PRE>
|
|
|
93 |
discard value <A HREF="tdfc8.html#44">==></A>
|
|
|
94 |
discard variable <A HREF="tdfc8.html#26">==></A>
|
|
|
95 |
exhaustive <A HREF="tdfc8.html#32">==></A>
|
|
|
96 |
fall into case <A HREF="tdfc8.html#6">==></A>
|
|
|
97 |
set <A HREF="tdfc8.html#29">==></A>
|
|
|
98 |
set reachable <A HREF="tdfc8.html#2">==></A>
|
|
|
99 |
set unreachable <A HREF="tdfc8.html#2">==></A>
|
|
|
100 |
type representation <A HREF="tdfc7.html#4">==></A>
|
|
|
101 |
weak <A HREF="tdfc6.html#20">==></A>
|
|
|
102 |
</PRE>
|
|
|
103 |
<LI><CODE><EM>type_spec:</EM></CODE>
|
|
|
104 |
<PRE>
|
|
|
105 |
bottom <A HREF="tdfc8.html#34">==></A>
|
|
|
106 |
... printf <A HREF="tdfc6.html#23">==></A>
|
|
|
107 |
... scanf <A HREF="tdfc6.html#23">==></A>
|
|
|
108 |
</PRE>
|
|
|
109 |
<LI><CODE><EM>check_pragma:</EM></CODE>
|
|
|
110 |
<PRE>
|
|
|
111 |
implicit function declaration <EM>state</EM> <A HREF="tdfc6.html#30">==></A>
|
|
|
112 |
incompatible interface declaration <EM>permit</EM> <A HREF="tdfc21.html#1">==>
|
|
|
113 |
</A>
|
|
|
114 |
incompatible void return <EM>permit</EM> <A HREF="tdfc6.html#25">==></A>
|
|
|
115 |
</PRE>
|
|
|
116 |
<LI><CODE><EM>variable_pragma:</EM></CODE>
|
|
|
117 |
<PRE>
|
|
|
118 |
discard <EM>identifier</EM> <EM>separator</EM> <A HREF="tdfc8.html#26">==> </A>
|
|
|
119 |
preserve <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==></A>
|
|
|
120 |
set identifier <EM>separator</EM> <A HREF="tdfc8.html#29">==></A>
|
|
|
121 |
suspend static <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==></A>
|
|
|
122 |
exhaustive <A HREF="tdfc8.html#32">==></A>
|
|
|
123 |
</PRE>
|
|
|
124 |
<LI><CODE><EM>separator:</EM></CODE>
|
|
|
125 |
<PRE>
|
|
|
126 |
;
|
|
|
127 |
,
|
|
|
128 |
</PRE>
|
|
|
129 |
<LI><CODE><EM>identifier_list:</EM></CODE>
|
|
|
130 |
<PRE>
|
|
|
131 |
<EM>identifier</EM>
|
|
|
132 |
<EM>identifier</EM> <EM>identifier_list</EM>
|
|
|
133 |
</PRE>
|
|
|
134 |
<LI><CODE><EM>dialect_pragma:</EM></CODE>
|
|
|
135 |
<PRE>
|
|
|
136 |
++ <A HREF="tdfc10.html#56">==></A>
|
|
|
137 |
assignment as bool <EM>permit</EM> <A HREF="tdfc8.html#11">==></A>
|
|
|
138 |
bitfield overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==></A>
|
|
|
139 |
block function static <EM>permit</EM> <A HREF="tdfc10.html#15">==></A>
|
|
|
140 |
character <EM>set_sign</EM> <A HREF="tdfc10.html#9">==></A>
|
|
|
141 |
character escape overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==></A>
|
|
|
142 |
compatible type : char * == void * : <EM>permit</EM> <A HREF="tdfc6.html#11">==> </A>
|
|
|
143 |
conditional lvalue <EM>dallow</EM> <A HREF="tdfc10.html#29">==></A>
|
|
|
144 |
const conditional <EM>permit</EM> <A HREF="tdfc8.html#13">==></A>
|
|
|
145 |
dollar as ident <EM>dallow</EM> <A HREF="tdfc10.html#39">==></A>
|
|
|
146 |
directive <EM>pp_directive pp_spec</EM> <A HREF="tdfc9.html#1">==></A>
|
|
|
147 |
directive as macro argument <EM>permit</EM> <A HREF="tdfc9.html#11">==></A>
|
|
|
148 |
external volatile_t <A HREF="tdfc10.html#23">==></A>
|
|
|
149 |
extra ; <EM>permit</EM> <A HREF="tdfc10.html#54">==></A>
|
|
|
150 |
extra ; after conditional <EM>permit</EM> <A HREF="tdfc8.html#9">==></A>
|
|
|
151 |
extra , <EM>permit</EM> <A HREF="tdfc10.html#52">==></A>
|
|
|
152 |
extra bitfield int type <EM>permit</EM> <A HREF="tdfc10.html#9">==></A>
|
|
|
153 |
extra macro definition <EM>dallow</EM> <A HREF="tdfc9.html#9">==></A>
|
|
|
154 |
extra type definition <EM>permit</EM> <A HREF="tdfc10.html#13">==></A>
|
|
|
155 |
forward enum declaration <EM>dallow</EM> <A HREF="tdfc10.html#19">==></A>
|
|
|
156 |
floating point equality <EM>permit</EM> <A HREF="tdfc11.html#8">==></A>
|
|
|
157 |
ident ... <EM>permit</EM> <A HREF="tdfc10.html#27">==></A>
|
|
|
158 |
ignore struct/union/enum tag <EM>status</EM> <A HREF="tdfc10.html#31">==> </A>
|
|
|
159 |
implicit int type for external declaration <EM>permit</EM> <A HREF="tdfc10.html#7">==></A>
|
|
|
160 |
implicit int type for function return <EM>permit</EM> <A HREF="tdfc10.html#7">==> </A>
|
|
|
161 |
includes depth <EM>integral_constant</EM> <A HREF="tdfc9.html#17">==></A>
|
|
|
162 |
incompatible linkage <EM>permit</EM> <A HREF="tdfc10.html#5">==></A>
|
|
|
163 |
incompatible promoted function argument <EM>dallow</EM> <A HREF="tdfc6.html#37">==></A>
|
|
|
164 |
incompatible type qualifier <EM>dallow</EM> <A HREF="tdfc6.html#39">==></A>
|
|
|
165 |
incomplete type as object type <EM>permit</EM> <A HREF="tdfc10.html#17">==> </A>
|
|
|
166 |
indented # directive <EM>permit</EM> <A HREF="tdfc9.html#7">==></A>
|
|
|
167 |
initialization of struct/union (auto) <EM>permit</EM> <A HREF="tdfc10.html#33">==> </A>
|
|
|
168 |
linkage resolution : <EM>linkage_spec</EM> <A HREF="tdfc10.html#1">==></A>
|
|
|
169 |
longlong type <EM>permit</EM> <A HREF="tdfc7.html#24">==></A>
|
|
|
170 |
no directive/nline after ident <EM>permit</EM> <A HREF="tdfc9.html#21">==> </A>
|
|
|
171 |
no external declaration <EM>permit</EM> <A HREF="tdfc10.html#50">==></A>
|
|
|
172 |
no ident after # <EM>permit</EM> <A HREF="tdfc9.html#11">==></A>
|
|
|
173 |
no nline after file end <EM>permit</EM> <A HREF="tdfc9.html#23">==></A>
|
|
|
174 |
prototype <EM>permit</EM> <A HREF="tdfc6.html#17">==></A>
|
|
|
175 |
prototype (weak) <EM>permit</EM> <A HREF="tdfc6.html#20">==></A>
|
|
|
176 |
set longlong type : <EM>type_name</EM> <A HREF="tdfc7.html#24">==></A>
|
|
|
177 |
set name limit <EM>integer_constant</EM> <A HREF="tdfc10.html#25">==></A>
|
|
|
178 |
set size_t : <EM>type_name </EM><EM><A HREF="tdfc7.html#10">==></A></EM>
|
|
|
179 |
text after directive <EM>permit</EM> <A HREF="tdfc9.html#19">==></A>
|
|
|
180 |
unify external linkage <EM>status</EM> <A HREF="tdfc10.html#1">==></A>
|
|
|
181 |
unify incompatible string literal <EM>permit</EM> <A HREF="tdfc10.html#43">==> </A>
|
|
|
182 |
unknown escape <EM>permit</EM> <A HREF="tdfc10.html#36">==></A>
|
|
|
183 |
unknown pragma <EM>permit</EM> <A HREF="tdfc9.html#1">==></A>
|
|
|
184 |
unknown struct/union <EM>dallow</EM> <A HREF="tdfc10.html#21">==></A>
|
|
|
185 |
unknown directive <EM>permit</EM> <A HREF="tdfc9.html#1">==></A>
|
|
|
186 |
unmatched quote <EM>permit</EM> <A HREF="tdfc9.html#15">==></A>
|
|
|
187 |
variable initialization <EM>dallow</EM> <A HREF="tdfc10.html#35">==></A>
|
|
|
188 |
weak macro equality <EM>permit</EM> <A HREF="tdfc9.html#9">==></A>
|
|
|
189 |
writeable string literal <EM>permit</EM> <A HREF="tdfc10.html#41">==></A>
|
|
|
190 |
</PRE>
|
|
|
191 |
<LI><CODE><EM>set_sign:</EM></CODE>
|
|
|
192 |
<PRE>
|
|
|
193 |
signed
|
|
|
194 |
unsign
|
|
|
195 |
either
|
|
|
196 |
</PRE>
|
|
|
197 |
<LI><CODE><EM>pp_directive:</EM></CODE>
|
|
|
198 |
<PRE>
|
|
|
199 |
file
|
|
|
200 |
ident
|
|
|
201 |
assert
|
|
|
202 |
unassert
|
|
|
203 |
weak
|
|
|
204 |
</PRE>
|
|
|
205 |
<LI><CODE><EM>pp_spec:</EM></CODE>
|
|
|
206 |
<PRE>
|
|
|
207 |
allow
|
|
|
208 |
warning
|
|
|
209 |
(ignore) allow
|
|
|
210 |
(ignore) warning
|
|
|
211 |
</PRE>
|
|
|
212 |
<LI><CODE><EM>linkage_spec:</EM></CODE>
|
|
|
213 |
<PRE>
|
|
|
214 |
(internal) on
|
|
|
215 |
(internal) warning
|
|
|
216 |
(external) on
|
|
|
217 |
(external) warning
|
|
|
218 |
off
|
|
|
219 |
</PRE>
|
|
|
220 |
<LI><CODE><EM>state:</EM></CODE>
|
|
|
221 |
<PRE>
|
|
|
222 |
on
|
|
|
223 |
warning
|
|
|
224 |
off
|
|
|
225 |
</PRE>
|
|
|
226 |
<LI><CODE><EM>permit:</EM></CODE>
|
|
|
227 |
<PRE>
|
|
|
228 |
allow
|
|
|
229 |
warning
|
|
|
230 |
disallow
|
|
|
231 |
</PRE>
|
|
|
232 |
<LI><CODE><EM>dallow:</EM></CODE>
|
|
|
233 |
<PRE>
|
|
|
234 |
allow
|
|
|
235 |
disallow
|
|
|
236 |
</PRE>
|
|
|
237 |
<LI><CODE><EM>token_pragma:</EM></CODE>
|
|
|
238 |
<PRE>
|
|
|
239 |
ARITHMETIC <A HREF="tdfc20.html#13">==></A>
|
|
|
240 |
DEFINE MEMBER
|
|
|
241 |
EXP <A HREF="tdfc20.html#3">==></A>
|
|
|
242 |
FUNC <A HREF="tdfc20.html#24">==></A>
|
|
|
243 |
MEMBER <A HREF="tdfc20.html#19">==></A>
|
|
|
244 |
NAT <A HREF="tdfc20.html#3">==></A>
|
|
|
245 |
PROC <A HREF="tdfc20.html#22">==></A>
|
|
|
246 |
STATEMENT <A HREF="tdfc20.html#6">==></A>
|
|
|
247 |
STRUCT <A HREF="tdfc20.html#16">==></A>
|
|
|
248 |
TYPE <A HREF="tdfc20.html#9">==></A>
|
|
|
249 |
UNION <A HREF="tdfc20.html#16">==></A>
|
|
|
250 |
VARIETY <A HREF="tdfc20.html#11">==></A>
|
|
|
251 |
</PRE>
|
|
|
252 |
<LI><CODE><EM>token_operation:</EM></CODE>
|
|
|
253 |
<PRE>
|
|
|
254 |
define
|
|
|
255 |
no_def
|
|
|
256 |
extend
|
|
|
257 |
ignore
|
|
|
258 |
implement
|
|
|
259 |
interface
|
|
|
260 |
promote <A HREF="tdfc22.html#4">==></A>
|
|
|
261 |
</PRE>
|
|
|
262 |
<LI><CODE><EM>integer_pragma:</EM></CODE>
|
|
|
263 |
<PRE>
|
|
|
264 |
integer literal <EM>lit_class_type_list</EM> <A HREF="tdfc17.html#2">==></A>
|
|
|
265 |
</PRE>
|
|
|
266 |
<LI><CODE><EM>lit_class_type_list:</EM></CODE>
|
|
|
267 |
<PRE>
|
|
|
268 |
*<EM>int_type_spec</EM>
|
|
|
269 |
integer_constant <EM>int_type_spec</EM> | <EM>lit_class_type_list</EM>
|
|
|
270 |
</PRE>
|
|
|
271 |
<LI><CODE><EM>int_type_spec:</EM></CODE>
|
|
|
272 |
<PRE>
|
|
|
273 |
<EM>type_name</EM>
|
|
|
274 |
*warning<SUB><I>opt</I></SUB> : <EM>identifier</EM>
|
|
|
275 |
** :
|
|
|
276 |
</PRE>
|
|
|
277 |
</OL>
|
|
|
278 |
<P>
|
|
|
279 |
<HR>
|
|
|
280 |
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
|
|
|
281 |
Copyright © 1998.</I></P>
|
|
|
282 |
</BODY>
|
|
|
283 |
</HTML>
|