diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-19 22:06:53 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-05-19 22:06:53 +0200 |
commit | 80e2b2a0fc0f39e92873c8462ec795b991f84ca7 (patch) | |
tree | 051a33f2fc61af03db7de1a134de448ffec94df5 | |
parent | 146e6a63e715e0c3e08aacbcaa79ff8930289297 (diff) | |
download | sparse-80e2b2a0fc0f39e92873c8462ec795b991f84ca7.tar.gz |
testsuite: add a few testcases for nested functions
Sparse doesn't really support nested functions but is
able to parse them correctly.
Add some testcases with them so that it continue to
catch possible errors concerning them.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | validation/nested-functions.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/validation/nested-functions.c b/validation/nested-functions.c new file mode 100644 index 00000000..349edb5a --- /dev/null +++ b/validation/nested-functions.c @@ -0,0 +1,43 @@ +static int test_ok(int a, int b) +{ + int nested_ok(int i) + { + return i * 2; + } + return nested_ok(b); +} + +static int test_ko(int a, int b) +{ + int nested_ko(int i) + { + return i * 2 + a; + } + return nested_ko(b); +} + +static int test_inline(int a, int b) +{ + inline int nested(int i) + { + return i * 2; + } + return nested(b); +} + +static int test_inline_ko(int a, int b) +{ + inline int nested(int i) + { + return i * 2 + a; + } + return nested(b); +} + +/* + * check-name: nested-functions + * + * check-error-start +nested-functions.c:32:32: warning: unreplaced symbol 'a' + * check-error-end + */ |