aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-09-22 09:03:10 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2021-09-22 09:03:10 +0200
commit122397842225e4353e30319e4b1f252dc3e1f41c (patch)
tree29932bfd1a2dbb5046ca95d989685c583a374bc8 /test
parentb62d224c49491dfb77a187303c42347bdebd2090 (diff)
downloadcompcert-kvx-122397842225e4353e30319e4b1f252dc3e1f41c.tar.gz
compcert-kvx-122397842225e4353e30319e4b1f252dc3e1f41c.zip
csmith | creduce breaks on RISC-V 64
Diffstat (limited to 'test')
-rw-r--r--test/regression/ran000373_reduced.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/regression/ran000373_reduced.c b/test/regression/ran000373_reduced.c
new file mode 100644
index 00000000..3f26e88a
--- /dev/null
+++ b/test/regression/ran000373_reduced.c
@@ -0,0 +1,36 @@
+#include <stdint.h>
+#include <stdio.h>
+uint32_t au, cc, bk;
+union ba {
+ int64_t bb;
+};
+int32_t *ck;
+int32_t **cr = &ck;
+void a(uint32_t c, int d) { printf("checksum = %X\n", c); }
+void av(uint8_t b) { au = b; }
+void aw(uint64_t ax) { av(ax); }
+void ay(uint64_t ax, char *az, int d) { aw(ax); }
+static const int32_t df(int64_t, union ba, uint16_t, uint8_t);
+const int32_t dh(int32_t, int32_t, uint32_t);
+int16_t e(void) {
+ union ba f = {5};
+ int32_t g = 5;
+ int32_t i[90269];
+ uint32_t s = df(dh(0, 0, cc), f, g, 7);
+ return s;
+}
+const int32_t df(int64_t j, union ba k, uint16_t l, uint8_t m) {
+ *ck = k.bb;
+ return l;
+}
+const int32_t dh(int32_t n, int32_t o, uint32_t p) {
+ int32_t *t = &bk;
+ uint64_t q = 3;
+ *cr = t;
+ return q;
+}
+int main(void) {
+ int r = e();
+ ay(bk, "", r);
+ a(au, r);
+}