njames93 added inline comments.

================
Comment at: 
clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp:31
+struct Bar2 {
+  static_assert((... && (sizeof(Values) > 0)) || (... && (sizeof(Values) > 
0)));
+  // CHECK-MESSAGES: :[[@LINE-1]]:47: warning: both sides of operator are 
equivalent [misc-redundant-expression]
----------------
See other comment but if you change this to use `==` instead of `||` you can 
move this all back to the bottom simplifying the changes in this PR.


================
Comment at: 
clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp:196
 bool operator>(const MyStruct& lhs, MyStruct& rhs) { rhs.x--; return lhs.x > 
rhs.x; }
 bool operator||(MyStruct& lhs, const MyStruct& rhs) { lhs.x++; return lhs.x || 
rhs.x; }
 
----------------
This is why you aren't getting warnings issued when the test case is at the 
bottom. You have defined a `||` operator at global namespace level which I'm 
guessing leads to ambiguity when checking the `static_assert` operator in your 
test case - It'll have a dependent type.
Simple fix is to change the static_assert to use say `operator==` as that isn't 
defined globally.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80896/new/

https://reviews.llvm.org/D80896



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to