message: Patch empty() method for MSVC v140_clang_c2
  std::atomic<T>::operator== is not standard and MSVC v140_clang_c2
  can't always resolve cast to T. In such cases, we cannot explicitly
  compare head_ == tail_, instead we have to compare load() results.
diff: @@ -202,7 +202,7 @@ public:
  // does not lock
  bool empty() const {
  // atomically compares first and last pointer without locks
  - return head_ == tail_;
  + return head_.load() == tail_.load();
  }
  private:
  