[clang] [Clang] Fixed invalid virtual copy constructor assertion (PR #124819)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 29 12:42:19 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Narayan (vortex73)
<details>
<summary>Changes</summary>
- [x] Fix crash on Clang's Assertion Trunk due to Virtual Copy Constructor
Fixed #<!-- -->112909
---
Full diff: https://github.com/llvm/llvm-project/pull/124819.diff
1 Files Affected:
- (modified) clang/lib/Sema/SemaDeclCXX.cpp (+4)
``````````diff
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index c5a72cf812ebc9..d935292191ea58 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -6697,6 +6697,10 @@ static bool canPassInRegisters(Sema &S, CXXRecordDecl *D,
if (D->isDependentType() || D->isInvalidDecl())
return false;
+ for (const CXXMethodDecl *MD : D->methods()) {
+ if (MD->isInvalidDecl())
+ return false;
+ }
// Clang <= 4 used the pre-C++11 rule, which ignores move operations.
// The PS4 platform ABI follows the behavior of Clang 3.2.
if (CCK == TargetInfo::CCK_ClangABI4OrPS4)
``````````
</details>
https://github.com/llvm/llvm-project/pull/124819
More information about the cfe-commits
mailing list