Roll src/third_party/skia d7c014f:95cc012
[chromium-blink-merge.git] / ppapi / cpp / logging.h
blobd0a4f5b29a5635973571a9638900251379c56a41
1 // Copyright (c) 2012 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.
5 #ifndef PPAPI_CPP_LOGGING_H_
6 #define PPAPI_CPP_LOGGING_H_
8 /// @file
9 /// This file defines two macro asserts.
11 #include <cassert>
13 /// This macro asserts that 'a' evaluates to true. In debug mode, this macro
14 /// will crash the program if the assertion evaluates to false. It (typically)
15 /// has no effect in release mode.
16 #define PP_DCHECK(a) assert(a)
18 /// This macro asserts false in debug builds. It's used in code paths that you
19 /// don't expect to execute.
20 ///
21 /// <strong>Example:</strong>
22 ///
23 /// @code
24 /// if (!pointer) {
25 /// // Pointer wasn't valid! This shouldn't happen.
26 /// PP_NOTREACHED();
27 /// return;
28 /// }
29 /// // Do stuff to the pointer, since you know it's valid.
30 /// pointer->DoSomething();
31 /// @endcode
32 #define PP_NOTREACHED() assert(false)
34 #endif // PPAPI_CPP_LOGGING_H_