// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/check_op.h"
#include "base/memory/ref_counted.h"

struct Foo : public base::RefCounted<Foo> {
  int dummy;
};

// Rewriting the logging macros is a bit tricky. The CHECK_OP macros actually
// wrap a function where the actual comparison happens. Make sure that the tool
// is correctly matching the AST nodes generated by the macros and generating
// the appropriate replacements.
void TestFunction() {
  scoped_refptr<Foo> a;
  Foo* b;

  CHECK_EQ(a.get(), b);
  CHECK_EQ(b, a.get());

  CHECK_NE(a.get(), b);
  CHECK_NE(b, a.get());

  CHECK(a.get());
  CHECK(!a.get());
}
