diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2022-07-14 21:13:57 -0700 |
---|---|---|
committer | Jonas Devlieghere <jonas@devlieghere.com> | 2022-07-14 21:17:48 -0700 |
commit | 888673b6e3bf0182fb5f154eb3231c9ae022acca (patch) | |
tree | 5920eb6c26de7d1f48fd76a4d33c0dd36c163f3f /clang-tools-extra/clang-change-namespace | |
parent | ef0081d608298db65371f9869c1371fcfc74a778 (diff) | |
download | llvm-888673b6e3bf0182fb5f154eb3231c9ae022acca.tar.gz |
Revert "[clang] Implement ElaboratedType sugaring for types written bare"
This reverts commit 7c51f02effdbd0d5e12bfd26f9c3b2ab5687c93f because it
stills breaks the LLDB tests. This was re-landed without addressing the
issue or even agreement on how to address the issue. More details and
discussion in https://reviews.llvm.org/D112374.
Diffstat (limited to 'clang-tools-extra/clang-change-namespace')
-rw-r--r-- | clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp b/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp index 26d31c669bcc..59acc29e8ee9 100644 --- a/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp +++ b/clang-tools-extra/clang-change-namespace/ChangeNamespace.cpp @@ -567,12 +567,14 @@ void ChangeNamespaceTool::run( if (Loc.getTypeLocClass() == TypeLoc::Elaborated) { NestedNameSpecifierLoc NestedNameSpecifier = Loc.castAs<ElaboratedTypeLoc>().getQualifierLoc(); - // FIXME: avoid changing injected class names. - if (auto *NNS = NestedNameSpecifier.getNestedNameSpecifier()) { - const Type *SpecifierType = NNS->getAsType(); - if (SpecifierType && SpecifierType->isRecordType()) - return; - } + // This happens for friend declaration of a base class with injected class + // name. + if (!NestedNameSpecifier.getNestedNameSpecifier()) + return; + const Type *SpecifierType = + NestedNameSpecifier.getNestedNameSpecifier()->getAsType(); + if (SpecifierType && SpecifierType->isRecordType()) + return; } fixTypeLoc(Result, startLocationForType(Loc), endLocationForType(Loc), Loc); } else if (const auto *VarRef = |