summaryrefslogtreecommitdiffstats
path: root/docs/clang-tidy/checks/abseil-time-comparison.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/clang-tidy/checks/abseil-time-comparison.rst')
-rw-r--r--docs/clang-tidy/checks/abseil-time-comparison.rst23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/clang-tidy/checks/abseil-time-comparison.rst b/docs/clang-tidy/checks/abseil-time-comparison.rst
new file mode 100644
index 00000000..9342e4cf
--- /dev/null
+++ b/docs/clang-tidy/checks/abseil-time-comparison.rst
@@ -0,0 +1,23 @@
+.. title:: clang-tidy - abseil-time-comparison
+
+abseil-time-comparison
+======================
+
+Prefer comparisons in the ``absl::Time`` domain instead of the integer domain.
+
+N.B.: In cases where an ``absl::Time`` is being converted to an integer,
+alignment may occur. If the comparison depends on this alignment, doing the
+comparison in the ``absl::Time`` domain may yield a different result. In
+practice this is very rare, and still indicates a bug which should be fixed.
+
+Examples:
+
+.. code-block:: c++
+
+ // Original - Comparison in the integer domain
+ int x;
+ absl::Time t;
+ if (x < absl::ToUnixSeconds(t)) ...
+
+ // Suggested - Compare in the absl::Time domain instead
+ if (absl::FromUnixSeconds(x) < t) ...