Changeset aa0a1ad


Ignore:
Timestamp:
Jan 4, 2022, 11:05:42 AM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
Children:
15b05c8
Parents:
aa8e24c3
Message:

remove macro ARRAY_ALLOC$ and expand inline, remove unnecessary void * casts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/stdlib.hfa

    raa8e24c3 raa0a1ad  
    1010// Created On       : Thu Jan 28 17:12:35 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Dec 29 15:30:58 2021
    13 // Update Count     : 591
     12// Last Modified On : Sun Jan  2 22:53:57 2022
     13// Update Count     : 594
    1414//
    1515
     
    4343//---------------------------------------
    4444
    45 // Macro because of returns
    46 #define ARRAY_ALLOC$( allocation, alignment, dim ) \
    47         if ( _Alignof(T) <= libAlign() ) return (T *)(void *)allocation( dim, (size_t)sizeof(T) ); /* C allocation */ \
    48         else return (T *)alignment( _Alignof(T), dim, sizeof(T) )
    49 
    5045static inline forall( T & | sized(T) ) {
    5146        // CFA safe equivalents, i.e., implicit size specification
    5247
    5348        T * malloc( void ) {
    54                 if ( _Alignof(T) <= libAlign() ) return (T *)(void *)malloc( (size_t)sizeof(T) ); // C allocation
     49                if ( _Alignof(T) <= libAlign() ) return (T *)malloc( sizeof(T) ); // C allocation
    5550                else return (T *)memalign( _Alignof(T), sizeof(T) );
    5651        } // malloc
    5752
    5853        T * aalloc( size_t dim ) {
    59                 ARRAY_ALLOC$( aalloc, amemalign, dim );
     54                if ( _Alignof(T) <= libAlign() ) return (T *)aalloc( dim, sizeof(T) ); // C allocation
     55                else return (T *)amemalign( _Alignof(T), dim, sizeof(T) );
    6056        } // aalloc
    6157
    6258        T * calloc( size_t dim ) {
    63                 ARRAY_ALLOC$( calloc, cmemalign, dim );
     59                if ( _Alignof(T) <= libAlign() ) return (T *)calloc( dim, sizeof(T) ); // C allocation
     60                else return (T *)cmemalign( _Alignof(T), dim, sizeof(T) );
    6461        } // calloc
    6562
    6663        T * resize( T * ptr, size_t size ) {                            // CFA resize, eliminate return-type cast
    67                 if ( _Alignof(T) <= libAlign() ) return (T *)(void *)resize( (void *)ptr, size ); // CFA resize
    68                 else return (T *)(void *)resize( (void *)ptr, _Alignof(T), size ); // CFA resize
     64                if ( _Alignof(T) <= libAlign() ) return (T *)resize( (void *)ptr, size ); // CFA resize
     65                else return (T *)resize( (void *)ptr, _Alignof(T), size ); // CFA resize
    6966        } // resize
    7067
    7168        T * realloc( T * ptr, size_t size ) {                           // CFA realloc, eliminate return-type cast
    72                 if ( _Alignof(T) <= libAlign() ) return (T *)(void *)realloc( (void *)ptr, size ); // C realloc
    73                 else return (T *)(void *)realloc( (void *)ptr, _Alignof(T), size ); // CFA realloc
     69                if ( _Alignof(T) <= libAlign() ) return (T *)realloc( (void *)ptr, size ); // C realloc
     70                else return (T *)realloc( (void *)ptr, _Alignof(T), size ); // CFA realloc
    7471        } // realloc
    7572
Note: See TracChangeset for help on using the changeset viewer.