[clang] [clang] Fix behavior of `__is_trivially_relocatable(volatile int)` (PR #77092)
John McCall via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 12 10:41:41 PST 2024
================
@@ -2669,6 +2669,8 @@ bool QualType::isTriviallyRelocatableType(const ASTContext &Context) const {
return false;
} else if (const auto *RD = BaseElementType->getAsRecordDecl()) {
return RD->canPassInRegisters();
+ } else if (BaseElementType.isTriviallyCopyableType(Context)) {
+ return true;
} else {
switch (isNonTrivialToPrimitiveDestructiveMove()) {
----------------
rjmccall wrote:
I'm not sure why these are different functions, other than maybe having different preconditions.
https://github.com/llvm/llvm-project/pull/77092
More information about the cfe-commits
mailing list