[clang-tools-extra] 2f1fffa - Disable clang-tidy test that started failing after clang commit ed5a18f.
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 6 19:06:16 PDT 2020
Author: Richard Smith
Date: 2020-08-06T19:06:06-07:00
New Revision: 2f1fffab73f83e6a729cb4d68a99f930e44bc7a8
URL: https://github.com/llvm/llvm-project/commit/2f1fffab73f83e6a729cb4d68a99f930e44bc7a8
DIFF: https://github.com/llvm/llvm-project/commit/2f1fffab73f83e6a729cb4d68a99f930e44bc7a8.diff
LOG: Disable clang-tidy test that started failing after clang commit ed5a18f.
This checker appears to be intentionally not diagnosing cases where an
operator appearing in a duplicated expression might have side-effects;
Clang is now modeling fold-expressions as having an unresolved operator
name within them, so they now trip up this check.
Added:
Modified:
clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp b/clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp
index c47ef7d36ff5..46e84aa7614f 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/misc-redundant-expression.cpp
@@ -794,9 +794,16 @@ struct Bar {
}
};
-template <class... Values>
-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]
-};
+// FIXME: It's not clear that we should be diagnosing this. The `&&` operator
+// here is unresolved and could resolve to an overloaded operator that might
+// have side-effects on its operands. For other constructs with the same
+// property (eg, the `S2` cases above) we suppress this diagnostic. This
+// started failing when Clang started properly modeling the fold-expression as
+// containing an unresolved operator name.
+//template <class... Values>
+//struct Bar2 {
+// static_assert((... && (sizeof(Values) > 0)) == (... && (sizeof(Values) > 0)));
+// // -MESSAGES: :[[@LINE-1]]:47: warning: both sides of operator are equivalent [misc-redundant-expression]
+//};
+
} // namespace no_crash
More information about the cfe-commits
mailing list