]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Analysis/hangs.c
Vendor import of clang trunk r338150:
[FreeBSD/FreeBSD.git] / test / Analysis / hangs.c
1 // RUN: %clang_analyze_cc1 -analyzer-checker core -verify %s
2
3 // expected-no-diagnostics
4
5 // Stuff that used to hang.
6
7 int g();
8
9 int f(int y) {
10   return y + g();
11 }
12
13 int produce_a_very_large_symbol(int x) {
14   return f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(
15              f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(x))))))))))))))))))))))))))))))));
16 }
17
18 void produce_an_exponentially_exploding_symbol(int x, int y) {
19   x += y; y += x + g();
20   x += y; y += x + g();
21   x += y; y += x + g();
22   x += y; y += x + g();
23   x += y; y += x + g();
24   x += y; y += x + g();
25   x += y; y += x + g();
26   x += y; y += x + g();
27   x += y; y += x + g();
28   x += y; y += x + g();
29   x += y; y += x + g();
30 }