summaryrefslogtreecommitdiff
path: root/test/SemaCXX/warn-infinite-recursion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/warn-infinite-recursion.cpp')
-rw-r--r--test/SemaCXX/warn-infinite-recursion.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/SemaCXX/warn-infinite-recursion.cpp b/test/SemaCXX/warn-infinite-recursion.cpp
index e1b7c5412e1f0..bbeff92a657b8 100644
--- a/test/SemaCXX/warn-infinite-recursion.cpp
+++ b/test/SemaCXX/warn-infinite-recursion.cpp
@@ -29,8 +29,7 @@ void f();
void e() { f(); }
void f() { e(); }
-// Don't warn on infinite loops
-void g() {
+void g() { // expected-warning{{call itself}}
while (true)
g();
@@ -54,6 +53,19 @@ int j() { // expected-warning{{call itself}}
return 5 + j();
}
+void k() { // expected-warning{{call itself}}
+ while(true) {
+ k();
+ }
+}
+
+// Don't warn on infinite loops
+void l() {
+ while (true) {}
+
+ l();
+}
+
class S {
static void a();
void b();