[clang] [clang-tools-extra] [clang] improve class type sugar preservation in pointers to members (PR #130537)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 10 08:02:31 PDT 2025
================
@@ -13461,13 +13486,112 @@ static ElaboratedTypeKeyword getCommonTypeKeyword(const T *X, const T *Y) {
: ElaboratedTypeKeyword::None;
}
+static NestedNameSpecifier *getCommonNNS(ASTContext &Ctx,
+ NestedNameSpecifier *X,
+ NestedNameSpecifier *Y, bool Sugar) {
+ if (X == Y)
+ return X;
+
+ NestedNameSpecifier *Canon = Ctx.getCanonicalNestedNameSpecifier(X);
+ if (Canon != Ctx.getCanonicalNestedNameSpecifier(Y)) {
+ if (Sugar)
+ return nullptr;
+ llvm_unreachable("Should be the same NestedNameSpecifier");
+ }
+
+ NestedNameSpecifier *R;
----------------
erichkeane wrote:
```suggestion
NestedNameSpecifier *R = nullptr;
```
https://github.com/llvm/llvm-project/pull/130537
More information about the cfe-commits
mailing list