1*c85f09ccSJohn Levon void function_that_never_returns(void);
2*c85f09ccSJohn Levon 
foo(int c)3*c85f09ccSJohn Levon int foo(int c)
4*c85f09ccSJohn Levon {
5*c85f09ccSJohn Levon 	if (c)
6*c85f09ccSJohn Levon 		return 1;
7*c85f09ccSJohn Levon 	function_that_never_returns();
8*c85f09ccSJohn Levon 	__builtin_unreachable();
9*c85f09ccSJohn Levon }
10*c85f09ccSJohn Levon 
11*c85f09ccSJohn Levon /*
12*c85f09ccSJohn Levon  * check-name: __builtin_unreachable()
13*c85f09ccSJohn Levon  * check-command: test-linearize -Wno-decl $file
14*c85f09ccSJohn Levon  *
15*c85f09ccSJohn Levon  * check-known-to-fail
16*c85f09ccSJohn Levon  * check-output-start
17*c85f09ccSJohn Levon foo:
18*c85f09ccSJohn Levon .L0:
19*c85f09ccSJohn Levon 	<entry-point>
20*c85f09ccSJohn Levon 	cbr         %arg1, .L3, .L2
21*c85f09ccSJohn Levon 
22*c85f09ccSJohn Levon .L2:
23*c85f09ccSJohn Levon 	call        function_that_never_returns
24*c85f09ccSJohn Levon 	unreach
25*c85f09ccSJohn Levon 
26*c85f09ccSJohn Levon .L3:
27*c85f09ccSJohn Levon 	ret.32      $1
28*c85f09ccSJohn Levon 
29*c85f09ccSJohn Levon 
30*c85f09ccSJohn Levon  * check-output-end
31*c85f09ccSJohn Levon  */
32