summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp
diff options
context:
space:
mode:
authorJulie Hockett <juliehockett@google.com>2018-01-17 21:18:15 +0000
committerJulie Hockett <juliehockett@google.com>2018-01-17 21:18:15 +0000
commit93a88e33ef5abb7fa7558b7c63585421502b2266 (patch)
tree6d6323aba4dcbc298bf7e292d7175e7f520044c9 /clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp
parent75d7ee6af579fe9f2624ae016c9fdad2d1192559 (diff)
downloadbcm5719-llvm-93a88e33ef5abb7fa7558b7c63585421502b2266.tar.gz
bcm5719-llvm-93a88e33ef5abb7fa7558b7c63585421502b2266.zip
[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
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/fuchsia-trailing-return.cpp23
1 files changed, 23 insertions, 0 deletions
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 <typename T1, typename T2>
+auto fn(const T1 &lhs, const T2 &rhs) -> decltype(lhs + rhs) {
+ return lhs + rhs;
+}
OpenPOWER on IntegriCloud