diff options
Diffstat (limited to 'clang/test/SemaCXX/warn-infinite-recursion.cpp')
-rw-r--r-- | clang/test/SemaCXX/warn-infinite-recursion.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/clang/test/SemaCXX/warn-infinite-recursion.cpp b/clang/test/SemaCXX/warn-infinite-recursion.cpp index bbeff92a657..e5a5a18b657 100644 --- a/clang/test/SemaCXX/warn-infinite-recursion.cpp +++ b/clang/test/SemaCXX/warn-infinite-recursion.cpp @@ -53,19 +53,28 @@ int j() { // expected-warning{{call itself}} return 5 + j(); } -void k() { // expected-warning{{call itself}} +// Don't warn on infinite loops +void k() { while(true) { k(); } } -// Don't warn on infinite loops void l() { while (true) {} l(); } +void m() { + static int count = 5; + if (count >0) { + count--; + l(); + } + while (true) {} +} + class S { static void a(); void b(); |