summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/google-runtime-int.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-08-29 14:38:46 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-08-29 14:38:46 +0000
commit06e323a6eeff2652342d96078139f24e39b656e0 (patch)
treefc0b7a17bd6d8f7a48247fba6185afe5b58743b0 /clang-tools-extra/test/clang-tidy/google-runtime-int.cpp
parentc1c05aeb5dc2b68ff85f0164665f2f2023c1701e (diff)
downloadbcm5719-llvm-06e323a6eeff2652342d96078139f24e39b656e0.tar.gz
bcm5719-llvm-06e323a6eeff2652342d96078139f24e39b656e0.zip
[clang-tidy] Add a checker that suggests replacing short/long/long long with fixed-size types.
Differential Revision: http://reviews.llvm.org/D5119 llvm-svn: 216726
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/google-runtime-int.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/google-runtime-int.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/google-runtime-int.cpp b/clang-tools-extra/test/clang-tidy/google-runtime-int.cpp
new file mode 100644
index 00000000000..9fcde079d1e
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/google-runtime-int.cpp
@@ -0,0 +1,54 @@
+// RUN: clang-tidy -checks=-*,google-runtime-int %s -- -x c++ 2>&1 | FileCheck %s -implicit-check-not='{{warning:|error:}}'
+
+long a();
+// CHECK: [[@LINE-1]]:1: warning: consider replacing 'long' with 'int64'
+
+typedef unsigned long long uint64; // NOLINT
+
+long b(long = 1);
+// CHECK: [[@LINE-1]]:1: warning: consider replacing 'long' with 'int64'
+// CHECK: [[@LINE-2]]:8: warning: consider replacing 'long' with 'int64'
+
+template <typename T>
+void tmpl() {
+ T i;
+}
+
+short bar(const short, unsigned short) {
+// CHECK: [[@LINE-1]]:1: warning: consider replacing 'short' with 'int16'
+// CHECK: [[@LINE-2]]:17: warning: consider replacing 'short' with 'int16'
+// CHECK: [[@LINE-3]]:24: warning: consider replacing 'unsigned short' with 'uint16'
+ long double foo = 42;
+ uint64 qux = 42;
+ unsigned short port;
+
+ const unsigned short bar = 0;
+// CHECK: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'uint16'
+ long long *baar;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64'
+ const unsigned short &bara = bar;
+// CHECK: [[@LINE-1]]:9: warning: consider replacing 'unsigned short' with 'uint16'
+ long const long moo = 1;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64'
+ long volatile long wat = 42;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'long long' with 'int64'
+ unsigned long y;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'unsigned long' with 'uint64'
+ unsigned long long **const *tmp;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'uint64'
+ unsigned long long **const *&z = tmp;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'unsigned long long' with 'uint64'
+ unsigned short porthole;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'unsigned short' with 'uint16'
+
+#define l long
+ l x;
+
+ tmpl<short>();
+// CHECK: [[@LINE-1]]:8: warning: consider replacing 'short' with 'int16'
+}
+
+void qux() {
+ short port;
+// CHECK: [[@LINE-1]]:3: warning: consider replacing 'short' with 'int16'
+}
OpenPOWER on IntegriCloud