source: libcfa/prelude.cf @ 17cd4eb

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since 17cd4eb was 17cd4eb, checked in by Peter A. Buhr <pabuhr@…>, 9 years ago

fixed restrict, fixed parameter copy, introduced name table for types, changed variable after to string

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