aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression/union_passing.c
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-09-30 13:23:42 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-09-30 13:23:42 +0200
commitef508dae3e880bdd30e9d57ca2a8b3e257b1203b (patch)
tree0cb08c27aeef48ca154525378419f5b129793b2b /test/regression/union_passing.c
parentdbada6c41e51a03848b14260576ba825c3102313 (diff)
parent539b81a1a8823fb4aac64a9493bf0bafea2f2560 (diff)
downloadcompcert-kvx-ef508dae3e880bdd30e9d57ca2a8b3e257b1203b.tar.gz
compcert-kvx-ef508dae3e880bdd30e9d57ca2a8b3e257b1203b.zip
Merge branch 'towards_2.10' of ../towards_3.10 into kvx-work
Diffstat (limited to 'test/regression/union_passing.c')
-rw-r--r--test/regression/union_passing.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/regression/union_passing.c b/test/regression/union_passing.c
new file mode 100644
index 00000000..b0ce6319
--- /dev/null
+++ b/test/regression/union_passing.c
@@ -0,0 +1,23 @@
+#include <stdint.h>
+#include <stdio.h>
+static int32_t bk;
+union ba {
+ int64_t bb;
+};
+static void dada(union ba);
+void nothing(void);
+void stuff(void) {
+ union ba f = {5};
+ int32_t i[1000];
+ nothing();
+ dada(f);
+}
+static void dada(union ba k) {
+ bk = k.bb;
+}
+void nothing(void) {
+}
+int main() {
+ stuff();
+ printf("result = %d\n", bk);
+}