<html><body><p><font size="2">Hello,</font><br><br><font size="2">as discussed here in more detail: </font><a href="https://reviews.llvm.org/D81583"><font size="2">https://reviews.llvm.org/D81583</font></a><font size="2"> </font><br><br><font size="2">the introduction of the C++20 [[no_unique_address]] attribute exposes an ABI issue on platforms that require special handling for structs/classes that are "equivalent" to a single floating-point member (or in some cases, a "homogeneous" set of floating-point members).  This is because we can now for the first time have "empty" members in a C++ class, which affects that determination.</font><br><br><font size="2">The Itanium C++ ABI document was updated to include these new cases, and GCC 10 was changed accordingly.  However, current clang/LLVM mainline does not comply with this new ABI.   The Phabricator review I posted above fixes that for the SystemZ target, but because I'm touching some amount of common code, and because -to the best of my understanding- other platforms would actually likewise be affected, I'm asking for comments here as well.</font><br><br><font size="2">Given that we're nearing the time frame to create the LLVM 11 branch, it would really be good if this issue could be fixed before the branch.</font><br><br><br><font size="2">Bye,</font><br><font size="2">Ulrich</font><br><BR>
</body></html>