Changeset f7f6785


Ignore:
Timestamp:
Jan 19, 2015, 10:28:37 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
991bd31
Parents:
6c3744e
Message:

add _Bool, _Complex, and consistent type naming to prelude

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/prelude.cf

    r6c3744e rf7f6785  
    33// Copyright (C) Glen Ditchfield 1994, 1999
    44//
    5 // prelude.cf -- Standard Cforall Preample
     5// prelude.cf -- Standard Cforall Preample for C99
    66//
    77// Author           : Glen Ditchfield
    88// Created On       : Sat Nov 29 07:23:41 2014
    99// Last Modified By : Peter A. Buhr
    10 // Last Modified On : Wed Jan  7 17:42:15 2015
    11 // Update Count     : 28
     10// Last Modified On : Mon Jan 19 22:20:57 2015
     11// Update Count     : 51
    1212//
    1313
     
    2626const int 0, 1;
    2727
    28 forall ( dtype DT ) const DT * const    0;
    29 forall ( ftype FT ) FT * const          0;
     28forall ( dtype DT ) const DT * const    0;
     29forall ( ftype FT ) FT * const          0;
    3030
    3131// ------------------------------------------------------------
     
    3535// ------------------------------------------------------------
    3636
    37 int             ?++( int * ),            ?--( int * );
    38 unsigned        ?++( unsigned * ),       ?--( unsigned * );
    39 long            ?++( long * ),           ?--( long * );
    40 long unsigned   ?++( long unsigned * ),  ?--( long unsigned * );
    41 float           ?++( float * ),          ?--( float * );
    42 double          ?++( double * ),         ?--( double * );
    43 long double     ?++( long double * ),    ?--( long double * );
     37_Bool                   ?++( _Bool * ),                         ?--( _Bool * );
     38signed int              ?++( signed int * ),                    ?--( signed int * );
     39unsigned int            ?++( unsigned int * ),                  ?--( unsigned int * );
     40signed long int         ?++( signed long int * ),               ?--( signed long int * );
     41unsigned long int       ?++( unsigned long int * ),             ?--( unsigned long int * );
     42signed long long int    ?++( signed long long int * ),          ?--( signed long long int * );
     43unsigned long long int  ?++( unsigned long long int * ),        ?--( unsigned long long int * );
     44float                   ?++( float * ),                         ?--( float * );
     45double                  ?++( double * ),                        ?--( double * );
     46long double             ?++( long double * ),                   ?--( long double * );
     47float _Complex          ?++( float _Complex * ),                ?--( float _Complex * );
     48double _Complex         ?++( double _Complex * ),               ?--( double _Complex * );
     49long double _Complex    ?++( long double _Complex * ),          ?--( long double _Complex * );
    4450
    4551forall( type T ) T *                     ?++(                T ** );
     52forall( type T ) const T *               ?++( const          T ** );
     53forall( type T ) volatile T *            ?++(       volatile T ** );
     54forall( type T ) const volatile T *      ?++( const volatile T ** );
    4655forall( type T ) T *                     ?--(                T ** );
    47 forall( type T ) const T *               ?++( const          T ** );
    4856forall( type T ) const T *               ?--( const          T ** );
    49 forall( type T ) volatile T *            ?++(       volatile T ** );
    5057forall( type T ) volatile T *            ?--(       volatile T ** );
    51 forall( type T ) const volatile T *      ?++( const volatile T ** );
    5258forall( type T ) const volatile T *      ?--( const volatile T ** );
    5359
    54 forall( type T ) lvalue T                ?[?](                T *,           ptrdiff_t );
    55 forall( type T ) const lvalue T          ?[?]( const          T *,           ptrdiff_t );
    56 forall( type T ) volatile lvalue T       ?[?](       volatile T *,           ptrdiff_t );
    57 forall( type T ) const volatile lvalue T ?[?]( const volatile T *,           ptrdiff_t );
    58 forall( type T ) lvalue T                ?[?]( ptrdiff_t,     T * );
    59 forall( type T ) const lvalue T          ?[?]( ptrdiff_t,    const           T * );
    60 forall( type T ) volatile lvalue T       ?[?]( ptrdiff_t,    volatile        T * );
    61 forall( type T ) const volatile lvalue T ?[?]( ptrdiff_t,    const volatile T * );
     60forall( type T ) lvalue T                ?[?](                T *,          ptrdiff_t );
     61forall( type T ) const lvalue T          ?[?]( const          T *,          ptrdiff_t );
     62forall( type T ) volatile lvalue T       ?[?](       volatile T *,          ptrdiff_t );
     63forall( type T ) const volatile lvalue T ?[?]( const volatile T *,          ptrdiff_t );
     64forall( type T ) lvalue T                ?[?](          ptrdiff_t,                T * );
     65forall( type T ) const lvalue T          ?[?](          ptrdiff_t, const          T * );
     66forall( type T ) volatile lvalue T       ?[?](          ptrdiff_t,       volatile T * );
     67forall( type T ) const volatile lvalue T ?[?](          ptrdiff_t, const volatile T * );
    6268
    6369// ------------------------------------------------------------
     
    6773// ------------------------------------------------------------
    6874
    69 int             ++?( int * ),            --?( int * );
    70 unsigned        ++?( unsigned * ),       --?( unsigned * );
    71 long            ++?( long * ),           --?( long * );
    72 long unsigned   ++?( long unsigned * ),  --?( long unsigned * );
    73 float           ++?( float * ),          --?( float * );
    74 double          ++?( double * ),         --?( double * );
    75 long double     ++?( long double * ),    --?( long double * );
     75_Bool                   ++?( _Bool * ),                         --?( _Bool * );
     76signed int              ++?( signed int * ),                    --?( signed int * );
     77unsigned int            ++?( unsigned int * ),                  --?( unsigned int * );
     78signed long int         ++?( signed long int * ),               --?( signed long int * );
     79unsigned long int       ++?( unsigned long int * ),             --?( unsigned long int * );
     80signed long long int    ++?( signed long long int * ),          --?( signed long long int * );
     81unsigned long long int  ++?( unsigned long long int * ),        --?( unsigned long long int * );
     82float                   ++?( float * ),                         --?( float * );
     83double                  ++?( double * ),                        --?( double * );
     84long double             ++?( long double * ),                   --?( long double * );
     85float _Complex          ++?( float _Complex * ),                --?( float _Complex * );
     86double _Complex         ++?( double _Complex * ),               --?( double _Complex * );
     87long double _Complex    ++?( long double _Complex * ),          --?( long double _Complex * );
    7688
    7789forall( type T ) T *                     ++?(                T ** );
     90forall( type T ) const T *               ++?( const          T ** );
     91forall( type T ) volatile T *            ++?(       volatile T ** );
     92forall( type T ) const volatile T *      ++?( const volatile T ** );
    7893forall( type T ) T *                     --?(                T ** );
    79 forall( type T ) const T *               ++?( const          T ** );
    80 forall( type T ) const T *               --?( const          T ** );
    81 forall( type T ) volatile T *            ++?(       volatile T ** );
    82 forall( type T ) volatile T *            --?(       volatile T ** );
    83 forall( type T ) const volatile T *      ++?( const volatile T ** );
    84 forall( type T ) const volatile T *      --?( const volatile T ** );
     94forall( type T ) const T *               --?( const          T ** );
     95forall( type T ) volatile T *            --?(       volatile T ** );
     96forall( type T ) const volatile T *      --?( const volatile T ** );
    8597
    8698forall( type T ) lvalue T                *?(                 T * );
     
    90102forall( ftype FT ) lvalue FT             *?( FT * );
    91103
    92 int             +?( int ),               -?( int ),             ~?( int );
    93 unsigned        +?( unsigned ),          -?( unsigned ),        ~?( unsigned );
    94 unsigned long   +?( unsigned long ),     -?( unsigned long ),   ~?( unsigned long );
    95 long            +?( long ),              -?( long ),            ~?( long );
    96 float           +?( float ),             -?( float );
    97 double          +?( double ),            -?( double );
    98 long double     +?( long double ),       -?( long double );
    99 
    100 int     !?( int ),      !?( unsigned ), !?( long ),     !?( unsigned long ),
    101         !?( float ),    !?( double );
     104_Bool                   +?( _Bool ),                    -?( _Bool ),                    ~?( _Bool );         
     105signed int              +?( signed int ),               -?( signed int ),               ~?( signed int );           
     106unsigned int            +?( unsigned int ),             -?( unsigned int ),             ~?( unsigned int );         
     107signed long int         +?( signed long int ),          -?( signed long int ),          ~?( signed long int );       
     108unsigned long int       +?( unsigned long int ),        -?( unsigned long int ),        ~?( unsigned long int );             
     109signed long long int    +?( signed long long int ),     -?( signed long long int ),     ~?( signed long long int );   
     110unsigned long long int  +?( unsigned long long int ),   -?( unsigned long long int ),   ~?( unsigned long long int ); 
     111float                   +?( float ),                    -?( float );
     112double                  +?( double ),                   -?( double );
     113long double             +?( long double ),              -?( long double );
     114float _Complex          +?( float _Complex ),           -?( float _Complex );
     115double _Complex         +?( double _Complex ),          -?( double _Complex );
     116long double _Complex    +?( long double _Complex ),     -?( long double _Complex );
     117
     118signed int      !?( signed int ),               !?( unsigned int ),
     119                !?( long int ),                 !?( unsigned long int ),
     120                !?( long long int ),            !?( unsigned long long int ),
     121                !?( float ),                    !?( double ),                   !?( long double ),
     122                !?( float _Complex ),           !?( double _Complex ),          !?( long double _Complex );
    102123
    103124forall ( dtype DT ) int !?( const volatile DT * );
     
    110131// ------------------------------------------------------------
    111132
    112 int             ?*?( int, int ),
    113                 ?/?( int, int ),
    114                 ?%?( int, int );
    115 unsigned        ?*?( unsigned, unsigned ),
    116                 ?/?( unsigned, unsigned ),
    117                 ?%?( unsigned, unsigned );
    118 unsigned long   ?*?( unsigned long, unsigned long ),
    119                 ?/?( unsigned long, unsigned long ),
    120                 ?%?( unsigned long, unsigned long );
    121 long            ?*?( long, long ),
    122                 ?/?( long, long ),
    123                 ?%?( long, long );
    124 float           ?*?( float, float ),
    125                 ?/?( float, float );
    126 double          ?*?( double, double ),
    127                 ?/?( double, double );
    128 long double     ?*?( long double, long double ),
    129                 ?/?( long double, long double );
     133_Bool                   ?*?( _Bool, _Bool ),                                    ?/?( _Bool, _Bool ),                            ?%?( _Bool, _Bool );
     134signed int              ?*?( signed int, signed int ),                          ?/?( signed int, signed int ),                  ?%?( signed int, signed int );
     135unsigned int            ?*?( unsigned int, unsigned int ),                      ?/?( unsigned int, unsigned int ),              ?%?( unsigned int, unsigned int );
     136signed long int         ?*?( signed long int, signed long int ),                ?/?( signed long int, signed long int ),        ?%?( signed long int, signed long int );
     137unsigned long int       ?*?( unsigned long int, unsigned long int ),            ?/?( unsigned long int, long unsigned ),        ?%?( long unsigned, long unsigned );
     138signed long long int    ?*?( signed long long int, signed long long int ),      ?/?( signed long long int, signed long long int ), ?%?( signed long long int, signed long long int );
     139unsigned long long int  ?*?( unsigned long long int, unsigned long long int ),  ?/?( unsigned long long int, long long unsigned ), ?%?( long long unsigned, long long unsigned );
     140float                   ?*?( float, float ),                                    ?/?( float, float );
     141double                  ?*?( double, double ),                                  ?/?( double, double );
     142long double             ?*?( long double, long double ),                        ?/?( long double, long double );
     143// gcc does not support _Imaginary
     144//float _Imaginary      ?*?( float _Imaginary, float _Imaginary),               ?/?( float _Imaginary, float _Imaginary );
     145//double _Imaginary     ?*?( double _Imaginary, double _Imaginary),             ?/?( double _Imaginary, double _Imaginary );
     146//long double _Imaginary        ?*?( long double _Imaginary, long double _Imaginary),   ?/?( long double _Imaginary, long double _Imaginary );
     147float _Complex          ?*?( float _Complex, float _Complex ),                  ?/?( float _Complex, float _Complex );
     148double _Complex         ?*?( double _Complex, double _Complex ),                ?/?( double _Complex, double _Complex );
     149long double _Complex    ?*?( long double _Complex, long double _Complex ),      ?/?( long double _Complex, long double _Complex );
    130150
    131151// ------------------------------------------------------------
     
    135155// ------------------------------------------------------------
    136156
    137 int             ?+?( int, int ),                        ?-?( int, int );
    138 long            ?+?( long, long ),                      ?-?( long, long );
    139 unsigned        ?+?( unsigned, unsigned ),              ?-?( unsigned, unsigned );
    140 long unsigned   ?+?( long unsigned, long unsigned ),    ?-?( long unsigned, long unsigned );
    141 float           ?+?( float, float ),                    ?-?( float, float );
    142 double          ?+?( double, double ),                  ?-?( double, double );
    143 long double     ?+?( long double, long double ),        ?-?( long double, long double );
    144 
    145 forall( type T ) T *                    ?+?(                T *,                       ptrdiff_t );
    146 forall( type T ) T *                    ?+?(          ptrdiff_t,                       T * );
    147 forall( type T ) T *                    ?-?(                T *,                       ptrdiff_t );
    148 forall( type T ) const T *              ?+?( const          T *,                       ptrdiff_t );
    149 forall( type T ) const T *              ?+?(          ptrdiff_t, const         T * );
    150 forall( type T ) const T *              ?-?( const          T *,                       ptrdiff_t );
    151 forall( type T ) volatile T *           ?+?(       volatile T *,                       ptrdiff_t );
    152 forall( type T ) volatile T *           ?+?(          ptrdiff_t,              volatile T * );
    153 forall( type T ) volatile T *           ?-?(       volatile T *,                       ptrdiff_t );
    154 forall( type T ) const volatile T *     ?+?( const volatile T *,                       ptrdiff_t );
     157_Bool                   ?+?( _Bool, _Bool ),                                    ?-?( _Bool, _Bool );
     158signed int              ?+?( signed int, signed int ),                          ?-?( signed int, signed int );
     159unsigned int            ?+?( unsigned int, unsigned int ),                      ?-?( unsigned int, unsigned int );
     160signed long int         ?+?( signed long int, signed long int ),                ?-?( signed long int, signed long int );
     161unsigned long int       ?+?( unsigned long int, unsigned long int ),            ?-?( unsigned long int, long unsigned );
     162signed long long int    ?+?( signed long long int, long long int  signed),      ?-?( signed long long int, signed long long int );
     163unsigned long long int  ?+?( unsigned long long int, unsigned long long int ),  ?-?( unsigned long long int, long long unsigned );
     164float                   ?+?( float, float ),                                    ?-?( float, float );
     165double                  ?+?( double, double ),                                  ?-?( double, double );
     166long double             ?+?( long double, long double ),                        ?-?( long double, long double );
     167float _Complex          ?+?( float _Complex, float _Complex ),                  ?-?( float _Complex, float _Complex );
     168double _Complex         ?+?( double _Complex, double _Complex ),                ?-?( double _Complex, double _Complex );
     169long double _Complex    ?+?( long double _Complex, long double _Complex ),      ?-?( long double _Complex, long double _Complex );
     170
     171forall( type T ) T *                    ?+?(                T *,          ptrdiff_t );
     172forall( type T ) T *                    ?+?(          ptrdiff_t,                T * );
     173forall( type T ) const T *              ?+?( const          T *,          ptrdiff_t );
     174forall( type T ) const T *              ?+?(          ptrdiff_t, const          T * );
     175forall( type T ) volatile T *           ?+?(       volatile T *,          ptrdiff_t );
     176forall( type T ) volatile T *           ?+?(          ptrdiff_t,       volatile T * );
     177forall( type T ) const volatile T *     ?+?( const volatile T *,          ptrdiff_t );
    155178forall( type T ) const volatile T *     ?+?(          ptrdiff_t, const volatile T * );
    156 forall( type T ) const volatile T *     ?-?( const volatile T *,                       ptrdiff_t );
    157 
     179forall( type T ) T *                    ?-?(                T *,          ptrdiff_t );
     180forall( type T ) const T *              ?-?( const          T *,          ptrdiff_t );
     181forall( type T ) volatile T *           ?-?(       volatile T *,          ptrdiff_t );
     182forall( type T ) const volatile T *     ?-?( const volatile T *,          ptrdiff_t );
    158183forall( type T ) ptrdiff_t              ?-?( const volatile T *, const volatile T * );
    159184
     
    164189// ------------------------------------------------------------
    165190
    166 int             ?<<?( int, int ),                       ?>>?( int, int );
    167 long            ?<<?( long, long ),                     ?>>?( long, long );
    168 unsigned        ?<<?( unsigned, unsigned ),             ?>>?( unsigned, unsigned );
    169 long unsigned   ?<<?( long unsigned, long unsigned ),   ?>>?( long unsigned, long unsigned );
     191_Bool                   ?<<?( _Bool, _Bool ),                           ?>>?( _Bool, _Bool );
     192signed int              ?<<?( signed int, signed int ),                 ?>>?( signed int, signed int );
     193unsigned int            ?<<?( unsigned int, unsigned int ),             ?>>?( unsigned int, unsigned int );
     194signed long int         ?<<?( signed long int, signed long int ),       ?>>?( signed long int, signed long int );
     195unsigned long int       ?<<?( unsigned long int, long unsigned ),       ?>>?( unsigned long int, unsigned long int );
    170196
    171197// ------------------------------------------------------------
     
    175201// ------------------------------------------------------------
    176202
    177 int     ?<?( int, int ),                        ?<=?( int, int ),
    178         ?>?( int, int ),                        ?>=?( int, int );
    179 int     ?<?( long, long ),                      ?<=?( long, long ),
    180         ?>?( long, long ),                      ?>=?( long, long );
    181 int     ?<?( unsigned, unsigned ),              ?<=?( unsigned, unsigned ),
    182         ?>?( unsigned, unsigned ),              ?>=?( unsigned, unsigned );
    183 int     ?<?( unsigned long, unsigned long ),    ?<=?( unsigned long, unsigned long ),
    184         ?>?( unsigned long, unsigned long ),    ?>=?( unsigned long, unsigned long );
    185 int     ?<?( float, float ),                    ?<=?( float, float ),
    186         ?>?( float, float ),                    ?>=?( float, float );
    187 int     ?<?( double, double ),                  ?<=?( double, double ),
    188         ?>?( double, double ),                  ?>=?( double, double );
    189 int     ?<?( long double, long double ),        ?<=?( long double, long double ),
    190         ?>?( long double, long double ),        ?>=?( long double, long double );
    191 
    192 forall( dtype DT ) int ?<?(  const volatile DT *, const volatile DT * );
    193 forall( dtype DT ) int ?>?(  const volatile DT *, const volatile DT * );
    194 forall( dtype DT ) int ?<=?( const volatile DT *, const volatile DT * );
    195 forall( dtype DT ) int ?>=?( const volatile DT *, const volatile DT * );
     203signed int ?<?( _Bool, _Bool ),                         ?<=?( _Bool, _Bool ),
     204           ?>?( _Bool, _Bool ),                         ?>=?( _Bool, _Bool );
     205signed int ?<?( signed int, signed int ),               ?<=?( signed int, signed int ),
     206           ?>?( signed int, signed int ),               ?>=?( signed int, signed int );
     207signed int ?<?( unsigned int, unsigned int ),           ?<=?( unsigned int, unsigned int ),
     208           ?>?( unsigned int, unsigned int ),           ?>=?( unsigned int, unsigned int );
     209signed int ?<?( signed long int, signed long int ),     ?<=?( signed long int, signed long int ),
     210           ?>?( signed long int, signed long int ),     ?>=?( signed long int, signed long int );
     211signed int ?<?( unsigned long int, unsigned long int ), ?<=?( unsigned long int, unsigned long int ),
     212           ?>?( unsigned long int, unsigned long int ), ?>=?( unsigned long int, unsigned long int );
     213signed int ?<?( float, float ),                         ?<=?( float, float ),
     214           ?>?( float, float ),                         ?>=?( float, float );
     215signed int ?<?( double, double ),                       ?<=?( double, double ),
     216           ?>?( double, double ),                       ?>=?( double, double );
     217signed int ?<?( long double, long double ),             ?<=?( long double, long double ),
     218           ?>?( long double, long double ),             ?>=?( long double, long double );
     219
     220forall( dtype DT ) signed int ?<?(  const volatile DT *, const volatile DT * );
     221forall( dtype DT ) signed int ?>?(  const volatile DT *, const volatile DT * );
     222forall( dtype DT ) signed int ?<=?( const volatile DT *, const volatile DT * );
     223forall( dtype DT ) signed int ?>=?( const volatile DT *, const volatile DT * );
    196224
    197225// ------------------------------------------------------------
     
    201229// ------------------------------------------------------------
    202230
    203 int     ?==?( int, int ),                       ?!=?( int, int );
    204 int     ?==?( long, long ),                     ?!=?( long, long );
    205 int     ?==?( unsigned, unsigned ),             ?!=?( unsigned, unsigned );
    206 int     ?==?( unsigned long, unsigned long ),   ?!=?( unsigned long, unsigned long );
    207 int     ?==?( float, float ),                   ?!=?( float, float );
    208 int     ?==?( double, double ),                 ?!=?( double, double );
    209 int     ?==?( long double, long double ),       ?!=?( long double, long double );
    210 
    211 forall( dtype DT ) int ?==?(                DT *,                DT * );
    212 forall( dtype DT ) int ?!=?(                DT *,                DT * );
    213 forall( dtype DT ) int ?==?( const          DT *, const          DT * );
    214 forall( dtype DT ) int ?!=?( const          DT *, const          DT * );
    215 forall( dtype DT ) int ?==?(       volatile DT *,       volatile DT * );
    216 forall( dtype DT ) int ?!=?(       volatile DT *,       volatile DT * );
    217 forall( dtype DT ) int ?==?( const volatile DT *, const volatile DT * );
    218 forall( dtype DT ) int ?!=?( const volatile DT *, const volatile DT * );
    219 forall( ftype FT ) int ?==?( FT *, FT * );
    220 forall( ftype FT ) int ?!=?( FT *, FT * );
    221 
    222 
    223 forall( dtype DT ) int ?==?( const volatile DT   *, const volatile void * );
    224 forall( dtype DT ) int ?!=?( const volatile DT   *, const volatile void * );
    225 forall( dtype DT ) int ?==?( const volatile void *, const volatile DT * );
    226 forall( dtype DT ) int ?!=?( const volatile void *, const volatile DT * );
    227 
    228 forall( dtype DT ) int ?==?( const volatile DT *, forall( dtype DT2 )const DT2 * );
    229 forall( dtype DT ) int ?!=?( const volatile DT *, forall( dtype DT2 )const DT2 * );
    230 forall( dtype DT ) int ?==?( forall( dtype DT2 )const DT2 *, const volatile DT * );
    231 forall( dtype DT ) int ?!=?( forall( dtype DT2 )const DT2 *, const volatile DT * );
    232 forall( ftype FT ) int ?==?( FT *, forall( ftype FT2 )FT2 * );
    233 forall( ftype FT ) int ?!=?( FT *, forall( ftype FT2 )FT2 * );
    234 forall( ftype FT ) int ?==?( forall( ftype FT2 )FT2 *, FT * );
    235 forall( ftype FT ) int ?!=?( forall( ftype FT2 )FT2 *, FT * );
     231signed int ?==?( _Bool, _Bool ),                                ?!=?( _Bool, _Bool );
     232signed int ?==?( signed int, signed int ),                      ?!=?( signed int, signed int );
     233signed int ?==?( unsigned int, unsigned int ),                  ?!=?( unsigned int, unsigned int );
     234signed int ?==?( signed long int, signed long int ),            ?!=?( signed long int, signed long int );
     235signed int ?==?( unsigned long int, unsigned long int ),        ?!=?( unsigned long int, long unsigned );
     236signed int ?==?( signed long long int, long long int  signed),  ?!=?( signed long long int, signed long long int );
     237signed int ?==?( unsigned long long int, unsigned long long int ), ?!=?( unsigned long long int, long long unsigned );
     238signed int ?==?( float, float ),                                ?!=?( float, float );
     239signed int ?==?( double, double ),                              ?!=?( double, double );
     240signed int ?==?( long double, long double ),                    ?!=?( long double, long double );
     241signed int ?==?( float _Complex, float _Complex ),              ?!=?( float _Complex, float _Complex );
     242signed int ?==?( double _Complex, double _Complex ),            ?!=?( double _Complex, double _Complex );
     243signed int ?==?( long double _Complex, long double _Complex ),  ?!=?( long double _Complex, long double _Complex );
     244
     245forall( dtype DT ) signed int ?==?(                DT *,                DT * );
     246forall( dtype DT ) signed int ?==?( const          DT *, const          DT * );
     247forall( dtype DT ) signed int ?==?(       volatile DT *,       volatile DT * );
     248forall( dtype DT ) signed int ?==?( const volatile DT *, const volatile DT * );
     249forall( ftype FT ) signed int ?==?( FT *, FT * );
     250forall( dtype DT ) signed int ?!=?(                DT *,                DT * );
     251forall( dtype DT ) signed int ?!=?( const          DT *, const          DT * );
     252forall( dtype DT ) signed int ?!=?(       volatile DT *,       volatile DT * );
     253forall( dtype DT ) signed int ?!=?( const volatile DT *, const volatile DT * );
     254forall( ftype FT ) signed int ?!=?( FT *, FT * );
     255
     256forall( dtype DT ) signed int ?==?( const volatile DT   *, const volatile void * );
     257forall( dtype DT ) signed int ?==?( const volatile void *, const volatile DT * );
     258forall( dtype DT ) signed int ?!=?( const volatile DT   *, const volatile void * );
     259forall( dtype DT ) signed int ?!=?( const volatile void *, const volatile DT * );
     260
     261forall( dtype DT ) signed int ?==?( const volatile DT *, forall( dtype DT2 )const DT2 * );
     262forall( dtype DT ) signed int ?==?( forall( dtype DT2 )const DT2 *, const volatile DT * );
     263forall( ftype FT ) signed int ?==?( FT *, forall( ftype FT2 )FT2 * );
     264forall( ftype FT ) signed int ?==?( forall( ftype FT2 )FT2 *, FT * );
     265forall( dtype DT ) signed int ?!=?( const volatile DT *, forall( dtype DT2 )const DT2 * );
     266forall( dtype DT ) signed int ?!=?( forall( dtype DT2 )const DT2 *, const volatile DT * );
     267forall( ftype FT ) signed int ?!=?( FT *, forall( ftype FT2 )FT2 * );
     268forall( ftype FT ) signed int ?!=?( forall( ftype FT2 )FT2 *, FT * );
    236269
    237270// ------------------------------------------------------------
     
    241274// ------------------------------------------------------------
    242275
    243 int             ?&?( int, int );
    244 long            ?&?( long, long );
    245 unsigned        ?&?( unsigned, unsigned );
    246 unsigned long   ?&?( unsigned long, unsigned long );
     276_Bool                   ?&?( _Bool, _Bool );
     277signed int              ?&?( signed int, signed int );
     278unsigned int            ?&?( unsigned int, unsigned int );
     279signed long int         ?&?( signed long int, signed long int );
     280unsigned long int       ?&?( unsigned long int, unsigned long int );
    247281
    248282// ------------------------------------------------------------
     
    252286// ------------------------------------------------------------
    253287
    254 int             ?^?( int, int );
    255 long            ?^?( long, long );
    256 unsigned        ?^?( unsigned, unsigned );
    257 unsigned long   ?^?( unsigned long, unsigned long );
     288_Bool                   ?^?( _Bool, _Bool );
     289signed int              ?^?( signed int, signed int );
     290unsigned int            ?^?( unsigned int, unsigned int );
     291signed long int         ?^?( signed long int, signed long int );
     292unsigned long int       ?^?( unsigned long int, unsigned long int );
    258293
    259294// ------------------------------------------------------------
     
    263298// ------------------------------------------------------------
    264299
    265 int             ?|?( int, int );
    266 long            ?|?( long, long );
    267 unsigned        ?|?( unsigned, unsigned );
    268 unsigned long   ?|?( unsigned long, unsigned long );
     300_Bool                   ?|?( _Bool, _Bool );
     301signed int              ?|?( signed int, signed int );
     302unsigned int            ?|?( unsigned int, unsigned int );
     303signed long int         ?|?( signed long int, signed long int );
     304unsigned long int       ?|?( unsigned long int, unsigned long int );
    269305
    270306// ------------------------------------------------------------
     
    277313forall( ftype FT ) FT *                 ?=?( FT * volatile *, FT * );
    278314
    279 forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   DT * );
    280 forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   DT * );
    281 forall( dtype DT ) const DT *           ?=?( const           DT *          *,                   DT * );
     315forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   DT * );
     316forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   DT * );
     317forall( dtype DT ) const DT *           ?=?( const           DT *          *,                   DT * );
    282318forall( dtype DT ) const DT *           ?=?( const           DT * volatile *,                   DT * );
    283 forall( dtype DT ) const DT *           ?=?( const           DT *          *, const             DT * );
    284 forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             DT * );
    285 forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   DT * );
     319forall( dtype DT ) const DT *           ?=?( const           DT *          *, const             DT * );
     320forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             DT * );
     321forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   DT * );
    286322forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,                   DT * );
    287323forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,       volatile    DT * );
    288324forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,       volatile    DT * );
    289        
     325
    290326forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,                   DT * );
    291327forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,                   DT * );
     
    297333forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile    DT * );
    298334
    299 forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   void * );
    300 forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   void * );
     335forall( dtype DT ) DT *                 ?=?(                 DT *          *,                   void * );
     336forall( dtype DT ) DT *                 ?=?(                 DT * volatile *,                   void * );
    301337forall( dtype DT ) const DT *           ?=?( const           DT *          *,                   void * );
    302338forall( dtype DT ) const DT *           ?=?( const           DT * volatile *,                   void * );
    303339forall( dtype DT ) const DT *           ?=?( const           DT *          *, const             void * );
    304 forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             void * );
    305 forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   void * );
     340forall( dtype DT ) const DT *           ?=?( const           DT * volatile *, const             void * );
     341forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,                   void * );
    306342forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,                   void * );
    307343forall( dtype DT ) volatile DT *        ?=?(       volatile  DT *          *,       volatile    void * );
    308344forall( dtype DT ) volatile DT *        ?=?(       volatile  DT * volatile *,       volatile    void * );
    309        
     345
    310346forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,                   void * );
    311347forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,                   void * );
     
    313349forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const             void * );
    314350forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *,       volatile    void * );
    315 forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,       volatile    void * );
    316 forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const volatile    void * );
    317 forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile    void * );
     351forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *,       volatile    void * );
     352forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT *          *, const volatile    void * );
     353forall( dtype DT ) const volatile DT *  ?=?( const volatile  DT * volatile *, const volatile    void * );
    318354
    319355forall( dtype DT ) void *                ?=?(                void *          *,                 DT * );
     
    325361forall( dtype DT ) volatile void *       ?=?(       volatile void *          *,                 DT * );
    326362forall( dtype DT ) volatile void *       ?=?(       volatile void * volatile *,                 DT * );
    327 forall( dtype DT ) volatile void *       ?=?(       volatile void *          *,       volatile  DT * );
    328 forall( dtype DT ) volatile void *       ?=?(       volatile void * volatile *,       volatile  DT * );
     363forall( dtype DT ) volatile void *       ?=?(       volatile void *          *,       volatile  DT * );
     364forall( dtype DT ) volatile void *       ?=?(       volatile void * volatile *,       volatile  DT * );
    329365forall( dtype DT ) const volatile void * ?=?( const volatile void *          *,                 DT * );
    330366forall( dtype DT ) const volatile void * ?=?( const volatile void * volatile *,                 DT * );
     
    364400forall( dtype DT ) const volatile DT *  ?=?( const volatile DT * volatile *, forall( dtype DT2 ) const DT2 * );
    365401
    366 forall( ftype FT ) FT *                 ?=?( FT *          *, forall( ftype FT2 ) FT2 * );
     402forall( ftype FT ) FT *                 ?=?( FT *          *, forall( ftype FT2 ) FT2 * );
    367403forall( ftype FT ) FT *                 ?=?( FT * volatile *, forall( ftype FT2 ) FT2 * );
    368404
    369 forall( type T ) T *                    ?+=?(                T *          *, ptrdiff_t );
     405forall( type T ) T *                    ?+=?(                T *          *, ptrdiff_t );
    370406forall( type T ) T *                    ?+=?(                T * volatile *, ptrdiff_t );
     407forall( type T ) const T *              ?+=?( const          T *          *, ptrdiff_t );
     408forall( type T ) const T *              ?+=?( const          T * volatile *, ptrdiff_t );
     409forall( type T ) volatile T *           ?+=?(       volatile T *          *, ptrdiff_t );
     410forall( type T ) volatile T *           ?+=?(       volatile T * volatile *, ptrdiff_t );
     411forall( type T ) const volatile T *     ?+=?( const volatile T *          *, ptrdiff_t );
     412forall( type T ) const volatile T *     ?+=?( const volatile T * volatile *, ptrdiff_t );
    371413forall( type T ) T *                    ?-=?(                T *          *, ptrdiff_t );
    372414forall( type T ) T *                    ?-=?(                T * volatile *, ptrdiff_t );
    373 forall( type T ) const T *              ?+=?( const          T *          *, ptrdiff_t );
    374 forall( type T ) const T *              ?+=?( const          T * volatile *, ptrdiff_t );
    375415forall( type T ) const T *              ?-=?( const          T *          *, ptrdiff_t );
    376416forall( type T ) const T *              ?-=?( const          T * volatile *, ptrdiff_t );
    377 forall( type T ) volatile T *           ?+=?(       volatile T *          *, ptrdiff_t );
    378 forall( type T ) volatile T *           ?+=?(       volatile T * volatile *, ptrdiff_t );
    379417forall( type T ) volatile T *           ?-=?(       volatile T *          *, ptrdiff_t );
    380418forall( type T ) volatile T *           ?-=?(       volatile T * volatile *, ptrdiff_t );
    381 forall( type T ) const volatile T *     ?+=?( const volatile T *          *, ptrdiff_t );
    382 forall( type T ) const volatile T *     ?+=?( const volatile T * volatile *, ptrdiff_t );
    383419forall( type T ) const volatile T *     ?-=?( const volatile T *          *, ptrdiff_t );
    384420forall( type T ) const volatile T *     ?-=?( const volatile T * volatile *, ptrdiff_t );
    385421
    386 _Bool                   ?=?(          _Bool *, _Bool ),
    387                         ?=?( volatile _Bool *, _Bool );
    388 char                    ?=?(          char *, char ),
    389                         ?=?( volatile char *, char );
    390 signed char             ?=?(          signed char *, signed char ),
    391                         ?=?( volatile signed char *, signed char );
    392 unsigned char           ?=?(          unsigned char *, unsigned char ),
    393                         ?=?( volatile unsigned char *, unsigned char );
    394 short                   ?=?(          short *, short ),
    395                         ?=?( volatile short *, short );
    396 unsigned short          ?=?(          unsigned short *, unsigned short ),
    397                         ?=?( volatile unsigned short *, unsigned short );
    398 int                     ?=?(          int *, int ),
    399                         ?=?( volatile int *, int );
    400 unsigned                ?=?(          unsigned *, unsigned ),
    401                         ?=?( volatile unsigned *, unsigned );
    402 long                    ?=?(          long *, long ),
    403                         ?=?( volatile long *, long );
    404 unsigned long           ?=?(          unsigned long *, unsigned long ),
    405                         ?=?( volatile unsigned long *, unsigned long );
    406 long long               ?=?(          long long *, long long ),
    407                         ?=?( volatile long long *, long long );
    408 unsigned 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 );
    413 char                    ?*=?(          char *, char ),
    414                         ?*=?( volatile char *, char );
    415 signed char             ?*=?(          signed char *, signed char ),
    416                         ?*=?( volatile signed char *, signed char );
    417 unsigned char           ?*=?(          unsigned char *, unsigned char ),
    418                         ?*=?( volatile unsigned char *, unsigned char );
    419 short                   ?*=?(          short *, short ),
    420                         ?*=?( volatile short *, short );
    421 unsigned short          ?*=?(          unsigned short *, unsigned short ),
    422                         ?*=?( volatile unsigned short *, unsigned short );
    423 int                     ?*=?(          int *, int ),
    424                         ?*=?( volatile int *, int );
    425 unsigned                ?*=?(          unsigned *, unsigned ),
    426                         ?*=?( volatile unsigned *, unsigned );
    427 long                    ?*=?(          long *, long ),
    428                         ?*=?( volatile long *, long );
    429 unsigned long           ?*=?(          unsigned long *, unsigned long ),
    430                         ?*=?( volatile unsigned long *, unsigned long );
    431 long long               ?*=?(          long long *, long long ),
    432                         ?*=?( volatile long long *, long long );
    433 unsigned 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 );
    438 char                    ?/=?(          char *, char ),
    439                         ?/=?( volatile char *, char );
    440 signed char             ?/=?(          signed char *, signed char ),
    441                         ?/=?( volatile signed char *, signed char );
    442 unsigned char           ?/=?(          unsigned char *, unsigned char ),
    443                         ?/=?( volatile unsigned char *, unsigned char );
    444 short                   ?/=?(          short *, short ),
    445                         ?/=?( volatile short *, short );
    446 unsigned short          ?/=?(          unsigned short *, unsigned short ),
    447                         ?/=?( volatile unsigned short *, unsigned short );
    448 int                     ?/=?(          int *, int ),
    449                         ?/=?( volatile int *, int );
    450 unsigned                ?/=?(          unsigned *, unsigned ),
    451                         ?/=?( volatile unsigned *, unsigned );
    452 long                    ?/=?(          long *, long ),
    453                         ?/=?( volatile long *, long );
    454 unsigned long           ?/=?(          unsigned long *, unsigned long ),
    455                         ?/=?( volatile unsigned long *, unsigned long );
    456 long long               ?/=?(          long long *, long long ),
    457                         ?/=?( volatile long long *, long long );
    458 unsigned 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 );
    463 char                    ?%=?(          char *, char ),
    464                         ?%=?( volatile char *, char );
    465 signed char             ?%=?(          signed char *, signed char ),
    466                         ?%=?( volatile signed char *, signed char );
    467 unsigned char           ?%=?(          unsigned char *, unsigned char ),
    468                         ?%=?( volatile unsigned char *, unsigned char );
    469 short                   ?%=?(          short *, short ),
    470                         ?%=?( volatile short *, short );
    471 unsigned short          ?%=?(          unsigned short *, unsigned short ),
    472                         ?%=?( volatile unsigned short *, unsigned short );
    473 int                     ?%=?(          int *, int ),
    474                         ?%=?( volatile int *, int );
    475 unsigned                ?%=?(          unsigned *, unsigned ),
    476                         ?%=?( volatile unsigned *, unsigned );
    477 long                    ?%=?(          long *, long ),
    478                         ?%=?( volatile long *, long );
    479 unsigned long           ?%=?(          unsigned long *, unsigned long ),
    480                         ?%=?( volatile unsigned long *, unsigned long );
    481 long long               ?%=?(          long long *, long long ),
    482                         ?%=?( volatile long long *, long long );
    483 unsigned 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 );
    488 char                    ?+=?(          char *, char ),
    489                         ?+=?( volatile char *, char );
    490 signed char             ?+=?(          signed char *, signed char ),
    491                         ?+=?( volatile signed char *, signed char );
    492 unsigned char           ?+=?(          unsigned char *, unsigned char ),
    493                         ?+=?( volatile unsigned char *, unsigned char );
    494 short                   ?+=?(          short *, short ),
    495                         ?+=?( volatile short *, short );
    496 unsigned short          ?+=?(          unsigned short *, unsigned short ),
    497                         ?+=?( volatile unsigned short *, unsigned short );
    498 int                     ?+=?(          int *, int ),
    499                         ?+=?( volatile int *, int );
    500 unsigned                ?+=?(          unsigned *, unsigned ),
    501                         ?+=?( volatile unsigned *, unsigned );
    502 long                    ?+=?(          long *, long ),
    503                         ?+=?( volatile long *, long );
    504 unsigned long           ?+=?(          unsigned long *, unsigned long ),
    505                         ?+=?( volatile unsigned long *, unsigned long );
    506 long long               ?+=?(          long long *, long long ),
    507                         ?+=?( volatile long long *, long long );
    508 unsigned 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 );
    513 char                    ?-=?(          char *, char ),
    514                         ?-=?( volatile char *, char );
    515 signed char             ?-=?(          signed char *, signed char ),
    516                         ?-=?( volatile signed char *, signed char );
    517 unsigned char           ?-=?(          unsigned char *, unsigned char ),
    518                         ?-=?( volatile unsigned char *, unsigned char );
    519 short                   ?-=?(          short *, short ),
    520                         ?-=?( volatile short *, short );
    521 unsigned short          ?-=?(          unsigned short *, unsigned short ),
    522                         ?-=?( volatile unsigned short *, unsigned short );
    523 int                     ?-=?(          int *, int ),
    524                         ?-=?( volatile int *, int );
    525 unsigned                ?-=?(          unsigned *, unsigned ),
    526                         ?-=?( volatile unsigned *, unsigned );
    527 long                    ?-=?(          long *, long ),
    528                         ?-=?( volatile long *, long );
    529 unsigned long           ?-=?(          unsigned long *, unsigned long ),
    530                         ?-=?( volatile unsigned long *, unsigned long );
    531 long long               ?-=?(          long long *, long long ),
    532                         ?-=?( volatile long long *, long long );
    533 unsigned 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 );
    538 char                    ?<<=?(          char *, char ),
    539                         ?<<=?( volatile char *, char );
    540 signed char             ?<<=?(          signed char *, signed char ),
    541                         ?<<=?( volatile signed char *, signed char );
    542 unsigned char           ?<<=?(          unsigned char *, unsigned char ),
    543                         ?<<=?( volatile unsigned char *, unsigned char );
    544 short                   ?<<=?(          short *, short ),
    545                         ?<<=?( volatile short *, short );
    546 unsigned short          ?<<=?(          unsigned short *, unsigned short ),
    547                         ?<<=?( volatile unsigned short *, unsigned short );
    548 int                     ?<<=?(          int *, int ),
    549                         ?<<=?( volatile int *, int );
    550 unsigned                ?<<=?(          unsigned *, unsigned ),
    551                         ?<<=?( volatile unsigned *, unsigned );
    552 long                    ?<<=?(          long *, long ),
    553                         ?<<=?( volatile long *, long );
    554 unsigned long           ?<<=?(          unsigned long *, unsigned long ),
    555                         ?<<=?( volatile unsigned long *, unsigned long );
    556 long long               ?<<=?(          long long *, long long ),
    557                         ?<<=?( volatile long long *, long long );
    558 unsigned 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 );
    563 char                    ?>>=?(          char *, char ),
    564                         ?>>=?( volatile char *, char );
    565 signed char             ?>>=?(          signed char *, signed char ),
    566                         ?>>=?( volatile signed char *, signed char );
    567 unsigned char           ?>>=?(          unsigned char *, unsigned char ),
    568                         ?>>=?( volatile unsigned char *, unsigned char );
    569 short                   ?>>=?(          short *, short ),
    570                         ?>>=?( volatile short *, short );
    571 unsigned short          ?>>=?(          unsigned short *, unsigned short ),
    572                         ?>>=?( volatile unsigned short *, unsigned short );
    573 int                     ?>>=?(          int *, int ),
    574                         ?>>=?( volatile int *, int );
    575 unsigned                ?>>=?(          unsigned *, unsigned ),
    576                         ?>>=?( volatile unsigned *, unsigned );
    577 long                    ?>>=?(          long *, long ),
    578                         ?>>=?( volatile long *, long );
    579 unsigned long           ?>>=?(          unsigned long *, unsigned long ),
    580                         ?>>=?( volatile unsigned long *, unsigned long );
    581 long long               ?>>=?(          long long *, long long ),
    582                         ?>>=?( volatile long long *, long long );
    583 unsigned 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 );
    588 char                    ?&=?(          char *, char ),
    589                         ?&=?( volatile char *, char );
    590 signed char             ?&=?(          signed char *, signed char ),
    591                         ?&=?( volatile signed char *, signed char );
    592 unsigned char           ?&=?(          unsigned char *, unsigned char ),
    593                         ?&=?( volatile unsigned char *, unsigned char );
    594 short                   ?&=?(          short *, short ),
    595                         ?&=?( volatile short *, short );
    596 unsigned short          ?&=?(          unsigned short *, unsigned short ),
    597                         ?&=?( volatile unsigned short *, unsigned short );
    598 int                     ?&=?(          int *, int ),
    599                         ?&=?( volatile int *, int );
    600 unsigned                ?&=?(          unsigned *, unsigned ),
    601                         ?&=?( volatile unsigned *, unsigned );
    602 long                    ?&=?(          long *, long ),
    603                         ?&=?( volatile long *, long );
    604 unsigned long           ?&=?(          unsigned long *, unsigned long ),
    605                         ?&=?( volatile unsigned long *, unsigned long );
    606 long long               ?&=?(          long long *, long long ),
    607                         ?&=?( volatile long long *, long long );
    608 unsigned 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 );
    613 char                    ?|=?(          char *, char ),
    614                         ?|=?( volatile char *, char );
    615 signed char             ?|=?(          signed char *, signed char ),
    616                         ?|=?( volatile signed char *, signed char );
    617 unsigned char           ?|=?(          unsigned char *, unsigned char ),
    618                         ?|=?( volatile unsigned char *, unsigned char );
    619 short                   ?|=?(          short *, short ),
    620                         ?|=?( volatile short *, short );
    621 unsigned short          ?|=?(          unsigned short *, unsigned short ),
    622                         ?|=?( volatile unsigned short *, unsigned short );
    623 int                     ?|=?(          int *, int ),
    624                         ?|=?( volatile int *, int );
    625 unsigned                ?|=?(          unsigned *, unsigned ),
    626                         ?|=?( volatile unsigned *, unsigned );
    627 long                    ?|=?(          long *, long ),
    628                         ?|=?( volatile long *, long );
    629 unsigned long           ?|=?(          unsigned long *, unsigned long ),
    630                         ?|=?( volatile unsigned long *, unsigned long );
    631 long long               ?|=?(          long long *, long long ),
    632                         ?|=?( volatile long long *, long long );
    633 unsigned 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 );
    638 char                    ?^=?(          char *, char ),
    639                         ?^=?( volatile char *, char );
    640 signed char             ?^=?(          signed char *, signed char ),
    641                         ?^=?( volatile signed char *, signed char );
    642 unsigned char           ?^=?(          unsigned char *, unsigned char ),
    643                         ?^=?( volatile unsigned char *, unsigned char );
    644 short                   ?^=?(          short *, short ),
    645                         ?^=?( volatile short *, short );
    646 unsigned short          ?^=?(          unsigned short *, unsigned short ),
    647                         ?^=?( volatile unsigned short *, unsigned short );
    648 int                     ?^=?(          int *, int ),
    649                         ?^=?( volatile int *, int );
    650 unsigned                ?^=?(          unsigned *, unsigned ),
    651                         ?^=?( volatile unsigned *, unsigned );
    652 long                    ?^=?(          long *, long ),
    653                         ?^=?( volatile long *, long );
    654 unsigned long           ?^=?(          unsigned long *, unsigned long ),
    655                         ?^=?( volatile unsigned long *, unsigned long );
    656 long long               ?^=?(          long long *, long long ),
    657                         ?^=?( volatile long long *, long long );
    658 unsigned long long      ?^=?(          unsigned long long *, unsigned long long ),
    659                         ?^=?( volatile unsigned long long *, unsigned long long );
    660 
    661 
    662 float                   ?=?(           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 
    673 double                  ?=?(           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 
    684 long 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 );
     422_Bool                   ?=?( _Bool *, _Bool ),                                  ?=?( volatile _Bool *, _Bool );
     423char                    ?=?( char *, char ),                                    ?=?( volatile char *, char );
     424char signed             ?=?( char signed *, char signed ),                      ?=?( volatile char signed *, char signed );
     425char unsigned           ?=?( char unsigned *, char unsigned ),                  ?=?( volatile char unsigned *, char unsigned );
     426int short               ?=?( int short *, int short ),                          ?=?( volatile int short *, int short );
     427int short unsigned      ?=?( int short unsigned *, int short unsigned ),        ?=?( volatile int short unsigned *, int short unsigned );
     428signed int              ?=?( signed int *, signed int ),                        ?=?( volatile signed int *, signed int );
     429unsigned int            ?=?( unsigned *, unsigned ),                            ?=?( volatile unsigned *, unsigned );
     430signed long int         ?=?( signed long int *, signed long int ),              ?=?( volatile signed long int *, signed long int );
     431unsigned long int       ?=?( unsigned long int *, unsigned long int ),          ?=?( volatile unsigned long int *, unsigned long int );
     432signed long long int    ?=?( signed long long int *, signed long long int ),    ?=?( volatile signed long long int *, signed long long int );
     433unsigned long long int  ?=?( unsigned long long int *, unsigned long long int ), ?=?( volatile unsigned long long int *, unsigned long long int );
     434
     435_Bool                   ?*=?( _Bool *, _Bool ),                                 ?*=?( volatile _Bool *, _Bool );
     436char                    ?*=?( char *, char ),                                   ?*=?( volatile char *, char );
     437char signed             ?*=?( char signed *, char signed ),                     ?*=?( volatile char signed *, char signed );
     438char unsigned           ?*=?( char unsigned *, char unsigned ),                 ?*=?( volatile char unsigned *, char unsigned );
     439int short               ?*=?( int short *, int short ),                         ?*=?( volatile int short *, int short );
     440int short unsigned      ?*=?( int short unsigned *, int short unsigned ),       ?*=?( volatile int short unsigned *, int short unsigned );
     441signed int              ?*=?( signed int *, signed int ),                       ?*=?( volatile signed int *, signed int );
     442unsigned int            ?*=?( unsigned *, unsigned ),                           ?*=?( volatile unsigned *, unsigned );
     443signed long int         ?*=?( signed long int *, signed long int ),             ?*=?( volatile signed long int *, signed long int );
     444unsigned long int       ?*=?( unsigned long int *, unsigned long int ),         ?*=?( volatile unsigned long int *, unsigned long int );
     445signed long long int    ?*=?( signed long long int *, signed long long int ),   ?*=?( volatile signed long long int *, signed long long int );
     446unsigned long long int  ?*=?( unsigned long long int *, unsigned long long int ), ?*=?( volatile unsigned long long int *, unsigned long long int );
     447
     448_Bool                   ?/=?( _Bool *, _Bool ),                                 ?/=?( volatile _Bool *, _Bool );
     449char                    ?/=?( char *, char ),                                   ?/=?( volatile char *, char );
     450char signed             ?/=?( char signed *, char signed ),                     ?/=?( volatile char signed *, char signed );
     451char unsigned           ?/=?( char unsigned *, char unsigned ),                 ?/=?( volatile char unsigned *, char unsigned );
     452int short               ?/=?( int short *, int short ),                         ?/=?( volatile int short *, int short );
     453int short unsigned      ?/=?( int short unsigned *, int short unsigned ),       ?/=?( volatile int short unsigned *, int short unsigned );
     454signed int              ?/=?( signed int *, signed int ),                       ?/=?( volatile signed int *, signed int );
     455unsigned int            ?/=?( unsigned *, unsigned ),                           ?/=?( volatile unsigned *, unsigned );
     456signed long int         ?/=?( signed long int *, signed long int ),             ?/=?( volatile signed long int *, signed long int );
     457unsigned long int       ?/=?( unsigned long int *, unsigned long int ),         ?/=?( volatile unsigned long int *, unsigned long int );
     458signed long long int    ?/=?( signed long long int *, signed long long int ),   ?/=?( volatile signed long long int *, signed long long int );
     459unsigned long long int  ?/=?( unsigned long long int *, unsigned long long int ), ?/=?( volatile unsigned long long int *, unsigned long long int );
     460
     461_Bool                   ?%=?( _Bool *, _Bool ),                                 ?%=?( volatile _Bool *, _Bool );
     462char                    ?%=?( char *, char ),                                   ?%=?( volatile char *, char );
     463char signed             ?%=?( char signed *, char signed ),                     ?%=?( volatile char signed *, char signed );
     464char unsigned           ?%=?( char unsigned *, char unsigned ),                 ?%=?( volatile char unsigned *, char unsigned );
     465int short               ?%=?( int short *, int short ),                         ?%=?( volatile int short *, int short );
     466int short unsigned      ?%=?( int short unsigned *, int short unsigned ),       ?%=?( volatile int short unsigned *, int short unsigned );
     467signed int              ?%=?( signed int *, signed int ),                       ?%=?( volatile signed int *, signed int );
     468unsigned int            ?%=?( unsigned *, unsigned ),                           ?%=?( volatile unsigned *, unsigned );
     469signed long int         ?%=?( signed long int *, signed long int ),             ?%=?( volatile signed long int *, signed long int );
     470unsigned long int       ?%=?( unsigned long int *, unsigned long int ),         ?%=?( volatile unsigned long int *, unsigned long int );
     471signed long long int    ?%=?( signed long long int *, signed long long int ),   ?%=?( volatile signed long long int *, signed long long int );
     472unsigned long long int  ?%=?( unsigned long long int *, unsigned long long int ), ?%=?( volatile unsigned long long int *, unsigned long long int );
     473
     474_Bool                   ?+=?( _Bool *, _Bool ),                                 ?+=?( volatile _Bool *, _Bool );
     475char                    ?+=?( char *, char ),                                   ?+=?( volatile char *, char );
     476char signed             ?+=?( char signed *, char signed ),                     ?+=?( volatile char signed *, char signed );
     477char unsigned           ?+=?( char unsigned *, char unsigned ),                 ?+=?( volatile char unsigned *, char unsigned );
     478int short               ?+=?( int short *, int short ),                         ?+=?( volatile int short *, int short );
     479int short unsigned      ?+=?( int short unsigned *, int short unsigned ),       ?+=?( volatile int short unsigned *, int short unsigned );
     480signed int              ?+=?( signed int *, signed int ),                       ?+=?( volatile signed int *, signed int );
     481unsigned int            ?+=?( unsigned *, unsigned ),                           ?+=?( volatile unsigned *, unsigned );
     482signed long int         ?+=?( signed long int *, signed long int ),             ?+=?( volatile signed long int *, signed long int );
     483unsigned long int       ?+=?( unsigned long int *, unsigned long int ),         ?+=?( volatile unsigned long int *, unsigned long int );
     484signed long long int    ?+=?( signed long long int *, signed long long int ),   ?+=?( volatile signed long long int *, signed long long int );
     485unsigned long long int  ?+=?( unsigned long long int *, unsigned long long int ), ?+=?( volatile unsigned long long int *, unsigned long long int );
     486
     487_Bool                   ?-=?( _Bool *, _Bool ),                                 ?-=?( volatile _Bool *, _Bool );
     488char                    ?-=?( char *, char ),                                   ?-=?( volatile char *, char );
     489char signed             ?-=?( char signed *, char signed ),                     ?-=?( volatile char signed *, char signed );
     490char unsigned           ?-=?( char unsigned *, char unsigned ),                 ?-=?( volatile char unsigned *, char unsigned );
     491int short               ?-=?( int short *, int short ),                         ?-=?( volatile int short *, int short );
     492int short unsigned      ?-=?( int short unsigned *, int short unsigned ),       ?-=?( volatile int short unsigned *, int short unsigned );
     493signed int              ?-=?( signed int *, signed int ),                       ?-=?( volatile signed int *, signed int );
     494unsigned int            ?-=?( unsigned *, unsigned ),                           ?-=?( volatile unsigned *, unsigned );
     495signed long int         ?-=?( signed long int *, signed long int ),             ?-=?( volatile signed long int *, signed long int );
     496unsigned long int       ?-=?( unsigned long int *, unsigned long int ),         ?-=?( volatile unsigned long int *, unsigned long int );
     497signed long long int    ?-=?( signed long long int *, signed long long int ),   ?-=?( volatile signed long long int *, signed long long int );
     498unsigned long long int  ?-=?( unsigned long long int *, unsigned long long int ), ?-=?( volatile unsigned long long int *, unsigned long long int );
     499
     500_Bool                   ?<<=?( _Bool *, _Bool ),                                ?<<=?( volatile _Bool *, _Bool );
     501char                    ?<<=?( char *, char ),                                  ?<<=?( volatile char *, char );
     502char signed             ?<<=?( char signed *, char signed ),                    ?<<=?( volatile char signed *, char signed );
     503char unsigned           ?<<=?( char unsigned *, char unsigned ),                ?<<=?( volatile char unsigned *, char unsigned );
     504int short               ?<<=?( int short *, int short ),                        ?<<=?( volatile int short *, int short );
     505int short unsigned      ?<<=?( int short unsigned *, int short unsigned ),      ?<<=?( volatile int short unsigned *, int short unsigned );
     506signed int              ?<<=?( signed int *, signed int ),                      ?<<=?( volatile signed int *, signed int );
     507unsigned int            ?<<=?( unsigned *, unsigned ),                          ?<<=?( volatile unsigned *, unsigned );
     508signed long int         ?<<=?( signed long int *, signed long int ),            ?<<=?( volatile signed long int *, signed long int );
     509unsigned long int       ?<<=?( unsigned long int *, unsigned long int ),        ?<<=?( volatile unsigned long int *, unsigned long int );
     510signed long long int    ?<<=?( signed long long int *, signed long long int ),  ?<<=?( volatile signed long long int *, signed long long int );
     511unsigned long long int  ?<<=?( unsigned long long int *, unsigned long long int ), ?<<=?( volatile unsigned long long int *, unsigned long long int );
     512
     513_Bool                   ?>>=?( _Bool *, _Bool ),                                ?>>=?( volatile _Bool *, _Bool );
     514char                    ?>>=?( char *, char ),                                  ?>>=?( volatile char *, char );
     515char signed             ?>>=?( char signed *, char signed ),                    ?>>=?( volatile char signed *, char signed );
     516char unsigned           ?>>=?( char unsigned *, char unsigned ),                ?>>=?( volatile char unsigned *, char unsigned );
     517int short               ?>>=?( int short *, int short ),                        ?>>=?( volatile int short *, int short );
     518int short unsigned      ?>>=?( int short unsigned *, int short unsigned ),      ?>>=?( volatile int short unsigned *, int short unsigned );
     519signed int              ?>>=?( signed int *, signed int ),                      ?>>=?( volatile signed int *, signed int );
     520unsigned int            ?>>=?( unsigned *, unsigned ),                          ?>>=?( volatile unsigned *, unsigned );
     521signed long int         ?>>=?( signed long int *, signed long int ),            ?>>=?( volatile signed long int *, signed long int );
     522unsigned long int       ?>>=?( unsigned long int *, unsigned long int ),        ?>>=?( volatile unsigned long int *, unsigned long int );
     523signed long long int    ?>>=?( signed long long int *, signed long long int ),  ?>>=?( volatile signed long long int *, signed long long int );
     524unsigned long long int  ?>>=?( unsigned long long int *, unsigned long long int ), ?>>=?( volatile unsigned long long int *, unsigned long long int );
     525
     526_Bool                   ?&=?( _Bool *, _Bool ),                                 ?&=?( volatile _Bool *, _Bool );
     527char                    ?&=?( char *, char ),                                   ?&=?( volatile char *, char );
     528char signed             ?&=?( char signed *, char signed ),                     ?&=?( volatile char signed *, char signed );
     529char unsigned           ?&=?( char unsigned *, char unsigned ),                 ?&=?( volatile char unsigned *, char unsigned );
     530int short               ?&=?( int short *, int short ),                         ?&=?( volatile int short *, int short );
     531int short unsigned      ?&=?( int short unsigned *, int short unsigned ),       ?&=?( volatile int short unsigned *, int short unsigned );
     532signed int              ?&=?( signed int *, signed int ),                       ?&=?( volatile signed int *, signed int );
     533unsigned int            ?&=?( unsigned *, unsigned ),                           ?&=?( volatile unsigned *, unsigned );
     534signed long int         ?&=?( signed long int *, signed long int ),             ?&=?( volatile signed long int *, signed long int );
     535unsigned long int       ?&=?( unsigned long int *, unsigned long int ),         ?&=?( volatile unsigned long int *, unsigned long int );
     536signed long long int    ?&=?( signed long long int *, signed long long int ),   ?&=?( volatile signed long long int *, signed long long int );
     537unsigned long long int  ?&=?( unsigned long long int *, unsigned long long int ), ?&=?( volatile unsigned long long int *, unsigned long long int );
     538
     539_Bool                   ?|=?( _Bool *, _Bool ),                                 ?|=?( volatile _Bool *, _Bool );
     540char                    ?|=?( char *, char ),                                   ?|=?( volatile char *, char );
     541char signed             ?|=?( char signed *, char signed ),                     ?|=?( volatile char signed *, char signed );
     542char unsigned           ?|=?( char unsigned *, char unsigned ),                 ?|=?( volatile char unsigned *, char unsigned );
     543int short               ?|=?( int short *, int short ),                         ?|=?( volatile int short *, int short );
     544int short unsigned      ?|=?( int short unsigned *, int short unsigned ),       ?|=?( volatile int short unsigned *, int short unsigned );
     545signed int              ?|=?( signed int *, signed int ),                       ?|=?( volatile signed int *, signed int );
     546unsigned int            ?|=?( unsigned *, unsigned ),                           ?|=?( volatile unsigned *, unsigned );
     547signed long int         ?|=?( signed long int *, signed long int ),             ?|=?( volatile signed long int *, signed long int );
     548unsigned long int       ?|=?( unsigned long int *, unsigned long int ),         ?|=?( volatile unsigned long int *, unsigned long int );
     549signed long long int    ?|=?( signed long long int *, signed long long int ),   ?|=?( volatile signed long long int *, signed long long int );
     550unsigned long long int  ?|=?( unsigned long long int *, unsigned long long int ), ?|=?( volatile unsigned long long int *, unsigned long long int );
     551
     552_Bool                   ?^=?( _Bool *, _Bool ),                                 ?^=?( volatile _Bool *, _Bool );
     553char                    ?^=?( char *, char ),                                   ?^=?( volatile char *, char );
     554char signed             ?^=?( char signed *, char signed ),                     ?^=?( volatile char signed *, char signed );
     555char unsigned           ?^=?( char unsigned *, char unsigned ),                 ?^=?( volatile char unsigned *, char unsigned );
     556int short               ?^=?( int short *, int short ),                         ?^=?( volatile int short *, int short );
     557int short unsigned      ?^=?( int short unsigned *, int short unsigned ),       ?^=?( volatile int short unsigned *, int short unsigned );
     558signed int              ?^=?( signed int *, signed int ),                       ?^=?( volatile signed int *, signed int );
     559unsigned int            ?^=?( unsigned *, unsigned ),                           ?^=?( volatile unsigned *, unsigned );
     560signed long int         ?^=?( signed long int *, signed long int ),             ?^=?( volatile signed long int *, signed long int );
     561unsigned long int       ?^=?( unsigned long int *, unsigned long int ),         ?^=?( volatile unsigned long int *, unsigned long int );
     562signed long long int    ?^=?( signed long long int *, signed long long int ),   ?^=?( volatile signed long long int *, signed long long int );
     563unsigned long long int  ?^=?( unsigned long long int *, unsigned long long int ), ?^=?( volatile unsigned long long int *, unsigned long long int );
     564
     565float                   ?=?(  float *, float ), ?=?(  volatile float *, float ),
     566                        ?*=?( float *, float ), ?*=?( volatile float *, float ),
     567                        ?/=?( float *, float ), ?/=?( volatile float *, float ),
     568                        ?+=?( float *, float ), ?+=?( volatile float *, float ),
     569                        ?-=?( float *, float ), ?-=?( volatile float *, float );
     570
     571double                  ?=?(  double *, double ), ?=?(  volatile double *, double ),
     572                        ?*=?( double *, double ), ?*=?( volatile double *, double ),
     573                        ?/=?( double *, double ), ?/=?( volatile double *, double ),
     574                        ?+=?( double *, double ), ?+=?( volatile double *, double ),
     575                        ?-=?( double *, double ), ?-=?( volatile double *, double );
     576
     577long double             ?=?(  long double *, long double ), ?=?(  volatile long double *, long double ),
     578                        ?*=?( long double *, long double ), ?*=?( volatile long double *, long double ),
     579                        ?/=?( long double *, long double ), ?/=?( volatile long double *, long double ),
     580                        ?+=?( long double *, long double ), ?+=?( volatile long double *, long double ),
     581                        ?-=?( long double *, long double ), ?-=?( volatile long double *, long double );
     582
     583float _Complex          ?=?(  float _Complex *, float _Complex ), ?=?(  volatile float _Complex *, float _Complex ),
     584                        ?*=?( float _Complex *, float _Complex ), ?*=?( volatile float _Complex *, float _Complex ),
     585                        ?/=?( float _Complex *, float _Complex ), ?/=?( volatile float _Complex *, float _Complex ),
     586                        ?+=?( float _Complex *, float _Complex ), ?+=?( volatile float _Complex *, float _Complex ),
     587                        ?-=?( float _Complex *, float _Complex ), ?-=?( volatile float _Complex *, float _Complex );
     588
     589double _Complex         ?=?(  double _Complex *, double _Complex ), ?=?(  volatile double _Complex *, double _Complex ),
     590                        ?*=?( double _Complex *, double _Complex ), ?*=?( volatile double _Complex *, double _Complex ),
     591                        ?/=?( double _Complex *, double _Complex ), ?/=?( volatile double _Complex *, double _Complex ),
     592                        ?+=?( double _Complex *, double _Complex ), ?+=?( volatile double _Complex *, double _Complex ),
     593                        ?-=?( double _Complex *, double _Complex ), ?-=?( volatile double _Complex *, double _Complex );
     594
     595long double _Complex    ?=?(  long double _Complex *, long double _Complex ), ?=?(  volatile long double _Complex *, long double _Complex ),
     596                        ?*=?( long double _Complex *, long double _Complex ), ?*=?( volatile long double _Complex *, long double _Complex ),
     597                        ?/=?( long double _Complex *, long double _Complex ), ?/=?( volatile long double _Complex *, long double _Complex ),
     598                        ?+=?( long double _Complex *, long double _Complex ), ?+=?( volatile long double _Complex *, long double _Complex ),
     599                        ?-=?( long double _Complex *, long double _Complex ), ?-=?( volatile long double _Complex *, long double _Complex );
Note: See TracChangeset for help on using the changeset viewer.