add test for missing returns
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 2 Jun 2008 11:09:58 +0000 (11:09 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Mon, 2 Jun 2008 11:09:58 +0000 (11:09 +0000)
[r19920]

parsetest/should_warn/missing_return.c [new file with mode: 0644]

diff --git a/parsetest/should_warn/missing_return.c b/parsetest/should_warn/missing_return.c
new file mode 100644 (file)
index 0000000..e1c05f1
--- /dev/null
@@ -0,0 +1,71 @@
+int no_return_1(double *p) {
+       double d = *p;
+       ++d;
+}
+
+int no_return_2(int a) {
+       if (a)
+               ++a;
+       else
+               return 1;
+}
+
+int has_return_1(int a) {
+       if (a)
+               return a;
+       else
+               return 0;
+}
+
+int has_return_2(int a) {
+       if (a)
+               ++a;
+       else
+               --a;
+       return a;
+       ++a;
+}
+
+int has_return_3(int a) {
+       do {
+               return a;
+       } while(a);
+}
+
+int no_return_3(int a) {
+       switch (a) {
+       case 1: return a;
+       case 2: return a+1;
+       }
+}
+
+int has_return_4(int a) {
+       switch (a) {
+       case 1: return a;
+       case 2: return a+1;
+       default: return 0;
+       }
+}
+
+int no_return_4(int a) {
+       goto end;
+       return a;
+end:
+       ++a;
+}
+
+int no_return_5(int a) {
+       if (a)
+               goto end;
+       else {
+               ++a;
+               goto end;
+       }
+       return a;
+end:
+       ++a;
+}
+
+int main() {
+       return 0;
+}