efriedma added inline comments.
================ Comment at: clang/lib/Sema/SemaExpr.cpp:5931 + if (Caller->hasAttr<ARMInterruptAttr>()) { + const Decl *CalleeDecl = FDecl; + if (const auto *UO = dyn_cast<UnaryOperator>(Fn->IgnoreParens())) { ---------------- jroelofs wrote: > This feels very fragile, and I know is missing at least one case. Is there a > better way to reliably get at the typedef's attributes from here? Fundamentally, the way canonical types work in C and C++ means that you shouldn't be trying to dig attributes out of typedefs. If it's a property of the type, it should be stored as a member of the FunctionType, like we do with calling conventions etc. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74812/new/ https://reviews.llvm.org/D74812 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits