summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/logging.h
blob: 97479a276130afe69eb427b0969a197bebcabd5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef PPAPI_CPP_LOGGING_H_
#define PPAPI_CPP_LOGGING_H_

/// @file
/// This file defines two macro asserts.

#include <cassert>

/// This macro asserts that 'a' evaluates to true. In debug mode, this macro
/// will crash the program if the assertion evaluates to false. It (typically)
/// has no effect in release mode.
#define PP_DCHECK(a) assert(a)

/// This macro asserts false in debug builds. It's used in code paths that you
/// don't expect to execute.
///
/// <strong>Example:</strong>
///
/// <code>
/// if (!pointer) {
/// // Pointer wasn't valid! This shouldn't happen.
/// PP_NOTREACHED();
/// return;
/// }
/// // Do stuff to the pointer, since you know it's valid.
/// pointer->DoSomething();
/// </code>
#define PP_NOTREACHED() assert(false)

#endif  // PPAPI_CPP_LOGGING_H_