aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr120447.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr120447.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr120447.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr120447.c b/gcc/testsuite/gcc.dg/pr120447.c
new file mode 100644
index 0000000..bd51f9b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr120447.c
@@ -0,0 +1,24 @@
+/* { dg-options "-Ofast" } */
+/* { dg-additional-options "-mcpu=neoverse-v2" { target aarch64*-*-* } } */
+
+char g;
+long h;
+typedef struct {
+ void *data;
+} i;
+i* a;
+void b(i *j, char *p2);
+void c(char *d) {
+ d = d ? " and " : " or ";
+ b(a, d);
+}
+void b(i *j, char *p2) {
+ h = __builtin_strlen(p2);
+ while (g)
+ ;
+ int *k = j->data;
+ char *l = p2, *m = p2 + h;
+ l += 4;
+ while (l < m)
+ *k++ = *l++;
+}