@@ -2316,6 +2316,20 @@ void
ASTDeclReader::VisitCXXConstructorDecl(CXXConstructorDecl *D) {
}
VisitCXXMethodDecl(D);
+
+ // Microsoft CXX ABI specific:
+ // Restore the RecordToCopyCtor sidecar LUT entry so that `throw` expressions
+ // find the correct copy constructo
@@ -2316,6 +2316,20 @@ void
ASTDeclReader::VisitCXXConstructorDecl(CXXConstructorDecl *D) {
}
VisitCXXMethodDecl(D);
+
+ // Microsoft CXX ABI specific:
+ // Restore the RecordToCopyCtor sidecar LUT entry so that `throw` expressions
+ // find the correct copy constructo
@@ -249,6 +249,11 @@ FIELD(HasDeclaredCopyAssignmentWithConstParam, 1, MERGE_OR)
/// base classes or fields have a no-return destructor
FIELD(IsAnyDestructorNoReturn, 1, NO_MERGE)
+/// Microsoft CXX ABI specific:
+/// Whether the copy constructor is used by a `throw` expressio
https://github.com/glebov-andrey edited
https://github.com/llvm/llvm-project/pull/114075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1082,6 +1082,10 @@ bool Sema::CheckCXXThrowOperand(SourceLocation ThrowLoc,
// friendship or any other means).
Context.addCopyConstructorForExceptionObject(Subobject, CD);
+ // Store the bit in CXXRecordDecl so that ASTReader can restore this
+ // map
https://github.com/glebov-andrey edited
https://github.com/llvm/llvm-project/pull/114075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1082,6 +1082,10 @@ bool Sema::CheckCXXThrowOperand(SourceLocation ThrowLoc,
// friendship or any other means).
Context.addCopyConstructorForExceptionObject(Subobject, CD);
glebov-andrey wrote:
The implementation has changed, and this code has be
https://github.com/glebov-andrey edited
https://github.com/llvm/llvm-project/pull/114075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/glebov-andrey updated
https://github.com/llvm/llvm-project/pull/114075
>From 5f1516f3d010afbb6217b542816f0c32c9903d67 Mon Sep 17 00:00:00 2001
From: Andrey Glebov
Date: Mon, 28 Oct 2024 00:02:51 +0300
Subject: [PATCH 1/5] [clang] MicrosoftCXXABI: restore the RecordToCopyCtor
https://github.com/glebov-andrey updated
https://github.com/llvm/llvm-project/pull/114075
>From 22f29b48173c3eb4495d498334e56aaf9abb5a34 Mon Sep 17 00:00:00 2001
From: Andrey Glebov
Date: Mon, 28 Oct 2024 00:02:51 +0300
Subject: [PATCH 1/4] [clang] MicrosoftCXXABI: restore the RecordToCopyCtor
https://github.com/glebov-andrey updated
https://github.com/llvm/llvm-project/pull/114075
>From 22f29b48173c3eb4495d498334e56aaf9abb5a34 Mon Sep 17 00:00:00 2001
From: Andrey Glebov
Date: Mon, 28 Oct 2024 00:02:51 +0300
Subject: [PATCH 1/3] [clang] MicrosoftCXXABI: restore the RecordToCopyCtor
https://github.com/glebov-andrey updated
https://github.com/llvm/llvm-project/pull/114075
>From 7c4f07ddbc8cdb77e8526dccd6bd19fa5a64744a Mon Sep 17 00:00:00 2001
From: Andrey Glebov
Date: Mon, 28 Oct 2024 00:02:51 +0300
Subject: [PATCH] [clang] MicrosoftCXXABI: restore the RecordToCopyCtor tabl
https://github.com/glebov-andrey edited
https://github.com/llvm/llvm-project/pull/114075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2316,6 +2316,20 @@ void
ASTDeclReader::VisitCXXConstructorDecl(CXXConstructorDecl *D) {
}
VisitCXXMethodDecl(D);
+
+ // Microsoft CXX ABI specific:
+ // Restore the RecordToCopyCtor sidecar LUT entry so that `throw` expressions
+ // find the correct copy constructo
https://github.com/glebov-andrey updated
https://github.com/llvm/llvm-project/pull/114075
>From 2b3865e5f11235c88b24940745e65e0feed1863b Mon Sep 17 00:00:00 2001
From: Andrey Glebov
Date: Mon, 28 Oct 2024 00:02:51 +0300
Subject: [PATCH] [clang] MicrosoftCXXABI: restore the RecordToCopyCtor tabl
@@ -2316,6 +2316,20 @@ void
ASTDeclReader::VisitCXXConstructorDecl(CXXConstructorDecl *D) {
}
VisitCXXMethodDecl(D);
+
+ // Microsoft CXX ABI specific:
+ // Restore the RecordToCopyCtor sidecar LUT entry so that `throw` expressions
+ // find the correct copy constructo
glebov-andrey wrote:
Tagging @rnk because this has to do with the MS ABI
https://github.com/llvm/llvm-project/pull/114075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/glebov-andrey created
https://github.com/llvm/llvm-project/pull/114075
Adds a serialized `HasCopyConstructorForExceptionObject` bit to `CXXRecordDecl`
which is used to inform `ASTReader` that this class's copy constructor needs to
be added to the `MicrosoftCXXABI::RecordToCo
18 matches
Mail list logo