aboutsummaryrefslogtreecommitdiffstats
path: root/tests/returning-void-expression
diff options
context:
space:
mode:
authorSergio Martins <smartins@kde.org>2016-12-23 22:01:35 +0000
committerSergio Martins <smartins@kde.org>2016-12-23 22:01:35 +0000
commit3d16b5650c867249be0b769ad69bb3c744f22a35 (patch)
treed9ca3ffebbabe206e702a430a51e3bb5209696cc /tests/returning-void-expression
parent789c9eb0cd108ddcc839815901462e12cd60c825 (diff)
new check: returning-void-expression
Finds bugs such as: void foo() { if (cond) return // oops, forgot the ; but it still compiles processStuff(); }
Diffstat (limited to 'tests/returning-void-expression')
-rw-r--r--tests/returning-void-expression/config.json7
-rw-r--r--tests/returning-void-expression/main.cpp11
-rw-r--r--tests/returning-void-expression/main.cpp.expected1
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/returning-void-expression/config.json b/tests/returning-void-expression/config.json
new file mode 100644
index 00000000..e7e6e0cb
--- /dev/null
+++ b/tests/returning-void-expression/config.json
@@ -0,0 +1,7 @@
+{
+ "tests" : [
+ {
+ "filename" : "main.cpp"
+ }
+ ]
+}
diff --git a/tests/returning-void-expression/main.cpp b/tests/returning-void-expression/main.cpp
new file mode 100644
index 00000000..6b75b5e7
--- /dev/null
+++ b/tests/returning-void-expression/main.cpp
@@ -0,0 +1,11 @@
+void foo();
+
+void test() {
+ return; // OK
+ return foo(); // Warning
+}
+
+int test2()
+{
+ return 1; // OK
+}
diff --git a/tests/returning-void-expression/main.cpp.expected b/tests/returning-void-expression/main.cpp.expected
new file mode 100644
index 00000000..9982f782
--- /dev/null
+++ b/tests/returning-void-expression/main.cpp.expected
@@ -0,0 +1 @@
+returning-void-expression/main.cpp:5:5: warning: Returning a void expression [-Wclazy-returning-void-expression]