kuhnel created this revision.
kuhnel added a reviewer: meikeb.
Herald added a project: clang.
Test review from the tutorial
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D60826
Files:
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/test/SemaCXX/warn-infinite-recursion.cpp
Index: clang/test/SemaCXX/warn-infinite-recursion.cpp
===
--- clang/test/SemaCXX/warn-infinite-recursion.cpp
+++ clang/test/SemaCXX/warn-infinite-recursion.cpp
@@ -1,10 +1,10 @@
// RUN: %clang_cc1 %s -fsyntax-only -verify -Winfinite-recursion
-void a() { // expected-warning{{call itself}}
+void a() { // expected-warning{{to understand recursion}}
a();
}
-void b(int x) { // expected-warning{{call itself}}
+void b(int x) { // expected-warning{{to understand recursion}}
if (x)
b(x);
else
@@ -16,7 +16,7 @@
c(5);
}
-void d(int x) { // expected-warning{{call itself}}
+void d(int x) { // expected-warning{{to understand recursion}}
if (x)
++x;
return d(x);
@@ -29,7 +29,7 @@
void e() { f(); }
void f() { e(); }
-void g() { // expected-warning{{call itself}}
+void g() { // expected-warning{{to understand recursion}}
while (true)
g();
@@ -42,14 +42,14 @@
}
}
-void i(int x) { // expected-warning{{call itself}}
+void i(int x) { // expected-warning{{to understand recursion}}
while (x < 5) {
--x;
}
i(0);
}
-int j() { // expected-warning{{call itself}}
+int j() { // expected-warning{{to understand recursion}}
return 5 + j();
}
@@ -80,11 +80,11 @@
void b();
};
-void S::a() { // expected-warning{{call itself}}
+void S::a() { // expected-warning{{to understand recursion}}
return a();
}
-void S::b() { // expected-warning{{call itself}}
+void S::b() { // expected-warning{{to understand recursion}}
int i = 0;
do {
++i;
@@ -95,8 +95,8 @@
template
struct T {
member m;
- void a() { return a(); } // expected-warning{{call itself}}
- static void b() { return b(); } // expected-warning{{call itself}}
+ void a() { return a(); } // expected-warning{{to understand recursion}}
+ static void b() { return b(); } // expected-warning{{to understand recursion}}
};
void test_T() {
@@ -107,13 +107,13 @@
class U {
U* u;
- void Fun() { // expected-warning{{call itself}}
+ void Fun() { // expected-warning{{to understand recursion}}
u->Fun();
}
};
// No warnings on templated functions
-// sum<0>() is instantiated, does recursively call itself, but never runs.
+// sum<0>() is instantiated, does recursively to understand recursion, but never runs.
template
int sum() {
return value + sum();
@@ -157,7 +157,7 @@
return 0;
return Wrapper::run();
}
- static int run2() { // expected-warning{{call itself}}
+ static int run2() { // expected-warning{{to understand recursion}}
return run2();
}
};
Index: clang/include/clang/Basic/DiagnosticSemaKinds.td
===
--- clang/include/clang/Basic/DiagnosticSemaKinds.td
+++ clang/include/clang/Basic/DiagnosticSemaKinds.td
@@ -61,7 +61,7 @@
"remove call to max function and unsigned zero argument">;
def warn_infinite_recursive_function : Warning<
- "all paths through this function will call itself">,
+ "in order to understand recursion, you must first understand recursion">,
InGroup, DefaultIgnore;
def warn_comma_operator : Warning<"possible misuse of comma operator here">,
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits