/* { dg-do compile } */ | |
/* { dg-additional-options "-mcpu=cortex-a72" { target aarch64*-*-* } } */ | |
class A { | |
public: | |
unsigned char *fn1(); | |
int fn2(); | |
}; | |
class B { | |
A fld1; | |
int fld2; | |
void fn3(); | |
unsigned char fld3; | |
}; | |
int a; | |
void | |
B::fn3() { | |
int b = fld1.fn2() / 8; | |
unsigned char *c = fld1.fn1(), *d = &fld3, *e = c; | |
for (; a < fld2;) | |
for (int j = 0; j < b; j++) | |
*d++ = e[j]; | |
for (; 0 < fld2;) | |
for (int j = 0; j < b; j++) | |
e[j] = *d++; | |
for (; fld2;) | |
; | |
} |