llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tools-extra Author: Quan Zhuo (quanzhuo) <details> <summary>Changes</summary> This PR fix https://github.com/clangd/clangd/issues/2573 --- Full diff: https://github.com/llvm/llvm-project/pull/173606.diff 1 Files Affected: - (modified) clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp (+7-2) ``````````diff diff --git a/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp b/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp index 45e7adeeefcd9..6e00f37ca83de 100644 --- a/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp +++ b/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp @@ -236,8 +236,13 @@ getFunctionSourceCode(const FunctionDecl *FD, const DeclContext *TargetContext, if (Ref.Qualifier || Ref.Targets.empty() || Ref.NameLoc.isMacroID()) return; // Only qualify return type and function name. - if (Ref.NameLoc != FD->getReturnTypeSourceRange().getBegin() && - Ref.NameLoc != FD->getLocation()) + auto ReturnTypeRange = FD->getReturnTypeSourceRange(); + if (Ref.NameLoc != FD->getLocation() && + (ReturnTypeRange.isInvalid() || + SM.isBeforeInTranslationUnit(Ref.NameLoc, + ReturnTypeRange.getBegin()) || + SM.isBeforeInTranslationUnit(ReturnTypeRange.getEnd(), + Ref.NameLoc))) return; for (const NamedDecl *ND : Ref.Targets) { `````````` </details> https://github.com/llvm/llvm-project/pull/173606 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
