================
@@ -0,0 +1,67 @@
+// RUN: %check_clang_tidy %s readability-identifier-length %t \
+// RUN: -config='{CheckOptions: \
+// RUN:  {readability-identifier-length.LineCountThreshold: 3}}' \
+// RUN: -- -fexceptions
+
+struct myexcept {
+  int val;
+};
+
+template<typename... Ts>
+void doIt(Ts...);
+
+#define MY_MACRO(arg) doIt(arg, arg)
+
+int g = 0;
+// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: variable name 'g' is too short, 
expected at least 3 characters [readability-identifier-length]
+
+void shouldWarn(int z)
+// CHECK-MESSAGES: :[[@LINE-1]]:21: warning: parameter name 'z' is too short, 
expected at least 3 characters [readability-identifier-length]
+{
+  int i = 5;
+  // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: variable name 'i' is too short, 
expected at least 3 characters [readability-identifier-length]
+  ++i;
+
+  for (int m = 0; m < 5; ++m)
+  // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: loop variable name 'm' is too 
short, expected at least 2 characters [readability-identifier-length]
+  {
+    doIt(i);
+    doIt(m);
+  }
+
+  try {
+    doIt(z);
+  } catch (const myexcept &x)
+  // CHECK-MESSAGES: :[[@LINE-1]]:28: warning: exception variable name 'x' is 
too short, expected at least 2 characters [readability-identifier-length]
+  {
+    doIt(x);
+  }
+
+  int a = 0;
+  // CHECK-MESSAGES: :[[@LINE-1]]:7: warning: variable name 'a' is too short, 
expected at least 3 characters [readability-identifier-length]
+  ++a;
+  MY_MACRO(a);
+}
+
+void shouldNotWarn(int m)
+{
+  doIt(m);
+
+  int v = 5;
+  ++v;
+  doIt(v);
+
+  for (int a = 0; a < 42; ++a)
+  {
+      doIt(a);
+  }
+
+  try {
+    doIt();
+  } catch (const myexcept &x) {
+    doIt(x);
+  }
+
+  int a = 0;
+  MY_MACRO(a);
+}
----------------
vbvictor wrote:

Can we add tests with lambdas.
How would you count lines in this case?

```
int a;
[&]() {
   // 10 lines
   a = 10;
}
```

```
int a;
[=]() {
   // 10 lines
   a = 10;
}
```

https://github.com/llvm/llvm-project/pull/185319
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to