rsmith added inline comments.
================
Comment at: clang/include/clang/Basic/Attr.td:2943
+def WarnUnusedResultClang : InheritableAttr {
+ let Spellings = [CXX11<"clang", "warn_unused_result">];
+ let Subjects = SubjectList<[ObjCMethod, Enum, Record, FunctionLike,
TypedefName]>;
----------------
Should we allow this new behavior for the GNU attribute spelling too? (Not
`[[gnu::..]]` but `__attribute__((warn_unused_result))`). We don't generally
avoid extending the meaning of `__attribute__((...))` compared to GCC.
================
Comment at: clang/lib/AST/Expr.cpp:1525-1527
+ if (const auto *TD = getCallReturnType(Ctx)->getAs<TypedefType>())
+ if (const auto *A = TD->getDecl()->getAttr<WarnUnusedResultAttr>())
+ return A;
----------------
This should loop over `TypedefType` sugar; the attribute could be in a nested
typedef.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102122/new/
https://reviews.llvm.org/D102122
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits