| // 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(); | |
| /// @endcode | |
| #define PP_NOTREACHED() assert(false) | |
| #endif // PPAPI_CPP_LOGGING_H_ |