| Current File : //usr/include/stddef.h |
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/*
* Copyright (c) 1988, 2005, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _STDDEF_H
#define _STDDEF_H
#include <sys/isa_defs.h>
#include <iso/stddef_iso.h>
/*
* Allow global visibility for symbols defined in
* C++ "std" namespace in <iso/stddef_iso.h>.
*/
#if __cplusplus >= 199711L
using std::ptrdiff_t;
using std::size_t;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* wchar_t is a built-in type in standard C++ and as such is not
* defined here when using standard C++. However, the GNU compiler
* fixincludes utility nonetheless creates its own version of this
* header for use by gcc and g++. In that version it adds a redundant
* guard for __cplusplus. To avoid the creation of a gcc/g++ specific
* header we need to include the following magic comment:
*
* we must use the C++ compiler's type
*
* The above comment should not be removed or changed until GNU
* gcc/fixinc/inclhack.def is updated to bypass this header.
*/
#if !defined(__cplusplus) || (__cplusplus < 199711L && !defined(__GNUG__))
#ifndef _WCHAR_T
#define _WCHAR_T
#if defined(_LP64)
typedef int wchar_t;
#else
typedef long wchar_t;
#endif
#endif /* !_WCHAR_T */
#endif /* !defined(__cplusplus) ... */
#ifdef __cplusplus
}
#endif
#endif /* _STDDEF_H */