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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits