From 93a88e33ef5abb7fa7558b7c63585421502b2266 Mon Sep 17 00:00:00 2001 From: Julie Hockett Date: Wed, 17 Jan 2018 21:18:15 +0000 Subject: [clang-tidy] Adding Fuchsia checker for trailing returns Adds a check to the Fuchsia module to warn if a function has a trailing return. See https://fuchsia.googlesource.com/zircon/+/master/docs/cxx.md for reference. Differential Revision: https://reviews.llvm.org/D42116 llvm-svn: 322759 --- .../test/clang-tidy/fuchsia-trailing-return.cpp | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp (limited to 'clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp') diff --git a/clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp b/clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp new file mode 100644 index 00000000000..f6c943ac873 --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp @@ -0,0 +1,23 @@ +// RUN: %check_clang_tidy %s fuchsia-trailing-return %t + +int add_one(const int arg) { return arg; } + +auto get_add_one() -> int (*)(const int) { + // CHECK-MESSAGES: [[@LINE-1]]:1: warning: a trailing return type is disallowed for this type of declaration + // CHECK-NEXT: auto get_add_one() -> int (*)(const int) { + return add_one; +} + +auto lambda = [](double x, double y) {return x + y;}; + +auto lambda2 = [](double x, double y) -> double {return x + y;}; + +int main() { + get_add_one()(5); + return 0; +} + +template +auto fn(const T1 &lhs, const T2 &rhs) -> decltype(lhs + rhs) { + return lhs + rhs; +} -- cgit v1.2.3