aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/mem2reg/init-local-union1.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-09-11 12:25:36 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-13 14:16:51 +0100
commit6e3ab84b12b2a0c783799f21f4413b610a5f2093 (patch)
treeae417c5dece4c3aa2e40a4e6ef01c53a81c47734 /validation/mem2reg/init-local-union1.c
parent22eaf158a163d38f724df20efdf8a5e5ee68c58e (diff)
downloadsparse-dev-6e3ab84b12b2a0c783799f21f4413b610a5f2093.tar.gz
add testcase for mem2reg/SSA conversion
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/mem2reg/init-local-union1.c')
-rw-r--r--validation/mem2reg/init-local-union1.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/validation/mem2reg/init-local-union1.c b/validation/mem2reg/init-local-union1.c
new file mode 100644
index 00000000..925b0a73
--- /dev/null
+++ b/validation/mem2reg/init-local-union1.c
@@ -0,0 +1,32 @@
+double uintfloat(void)
+{
+ union {
+ int a;
+ double f;
+ } s;
+
+ s.a = 1;
+ return s.f;
+}
+
+
+int uarray(void)
+{
+ union {
+ double d;
+ int a[2];
+ } s;
+
+ s.d = 1;
+ return s.a[0];
+}
+
+/*
+ * check-name: init-local union 1
+ * check-command: test-linearize -Wno-decl -fdump-ir=mem2reg $file
+ * check-output-ignore
+ * check-output-pattern(1): store\\.32
+ * check-output-pattern(1): load\\.64
+ * check-output-pattern(1): store\\.64
+ * check-output-pattern(1): load\\.32
+ */