/* ISO C/C++ Runtime Library Copyright (c) 1983-2020 Green Hills Software, Inc. This program is the property of Green Hills Software, Inc, its contents are proprietary information and no part of it is to be disclosed to anyone except employees of Green Hills Software, Inc., or as agreed in writing signed by the President of Green Hills Software, Inc. */ #ifndef _GHS_WCHAR_H #ifdef __ghs__ #pragma ghs startnomisra #endif #if !defined(__linux__) #define _GHS_WCHAR_H #endif #if defined(__need_mbstate_t) && !defined(__mbstate_t_defined) /* Some Linux distributions expect to get __mbstate_t here, * and pretty much nothing else, if __need_mbstate_t is defined. * The type should correspond with that of mbstate_t below. */ # define __mbstate_t_defined 1 typedef int __mbstate_t; #endif #if defined(__linux__) #define _GHS_WCHAR_H #endif #ifdef __VXWORKS #include /* vxWorks has its own idea about header files */ #else # include "ghs_null.h" /* defines NULL and size_t */ # include "ghs_wchar.h" /* defines wchar_t */ #endif #if (defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)) || defined(__MISRA_16_1) # include "ghs_valist.h" #else # include #endif #if !defined(WEOF) #define WEOF ((wint_t)(-1)) #endif /* !WEOF */ #ifndef WCHAR_MIN /* could have been #defined in stdint.h */ # if __WCHAR_BIT > __INT_BIT # ifdef __WChar_Is_Unsigned__ # define WCHAR_MIN 0UL # define WCHAR_MAX ((((1UL<< ((__WCHAR_BIT)-1))-1)<<1)+1) # else # define WCHAR_MIN (-1L << ((__WCHAR_BIT)-1)) # define WCHAR_MAX ((((1L << ((__WCHAR_BIT)-2))-1)<<1)+1) # endif # elif defined(__WChar_Is_Unsigned__) # define WCHAR_MIN 0U # define WCHAR_MAX ((((1U<< ((__WCHAR_BIT)-1))-1)<<1)+1) # else # define WCHAR_MIN (-1<< ((__WCHAR_BIT)-1)) # define WCHAR_MAX ((((1 << ((__WCHAR_BIT)-2))-1)<<1)+1) # endif #endif struct tm; #if !defined(_MBSTATET) && !defined(_MBSTATE_T) # define _MBSTATET # define _MBSTATE_T typedef int mbstate_t; #endif /* the declaractions of wctype_t wint_t are duplicated in wchar.h and wctype.h */ #if defined(_WIN32) /* wint_t and wctype_t are defined in many Microsoft headers */ # if !defined(_WCTYPE_T_DEFINED) # define _WCTYPE_T_DEFINED typedef wchar_t wint_t; typedef int wctype_t; # endif /* _WCTYPE_T_DEFINED */ # define _WINTT /* For PJP Header Files */ # define _WCTYPET #endif #if !defined(_WINTT) && !defined(_WINT_T) /* Some hosts use _WINT_T to protect wint_t */ # define _WINTT # define _WINT_T /* ISO C99 7.24.1 "wint_t ...is an integer type unchanged by default argument promotions that can hold any value corresponding to members of the extended character set, as well as at least one value that does not correspond to any member of the extended character set (see WEOF below);" We chose to make wint_t always signed, and larger than wchar_t if possible without resorting to long long. WEOF is -1. Do not make wint_t the same as wchar_t because C++ considers wchar_t a special type, and wint_t should always be an integral type independent of wchar_t. If longs and long longs are the same size, making wint_t long is not a good idea. Stick to int. */ # if (__WCHAR_BIT < __INT_BIT) || (defined(__LLONG_BIT) && (__LONG_BIT == __LLONG_BIT)) typedef int wint_t; # else typedef long wint_t; # endif #endif #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #if defined(_WIN32) /* fgetwc(), fputwc(), ungetwc() are defined in on Windows. */ # define __File_Type struct _iobuf #elif defined(__sun) /* Solaris native */ /* On Solaris, you need to include stdio.h to get the mapping from __File_Type to FILE for C. */ # include #define __No_File_Type_declaration #define __File_Type FILE #elif defined(__VXWORKS) # define __File_Type struct __sFILE #elif defined(__OSE) || defined(_MC_EXEC) # define __File_Type struct _FILE #elif defined(__ghs) && defined(__LYNX) /* LynxOS */ # define __File_Type struct __iobuf #elif defined(__ghs) && defined(__LINUX) /* Linux */ # define __File_Type struct _IO_FILE #else # define __File_Type struct _iobuf #endif #if defined(__STDC_VERSION__) && (__STDC_VERSION__>=199901L) #define __Restrict restrict #else #define __Restrict #endif #if defined(__GHS_GENERATE_FEE) && defined(__ghs__) #pragma ghs entry_exit_history push on #endif #ifdef __File_Type #ifndef __No_File_Type_declaration /* the library is not compiled with packing, so this must not be packed. */ #if !defined(__iobuf_defined) #if defined(__ghs_max_pack_value) #pragma pack (push, __ghs_max_pack_value) #endif struct _iobuf { unsigned char*_io_next; /* next character to be read from buffer or next position to put a character in buffer */ unsigned char*_io_base; /* start of buffer */ int _io_left; /* number of characters left in buffer */ unsigned _io_channel:14; /* OS I/O channel number */ unsigned _io_used: 1; /* any I/O done on this file since fopen? */ unsigned _io_append: 1; /* should do seeks to eof before writing */ unsigned char _io_tmp; /* used by ungetc on unbuffered files */ unsigned _io_buffering:2; /* _IONBF,_IOFBF,_IOLBF,_IOPBF */ unsigned _io_eof: 1; /* have read end of file */ unsigned _io_error:1; /* have detected io error in file */ unsigned _io_stdio_buffer:1; /* buffer for this file created by stdio */ unsigned _io_readable:1; /* file may be read at this time */ unsigned _io_writable:1; /* file may be written at this time */ unsigned _io_readwrite:1; /* file opened for both reading and writing */ #if __CHAR_BIT > 8 unsigned _io_binary:1; /* file opened in binary mode */ unsigned _io_text:1; /* file opened in text mode */ #endif }; /* This struct is also defined (identically) in . Make sure if both * headers are included, only the first one provides the definition. */ #define __iobuf_defined 1 #if defined(__ghs_max_pack_value) #pragma pack(pop) #endif /* __ghs_max_pack_value */ #endif /* __iobuf_defined */ #endif /* __No_File_Type_declaration */ wint_t fgetwc(__File_Type *); wint_t fputwc(wchar_t, __File_Type *); wint_t ungetwc(wint_t, __File_Type *); #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) wint_t fgetwc_unlocked(__File_Type *); wint_t fputwc_unlocked(wchar_t, __File_Type *); #endif wchar_t *fgetws(wchar_t*__Restrict, int, __File_Type * __Restrict); int fputws(const wchar_t *__Restrict, __File_Type * __Restrict); int fwide(__File_Type*, int); #ifndef __No_File_Type_declaration /* getwchar, putwchar macros refer to stdin, stdout, but we must not declare * those here under the standard names. */ #ifdef __ghs__ #pragma ghs startdata #pragma ghs nowarning 1824 #endif extern __File_Type _iob[ /* FOPEN_MAX */ ]; #ifdef __ghs__ #pragma ghs endnowarning #pragma ghs enddata #endif #define __stdin (&_iob[0]) #define __stdout (&_iob[1]) #else /* Under __No_File_Type_declaration we already included . */ #define __stdin stdin #define __stdout stdout #endif #undef __No_File_Type_declaration #endif /* __File_Type */ int wmemcmp(const wchar_t * __Restrict, const wchar_t * __Restrict, size_t); wchar_t *wmemcpy(wchar_t * __Restrict, const wchar_t * __Restrict, size_t); wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); wchar_t *wmemset(wchar_t *, wchar_t, size_t); #if defined(__CHECK_PRINTF__) && defined(__GNUC__) int swprintf(wchar_t * __Restrict, size_t, const wchar_t * __Restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4))); int swscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, ...) __attribute__ ((__format__ (__scanf__, 2, 3))); int wprintf(const wchar_t * __Restrict, ...) __attribute__ ((__format__ (__printf__, 1, 2))); int wscanf (const wchar_t * __Restrict, ...) __attribute__ ((__format__ (__scanf__, 1, 2))); #if defined(__ghs__) int vswprintf(wchar_t*__Restrict, size_t, const wchar_t*__Restrict, __gh_va_list) __attribute__ ((__format__ (__printf__, 3, 0))); int vswscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, __gh_va_list) __attribute__ ((__format__ (__scanf__, 2, 0))); int vwprintf(const wchar_t * __Restrict, __gh_va_list) __attribute__ ((__format__ (__printf__, 1, 0))); int vwscanf (const wchar_t * __Restrict, __gh_va_list) __attribute__ ((__format__ (__scanf__, 1, 0))); #endif /* STDC */ #ifdef __File_Type int fwprintf(__File_Type *__Restrict, const wchar_t* __Restrict, ...) __attribute__((__format__(__printf__, 2, 3))); int fwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, ...) __attribute__((__format__(__scanf__, 2, 3))); #if defined(__ghs__) int vfwprintf(__File_Type*__Restrict, const wchar_t* __Restrict, __gh_va_list) __attribute__((__format__(__printf__, 2, 0))); int vfwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, __gh_va_list) __attribute__((__format__(__scanf__, 2, 0))); #endif /* STDC */ #endif /* __File_Type */ #elif defined(__CHECK_PRINTF__) && defined(__EDG__) #pragma __printf_args int swprintf(wchar_t * __Restrict, size_t, const wchar_t * __Restrict, ...); #pragma __scanf_args int swscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, ...); #pragma __printf_args int wprintf(const wchar_t * __Restrict, ...); #pragma __scanf_args int wscanf (const wchar_t * __Restrict, ...); #if defined(__ghs__) #pragma __printf_args int vswprintf(wchar_t*__Restrict, size_t, const wchar_t*__Restrict, __gh_va_list); #pragma __scanf_args int vswscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, __gh_va_list); #pragma __printf_args int vwprintf(const wchar_t * __Restrict, __gh_va_list); #pragma __scanf_args int vwscanf (const wchar_t * __Restrict, __gh_va_list); #endif /* STDC */ #ifdef __File_Type #pragma __printf_args int fwprintf(__File_Type *__Restrict, const wchar_t* __Restrict, ...); #pragma __scanf_args int fwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, ...); #if defined(__ghs__) #pragma __printf_args int vfwprintf(__File_Type*__Restrict, const wchar_t* __Restrict, __gh_va_list); #pragma __scanf_args int vfwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, __gh_va_list); #endif /* STDC */ #endif /* __File_Type */ #else /* __CHECK_PRINTF__ */ int swprintf(wchar_t * __Restrict, size_t, const wchar_t * __Restrict, ...); int swscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, ...); int wprintf(const wchar_t * __Restrict, ...); int wscanf (const wchar_t * __Restrict, ...); #if defined(__ghs__) int vswprintf(wchar_t*__Restrict, size_t, const wchar_t*__Restrict, __gh_va_list); int vswscanf(const wchar_t * __Restrict, const wchar_t * __Restrict, __gh_va_list); int vwprintf(const wchar_t * __Restrict, __gh_va_list); int vwscanf (const wchar_t * __Restrict, __gh_va_list); #endif /* STDC */ #ifdef __File_Type int fwprintf(__File_Type *__Restrict, const wchar_t* __Restrict, ...); int fwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, ...); #if defined(__ghs__) int vfwprintf(__File_Type*__Restrict, const wchar_t* __Restrict, __gh_va_list); int vfwscanf(__File_Type *__Restrict, const wchar_t* __Restrict, __gh_va_list); #endif /* STDC */ #endif /* __File_Type */ #endif /* __CHECK_PRINTF__ */ #if !defined(__NoFloat) && !defined(__NoDouble) long double wcstold(const wchar_t * __Restrict, wchar_t ** __Restrict); double wcstod(const wchar_t * __Restrict, wchar_t ** __Restrict); #endif #ifndef __NoFloat float wcstof(const wchar_t * __Restrict, wchar_t ** __Restrict); #endif long wcstol(const wchar_t * __Restrict, wchar_t ** __Restrict, int); unsigned long wcstoul(const wchar_t * __Restrict, wchar_t ** __Restrict, int); #ifdef __LLONG_BIT long long wcstoll(const wchar_t * __Restrict, wchar_t ** __Restrict, int); unsigned long long wcstoull(const wchar_t * __Restrict, wchar_t ** __Restrict, int); #endif wchar_t *wcscpy (wchar_t * __Restrict, const wchar_t * __Restrict); wchar_t *wcsncpy(wchar_t * __Restrict, const wchar_t * __Restrict, size_t); wchar_t *wcscat (wchar_t * __Restrict, const wchar_t * __Restrict); wchar_t *wcsncat(wchar_t * __Restrict, const wchar_t * __Restrict, size_t); int wcscmp (const wchar_t *, const wchar_t *); int wcscoll (const wchar_t *, const wchar_t *); int wcsncmp (const wchar_t *, const wchar_t *, size_t); size_t wcsxfrm (wchar_t * __Restrict, const wchar_t * __Restrict, size_t); size_t wcscspn (const wchar_t *, const wchar_t *); size_t wcsspn (const wchar_t *, const wchar_t *); wchar_t *wcstok (wchar_t * __Restrict, const wchar_t * __Restrict, wchar_t ** __Restrict); size_t wcslen (const wchar_t *); #if !defined(__STRICT_ANSI__) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) size_t wcsnlen (const wchar_t *, size_t); #endif wchar_t *wmemset(wchar_t *, wchar_t, size_t); size_t wcsftime(wchar_t * __Restrict, size_t, const wchar_t * __Restrict, const struct tm * __Restrict); wint_t btowc (int); int wctob (wint_t); int mbsinit (const mbstate_t *); size_t mbrlen (const char * __Restrict, size_t, mbstate_t * __Restrict); size_t mbrtowc (wchar_t * __Restrict, const char * __Restrict, size_t, mbstate_t * __Restrict); size_t wcrtomb (char * __Restrict, wchar_t, mbstate_t* __Restrict); size_t mbsrtowcs(wchar_t * __Restrict, const char ** __Restrict, size_t, mbstate_t * __Restrict); size_t wcsrtombs(char * __Restrict, const wchar_t ** __Restrict, size_t, mbstate_t * __Restrict); #ifndef __cplusplus #ifdef __File_Type wint_t getwc(__File_Type *); wint_t getwchar(void); wint_t putwc(wchar_t, __File_Type *); wint_t putwchar(wchar_t); #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) wint_t getwc_unlocked(__File_Type *); wint_t putwc_unlocked(wchar_t, __File_Type *); wint_t getwchar_unlocked(void); wint_t putwchar_unlocked(wchar_t); #endif #endif #define getwc(f) fgetwc(f) #define getwchar() fgetwc(__stdin) #define putwc(wc, f) fputwc(wc, f) #define putwchar(wc) fputwc(wc, __stdout) #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) #define getwc_unlocked(f) fgetwc_unlocked(f) #define getwchar_unlocked() fgetwc_unlocked(__stdin) #define putwc_unlocked(wc, f) fputwc_unlocked(wc, f) #define putwchar_unlocked(wc) fputwc_unlocked(wc, __stdout) #endif wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); wchar_t *wcschr (const wchar_t *, wchar_t); wchar_t *wcspbrk(const wchar_t *, const wchar_t *); wchar_t *wcsrchr(const wchar_t *, wchar_t); wchar_t *wcsstr (const wchar_t *, const wchar_t *); #else const wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); const wchar_t *wcschr (const wchar_t *, wchar_t); const wchar_t *wcspbrk(const wchar_t *, const wchar_t *); const wchar_t *wcsrchr(const wchar_t *, wchar_t); const wchar_t *wcsstr (const wchar_t *, const wchar_t *); } #ifdef __File_Type extern "C" { /* wint_t getwc(__File_Type *); wint_t putwc(wchar_t, __File_Type *); */ #if !defined(FILE) && !defined(__stdin) wint_t getwchar(void); wint_t putwchar(wchar_t); #endif } inline wint_t getwc(__File_Type *__Fi) { return fgetwc(__Fi); } inline wint_t putwc(wchar_t __WC, __File_Type*__Fi){return fputwc(__WC, __Fi); } #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) inline wint_t getwc_unlocked(__File_Type *__Fi) { return fgetwc_unlocked(__Fi); } inline wint_t putwc_unlocked(wchar_t __WC, __File_Type *__Fi) { return fputwc_unlocked(__WC, __Fi); } #endif #if defined(FILE) || defined(__stdin) inline wint_t getwchar() { return fgetwc(__stdin); } inline wint_t putwchar(wchar_t __WC) { return fputwc(__WC, __stdout); } #if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) inline wint_t getwchar_unlocked() { return fgetwc_unlocked(__stdin); } inline wint_t putwchar_unlocked(wchar_t __WC) { return fputwc_unlocked(__WC, __stdout); } #endif #endif #endif inline wchar_t *wmemchr(wchar_t *__GHS_S, wchar_t __GHS_C, size_t __GHS_N) {return ((wchar_t *)wmemchr((const wchar_t *)__GHS_S, __GHS_C, __GHS_N)); } inline wchar_t *wcschr (wchar_t *__GHS_S, wchar_t __GHS_C) {return ((wchar_t *)wcschr ((const wchar_t *)__GHS_S, __GHS_C)); } inline wchar_t *wcspbrk(wchar_t *__GHS_S, const wchar_t *__GHS_P) {return ((wchar_t *)wcspbrk((const wchar_t *)__GHS_S, __GHS_P)); } inline wchar_t *wcsrchr(wchar_t *__GHS_S, wchar_t __GHS_C) {return ((wchar_t *)wcsrchr((const wchar_t *)__GHS_S, __GHS_C)); } inline wchar_t *wcsstr (wchar_t *__GHS_S, const wchar_t *__GHS_P) {return ((wchar_t *)wcsstr ((const wchar_t *)__GHS_S, __GHS_P)); } #endif /* __cplusplus */ #define __GHS_WANT_RSIZE_T 1 #define __GHS_WANT_ERRNO_T 1 #include "ghs_annex_k.h" #if defined(__GHS_WANT_ANNEX_K_DEFS) /* From C11 Annex K "Bounds-checking interfaces" */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #if defined(__CHECK_PRINTF__) # if defined(__GNUC__) /* No compatibility modes provided for gnu11 and later */ # error "Annex K not supported with GNU C" # else /* __GNUC__ */ #pragma __printf_s_args int wprintf_s(const wchar_t *__Restrict __format, ...); #pragma __printf_s_args int swprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, ...); #pragma __printf_s_args int snwprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, ...); #pragma __printf_s_args int vwprintf_s(const wchar_t *__Restrict __format, __gh_va_list __arg); #pragma __printf_s_args int vswprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, __gh_va_list __arg); #pragma __printf_s_args int vsnwprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, __gh_va_list __arg); #ifdef __File_Type #pragma __printf_s_args int fwprintf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, ...); #pragma __printf_s_args int vfwprintf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, __gh_va_list __arg); #endif #pragma __scanf_s_args int wscanf_s(const wchar_t *__Restrict __format, ...); #pragma __scanf_s_args int swscanf_s(const wchar_t *__Restrict __s, const wchar_t *__Restrict __format, ...); #pragma __scanf_s_args int vwscanf_s(const wchar_t *__Restrict __format, __gh_va_list __arg); #pragma __scanf_s_args int vswscanf_s(const wchar_t *__Restrict __s, const wchar_t *__Restrict __format, __gh_va_list __arg); # ifdef __File_Type #pragma __scanf_s_args int fwscanf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, ...); #pragma __scanf_s_args int vfwscanf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, __gh_va_list __arg); # endif # endif /* __GNUC__ */ #else /* __CHECK_PRINTF__ */ int wprintf_s(const wchar_t *__Restrict __format, ...); int swprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, ...); int snwprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, ...); int vwprintf_s(const wchar_t *__Restrict __format, __gh_va_list __arg); int vswprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, __gh_va_list __arg); int vsnwprintf_s(wchar_t *__Restrict __s, rsize_t __n, const wchar_t *__Restrict __format, __gh_va_list __arg); #ifdef __File_Type int fwprintf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, ...); int vfwprintf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, __gh_va_list __arg); #endif int wscanf_s(const wchar_t *__Restrict __format, ...); int swscanf_s(const wchar_t *__Restrict __s, const wchar_t *__Restrict __format, ...); int vwscanf_s(const wchar_t *__Restrict __format, __gh_va_list __arg); int vswscanf_s(const wchar_t *__Restrict __s, const wchar_t *__Restrict __format, __gh_va_list __arg); #ifdef __File_Type int fwscanf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, ...); int vfwscanf_s(__File_Type *__Restrict __stream, const wchar_t *__Restrict __format, __gh_va_list __arg); #endif #endif /* __CHECK_PRINTF__ */ errno_t wcscpy_s(wchar_t *__Restrict __s1, rsize_t __s1max, const wchar_t *__Restrict __s2); errno_t wcsncpy_s(wchar_t *__Restrict __s1, rsize_t __s1max, const wchar_t *__Restrict __s2, rsize_t __n); errno_t wmemcpy_s(wchar_t *__Restrict __s1, rsize_t __s1max, const wchar_t *__Restrict __s2, rsize_t __n); errno_t wmemmove_s(wchar_t *__s1, rsize_t __s1max, const wchar_t *__s2, rsize_t __n); errno_t wcscat_s(wchar_t *__Restrict __s1, rsize_t __s1max, const wchar_t *__Restrict __s2); errno_t wcsncat_s(wchar_t *__Restrict __s1, rsize_t __s1max, const wchar_t *__Restrict __s2, rsize_t __n); wchar_t * wcstok_s(wchar_t *__Restrict __s1, rsize_t *__Restrict __s1max, const wchar_t *__Restrict __s2, wchar_t **__Restrict __ptr); size_t wcsnlen_s(const wchar_t *__s, size_t __maxsize); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* defined(__GHS_WANT_ANNEX_K_DEFS) */ #if defined(__GHS_GENERATE_FEE) && defined(__ghs__) #pragma ghs entry_exit_history pop #endif /* Do not #undef __stdin, __stdout here. They are needed for the * getwchar/putwchar macros to work. */ #undef __File_Type #undef __Restrict #ifdef __ghs__ #pragma ghs endnomisra #endif #endif /* _GHS_WCHAR_H */