Index: libcfa/src/stdlib.hfa
===================================================================
--- libcfa/src/stdlib.hfa	(revision aa8e24c3bb790e300fce0cb4b1a3a4a258671433)
+++ libcfa/src/stdlib.hfa	(revision aa0a1ade2bfb208ba73cd9f6a0f68aeec6a635dc)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec 29 15:30:58 2021
-// Update Count     : 591
+// Last Modified On : Sun Jan  2 22:53:57 2022
+// Update Count     : 594
 //
 
@@ -43,33 +43,30 @@
 //---------------------------------------
 
-// Macro because of returns
-#define ARRAY_ALLOC$( allocation, alignment, dim ) \
-	if ( _Alignof(T) <= libAlign() ) return (T *)(void *)allocation( dim, (size_t)sizeof(T) ); /* C allocation */ \
-	else return (T *)alignment( _Alignof(T), dim, sizeof(T) )
-
 static inline forall( T & | sized(T) ) {
 	// CFA safe equivalents, i.e., implicit size specification
 
 	T * malloc( void ) {
-		if ( _Alignof(T) <= libAlign() ) return (T *)(void *)malloc( (size_t)sizeof(T) ); // C allocation
+		if ( _Alignof(T) <= libAlign() ) return (T *)malloc( sizeof(T) ); // C allocation
 		else return (T *)memalign( _Alignof(T), sizeof(T) );
 	} // malloc
 
 	T * aalloc( size_t dim ) {
-		ARRAY_ALLOC$( aalloc, amemalign, dim );
+		if ( _Alignof(T) <= libAlign() ) return (T *)aalloc( dim, sizeof(T) ); // C allocation
+		else return (T *)amemalign( _Alignof(T), dim, sizeof(T) );
 	} // aalloc
 
 	T * calloc( size_t dim ) {
-		ARRAY_ALLOC$( calloc, cmemalign, dim );
+		if ( _Alignof(T) <= libAlign() ) return (T *)calloc( dim, sizeof(T) ); // C allocation
+		else return (T *)cmemalign( _Alignof(T), dim, sizeof(T) );
 	} // calloc
 
 	T * resize( T * ptr, size_t size ) {				// CFA resize, eliminate return-type cast
-		if ( _Alignof(T) <= libAlign() ) return (T *)(void *)resize( (void *)ptr, size ); // CFA resize
-		else return (T *)(void *)resize( (void *)ptr, _Alignof(T), size ); // CFA resize
+		if ( _Alignof(T) <= libAlign() ) return (T *)resize( (void *)ptr, size ); // CFA resize
+		else return (T *)resize( (void *)ptr, _Alignof(T), size ); // CFA resize
 	} // resize
 
 	T * realloc( T * ptr, size_t size ) {				// CFA realloc, eliminate return-type cast
-		if ( _Alignof(T) <= libAlign() ) return (T *)(void *)realloc( (void *)ptr, size ); // C realloc
-		else return (T *)(void *)realloc( (void *)ptr, _Alignof(T), size ); // CFA realloc
+		if ( _Alignof(T) <= libAlign() ) return (T *)realloc( (void *)ptr, size ); // C realloc
+		else return (T *)realloc( (void *)ptr, _Alignof(T), size ); // CFA realloc
 	} // realloc
 
