14#define __UCONCAT(a, b) #a b 
   15#define _UCONCAT(a, b) __UCONCAT(a, b) 
   16#define UCONCAT(b) _UCONCAT(__USER_LABEL_PREFIX__, b) 
   28extern void *(*_FP_Mem_Malloc)(
size_t size) __asm__ (UCONCAT(
"Mem_Malloc")) __attribute__((alloc_size(1), warn_unused_result));
 
   38static void *Mem_Malloc(
size_t size) __asm__ (UCONCAT(
"Mem_Malloc_Wrapper")) __attribute__((malloc, alloc_size(1), assume_aligned(4), unused, warn_unused_result));
 
   39void *Mem_Malloc(
size_t size) {
 
   40    return _FP_Mem_Malloc(size);
 
   54extern void *(*Mem_Memcpy)(
void *destination, 
const void *source, 
size_t num)
 
   56__attribute__((access(read_only, 2, 3), access(write_only, 1, 3)))
 
   72extern void *(*Mem_Memset)(
void *ptr, 
int value, 
size_t num)
 
   74__attribute__((access(write_only, 1, 3)))
 
void(* Mem_Free)(void *ptr)