#include <stdio.h>
#define STOP -1

/* auto in y /* Will result in compile time error */ 
/* register int y /* Will result in compile time error */
register int y asm ("%ebp"); /* GCC extension, cannot appear after a function definition */

int xrange(int bound){
	static int value = 0;
	static int end = 0;
	if (bound != 0) {
		end = bound;
		return 0;
	}
	if (value == end)
		return STOP;
	return ++value;
}

int main(){
	register int x=xrange(10);
	while(x!=STOP)
		printf("%d ", x=xrange(0));
	printf("\n");
	/* &x; /* Will result in compile time error */
}
