1// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef TRACELINE_LOGGING_H_
6#define TRACELINE_LOGGING_H_
7
8#include <windows.h>
9#include <stdio.h>
10
11#define CHECK(exp, ...) \
12  if (!(exp)) { \
13    printf("FAILED CHECK: %s\n  %s:%d\n", #exp, __FILE__, __LINE__); \
14    printf("\naborted.\n"); \
15    if (::IsDebuggerPresent()) __debugbreak(); \
16    exit(1); \
17  }
18
19#define NOTREACHED(...) \
20  if (1) { \
21    printf("NOTREACHED:\n  %s:%d\n", __FILE__, __LINE__); \
22    printf(__VA_ARGS__); \
23    printf("\naborted.\n"); \
24    if (::IsDebuggerPresent()) __debugbreak(); \
25    exit(1); \
26  }
27
28#endif  // TRACELINE_LOGGING_H_
29