1 /* Copyright (c) 2010 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 PPAPI_C_DEV_DEPRECATED_BOOL_H_ 6 #define PPAPI_C_DEV_DEPRECATED_BOOL_H_ 7 8 /** 9 * @file 10 * Defines the API ... 11 * 12 * @addtogroup PP 13 * @{ 14 */ 15 // TODO(ppapi authors): Remove ppp_class_deprecated.h and ppb_var_deprecated.h 16 // and remove this file. This is only here to ease the transition from 17 // deprecated interfaces to the new ones. Add a usable definition of bool for 18 // C code. 19 #if !defined(__cplusplus) 20 # if defined(_MSC_VER) || !defined(__STDC_VERSION__) || \ 21 (__STDC_VERSION__ < 199901L) 22 // The Visual Studio C compiler and older versions of GCC do not support C99 23 // and thus have no bool or stdbool.h. Make a simple definition of bool, 24 // true, and false to make this deprecated interface compile in C. Force it 25 // to 1 byte to have some chance of ABI compatibility between C and C++, in 26 // case we don't remove this. 27 typedef char bool; 28 # define false 0 29 # define true 1 30 # else 31 // In C99-compliant compilers, we can include stdbool.h to get a bool 32 // definition. 33 # include <stdbool.h> 34 # endif 35 #endif 36 37 /** 38 * @} 39 * End addtogroup PP 40 */ 41 42 #endif /* PPAPI_C_DEV_DEPRECATED_BOOL_H_ */ 43 44