Improve RTC_DCHECK_op so that it won't trigger useless compiler warnings

Before this change, with DCHECKs switched off, this sort of check

  size_t index = ...;
  RTC_DCHECK_GE(index, 0u);

would cause GCC (but no other compiler that we use) to complain
that unsigned values are always greater than or equal to 0. With
this change, it no longer complains.

(It was and remains the case that there was no complaints if
DCHECKs were switched on, or if you used RTC_CHECK_op.)

The reason for doing this change is that it isn't useful for the
compiler to force us to remove DCHECKs just because their
condition can be verified statically. That causes us to remove
the checks, and once that's happened, future code changes are free
to violate the removed checks and no one will know...

BUG=webrtc:6620

Review-Url: https://codereview.webrtc.org/2455943002
Cr-Commit-Position: refs/heads/master@{#14805}
1 file changed
tree: 3520a64dd7851414626e2cb25cc53c6a924891fe
  1. build_overrides/
  2. chromium/
  3. data/
  4. infra/
  5. resources/
  6. third_party/
  7. tools/
  8. webrtc/
  9. .clang-format
  10. .git-blame-ignore-revs
  11. .gitignore
  12. .gn
  13. all.gyp
  14. AUTHORS
  15. BUILD.gn
  16. check_root_dir.py
  17. codereview.settings
  18. DEPS
  19. LICENSE
  20. license_template.txt
  21. LICENSE_THIRD_PARTY
  22. OWNERS
  23. PATENTS
  24. PRESUBMIT.py
  25. pylintrc
  26. README.md
  27. setup_links.py
  28. sync_chromium.py
  29. WATCHLISTS
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.

Development

See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.

More info