/*  DO NOT EDIT THIS FILE.

    It has been auto-edited by fixincludes from:

	"fixinc/tests/inc/malloc.h"

    This had to be done to correct non-standard usages in the
    original, manufacturer supplied header file.  */



#if defined( AIX_MALLOC_CHECK )
#if (defined(__cplusplus) && defined(__IBMCPP__))
extern "C" {
	extern "builtin" char *__alloca (size_t);
#endif  /* AIX_MALLOC_CHECK */


#if defined( SUN_MALLOC_CHECK )
typedef void *	malloc_t;
void	free();
void*	malloc();
void*	calloc();
void*	realloc();
#endif  /* SUN_MALLOC_CHECK */
