Changeset 59239b8 for src/libcfa/stdlib.c
- Timestamp:
- Jan 30, 2017, 12:29:29 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 1e6e231a
- Parents:
- f97b614
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/stdlib.c
rf97b614 r59239b8 27 27 } // extern "C" 28 28 29 forall( otype T) T * malloc( void ) {29 forall( dtype T | sized(T) ) T * malloc( void ) { 30 30 //printf( "malloc1\n" ); 31 31 return (T *)malloc( sizeof(T) ); 32 32 } // malloc 33 forall( otype T) T * malloc( char fill ) {33 forall( dtype T | sized(T) ) T * malloc( char fill ) { 34 34 //printf( "malloc3\n" ); 35 35 T * ptr = (T *)malloc( sizeof(T) ); … … 37 37 } // malloc 38 38 39 forall( otype T) T * calloc( size_t nmemb ) {39 forall( dtype T | sized(T) ) T * calloc( size_t nmemb ) { 40 40 //printf( "calloc\n" ); 41 41 return (T *)calloc( nmemb, sizeof(T) ); 42 42 } // calloc 43 43 44 forall( otype T) T * realloc( T * ptr, size_t size ) {44 forall( dtype T | sized(T) ) T * realloc( T * ptr, size_t size ) { 45 45 //printf( "realloc1\n" ); 46 46 return (T *)(void *)realloc( (void *)ptr, size ); 47 47 } // realloc 48 forall( otype T) T * realloc( T * ptr, size_t size, unsigned char fill ) {48 forall( dtype T | sized(T) ) T * realloc( T * ptr, size_t size, unsigned char fill ) { 49 49 //printf( "realloc2\n" ); 50 50 char * nptr = (T *)(void *)realloc( (void *)ptr, size ); … … 54 54 } // realloc 55 55 56 forall( otype T) T * malloc( T * ptr, size_t size ) {56 forall( dtype T | sized(T) ) T * malloc( T * ptr, size_t size ) { 57 57 //printf( "malloc4\n" ); 58 58 return (T *)realloc( ptr, size ); 59 59 } // malloc 60 forall( otype T) T * malloc( T * ptr, size_t size, unsigned char fill ) {60 forall( dtype T | sized(T) ) T * malloc( T * ptr, size_t size, unsigned char fill ) { 61 61 //printf( "malloc5\n" ); 62 62 return (T *)realloc( ptr, size, fill ); 63 63 } // malloc 64 64 65 forall( otype T) T * aligned_alloc( size_t alignment ) {65 forall( dtype T | sized(T) ) T * aligned_alloc( size_t alignment ) { 66 66 //printf( "aligned_alloc\n" ); 67 67 return (T *)memalign( alignment, sizeof(T) ); 68 68 } // aligned_alloc 69 69 70 forall( otype T) T * memalign( size_t alignment ) {70 forall( dtype T | sized(T) ) T * memalign( size_t alignment ) { 71 71 //printf( "memalign\n" ); 72 72 return (T *)memalign( alignment, sizeof(T) ); 73 73 } // memalign 74 74 75 forall( otype T) int posix_memalign( T ** ptr, size_t alignment ) {75 forall( dtype T | sized(T) ) int posix_memalign( T ** ptr, size_t alignment ) { 76 76 //printf( "posix_memalign\n" ); 77 77 return posix_memalign( (void **)ptr, alignment, sizeof(T) ); 78 78 } // posix_memalign 79 79 80 forall( otype T, ttype Params| { void ?{}(T *, Params); } )80 forall( dtype T, ttype Params | sized(T) | { void ?{}(T *, Params); } ) 81 81 T * new( Params p ) { 82 82 return ((T*)malloc()){ p };
Note: See TracChangeset
for help on using the changeset viewer.