Assertion `Offset.getBitWidth() == DL.getPointerBaseSizeInBits(getPointerAddressSpace()) && "The offset must have exactly as many bits as our pointer."' failed.
Happens when compiling qquaternion.cpp and qvector4d.cpp in QtBase
Reducing those gives the following two test cases:
qquaternion.cpp:
// RUN: %cheri_purecap_cc1 -emit-obj -target-cpu mips4 -Os -std=c++1z -fdeprecated-macro -fvisibility hidden -fvisibility-inlines-hidden -pthread -fcolor-diagnostics -vectorize-loops -vectorize-slp -o - %s
class a {
public:
a(float);
float b, c, e, d;
};
a operator*(a &h, float) { return h.d; }
inline a operator-(a) {}
float f;
void g(a h) {
a i(h);
-i = i * f;
}
Assertion `Offset.getBitWidth() == DL.getPointerBaseSizeInBits(getPointerAddressSpace()) && "The offset must have exactly as many bits as our pointer."' failed.
Happens when compiling qquaternion.cpp and qvector4d.cpp in QtBase Reducing those gives the following two test cases:
qquaternion.cpp:
qvector4d.cpp