aaron.ballman added inline comments.
================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.cpp:23 + const auto *F = cast<FunctionProtoType>(T); + return F->hasTrailingReturn(); +} ---------------- I'd rewrite this as: `return Node.getType()->castAs<FunctionProtoType>()->hasTrailingReturnType();` ================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.cpp:26-28 +AST_MATCHER(QualType, isDecltypeType) { + return isa<DecltypeType>(Node.getTypePtr()); +} ---------------- Can you use something like this instead? `extern const internal::VariadicDynCastAllOfMatcher<Type, DecltypeType> decltypeType;` ================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.cpp:30 + +void TrailingReturnCheck::registerMatchers(MatchFinder *Finder) { + // Functions which have trailing returns are disallowed, except for those ---------------- The matchers should only be registered for C++11 and higher. This also fixes a bug where the `hasTrailingReturn()` would assert if given a K&R C function. ================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.cpp:31 +void TrailingReturnCheck::registerMatchers(MatchFinder *Finder) { + // Functions which have trailing returns are disallowed, except for those + // using decltype specifiers and lambda with otherwise unutterable ---------------- s/which/that ================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.cpp:45 + if (const auto *D = Result.Nodes.getNodeAs<Decl>("decl")) + diag(D->getLocStart(), "trailing returns are disallowed"); +} ---------------- The "trailing returns" isn't worded like our other diagnostics. How about "a trailing return type is disallowed for this declaration" or something along those lines? ================ Comment at: clang-tidy/fuchsia/TrailingReturnCheck.h:19 + +/// Functions which have trailing returns are disallowed, except for those +/// using decltype specifiers and lambda with otherwise unutterable ---------------- s/which/that ================ Comment at: docs/ReleaseNotes.rst:70 + + Functions which have trailing returns are disallowed, except for those + using decltype specifiers and lambda with otherwise unutterable ---------------- s/which/that ================ Comment at: docs/clang-tidy/checks/fuchsia-trailing-return.rst:6 + +Functions which have trailing returns are disallowed, except for those using +decltype specifiers and lambda with otherwise unutterable return types. ---------------- s/which/that https://reviews.llvm.org/D42116 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits