Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/prelude/builtins.c

    r2ead704 re84ab3d  
    1010// Created On       : Fri Jul 21 16:21:03 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jul 21 13:31:34 2021
    13 // Update Count     : 129
     12// Last Modified On : Tue Apr 13 17:26:32 2021
     13// Update Count     : 117
    1414//
    1515
     
    7777// implicit increment, decrement if += defined, and implicit not if != defined
    7878
    79 // C11 reference manual Section 6.5.16 (page101): "An assignment expression has the value of the left operand after the
    80 // assignment, but is not an lvalue." Hence, return a value not a reference.
    8179static inline {
    82         forall( T | { T ?+=?( T &, one_t ); } )
    83         T ++?( T & x ) { return x += 1; }
     80        forall( DT & | { DT & ?+=?( DT &, one_t ); } )
     81        DT & ++?( DT & x ) { return x += 1; }
    8482
    85         forall( T | { T ?+=?( T &, one_t ); } )
    86         T ?++( T & x ) { T tmp = x; x += 1; return tmp; }
     83        forall( DT & | sized(DT) | { void ?{}( DT &, DT ); void ^?{}( DT & ); DT & ?+=?( DT &, one_t ); } )
     84        DT & ?++( DT & x ) { DT tmp = x; x += 1; return tmp; }
    8785
    88         forall( T | { T ?-=?( T &, one_t ); } )
    89         T --?( T & x ) { return x -= 1; }
     86        forall( DT & | { DT & ?-=?( DT &, one_t ); } )
     87        DT & --?( DT & x ) { return x -= 1; }
    9088
    91         forall( T | { T ?-=?( T &, one_t ); } )
    92         T ?--( T & x ) { T tmp = x; x -= 1; return tmp; }
     89        forall( DT & | sized(DT) | { void ?{}( DT &, DT ); void ^?{}( DT & ); DT & ?-=?( DT &, one_t ); } )
     90        DT & ?--( DT & x ) { DT tmp = x; x -= 1; return tmp; }
    9391
    94         forall( T | { int ?!=?( T, zero_t ); } )
    95         int !?( T & x ) { return !( x != 0 ); }
     92        forall( DT & | { int ?!=?( const DT &, zero_t ); } )
     93        int !?( const DT & x ) { return !( x != 0 ); }
    9694} // distribution
    9795
Note: See TracChangeset for help on using the changeset viewer.