
		;   ALLOCA.A
		;
		;   alloca(bytes)
		;	    D0
		;
		;   must be used vai #include <stdlib.h> and the -gl
		;   option.

		section text,code

		xdef	@_dice_alloca
		xref	__stk_base
		xref	__stack_panic

@_dice_alloca	move.l	(sp)+,A0
		addq.l	#3,D0
		moveq.l #$FFFFFFFC,D1
		and.l	D1,D0
		neg.l	D0
		add.l	A7,D0
		cmp.l	__stk_base(A4),D0
		bhi	alok
		pea	l1(pc)
		jsr	__stack_panic(pc)
alok
		move.l	D0,A7
		jmp	(A0)

l1		dc.b	'alloca: no stack',0

		end
