/* We put this here to minimize the risk of inlining. */
/*VARARGS*/
GC←noop() {}

# ifdef PCR
/*
 * This definition should go in its own file that includes no other
 * header files.  Otherwise, we risk not getting the underlying system
 * malloc.
 */
# define PCR←NO←RENAME
# include <stdlib.h>

# ifdef ←←STDC←←
    char * real←malloc(size←t size)
# else 
    char * real←malloc()
    int size;
# endif
{
    return((char *)malloc(size));
}
#endif /* PCR */

# ifdef ←←OS2←←

# include <stddef.h>
# define INCL←DOSMEMMGR
# define INCL←DOSERRORS
# include <os2.h>

void * os2←alloc(size←t bytes)
{
    void * result;

    if (DosAllocMem(&result, bytes, PAG←EXECUTE | PAG←READ |
    				    PAG←WRITE | PAG←COMMIT)
		    != NO←ERROR) {
	return(0);
    }
    if (result == 0) return(os2←alloc(bytes));
    return(result);
}

# endif /* OS2 */