xref: /illumos-gate/usr/src/tools/smatch/src/validation/sm_impossible1.c (revision 1f5207b7604fb44407eb4342aff613f7c4508508)
1*1f5207b7SJohn Levon #include "check_debug.h"
2*1f5207b7SJohn Levon 
3*1f5207b7SJohn Levon int zero(void)
4*1f5207b7SJohn Levon {
5*1f5207b7SJohn Levon 	return 0;
6*1f5207b7SJohn Levon }
7*1f5207b7SJohn Levon 
8*1f5207b7SJohn Levon 
9*1f5207b7SJohn Levon int main(unsigned int x, unsigned int y)
10*1f5207b7SJohn Levon {
11*1f5207b7SJohn Levon 	if (zero())
12*1f5207b7SJohn Levon 		__smatch_states("register_impossible_return");
13*1f5207b7SJohn Levon 	else
14*1f5207b7SJohn Levon 		__smatch_states("register_impossible_return");
15*1f5207b7SJohn Levon }
16*1f5207b7SJohn Levon 
17*1f5207b7SJohn Levon /*
18*1f5207b7SJohn Levon  * check-name: smatch impossible #1
19*1f5207b7SJohn Levon  * check-command: smatch -I.. sm_impossible1.c
20*1f5207b7SJohn Levon  *
21*1f5207b7SJohn Levon  * check-output-start
22*1f5207b7SJohn Levon sm_impossible1.c:12 main() [register_impossible_return] 'impossible' = 'impossible'
23*1f5207b7SJohn Levon sm_impossible1.c:14 main() register_impossible_return: no states
24*1f5207b7SJohn Levon  * check-output-end
25*1f5207b7SJohn Levon  */
26