https://github.com/v01dXYZ created https://github.com/llvm/llvm-project/pull/118420
Related to #118290. >From c7e93d177aef1214be6dea9e408e547b6d363e33 Mon Sep 17 00:00:00 2001 From: v01dxyz <v01d...@v01d.xyz> Date: Tue, 3 Dec 2024 04:52:33 +0100 Subject: [PATCH] FunctionDecl::getFunctionTypeLoc: ignore function type attributes --- clang/lib/AST/Decl.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp index 741e908cf9bc56..2d1d94ebba755e 100644 --- a/clang/lib/AST/Decl.cpp +++ b/clang/lib/AST/Decl.cpp @@ -3876,8 +3876,17 @@ bool FunctionDecl::doesDeclarationForceExternallyVisibleDefinition() const { FunctionTypeLoc FunctionDecl::getFunctionTypeLoc() const { const TypeSourceInfo *TSI = getTypeSourceInfo(); - return TSI ? TSI->getTypeLoc().IgnoreParens().getAs<FunctionTypeLoc>() - : FunctionTypeLoc(); + + if(!TSI) + return FunctionTypeLoc(); + + TypeLoc TL = TSI->getTypeLoc().IgnoreParens(); + + // ignore function type attributes + while(auto ATL = TL.getAs<AttributedTypeLoc>()) + TL = ATL.getModifiedLoc(); + + return TL.getAs<FunctionTypeLoc>(); } SourceRange FunctionDecl::getReturnTypeSourceRange() const { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits