source: libcfa/prelude.cf @ 3848e0e

aaron-thesisarm-ehcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerresolv-newstringwith_gc
Last change on this file since 3848e0e was 3848e0e, checked in by Peter A. Buhr <pabuhr@…>, 8 years ago

underscore changes, ptrdiff_t changes, formating, _Bool prelude

  • Property mode set to 100644
File size: 32.8 KB
Line 
1//                               -*- Mode: C -*-
2//
3// Copyright (C) Glen Ditchfield 1994, 1999
4//
5// prelude.cf -- Standard Cforall Preample
6//
7// Author           : Glen Ditchfield
8// Created On       : Sat Nov 29 07:23:41 2014
9// Last Modified By : Peter A. Buhr
10// Last Modified On : Tue Dec  2 09:25:31 2014
11// Update Count     : 20
12//
13
14// Following line added from stddef.h by build
15typedef long int ptrdiff_t;
16
17// Section numbers from: http://plg.uwaterloo.ca/~cforall/refrat.pdf
18
19// ------------------------------------------------------------
20//
21// Section 4.1 Primary Expressions
22//
23// ------------------------------------------------------------
24
25const int 0, 1;
26
27forall ( dtype DT ) const DT * const    0;
28forall ( ftype FT ) FT * const          0;
29
30// ------------------------------------------------------------
31//
32// Section 4.2 Postfix Operators
33//
34// ------------------------------------------------------------
35
36int             ?++( int * ),            ?--( int * );
37unsigned        ?++( unsigned * ),       ?--( unsigned * );
38long            ?++( long * ),           ?--( long * );
39long unsigned   ?++( long unsigned * ),  ?--( long unsigned * );
40float           ?++( float * ),          ?--( float * );
41double          ?++( double * ),         ?--( double * );
42long double     ?++( long double * ),    ?--( long double * );
43
44forall( type T ) T *                     ?++(                T ** );
45forall( type T ) T *                     ?--(                T ** );
46forall( type T ) const T *               ?++( const          T ** );
47forall( type T ) const T *               ?--( const          T ** );
48forall( type T ) volatile T *            ?++(       volatile T ** );
49forall( type T ) volatile T *            ?--(       volatile T ** );
50forall( type T ) const volatile T *      ?++( const volatile T ** );
51forall( type T ) const volatile T *      ?--( const volatile T ** );
52
53forall( type T ) lvalue T                ?[?](                T *,           ptrdiff_t );
54forall( type T ) const lvalue T          ?[?]( const          T *,           ptrdiff_t );
55forall( type T ) volatile lvalue T       ?[?](       volatile T *,           ptrdiff_t );
56forall( type T ) const volatile lvalue T ?[?]( const volatile T *,           ptrdiff_t );
57forall( type T ) lvalue T                ?[?]( ptrdiff_t,     T * );
58forall( type T ) const lvalue T          ?[?]( ptrdiff_t,    const           T * );
59forall( type T ) volatile lvalue T       ?[?]( ptrdiff_t,    volatile        T * );
60forall( type T ) const volatile lvalue T ?[?]( ptrdiff_t,    const volatile  T * );
61
62// ------------------------------------------------------------
63//
64// Section 4.3 Unary Operators
65//
66// ------------------------------------------------------------
67
68int             ++?( int * ),            --?( int * );
69unsigned        ++?( unsigned * ),       --?( unsigned * );
70long            ++?( long * ),           --?( long * );
71long unsigned   ++?( long unsigned * ),  --?( long unsigned * );
72float           ++?( float * ),          --?( float * );
73double          ++?( double * ),         --?( double * );
74long double     ++?( long double * ),    --?( long double * );
75
76forall( type T ) T *                     ++?(                T ** );
77forall( type T ) T *                     --?(                T ** );
78forall( type T ) const T *               ++?( const          T ** );
79forall( type T ) const T *               --?( const          T ** );
80forall( type T ) volatile T *            ++?(       volatile T ** );
81forall( type T ) volatile T *            --?(       volatile T ** );
82forall( type T ) const volatile T *      ++?( const volatile T ** );
83forall( type T ) const volatile T *      --?( const volatile T ** );
84
85forall( type T ) lvalue T                *?(                 T * );
86forall( type T ) const lvalue T          *?( const           T * );
87forall( type T ) volatile lvalue T       *?(       volatile  T * );
88forall( type T ) const volatile lvalue T *?( const volatile  T * );
89forall( ftype FT ) lvalue FT             *?( FT * );
90
91int             +?( int ),               -?( int ),             ~?( int );
92unsigned        +?( unsigned ),          -?( unsigned ),        ~?( unsigned );
93unsigned long   +?( unsigned long ),     -?( unsigned long ),   ~?( unsigned long );
94long            +?( long ),              -?( long ),            ~?( long );
95float           +?( float ),             -?( float );
96double          +?( double ),            -?( double );
97long double     +?( long double ),       -?( long double );
98
99int     !?( int ),      !?( unsigned ), !?( long ),     !?( unsigned long ),
100        !?( float ),    !?( double );
101
102forall ( dtype DT ) int !?( const volatile DT * );
103forall ( ftype FT ) int !?( FT * );
104
105// ------------------------------------------------------------
106//
107// Section 4.5 Multiplicative Operators
108//
109// ------------------------------------------------------------
110
111int             ?*?( int, int ),
112                ?/?( int, int ),
113                ?%?( int, int );
114unsigned        ?*?( unsigned, unsigned ),
115                ?/?( unsigned, unsigned ),
116                ?%?( unsigned, unsigned );
117unsigned long   ?*?( unsigned long, unsigned long ),
118                ?/?( unsigned long, unsigned long ),
119                ?%?( unsigned long, unsigned long );
120long            ?*?( long, long ),
121                ?/?( long, long ),
122                ?%?( long, long );
123float           ?*?( float, float ),
124                ?/?( float, float );
125double          ?*?( double, double ),
126                ?/?( double, double );
127long double     ?*?( long double, long double ),
128                ?/?( long double, long double );
129
130// ------------------------------------------------------------
131//
132// Section 4.6 Additive Operators
133//
134// ------------------------------------------------------------
135
136int             ?+?( int, int ),                        ?-?( int, int );
137long            ?+?( long, long ),                      ?-?( long, long );
138unsigned        ?+?( unsigned, unsigned ),              ?-?( unsigned, unsigned );
139long unsigned   ?+?( long unsigned, long unsigned ),    ?-?( long unsigned, long unsigned );
140float           ?+?( float, float ),                    ?-?( float, float );
141double          ?+?( double, double ),                  ?-?( double, double );
142long double     ?+?( long double, long double ),        ?-?( long double, long double );
143
144forall( type T ) T *                    ?+?(                T *,                       ptrdiff_t );
145forall( type T ) T *                    ?+?(          ptrdiff_t,                       T * );
146forall( type T ) T *                    ?-?(                T *,                       ptrdiff_t );
147forall( type T ) const T *              ?+?( const          T *,                       ptrdiff_t );
148forall( type T ) const T *              ?+?(          ptrdiff_t, const         T * );
149forall( type T ) const T *              ?-?( const          T *,                       ptrdiff_t );
150forall( type T ) volatile T *           ?+?(       volatile T *,                       ptrdiff_t );
151forall( type T ) volatile T *           ?+?(          ptrdiff_t,              volatile T * );
152forall( type T ) volatile T *           ?-?(       volatile T *,                       ptrdiff_t );
153forall( type T ) const volatile T *     ?+?( const volatile T *,                       ptrdiff_t );
154forall( type T ) const volatile T *     ?+?(          ptrdiff_t, const volatile T * );
155forall( type T ) const volatile T *     ?-?( const volatile T *,                       ptrdiff_t );
156
157forall( type T ) ptrdiff_t              ?-?( const volatile T *, const volatile T * );
158
159// ------------------------------------------------------------
160//
161// Section 4.7 Bitwise Shift Operators
162//
163// ------------------------------------------------------------
164
165int             ?<<?( int, int ),                       ?>>?( int, int );
166long            ?<<?( long, long ),                     ?>>?( long, long );
167unsigned        ?<<?( unsigned, unsigned ),             ?>>?( unsigned, unsigned );
168long unsigned   ?<<?( long unsigned, long unsigned ),   ?>>?( long unsigned, long unsigned );
169
170// ------------------------------------------------------------
171//
172// Section 4.8 Relational Operators
173//
174// ------------------------------------------------------------
175
176int     ?<?( int, int ),                        ?<=?( int, int ),
177        ?>?( int, int ),                        ?>=?( int, int );
178int     ?<?( long, long ),                      ?<=?( long, long ),
179        ?>?( long, long ),                      ?>=?( long, long );
180int     ?<?( unsigned, unsigned ),              ?<=?( unsigned, unsigned ),
181        ?>?( unsigned, unsigned ),              ?>=?( unsigned, unsigned );
182int     ?<?( unsigned long, unsigned long ),    ?<=?( unsigned long, unsigned long ),
183        ?>?( unsigned long, unsigned long ),    ?>=?( unsigned long, unsigned long );
184int     ?<?( float, float ),                    ?<=?( float, float ),
185        ?>?( float, float ),                    ?>=?( float, float );
186int     ?<?( double, double ),                  ?<=?( double, double ),
187        ?>?( double, double ),                  ?>=?( double, double );
188int     ?<?( long double, long double ),        ?<=?( long double, long double ),
189        ?>?( long double, long double ),        ?>=?( long double, long double );
190
191forall( dtype DT ) int ?<?(  const volatile DT *, const volatile DT * );
192forall( dtype DT ) int ?>?(  const volatile DT *, const volatile DT * );
193forall( dtype DT ) int ?<=?( const volatile DT *, const volatile DT * );
194forall( dtype DT ) int ?>=?( const volatile DT *, const volatile DT * );
195
196// ------------------------------------------------------------
197//
198// Section 4.9 Equality Operators
199//
200// ------------------------------------------------------------
201
202int     ?==?( int, int ),                       ?!=?( int, int );
203int     ?==?( long, long ),                     ?!=?( long, long );
204int     ?==?( unsigned, unsigned ),             ?!=?( unsigned, unsigned );
205int     ?==?( unsigned long, unsigned long ),   ?!=?( unsigned long, unsigned long );
206int     ?==?( float, float ),                   ?!=?( float, float );
207int     ?==?( double, double ),                 ?!=?( double, double );
208int     ?==?( long double, long double ),       ?!=?( long double, long double );
209
210forall( dtype DT ) int ?==?(                DT *,                DT * );
211forall( dtype DT ) int ?!=?(                DT *,                DT * );
212forall( dtype DT ) int ?==?( const          DT *, const          DT * );
213forall( dtype DT ) int ?!=?( const          DT *, const          DT * );
214forall( dtype DT ) int ?==?(       volatile DT *,       volatile DT * );
215forall( dtype DT ) int ?!=?(       volatile DT *,       volatile DT * );
216forall( dtype DT ) int ?==?( const volatile DT *, const volatile DT * );
217forall( dtype DT ) int ?!=?( const volatile DT *, const volatile DT * );
218forall( ftype FT ) int ?==?( FT *, FT * );
219forall( ftype FT ) int ?!=?( FT *, FT * );
220
221
222forall( dtype DT ) int ?==?( const volatile DT   *, const volatile void * );
223forall( dtype DT ) int ?!=?( const volatile DT   *, const volatile void * );
224forall( dtype DT ) int ?==?( const volatile void *, const volatile DT * );
225forall( dtype DT ) int ?!=?( const volatile void *, const volatile DT * );
226
227forall( dtype DT ) int ?==?( const volatile DT *, forall( dtype DT2 )const DT2 * );
228forall( dtype DT ) int ?!=?( const volatile DT *, forall( dtype DT2 )const DT2 * );
229forall( dtype DT ) int ?==?( forall( dtype DT2 )const DT2 *, const volatile DT * );
230forall( dtype DT ) int ?!=?( forall( dtype DT2 )const DT2 *, const volatile DT * );
231forall( ftype FT ) int ?==?( FT *, forall( ftype FT2 )FT2 * );
232forall( ftype FT ) int ?!=?( FT *, forall( ftype FT2 )FT2 * );
233forall( ftype FT ) int ?==?( forall( ftype FT2 )FT2 *, FT * );
234forall( ftype FT ) int ?!=?( forall( ftype FT2 )FT2 *, FT * );
235
236// ------------------------------------------------------------
237//
238// Section 4.10 Bitwise AND Operators
239//
240// ------------------------------------------------------------
241
242int             ?&?( int, int );
243long            ?&?( long, long );
244unsigned        ?&?( unsigned, unsigned );
245unsigned long   ?&?( unsigned long, unsigned long );
246
247// ------------------------------------------------------------
248//
249// Section 4.11 Bitwise XOR Operators
250//
251// ------------------------------------------------------------
252
253int             ?^?( int, int );
254long            ?^?( long, long );
255unsigned        ?^?( unsigned, unsigned );
256unsigned long   ?^?( unsigned long, unsigned long );
257
258// ------------------------------------------------------------
259//
260// Section 4.12 Bitwise OR Operators
261//
262// ------------------------------------------------------------
263
264int             ?|?( int, int );
265long            ?|?( long, long );
266unsigned        ?|?( unsigned, unsigned );
267unsigned long   ?|?( unsigned long, unsigned long );
268
269// ------------------------------------------------------------
270//
271// Section 4.16 Assignment Operator
272//
273// ------------------------------------------------------------
274
275forall( ftype FT ) FT *                 ?=?( FT **, FT * );
276forall( ftype FT ) FT *                 ?=?( FT * volatile *, FT * );
277
278forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   DT * );
279forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   DT * );
280forall( dtype DT ) const DT *           ?=?( const           DT *          *,                   DT * );
281forall( dtype DT ) const DT *           ?=?( const           DT * volatile *,                   DT * );
282forall( dtype DT ) const DT *           ?=?( const           DT *          *, const             DT * );
283forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             DT * );
284forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   DT * );
285forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,                   DT * );
286forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,       volatile    DT * );
287forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,       volatile    DT * );
288       
289forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,                   DT * );
290forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,                   DT * );
291forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const             DT * );
292forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const             DT * );
293forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,       volatile    DT * );
294forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,       volatile    DT * );
295forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const volatile    DT * );
296forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile    DT * );
297
298forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   void * );
299forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   void * );
300forall( dtype DT ) const DT *           ?=?( const           DT *          *,                   void * );
301forall( dtype DT ) const DT *           ?=?( const           DT * volatile *,                   void * );
302forall( dtype DT ) const DT *           ?=?( const           DT *          *, const             void * );
303forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             void * );
304forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   void * );
305forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,                   void * );
306forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,       volatile    void * );
307forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,       volatile    void * );
308       
309forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,                   void * );
310forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,                   void * );
311forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const             void * );
312forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const             void * );
313forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,       volatile    void * );
314forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,       volatile    void * );
315forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const volatile    void * );
316forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile    void * );
317
318forall( dtype DT ) void *                ?=?(                void *          *,                 DT * );
319forall( dtype DT ) void *                ?=?(                void * volatile *,                 DT * );
320forall( dtype DT ) const void *          ?=?( const          void *          *,                 DT * );
321forall( dtype DT ) const void *          ?=?( const          void * volatile *,                 DT * );
322forall( dtype DT ) const void *          ?=?( const          void *          *, const           DT * );
323forall( dtype DT ) const void *          ?=?( const          void * volatile *, const           DT * );
324forall( dtype DT ) volatile void *       ?=?(       volatile void *          *,                 DT * );
325forall( dtype DT ) volatile void *       ?=?(       volatile void * volatile *,                 DT * );
326forall( dtype DT ) volatile void *       ?=?(       volatile void *          *,       volatile  DT * );
327forall( dtype DT ) volatile void *       ?=?(       volatile void * volatile *,       volatile  DT * );
328forall( dtype DT ) const volatile void * ?=?( const volatile void *          *,                 DT * );
329forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *,                 DT * );
330forall( dtype DT ) const volatile void * ?=?( const volatile void *          *, const           DT * );
331forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *, const           DT * );
332forall( dtype DT ) const volatile void * ?=?( const volatile void *          *,       volatile  DT * );
333forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *,       volatile  DT * );
334forall( dtype DT ) const volatile void * ?=?( const volatile void *          *, const volatile  DT * );
335forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *, const volatile  DT * );
336
337void *                  ?=?(                void *          *,                void * );
338void *                  ?=?(                void * volatile *,                void * );
339const void *            ?=?( const          void *          *,                void * );
340const void *            ?=?( const          void * volatile *,                void * );
341const void *            ?=?( const          void *          *, const          void * );
342const void *            ?=?( const          void * volatile *, const          void * );
343volatile void *         ?=?(       volatile void *          *,                void * );
344volatile void *         ?=?(       volatile void * volatile *,                void * );
345volatile void *         ?=?(       volatile void *          *,       volatile void * );
346volatile void *         ?=?(       volatile void * volatile *,       volatile void * );
347const volatile void *   ?=?( const volatile void *          *,                void * );
348const volatile void *   ?=?( const volatile void * volatile *,                void * );
349const volatile void *   ?=?( const volatile void *          *, const          void * );
350const volatile void *   ?=?( const volatile void * volatile *, const          void * );
351const volatile void *   ?=?( const volatile void *          *,       volatile void * );
352const volatile void *   ?=?( const volatile void * volatile *,       volatile void * );
353const volatile void *   ?=?( const volatile void *          *, const volatile void * );
354const volatile void *   ?=?( const volatile void * volatile *, const volatile void * );
355
356forall( dtype DT ) DT *                 ?=?(                DT *          *, forall( dtype DT2 ) const DT2 * );
357forall( dtype DT ) DT *                 ?=?(                DT * volatile *, forall( dtype DT2 ) const DT2 * );
358forall( dtype DT ) const DT *           ?=?( const          DT *          *, forall( dtype DT2 ) const DT2 * );
359forall( dtype DT ) const DT *           ?=?( const          DT * volatile *, forall( dtype DT2 ) const DT2 * );
360forall( dtype DT ) volatile DT *        ?=?( volatile       DT *          *, forall( dtype DT2 ) const DT2 * );
361forall( dtype DT ) volatile DT *        ?=?( volatile       DT * volatile *, forall( dtype DT2 ) const DT2 * );
362forall( dtype DT ) const volatile DT *  ?=?( const volatile DT *          *, forall( dtype DT2 ) const DT2 * );
363forall( dtype DT ) const volatile DT *  ?=?( const volatile DT * volatile *, forall( dtype DT2 ) const DT2 * );
364
365forall( ftype FT ) FT *                 ?=?( FT *          *, forall( ftype FT2 ) FT2 * );
366forall( ftype FT ) FT *                 ?=?( FT * volatile *, forall( ftype FT2 ) FT2 * );
367
368forall( type T ) T *                    ?+=?(                T *          *, ptrdiff_t );
369forall( type T ) T *                    ?+=?(                T * volatile *, ptrdiff_t );
370forall( type T ) T *                    ?-=?(                T *          *, ptrdiff_t );
371forall( type T ) T *                    ?-=?(                T * volatile *, ptrdiff_t );
372forall( type T ) const T *              ?+=?( const          T *          *, ptrdiff_t );
373forall( type T ) const T *              ?+=?( const          T * volatile *, ptrdiff_t );
374forall( type T ) const T *              ?-=?( const          T *          *, ptrdiff_t );
375forall( type T ) const T *              ?-=?( const          T * volatile *, ptrdiff_t );
376forall( type T ) volatile T *           ?+=?(       volatile T *          *, ptrdiff_t );
377forall( type T ) volatile T *           ?+=?(       volatile T * volatile *, ptrdiff_t );
378forall( type T ) volatile T *           ?-=?(       volatile T *          *, ptrdiff_t );
379forall( type T ) volatile T *           ?-=?(       volatile T * volatile *, ptrdiff_t );
380forall( type T ) const volatile T *     ?+=?( const volatile T *          *, ptrdiff_t );
381forall( type T ) const volatile T *     ?+=?( const volatile T * volatile *, ptrdiff_t );
382forall( type T ) const volatile T *     ?-=?( const volatile T *          *, ptrdiff_t );
383forall( type T ) const volatile T *     ?-=?( const volatile T * volatile *, ptrdiff_t );
384
385_Bool                   ?=?(          _Bool *, _Bool ),
386                        ?=?( volatile _Bool *, _Bool );
387char                    ?=?(          char *, char ),
388                        ?=?( volatile char *, char );
389signed char             ?=?(          signed char *, signed char ),
390                        ?=?( volatile signed char *, signed char );
391unsigned char           ?=?(          unsigned char *, unsigned char ),
392                        ?=?( volatile unsigned char *, unsigned char );
393short                   ?=?(          short *, short ),
394                        ?=?( volatile short *, short );
395unsigned short          ?=?(          unsigned short *, unsigned short ),
396                        ?=?( volatile unsigned short *, unsigned short );
397int                     ?=?(          int *, int ),
398                        ?=?( volatile int *, int );
399unsigned                ?=?(          unsigned *, unsigned ),
400                        ?=?( volatile unsigned *, unsigned );
401long                    ?=?(          long *, long ),
402                        ?=?( volatile long *, long );
403unsigned long           ?=?(          unsigned long *, unsigned long ),
404                        ?=?( volatile unsigned long *, unsigned long );
405long long               ?=?(          long long *, long long ),
406                        ?=?( volatile long long *, long long );
407unsigned long long      ?=?(          unsigned long long *, unsigned long long ),
408                        ?=?( volatile unsigned long long *, unsigned long long );
409
410_Bool                   ?*=?(          _Bool *, _Bool ),
411                        ?*=?( volatile _Bool *, _Bool );
412char                    ?*=?(          char *, char ),
413                        ?*=?( volatile char *, char );
414signed char             ?*=?(          signed char *, signed char ),
415                        ?*=?( volatile signed char *, signed char );
416unsigned char           ?*=?(          unsigned char *, unsigned char ),
417                        ?*=?( volatile unsigned char *, unsigned char );
418short                   ?*=?(          short *, short ),
419                        ?*=?( volatile short *, short );
420unsigned short          ?*=?(          unsigned short *, unsigned short ),
421                        ?*=?( volatile unsigned short *, unsigned short );
422int                     ?*=?(          int *, int ),
423                        ?*=?( volatile int *, int );
424unsigned                ?*=?(          unsigned *, unsigned ),
425                        ?*=?( volatile unsigned *, unsigned );
426long                    ?*=?(          long *, long ),
427                        ?*=?( volatile long *, long );
428unsigned long           ?*=?(          unsigned long *, unsigned long ),
429                        ?*=?( volatile unsigned long *, unsigned long );
430long long               ?*=?(          long long *, long long ),
431                        ?*=?( volatile long long *, long long );
432unsigned long long      ?*=?(          unsigned long long *, unsigned long long ),
433                        ?*=?( volatile unsigned long long *, unsigned long long );
434
435_Bool                   ?/=?(          _Bool *, _Bool ),
436                        ?/=?( volatile _Bool *, _Bool );
437char                    ?/=?(          char *, char ),
438                        ?/=?( volatile char *, char );
439signed char             ?/=?(          signed char *, signed char ),
440                        ?/=?( volatile signed char *, signed char );
441unsigned char           ?/=?(          unsigned char *, unsigned char ),
442                        ?/=?( volatile unsigned char *, unsigned char );
443short                   ?/=?(          short *, short ),
444                        ?/=?( volatile short *, short );
445unsigned short          ?/=?(          unsigned short *, unsigned short ),
446                        ?/=?( volatile unsigned short *, unsigned short );
447int                     ?/=?(          int *, int ),
448                        ?/=?( volatile int *, int );
449unsigned                ?/=?(          unsigned *, unsigned ),
450                        ?/=?( volatile unsigned *, unsigned );
451long                    ?/=?(          long *, long ),
452                        ?/=?( volatile long *, long );
453unsigned long           ?/=?(          unsigned long *, unsigned long ),
454                        ?/=?( volatile unsigned long *, unsigned long );
455long long               ?/=?(          long long *, long long ),
456                        ?/=?( volatile long long *, long long );
457unsigned long long      ?/=?(          unsigned long long *, unsigned long long ),
458                        ?/=?( volatile unsigned long long *, unsigned long long );
459
460_Bool                   ?%=?(          _Bool *, _Bool ),
461                        ?%=?( volatile _Bool *, _Bool );
462char                    ?%=?(          char *, char ),
463                        ?%=?( volatile char *, char );
464signed char             ?%=?(          signed char *, signed char ),
465                        ?%=?( volatile signed char *, signed char );
466unsigned char           ?%=?(          unsigned char *, unsigned char ),
467                        ?%=?( volatile unsigned char *, unsigned char );
468short                   ?%=?(          short *, short ),
469                        ?%=?( volatile short *, short );
470unsigned short          ?%=?(          unsigned short *, unsigned short ),
471                        ?%=?( volatile unsigned short *, unsigned short );
472int                     ?%=?(          int *, int ),
473                        ?%=?( volatile int *, int );
474unsigned                ?%=?(          unsigned *, unsigned ),
475                        ?%=?( volatile unsigned *, unsigned );
476long                    ?%=?(          long *, long ),
477                        ?%=?( volatile long *, long );
478unsigned long           ?%=?(          unsigned long *, unsigned long ),
479                        ?%=?( volatile unsigned long *, unsigned long );
480long long               ?%=?(          long long *, long long ),
481                        ?%=?( volatile long long *, long long );
482unsigned long long      ?%=?(          unsigned long long *, unsigned long long ),
483                        ?%=?( volatile unsigned long long *, unsigned long long );
484
485_Bool                   ?+=?(          _Bool *, _Bool ),
486                        ?+=?( volatile _Bool *, _Bool );
487char                    ?+=?(          char *, char ),
488                        ?+=?( volatile char *, char );
489signed char             ?+=?(          signed char *, signed char ),
490                        ?+=?( volatile signed char *, signed char );
491unsigned char           ?+=?(          unsigned char *, unsigned char ),
492                        ?+=?( volatile unsigned char *, unsigned char );
493short                   ?+=?(          short *, short ),
494                        ?+=?( volatile short *, short );
495unsigned short          ?+=?(          unsigned short *, unsigned short ),
496                        ?+=?( volatile unsigned short *, unsigned short );
497int                     ?+=?(          int *, int ),
498                        ?+=?( volatile int *, int );
499unsigned                ?+=?(          unsigned *, unsigned ),
500                        ?+=?( volatile unsigned *, unsigned );
501long                    ?+=?(          long *, long ),
502                        ?+=?( volatile long *, long );
503unsigned long           ?+=?(          unsigned long *, unsigned long ),
504                        ?+=?( volatile unsigned long *, unsigned long );
505long long               ?+=?(          long long *, long long ),
506                        ?+=?( volatile long long *, long long );
507unsigned long long      ?+=?(          unsigned long long *, unsigned long long ),
508                        ?+=?( volatile unsigned long long *, unsigned long long );
509
510_Bool                   ?-=?(          _Bool *, _Bool ),
511                        ?-=?( volatile _Bool *, _Bool );
512char                    ?-=?(          char *, char ),
513                        ?-=?( volatile char *, char );
514signed char             ?-=?(          signed char *, signed char ),
515                        ?-=?( volatile signed char *, signed char );
516unsigned char           ?-=?(          unsigned char *, unsigned char ),
517                        ?-=?( volatile unsigned char *, unsigned char );
518short                   ?-=?(          short *, short ),
519                        ?-=?( volatile short *, short );
520unsigned short          ?-=?(          unsigned short *, unsigned short ),
521                        ?-=?( volatile unsigned short *, unsigned short );
522int                     ?-=?(          int *, int ),
523                        ?-=?( volatile int *, int );
524unsigned                ?-=?(          unsigned *, unsigned ),
525                        ?-=?( volatile unsigned *, unsigned );
526long                    ?-=?(          long *, long ),
527                        ?-=?( volatile long *, long );
528unsigned long           ?-=?(          unsigned long *, unsigned long ),
529                        ?-=?( volatile unsigned long *, unsigned long );
530long long               ?-=?(          long long *, long long ),
531                        ?-=?( volatile long long *, long long );
532unsigned long long      ?-=?(          unsigned long long *, unsigned long long ),
533                        ?-=?( volatile unsigned long long *, unsigned long long );
534
535_Bool                   ?<<=?(          _Bool *, _Bool ),
536                        ?<<=?( volatile _Bool *, _Bool );
537char                    ?<<=?(          char *, char ),
538                        ?<<=?( volatile char *, char );
539signed char             ?<<=?(          signed char *, signed char ),
540                        ?<<=?( volatile signed char *, signed char );
541unsigned char           ?<<=?(          unsigned char *, unsigned char ),
542                        ?<<=?( volatile unsigned char *, unsigned char );
543short                   ?<<=?(          short *, short ),
544                        ?<<=?( volatile short *, short );
545unsigned short          ?<<=?(          unsigned short *, unsigned short ),
546                        ?<<=?( volatile unsigned short *, unsigned short );
547int                     ?<<=?(          int *, int ),
548                        ?<<=?( volatile int *, int );
549unsigned                ?<<=?(          unsigned *, unsigned ),
550                        ?<<=?( volatile unsigned *, unsigned );
551long                    ?<<=?(          long *, long ),
552                        ?<<=?( volatile long *, long );
553unsigned long           ?<<=?(          unsigned long *, unsigned long ),
554                        ?<<=?( volatile unsigned long *, unsigned long );
555long long               ?<<=?(          long long *, long long ),
556                        ?<<=?( volatile long long *, long long );
557unsigned long long      ?<<=?(          unsigned long long *, unsigned long long ),
558                        ?<<=?( volatile unsigned long long *, unsigned long long );
559
560_Bool                   ?>>=?(          _Bool *, _Bool ),
561                        ?>>=?( volatile _Bool *, _Bool );
562char                    ?>>=?(          char *, char ),
563                        ?>>=?( volatile char *, char );
564signed char             ?>>=?(          signed char *, signed char ),
565                        ?>>=?( volatile signed char *, signed char );
566unsigned char           ?>>=?(          unsigned char *, unsigned char ),
567                        ?>>=?( volatile unsigned char *, unsigned char );
568short                   ?>>=?(          short *, short ),
569                        ?>>=?( volatile short *, short );
570unsigned short          ?>>=?(          unsigned short *, unsigned short ),
571                        ?>>=?( volatile unsigned short *, unsigned short );
572int                     ?>>=?(          int *, int ),
573                        ?>>=?( volatile int *, int );
574unsigned                ?>>=?(          unsigned *, unsigned ),
575                        ?>>=?( volatile unsigned *, unsigned );
576long                    ?>>=?(          long *, long ),
577                        ?>>=?( volatile long *, long );
578unsigned long           ?>>=?(          unsigned long *, unsigned long ),
579                        ?>>=?( volatile unsigned long *, unsigned long );
580long long               ?>>=?(          long long *, long long ),
581                        ?>>=?( volatile long long *, long long );
582unsigned long long      ?>>=?(          unsigned long long *, unsigned long long ),
583                        ?>>=?( volatile unsigned long long *, unsigned long long );
584
585_Bool                   ?&=?(          _Bool *, _Bool ),
586                        ?&=?( volatile _Bool *, _Bool );
587char                    ?&=?(          char *, char ),
588                        ?&=?( volatile char *, char );
589signed char             ?&=?(          signed char *, signed char ),
590                        ?&=?( volatile signed char *, signed char );
591unsigned char           ?&=?(          unsigned char *, unsigned char ),
592                        ?&=?( volatile unsigned char *, unsigned char );
593short                   ?&=?(          short *, short ),
594                        ?&=?( volatile short *, short );
595unsigned short          ?&=?(          unsigned short *, unsigned short ),
596                        ?&=?( volatile unsigned short *, unsigned short );
597int                     ?&=?(          int *, int ),
598                        ?&=?( volatile int *, int );
599unsigned                ?&=?(          unsigned *, unsigned ),
600                        ?&=?( volatile unsigned *, unsigned );
601long                    ?&=?(          long *, long ),
602                        ?&=?( volatile long *, long );
603unsigned long           ?&=?(          unsigned long *, unsigned long ),
604                        ?&=?( volatile unsigned long *, unsigned long );
605long long               ?&=?(          long long *, long long ),
606                        ?&=?( volatile long long *, long long );
607unsigned long long      ?&=?(          unsigned long long *, unsigned long long ),
608                        ?&=?( volatile unsigned long long *, unsigned long long );
609
610_Bool                   ?|=?(          _Bool *, _Bool ),
611                        ?|=?( volatile _Bool *, _Bool );
612char                    ?|=?(          char *, char ),
613                        ?|=?( volatile char *, char );
614signed char             ?|=?(          signed char *, signed char ),
615                        ?|=?( volatile signed char *, signed char );
616unsigned char           ?|=?(          unsigned char *, unsigned char ),
617                        ?|=?( volatile unsigned char *, unsigned char );
618short                   ?|=?(          short *, short ),
619                        ?|=?( volatile short *, short );
620unsigned short          ?|=?(          unsigned short *, unsigned short ),
621                        ?|=?( volatile unsigned short *, unsigned short );
622int                     ?|=?(          int *, int ),
623                        ?|=?( volatile int *, int );
624unsigned                ?|=?(          unsigned *, unsigned ),
625                        ?|=?( volatile unsigned *, unsigned );
626long                    ?|=?(          long *, long ),
627                        ?|=?( volatile long *, long );
628unsigned long           ?|=?(          unsigned long *, unsigned long ),
629                        ?|=?( volatile unsigned long *, unsigned long );
630long long               ?|=?(          long long *, long long ),
631                        ?|=?( volatile long long *, long long );
632unsigned long long      ?|=?(          unsigned long long *, unsigned long long ),
633                        ?|=?( volatile unsigned long long *, unsigned long long );
634
635_Bool                   ?^=?(          _Bool *, _Bool ),
636                        ?^=?( volatile _Bool *, _Bool );
637char                    ?^=?(          char *, char ),
638                        ?^=?( volatile char *, char );
639signed char             ?^=?(          signed char *, signed char ),
640                        ?^=?( volatile signed char *, signed char );
641unsigned char           ?^=?(          unsigned char *, unsigned char ),
642                        ?^=?( volatile unsigned char *, unsigned char );
643short                   ?^=?(          short *, short ),
644                        ?^=?( volatile short *, short );
645unsigned short          ?^=?(          unsigned short *, unsigned short ),
646                        ?^=?( volatile unsigned short *, unsigned short );
647int                     ?^=?(          int *, int ),
648                        ?^=?( volatile int *, int );
649unsigned                ?^=?(          unsigned *, unsigned ),
650                        ?^=?( volatile unsigned *, unsigned );
651long                    ?^=?(          long *, long ),
652                        ?^=?( volatile long *, long );
653unsigned long           ?^=?(          unsigned long *, unsigned long ),
654                        ?^=?( volatile unsigned long *, unsigned long );
655long long               ?^=?(          long long *, long long ),
656                        ?^=?( volatile long long *, long long );
657unsigned long long      ?^=?(          unsigned long long *, unsigned long long ),
658                        ?^=?( volatile unsigned long long *, unsigned long long );
659
660
661float                   ?=?(           float *, float ),
662                        ?=?(  volatile float *, float ),
663                        ?*=?(          float *, float ),
664                        ?*=?( volatile float *, float ),
665                        ?/=?(          float *, float ),
666                        ?/=?( volatile float *, float ),
667                        ?+=?(          float *, float ),
668                        ?+=?( volatile float *, float ),
669                        ?-=?(          float *, float ),
670                        ?-=?( volatile float *, float );
671
672double                  ?=?(           double *, double ),
673                        ?=?(  volatile double *, double ),
674                        ?*=?(          double *, double ),
675                        ?*=?( volatile double *, double ),
676                        ?/=?(          double *, double ),
677                        ?/=?( volatile double *, double ),
678                        ?+=?(          double *, double ),
679                        ?+=?( volatile double *, double ),
680                        ?-=?(          double *, double ),
681                        ?-=?( volatile double *, double );
682
683long double             ?=?(           long double *, long double ),
684                        ?=?(  volatile long double *, long double ),
685                        ?*=?(          long double *, long double ),
686                        ?*=?( volatile long double *, long double ),
687                        ?/=?(          long double *, long double ),
688                        ?/=?( volatile long double *, long double ),
689                        ?+=?(          long double *, long double ),
690                        ?+=?( volatile long double *, long double ),
691                        ?-=?(          long double *, long double ),
692                        ?-=?( volatile long double *, long double );
Note: See TracBrowser for help on using the repository browser.