Extended Description
FreeBSD head on powerpc64, LLVM 10.0.0.
The following problem happens when compiling astro/swe port. Reduced test case:
struct a {
int b
};
struct c {
double d;
struct a e[]
};
__thread struct c f;
g;
h() {
struct a i = f.e[g];
if (i.b)
j();
}
Compiling flags:
/usr/bin/cc -cc1 -triple powerpc64-unknown-freebsd13.0 -emit-obj -mrelocation-model static -O1 -x c sweph-e7e60d.c
When -mrelocation-model static and -O1 or higher are passed, assertion failure happens.
Without -mrelocation-model static, -O2 and -O3 may be set.
With -mrelocation-model static, only -O0 works.