Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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">==&gt;</A>
30
	begin <EM>name</EM> environment <EM>identifier</EM> </A>
31
	declaration block <EM>identifier</EM> begin <A HREF="tdfc21.html#6">==&gt;</A>
32
	declaration block end <A HREF="tdfc21.html#6">==&gt;</A>
33
	directory <EM>name</EM> use environment <EM>identifier</EM>
34
	use environment <EM>identifier</EM>
35
	end <A HREF="tdfc5.html#13">==&gt;</A>
36
	<EM>analysis_spec</EM>
37
	<EM>function_pars</EM> <A HREF="tdfc6.html#32">==&gt;</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">==&gt; </A>
47
	conversion <EM>conv_list</EM> allow <A HREF="tdfc22.html#2">==&gt;</A>
48
	conversion analysis <EM>conversion_spec</EM> <A HREF="tdfc6.html#2">==&gt;</A>
49
	discard analysis <EM>discard_spec</EM> <A HREF="tdfc8.html#36">==&gt;</A>
50
	enum switch analysis <EM>state</EM> <A HREF="tdfc11.html#2">==&gt;</A>
51
	fall into case <EM>permit</EM> <A HREF="tdfc8.html#6">==&gt;</A>
52
	function pointer as pointer <EM>permit</EM> <A HREF="tdfc6.html#11">==&gt;</A>
53
	integer operator analysis <EM>state</EM> <A HREF="tdfc7.html#18">==&gt;</A>
54
	integer overflow analysis <EM>state</EM> <A HREF="tdfc7.html#14">==&gt;</A>
55
	nested comment analysis <EM>state</EM> <A HREF="tdfc10.html#45">==&gt;</A>
56
	operator precedence analysis <EM>state</EM> <A HREF="tdfc8.html#15">==&gt;</A>
57
	unreachable code <EM>permit</EM> <A HREF="tdfc8.html#2">==&gt;</A>
58
	variable analysis <EM>state</EM> <A HREF="tdfc8.html#2">==&gt;</A>
59
	variable hiding analysis <EM>state</EM> <A HREF="tdfc11.html#6">==&gt;</A>
60
	weak prototype analysis <EM>state</EM> <A HREF="tdfc6.html#20">==&gt;</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">==&gt;</A>
66
	( int-int explicit ) <A HREF="tdfc6.html#5">==&gt;</A>
67
	( int-int implicit ) <A HREF="tdfc6.html#5">==&gt;</A>
68
	( int-enum implicit) <A HREF="tdfc6.html#5">==&gt;</A>
69
	(enum-int implicit) <A HREF="tdfc6.html#5">==&gt;</A>
70
	( int-pointer ) <A HREF="tdfc6.html#8">==&gt;</A>
71
	( int-pointer explicit ) <A HREF="tdfc6.html#8">==&gt;</A>
72
	(int-pointer implicit ) <A HREF="tdfc6.html#8">==&gt;</A>
73
	( pointer-int ) <A HREF="tdfc6.html#8">==&gt;</A>
74
	( pointer-int explicit ) <A HREF="tdfc6.html#8">==&gt;</A>
75
	( pointer-int implicit ) <A HREF="tdfc6.html#8">==&gt;</A>
76
	( pointer-pointer ) <A HREF="tdfc6.html#11">==&gt;</A>
77
	( pointer-pointer explicit ) <A HREF="tdfc6.html#11">==&gt;</A>
78
	( pointer-pointer implicit ) <A HREF="tdfc6.html#11">==&gt;</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">==&gt;</A>
84
	( static ) <A HREF="tdfc8.html#42">==&gt;</A>
85
	( value ) <A HREF="tdfc8.html#40">==&gt;</A>
86
	<LI><EM>function_pars:</EM>
87
	argument <EM>type_name</EM> as <EM>type_name</EM> <A HREF="tdfc6.html#32">==&gt; </A>
88
	argument <EM>type_name</EM> as ... <A HREF="tdfc6.html#32">==&gt;</A>
89
	extra ... <EM>permit</EM> <A HREF="tdfc6.html#32">==&gt;</A>
90
</PRE>
91
<LI><CODE><EM>keyword_spec:</EM></CODE>
92
<PRE>
93
	discard value <A HREF="tdfc8.html#44">==&gt;</A>
94
	discard variable <A HREF="tdfc8.html#26">==&gt;</A>
95
	exhaustive <A HREF="tdfc8.html#32">==&gt;</A>
96
	fall into case <A HREF="tdfc8.html#6">==&gt;</A>
97
	set <A HREF="tdfc8.html#29">==&gt;</A>
98
	set reachable <A HREF="tdfc8.html#2">==&gt;</A>
99
	set unreachable <A HREF="tdfc8.html#2">==&gt;</A>
100
	type representation <A HREF="tdfc7.html#4">==&gt;</A>
101
	weak <A HREF="tdfc6.html#20">==&gt;</A>
102
</PRE>
103
<LI><CODE><EM>type_spec:</EM></CODE>
104
<PRE>
105
	bottom <A HREF="tdfc8.html#34">==&gt;</A>
106
	... printf <A HREF="tdfc6.html#23">==&gt;</A>
107
	... scanf <A HREF="tdfc6.html#23">==&gt;</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">==&gt;</A>
112
	incompatible interface declaration <EM>permit</EM> <A HREF="tdfc21.html#1">==&gt;
113
</A>
114
	incompatible void return <EM>permit</EM> <A HREF="tdfc6.html#25">==&gt;</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">==&gt; </A>
119
	preserve <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==&gt;</A>
120
	set identifier <EM>separator</EM> <A HREF="tdfc8.html#29">==&gt;</A>
121
	suspend static <EM>identifier_list</EM> <A HREF="tdfc8.html#46">==&gt;</A>
122
	exhaustive <A HREF="tdfc8.html#32">==&gt;</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">==&gt;</A>
137
	assignment as bool <EM>permit</EM> <A HREF="tdfc8.html#11">==&gt;</A>
138
	bitfield overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==&gt;</A>
139
	block function static <EM>permit</EM> <A HREF="tdfc10.html#15">==&gt;</A>
140
	character <EM>set_sign</EM> <A HREF="tdfc10.html#9">==&gt;</A>
141
	character escape overflow <EM>permit</EM> <A HREF="tdfc7.html#14">==&gt;</A>
142
	compatible type : char * == void * : <EM>permit</EM> <A HREF="tdfc6.html#11">==&gt; </A>
143
	conditional lvalue <EM>dallow</EM> <A HREF="tdfc10.html#29">==&gt;</A>
144
	const conditional <EM>permit</EM> <A HREF="tdfc8.html#13">==&gt;</A>
145
	dollar as ident <EM>dallow</EM> <A HREF="tdfc10.html#39">==&gt;</A>
146
	directive <EM>pp_directive pp_spec</EM> <A HREF="tdfc9.html#1">==&gt;</A>
147
	directive as macro argument <EM>permit</EM> <A HREF="tdfc9.html#11">==&gt;</A>
148
	external volatile_t <A HREF="tdfc10.html#23">==&gt;</A>
149
	extra ; <EM>permit</EM> <A HREF="tdfc10.html#54">==&gt;</A>
150
	extra ; after conditional <EM>permit</EM> <A HREF="tdfc8.html#9">==&gt;</A>
151
	extra , <EM>permit</EM> <A HREF="tdfc10.html#52">==&gt;</A>
152
	extra bitfield int type <EM>permit</EM> <A HREF="tdfc10.html#9">==&gt;</A>
153
	extra macro definition <EM>dallow</EM> <A HREF="tdfc9.html#9">==&gt;</A>
154
	extra type definition <EM>permit</EM> <A HREF="tdfc10.html#13">==&gt;</A>
155
	forward enum declaration <EM>dallow</EM> <A HREF="tdfc10.html#19">==&gt;</A>
156
	floating point equality <EM>permit</EM> <A HREF="tdfc11.html#8">==&gt;</A>
157
	ident ... <EM>permit</EM> <A HREF="tdfc10.html#27">==&gt;</A>
158
	ignore struct/union/enum tag <EM>status</EM> <A HREF="tdfc10.html#31">==&gt; </A>
159
	implicit int type for external declaration <EM>permit</EM> <A HREF="tdfc10.html#7">==&gt;</A>
160
	implicit int type for function return <EM>permit</EM> <A HREF="tdfc10.html#7">==&gt; </A>
161
	includes depth <EM>integral_constant</EM> <A HREF="tdfc9.html#17">==&gt;</A>
162
	incompatible linkage <EM>permit</EM> <A HREF="tdfc10.html#5">==&gt;</A>
163
	incompatible promoted function argument <EM>dallow</EM> <A HREF="tdfc6.html#37">==&gt;</A>
164
	incompatible type qualifier <EM>dallow</EM> <A HREF="tdfc6.html#39">==&gt;</A>
165
	incomplete type as object type <EM>permit</EM> <A HREF="tdfc10.html#17">==&gt; </A>
166
	indented # directive <EM>permit</EM> <A HREF="tdfc9.html#7">==&gt;</A>
167
	initialization of struct/union (auto) <EM>permit</EM> <A HREF="tdfc10.html#33">==&gt; </A>
168
	linkage resolution : <EM>linkage_spec</EM> <A HREF="tdfc10.html#1">==&gt;</A>
169
	longlong type <EM>permit</EM> <A HREF="tdfc7.html#24">==&gt;</A>
170
	no directive/nline after ident <EM>permit</EM> <A HREF="tdfc9.html#21">==&gt; </A>
171
	no external declaration <EM>permit</EM> <A HREF="tdfc10.html#50">==&gt;</A>
172
	no ident after # <EM>permit</EM> <A HREF="tdfc9.html#11">==&gt;</A>
173
	no nline after file end <EM>permit</EM> <A HREF="tdfc9.html#23">==&gt;</A>
174
	prototype <EM>permit</EM> <A HREF="tdfc6.html#17">==&gt;</A>
175
	prototype (weak) <EM>permit</EM> <A HREF="tdfc6.html#20">==&gt;</A>
176
	set longlong type : <EM>type_name</EM> <A HREF="tdfc7.html#24">==&gt;</A>
177
	set name limit <EM>integer_constant</EM> <A HREF="tdfc10.html#25">==&gt;</A>
178
	set size_t : <EM>type_name </EM><EM><A HREF="tdfc7.html#10">==&gt;</A></EM>
179
	text after directive <EM>permit</EM> <A HREF="tdfc9.html#19">==&gt;</A>
180
	unify external linkage <EM>status</EM> <A HREF="tdfc10.html#1">==&gt;</A>
181
	unify incompatible string literal <EM>permit</EM> <A HREF="tdfc10.html#43">==&gt; </A>
182
	unknown escape <EM>permit</EM> <A HREF="tdfc10.html#36">==&gt;</A>
183
	unknown pragma <EM>permit</EM> <A HREF="tdfc9.html#1">==&gt;</A>
184
	unknown struct/union <EM>dallow</EM> <A HREF="tdfc10.html#21">==&gt;</A>
185
	unknown directive <EM>permit</EM> <A HREF="tdfc9.html#1">==&gt;</A>
186
	unmatched quote <EM>permit</EM> <A HREF="tdfc9.html#15">==&gt;</A>
187
	variable initialization <EM>dallow</EM> <A HREF="tdfc10.html#35">==&gt;</A>
188
	weak macro equality <EM>permit</EM> <A HREF="tdfc9.html#9">==&gt;</A>
189
	writeable string literal <EM>permit</EM> <A HREF="tdfc10.html#41">==&gt;</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">==&gt;</A>
240
	DEFINE MEMBER
241
	EXP <A HREF="tdfc20.html#3">==&gt;</A>
242
	FUNC <A HREF="tdfc20.html#24">==&gt;</A>
243
	MEMBER <A HREF="tdfc20.html#19">==&gt;</A>
244
	NAT <A HREF="tdfc20.html#3">==&gt;</A>
245
	PROC <A HREF="tdfc20.html#22">==&gt;</A>
246
	STATEMENT <A HREF="tdfc20.html#6">==&gt;</A>
247
	STRUCT <A HREF="tdfc20.html#16">==&gt;</A>
248
	TYPE <A HREF="tdfc20.html#9">==&gt;</A>
249
	UNION <A HREF="tdfc20.html#16">==&gt;</A>
250
	VARIETY <A HREF="tdfc20.html#11">==&gt;</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">==&gt;</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">==&gt;</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 &copy; 1998.</I></P>
282
</BODY>
283
</HTML>