[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via cfe-commits
@@ -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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-30 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Serialize the exception copy constructor table in the AST (PR #114075)

2025-01-30 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-30 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-29 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-29 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-27 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-23 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-23 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-23 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2025-01-23 Thread Andrey Glebov via 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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2024-11-06 Thread Andrey Glebov via cfe-commits
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

[clang] WIP: [clang] MicrosoftCXXABI: Fix exception copy constructor LUT after loading AST (PR #114075)

2024-10-29 Thread Andrey Glebov via 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