#ifdef PFE
#define PFE_MALLOC_STATS 1
#define DEF_PFE_ALLOC(sym, str) sym,
enum pfe_alloc_object_kinds {
#include "pfe-config.def"
PFE_ALLOC_NBR_OF_KINDS
};
#undef DEF_PFE_ALLOC
#if PFE_MALLOC_STATS
#define PFE_MALLOC(size, kind) pfe_s_malloc (size, kind)
#define PFE_CALLOC(n, size, kind) pfe_s_calloc (n, size, kind)
#define PFE_REALLOC(p, size, kind) pfe_s_realloc (p, size, kind)
#else
#define PFE_MALLOC(size, kind) pfe_malloc (size)
#define PFE_CALLOC(n, size, kind) pfe_calloc (n, size)
#define PFE_REALLOC(p, size, kind) pfe_realloc (p, size)
#endif
#define PFE_FREE pfe_free
#define PFE_SAVESTRING pfe_savestring
#define PFE_VARRAY "(pfe)"
#define GGC_ALLOC(size, kind) pfe_ggc_alloc (size, kind)
#define GGC_ALLOC_CLEARED(size, kind) pfe_ggc_alloc_cleared (size, kind)
#define GGC_ALLOC_RTX(nslots) pfe_ggc_alloc_rtx (nslots)
#define GGC_ALLOC_RTVEC(nelt) pfe_ggc_alloc_rtvec (nelt)
#define GGC_ALLOC_TREE(length) pfe_ggc_alloc_tree (length)
#define GGC_ALLOC_STRING(s, len) pfe_ggc_alloc_string (s, len)
#define GGC_STRDUP(s) pfe_ggc_strdup (s)
#if 1
#define pfe_ggc_alloc(size, kind) ggc_alloc (size)
#define pfe_ggc_alloc_cleared(size, kind) ggc_alloc_cleared (size)
#define pfe_ggc_alloc_rtx(nslots) ggc_alloc_rtx (nslots)
#define pfe_ggc_alloc_rtvec(nelt) ggc_alloc_rtvec (nelt)
#define pfe_ggc_alloc_tree(length) ggc_alloc_tree (length)
#define pfe_ggc_alloc_string(s, len) ggc_alloc_string (s, len)
#define pfe_ggc_strdup(s) ggc_strdup (s)
#else
struct rtx_def;
struct rtvec_def;
union tree_node;
extern void *pfe_ggc_alloc PARAMS ((int, enum pfe_alloc_object_kinds));
extern void *pfe_ggc_alloc_cleared PARAMS ((int, enum pfe_alloc_object_kinds));
extern struct rtx_def *pfe_ggc_alloc_rtx PARAMS ((int));
extern struct rtvec_def *pfe_ggc_alloc_rtvec PARAMS ((int));
extern union tree_node *pfe_ggc_alloc_tree PARAMS ((int));
extern const char *pfe_ggc_alloc_string PARAMS ((const char *, int));
extern const char *pfe_ggc_strdup PARAMS ((const char *));
#endif
#else
#define PFE_MALLOC(size, kind) xmalloc (size)
#define PFE_CALLOC(n, size, kind) xcalloc (n, size)
#define PFE_REALLOC(p, size, kind) xrealloc (p, size)
#define PFE_FREE free
#define PFE_SAVESTRING
#define PFE_VARRAY
#define GGC_ALLOC(size, kind) ggc_alloc (size)
#define GGC_ALLOC_CLEARED(size, kind) ggc_alloc_cleared (size)
#define GGC_ALLOC_RTX(nslots) ggc_alloc_rtx (nslots)
#define GGC_ALLOC_RTVEC(nelt) ggc_alloc_rtvec (nelt)
#define GGC_ALLOC_TREE(length) ggc_alloc_tree (length)
#define GGC_ALLOC_STRING(s, len) ggc_alloc_string (s, len)
#define GGC_STRDUP(s) ggc_strdup (s)
#endif