diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2019-12-05 03:30:37 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2019-12-10 23:26:15 +0100 |
commit | 3b9aa9647f5f4f0aac3dc4218128b94281a1264c (patch) | |
tree | d15dfe776a1714a9c84e2cde71ea9e064cf2f2b2 /validation/memops | |
parent | 9b2efc158c5c9700ffe355c59356879df7c9cc12 (diff) | |
download | sparse-dev-3b9aa9647f5f4f0aac3dc4218128b94281a1264c.tar.gz |
split testcases for type punning & constant initializer expansion
Several issues were covered by the same testcase.
Fix this by splitting the testcases.
Also, rename these testcases to a more descriptive name.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/memops')
-rw-r--r-- | validation/memops/type-punning-flt2int.c | 20 | ||||
-rw-r--r-- | validation/memops/type-punning-int2flt.c | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/validation/memops/type-punning-flt2int.c b/validation/memops/type-punning-flt2int.c new file mode 100644 index 00000000..a76c6c1d --- /dev/null +++ b/validation/memops/type-punning-flt2int.c @@ -0,0 +1,20 @@ +union u { + int i; + float f; +}; + +static int foo(void) +{ + union u u = { .f = 0.123 }; + return u.i; +} + +/* + * check-name: type-punning-float-to-int + * check description: must not infer the int value from the float + * check-command: test-linearize $file + * check-known-to-fail + * + * check-output-ignore + * check-output-contains: load\\. + */ diff --git a/validation/memops/type-punning-int2flt.c b/validation/memops/type-punning-int2flt.c new file mode 100644 index 00000000..c05ce252 --- /dev/null +++ b/validation/memops/type-punning-int2flt.c @@ -0,0 +1,20 @@ +union u { + int i; + float f; +}; + +static float foo(void) +{ + union u u = { .i = 3 }; + return u.f; +} + +/* + * check-name: type-punning-int-to-float + * check description: must not infer the float value from the int + * check-command: test-linearize $file + * check-known-to-fail + * + * check-output-ignore + * check-output-contains: load\\. + */ |