1*c85f09ccSJohn Levon #include "repeat.h"
2*c85f09ccSJohn Levon 
3*c85f09ccSJohn Levon void use(void *, void *, void *, void *);
4*c85f09ccSJohn Levon void *def(void);
5*c85f09ccSJohn Levon 
6*c85f09ccSJohn Levon #define BLOCK(n) {				\
7*c85f09ccSJohn Levon 	void *label;				\
8*c85f09ccSJohn Levon 	use(&&w##n, &&x##n, &&y##n, &&z##n);	\
9*c85f09ccSJohn Levon w##n:	label = def(); goto *label;		\
10*c85f09ccSJohn Levon x##n:	label = def(); goto *label;		\
11*c85f09ccSJohn Levon y##n:	label = def(); goto *label;		\
12*c85f09ccSJohn Levon z##n:	label = def(); goto *label;		\
13*c85f09ccSJohn Levon }
14*c85f09ccSJohn Levon 
foo(void)15*c85f09ccSJohn Levon static void foo(void) {
16*c85f09ccSJohn Levon 	REPEAT2(5, BLOCK)
17*c85f09ccSJohn Levon }
18*c85f09ccSJohn Levon 
19*c85f09ccSJohn Levon /*
20*c85f09ccSJohn Levon  * check-name: quadratic @ liveness
21*c85f09ccSJohn Levon  * check-command: test-linearize -I. $file
22*c85f09ccSJohn Levon  * check-timeout:
23*c85f09ccSJohn Levon  *
24*c85f09ccSJohn Levon  * check-output-ignore
25*c85f09ccSJohn Levon  * check-output-excludes: phi\\.
26*c85f09ccSJohn Levon  * check-output-excludes: phisrc\\.
27*c85f09ccSJohn Levon  */
28