Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/stdlib.hfa

    r45444c3 r685810e  
    101101                return (T *)pvalloc( sizeof(T) );                               // C pvalloc
    102102        } // pvalloc
     103
     104        void free( T * addr ) {
     105                free( (void *) addr );                                                  // C free
     106        } // free
     107} // distribution
     108
     109static inline forall( ttype TT | { void free( TT ); } ) {
     110        // T* does not take void* and vice-versa
     111
     112        void free( void * addr, TT rest ) {
     113                free( addr );
     114                free( rest );
     115        } // free
     116
     117        forall( dtype T | sized(T) )
     118        void free( T * addr, TT rest ) {
     119                free( addr );
     120                free( rest );
     121        } // free
    103122} // distribution
    104123
     
    110129                forall( dtype T | sized(T) ) {
    111130                        union  U_fill           { char c; T * a; T t; };
    112                         struct S_fill           { char tag; char c; size_t size; T * at; char t[50]; };
     131                        struct S_fill           { char tag; U_fill(T) fill; };
    113132                        struct S_realloc        { inline T *; };
    114133                }
Note: See TracChangeset for help on using the changeset viewer.