Remove unused variable in record-btrace.c
[deliverable/binutils-gdb.git] / gdb / gnulib / import / wchar.in.h
CommitLineData
8690e634
JK
1/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
2
7a6dbc2f 3 Copyright (C) 2007-2018 Free Software Foundation, Inc.
8690e634
JK
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
7a6dbc2f 16 along with this program; if not, see <https://www.gnu.org/licenses/>. */
8690e634
JK
17
18/* Written by Eric Blake. */
19
20/*
21 * ISO C 99 <wchar.h> for platforms that have issues.
22 * <http://www.opengroup.org/susv3xbd/wchar.h.html>
23 *
24 * For now, this just ensures proper prerequisite inclusion order and
25 * the declaration of wcwidth().
26 */
27
28#if __GNUC__ >= 3
29@PRAGMA_SYSTEM_HEADER@
30#endif
31@PRAGMA_COLUMNS@
32
4a626d0a 33#if (((defined __need_mbstate_t || defined __need_wint_t) \
7a6dbc2f 34 && !defined __MINGW32__) \
4a626d0a
PA
35 || (defined __hpux \
36 && ((defined _INTTYPES_INCLUDED && !defined strtoimax) \
37 || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) \
49e4877c 38 || (defined __MINGW32__ && defined __STRING_H_SOURCED__) \
4a626d0a 39 || defined _GL_ALREADY_INCLUDING_WCHAR_H)
8690e634 40/* Special invocation convention:
4a626d0a 41 - Inside glibc and uClibc header files, but not MinGW.
8690e634
JK
42 - On HP-UX 11.00 we have a sequence of nested includes
43 <wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
44 once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
45 and once directly. In both situations 'wint_t' is not yet defined,
46 therefore we cannot provide the function overrides; instead include only
47 the system's <wchar.h>.
49e4877c
PA
48 - With MinGW 3.22, when <string.h> includes <wchar.h>, only some part of
49 <wchar.h> is actually processed, and that doesn't include 'mbstate_t'.
8690e634
JK
50 - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
51 the latter includes <wchar.h>. But here, we have no way to detect whether
52 <wctype.h> is completely included or is still being included. */
53
54#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
55
56#else
57/* Normal invocation convention. */
58
59#ifndef _@GUARD_PREFIX@_WCHAR_H
60
61#define _GL_ALREADY_INCLUDING_WCHAR_H
62
63#if @HAVE_FEATURES_H@
64# include <features.h> /* for __GLIBC__ */
65#endif
66
67/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
68 <wchar.h>.
69 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
70 included before <wchar.h>.
71 In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
72 by <stddef.h>.
73 But avoid namespace pollution on glibc systems. */
74#if !(defined __GLIBC__ && !defined __UCLIBC__)
75# include <stddef.h>
76#endif
77#ifndef __GLIBC__
78# include <stdio.h>
79# include <time.h>
80#endif
81
82/* Include the original <wchar.h> if it exists.
83 Some builds of uClibc lack it. */
84/* The include_next requires a split double-inclusion guard. */
85#if @HAVE_WCHAR_H@
86# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
87#endif
88
89#undef _GL_ALREADY_INCLUDING_WCHAR_H
90
91#ifndef _@GUARD_PREFIX@_WCHAR_H
92#define _@GUARD_PREFIX@_WCHAR_H
93
94/* The __attribute__ feature is available in gcc versions 2.5 and later.
95 The attribute __pure__ was added in gcc 2.96. */
96#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
97# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
98#else
99# define _GL_ATTRIBUTE_PURE /* empty */
100#endif
101
102/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
103
104/* The definition of _GL_ARG_NONNULL is copied here. */
105
106/* The definition of _GL_WARN_ON_USE is copied here. */
107
108
109/* Define wint_t and WEOF. (Also done in wctype.in.h.) */
110#if !@HAVE_WINT_T@ && !defined wint_t
111# define wint_t int
112# ifndef WEOF
113# define WEOF -1
114# endif
115#else
7a6dbc2f
SDJ
116/* mingw and MSVC define wint_t as 'unsigned short' in <crtdefs.h> or
117 <stddef.h>. This is too small: ISO C 99 section 7.24.1.(2) says that
118 wint_t must be "unchanged by default argument promotions". Override it. */
119# if @GNULIB_OVERRIDES_WINT_T@
8690e634 120# if !GNULIB_defined_wint_t
7a6dbc2f
SDJ
121# if @HAVE_CRTDEFS_H@
122# include <crtdefs.h>
123# else
124# include <stddef.h>
125# endif
8690e634
JK
126typedef unsigned int rpl_wint_t;
127# undef wint_t
128# define wint_t rpl_wint_t
129# define GNULIB_defined_wint_t 1
130# endif
131# endif
132# ifndef WEOF
133# define WEOF ((wint_t) -1)
134# endif
135#endif
136
137
138/* Override mbstate_t if it is too small.
139 On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
140 implementing mbrtowc for encodings like UTF-8. */
141#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
142# if !GNULIB_defined_mbstate_t
143typedef int rpl_mbstate_t;
144# undef mbstate_t
145# define mbstate_t rpl_mbstate_t
146# define GNULIB_defined_mbstate_t 1
147# endif
148#endif
149
150
151/* Convert a single-byte character to a wide character. */
152#if @GNULIB_BTOWC@
153# if @REPLACE_BTOWC@
154# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
155# undef btowc
156# define btowc rpl_btowc
157# endif
158_GL_FUNCDECL_RPL (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
159_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
160# else
161# if !@HAVE_BTOWC@
162_GL_FUNCDECL_SYS (btowc, wint_t, (int c) _GL_ATTRIBUTE_PURE);
163# endif
164_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
165# endif
166_GL_CXXALIASWARN (btowc);
167#elif defined GNULIB_POSIXCHECK
168# undef btowc
169# if HAVE_RAW_DECL_BTOWC
170_GL_WARN_ON_USE (btowc, "btowc is unportable - "
171 "use gnulib module btowc for portability");
172# endif
173#endif
174
175
176/* Convert a wide character to a single-byte character. */
177#if @GNULIB_WCTOB@
178# if @REPLACE_WCTOB@
179# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
180# undef wctob
181# define wctob rpl_wctob
182# endif
183_GL_FUNCDECL_RPL (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
184_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
185# else
186# if !defined wctob && !@HAVE_DECL_WCTOB@
187/* wctob is provided by gnulib, or wctob exists but is not declared. */
188_GL_FUNCDECL_SYS (wctob, int, (wint_t wc) _GL_ATTRIBUTE_PURE);
189# endif
190_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
191# endif
192_GL_CXXALIASWARN (wctob);
193#elif defined GNULIB_POSIXCHECK
194# undef wctob
195# if HAVE_RAW_DECL_WCTOB
196_GL_WARN_ON_USE (wctob, "wctob is unportable - "
197 "use gnulib module wctob for portability");
198# endif
199#endif
200
201
202/* Test whether *PS is in the initial state. */
203#if @GNULIB_MBSINIT@
204# if @REPLACE_MBSINIT@
205# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
206# undef mbsinit
207# define mbsinit rpl_mbsinit
208# endif
209_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
210_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
211# else
212# if !@HAVE_MBSINIT@
213_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
214# endif
215_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
216# endif
217_GL_CXXALIASWARN (mbsinit);
218#elif defined GNULIB_POSIXCHECK
219# undef mbsinit
220# if HAVE_RAW_DECL_MBSINIT
221_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
222 "use gnulib module mbsinit for portability");
223# endif
224#endif
225
226
227/* Convert a multibyte character to a wide character. */
228#if @GNULIB_MBRTOWC@
229# if @REPLACE_MBRTOWC@
230# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
231# undef mbrtowc
232# define mbrtowc rpl_mbrtowc
233# endif
234_GL_FUNCDECL_RPL (mbrtowc, size_t,
235 (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
236_GL_CXXALIAS_RPL (mbrtowc, size_t,
237 (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
238# else
239# if !@HAVE_MBRTOWC@
240_GL_FUNCDECL_SYS (mbrtowc, size_t,
241 (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
242# endif
243_GL_CXXALIAS_SYS (mbrtowc, size_t,
244 (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
245# endif
246_GL_CXXALIASWARN (mbrtowc);
247#elif defined GNULIB_POSIXCHECK
248# undef mbrtowc
249# if HAVE_RAW_DECL_MBRTOWC
250_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
251 "use gnulib module mbrtowc for portability");
252# endif
253#endif
254
255
256/* Recognize a multibyte character. */
257#if @GNULIB_MBRLEN@
258# if @REPLACE_MBRLEN@
259# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
260# undef mbrlen
261# define mbrlen rpl_mbrlen
262# endif
263_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
264_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
265# else
266# if !@HAVE_MBRLEN@
267_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
268# endif
269_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
270# endif
271_GL_CXXALIASWARN (mbrlen);
272#elif defined GNULIB_POSIXCHECK
273# undef mbrlen
274# if HAVE_RAW_DECL_MBRLEN
275_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
276 "use gnulib module mbrlen for portability");
277# endif
278#endif
279
280
281/* Convert a string to a wide string. */
282#if @GNULIB_MBSRTOWCS@
283# if @REPLACE_MBSRTOWCS@
284# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
285# undef mbsrtowcs
286# define mbsrtowcs rpl_mbsrtowcs
287# endif
288_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
289 (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
290 _GL_ARG_NONNULL ((2)));
291_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
292 (wchar_t *dest, const char **srcp, size_t len,
293 mbstate_t *ps));
294# else
295# if !@HAVE_MBSRTOWCS@
296_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
297 (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
298 _GL_ARG_NONNULL ((2)));
299# endif
300_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
301 (wchar_t *dest, const char **srcp, size_t len,
302 mbstate_t *ps));
303# endif
304_GL_CXXALIASWARN (mbsrtowcs);
305#elif defined GNULIB_POSIXCHECK
306# undef mbsrtowcs
307# if HAVE_RAW_DECL_MBSRTOWCS
308_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
309 "use gnulib module mbsrtowcs for portability");
310# endif
311#endif
312
313
314/* Convert a string to a wide string. */
315#if @GNULIB_MBSNRTOWCS@
316# if @REPLACE_MBSNRTOWCS@
317# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
318# undef mbsnrtowcs
319# define mbsnrtowcs rpl_mbsnrtowcs
320# endif
321_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
322 (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
323 mbstate_t *ps)
324 _GL_ARG_NONNULL ((2)));
325_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
326 (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
327 mbstate_t *ps));
328# else
329# if !@HAVE_MBSNRTOWCS@
330_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
331 (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
332 mbstate_t *ps)
333 _GL_ARG_NONNULL ((2)));
334# endif
335_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
336 (wchar_t *dest, const char **srcp, size_t srclen, size_t len,
337 mbstate_t *ps));
338# endif
339_GL_CXXALIASWARN (mbsnrtowcs);
340#elif defined GNULIB_POSIXCHECK
341# undef mbsnrtowcs
342# if HAVE_RAW_DECL_MBSNRTOWCS
343_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
344 "use gnulib module mbsnrtowcs for portability");
345# endif
346#endif
347
348
349/* Convert a wide character to a multibyte character. */
350#if @GNULIB_WCRTOMB@
351# if @REPLACE_WCRTOMB@
352# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
353# undef wcrtomb
354# define wcrtomb rpl_wcrtomb
355# endif
356_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
357_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
358# else
359# if !@HAVE_WCRTOMB@
360_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
361# endif
362_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
363# endif
364_GL_CXXALIASWARN (wcrtomb);
365#elif defined GNULIB_POSIXCHECK
366# undef wcrtomb
367# if HAVE_RAW_DECL_WCRTOMB
368_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
369 "use gnulib module wcrtomb for portability");
370# endif
371#endif
372
373
374/* Convert a wide string to a string. */
375#if @GNULIB_WCSRTOMBS@
376# if @REPLACE_WCSRTOMBS@
377# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
378# undef wcsrtombs
379# define wcsrtombs rpl_wcsrtombs
380# endif
381_GL_FUNCDECL_RPL (wcsrtombs, size_t,
382 (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
383 _GL_ARG_NONNULL ((2)));
384_GL_CXXALIAS_RPL (wcsrtombs, size_t,
385 (char *dest, const wchar_t **srcp, size_t len,
386 mbstate_t *ps));
387# else
388# if !@HAVE_WCSRTOMBS@
389_GL_FUNCDECL_SYS (wcsrtombs, size_t,
390 (char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
391 _GL_ARG_NONNULL ((2)));
392# endif
393_GL_CXXALIAS_SYS (wcsrtombs, size_t,
394 (char *dest, const wchar_t **srcp, size_t len,
395 mbstate_t *ps));
396# endif
397_GL_CXXALIASWARN (wcsrtombs);
398#elif defined GNULIB_POSIXCHECK
399# undef wcsrtombs
400# if HAVE_RAW_DECL_WCSRTOMBS
401_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
402 "use gnulib module wcsrtombs for portability");
403# endif
404#endif
405
406
407/* Convert a wide string to a string. */
408#if @GNULIB_WCSNRTOMBS@
409# if @REPLACE_WCSNRTOMBS@
410# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
411# undef wcsnrtombs
412# define wcsnrtombs rpl_wcsnrtombs
413# endif
414_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
415 (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
416 mbstate_t *ps)
417 _GL_ARG_NONNULL ((2)));
418_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
419 (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
420 mbstate_t *ps));
421# else
422# if !@HAVE_WCSNRTOMBS@
423_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
424 (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
425 mbstate_t *ps)
426 _GL_ARG_NONNULL ((2)));
427# endif
428_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
429 (char *dest, const wchar_t **srcp, size_t srclen, size_t len,
430 mbstate_t *ps));
431# endif
432_GL_CXXALIASWARN (wcsnrtombs);
433#elif defined GNULIB_POSIXCHECK
434# undef wcsnrtombs
435# if HAVE_RAW_DECL_WCSNRTOMBS
436_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
437 "use gnulib module wcsnrtombs for portability");
438# endif
439#endif
440
441
442/* Return the number of screen columns needed for WC. */
443#if @GNULIB_WCWIDTH@
444# if @REPLACE_WCWIDTH@
445# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
446# undef wcwidth
447# define wcwidth rpl_wcwidth
448# endif
449_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
450_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
451# else
452# if !@HAVE_DECL_WCWIDTH@
453/* wcwidth exists but is not declared. */
454_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t) _GL_ATTRIBUTE_PURE);
455# endif
456_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
457# endif
458_GL_CXXALIASWARN (wcwidth);
459#elif defined GNULIB_POSIXCHECK
460# undef wcwidth
461# if HAVE_RAW_DECL_WCWIDTH
462_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
463 "use gnulib module wcwidth for portability");
464# endif
465#endif
466
467
468/* Search N wide characters of S for C. */
469#if @GNULIB_WMEMCHR@
470# if !@HAVE_WMEMCHR@
471_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n)
472 _GL_ATTRIBUTE_PURE);
473# endif
474 /* On some systems, this function is defined as an overloaded function:
475 extern "C++" {
476 const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
477 wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
478 } */
479_GL_CXXALIAS_SYS_CAST2 (wmemchr,
480 wchar_t *, (const wchar_t *, wchar_t, size_t),
481 const wchar_t *, (const wchar_t *, wchar_t, size_t));
482# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
483 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
484_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
485_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
486 (const wchar_t *s, wchar_t c, size_t n));
487# else
488_GL_CXXALIASWARN (wmemchr);
489# endif
490#elif defined GNULIB_POSIXCHECK
491# undef wmemchr
492# if HAVE_RAW_DECL_WMEMCHR
493_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
494 "use gnulib module wmemchr for portability");
495# endif
496#endif
497
498
499/* Compare N wide characters of S1 and S2. */
500#if @GNULIB_WMEMCMP@
501# if !@HAVE_WMEMCMP@
502_GL_FUNCDECL_SYS (wmemcmp, int,
503 (const wchar_t *s1, const wchar_t *s2, size_t n)
504 _GL_ATTRIBUTE_PURE);
505# endif
506_GL_CXXALIAS_SYS (wmemcmp, int,
507 (const wchar_t *s1, const wchar_t *s2, size_t n));
508_GL_CXXALIASWARN (wmemcmp);
509#elif defined GNULIB_POSIXCHECK
510# undef wmemcmp
511# if HAVE_RAW_DECL_WMEMCMP
512_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
513 "use gnulib module wmemcmp for portability");
514# endif
515#endif
516
517
518/* Copy N wide characters of SRC to DEST. */
519#if @GNULIB_WMEMCPY@
520# if !@HAVE_WMEMCPY@
521_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
522 (wchar_t *dest, const wchar_t *src, size_t n));
523# endif
524_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
525 (wchar_t *dest, const wchar_t *src, size_t n));
526_GL_CXXALIASWARN (wmemcpy);
527#elif defined GNULIB_POSIXCHECK
528# undef wmemcpy
529# if HAVE_RAW_DECL_WMEMCPY
530_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
531 "use gnulib module wmemcpy for portability");
532# endif
533#endif
534
535
536/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
537 overlapping memory areas. */
538#if @GNULIB_WMEMMOVE@
539# if !@HAVE_WMEMMOVE@
540_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
541 (wchar_t *dest, const wchar_t *src, size_t n));
542# endif
543_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
544 (wchar_t *dest, const wchar_t *src, size_t n));
545_GL_CXXALIASWARN (wmemmove);
546#elif defined GNULIB_POSIXCHECK
547# undef wmemmove
548# if HAVE_RAW_DECL_WMEMMOVE
549_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
550 "use gnulib module wmemmove for portability");
551# endif
552#endif
553
554
555/* Set N wide characters of S to C. */
556#if @GNULIB_WMEMSET@
557# if !@HAVE_WMEMSET@
558_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
559# endif
560_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
561_GL_CXXALIASWARN (wmemset);
562#elif defined GNULIB_POSIXCHECK
563# undef wmemset
564# if HAVE_RAW_DECL_WMEMSET
565_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
566 "use gnulib module wmemset for portability");
567# endif
568#endif
569
570
571/* Return the number of wide characters in S. */
572#if @GNULIB_WCSLEN@
573# if !@HAVE_WCSLEN@
574_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s) _GL_ATTRIBUTE_PURE);
575# endif
576_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
577_GL_CXXALIASWARN (wcslen);
578#elif defined GNULIB_POSIXCHECK
579# undef wcslen
580# if HAVE_RAW_DECL_WCSLEN
581_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
582 "use gnulib module wcslen for portability");
583# endif
584#endif
585
586
587/* Return the number of wide characters in S, but at most MAXLEN. */
588#if @GNULIB_WCSNLEN@
589# if !@HAVE_WCSNLEN@
590_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen)
591 _GL_ATTRIBUTE_PURE);
592# endif
593_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
594_GL_CXXALIASWARN (wcsnlen);
595#elif defined GNULIB_POSIXCHECK
596# undef wcsnlen
597# if HAVE_RAW_DECL_WCSNLEN
598_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
599 "use gnulib module wcsnlen for portability");
600# endif
601#endif
602
603
604/* Copy SRC to DEST. */
605#if @GNULIB_WCSCPY@
606# if !@HAVE_WCSCPY@
607_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
608# endif
609_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
610_GL_CXXALIASWARN (wcscpy);
611#elif defined GNULIB_POSIXCHECK
612# undef wcscpy
613# if HAVE_RAW_DECL_WCSCPY
614_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
615 "use gnulib module wcscpy for portability");
616# endif
617#endif
618
619
620/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */
621#if @GNULIB_WCPCPY@
622# if !@HAVE_WCPCPY@
623_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
624# endif
625_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
626_GL_CXXALIASWARN (wcpcpy);
627#elif defined GNULIB_POSIXCHECK
628# undef wcpcpy
629# if HAVE_RAW_DECL_WCPCPY
630_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
631 "use gnulib module wcpcpy for portability");
632# endif
633#endif
634
635
636/* Copy no more than N wide characters of SRC to DEST. */
637#if @GNULIB_WCSNCPY@
638# if !@HAVE_WCSNCPY@
639_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
640 (wchar_t *dest, const wchar_t *src, size_t n));
641# endif
642_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
643 (wchar_t *dest, const wchar_t *src, size_t n));
644_GL_CXXALIASWARN (wcsncpy);
645#elif defined GNULIB_POSIXCHECK
646# undef wcsncpy
647# if HAVE_RAW_DECL_WCSNCPY
648_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
649 "use gnulib module wcsncpy for portability");
650# endif
651#endif
652
653
654/* Copy no more than N characters of SRC to DEST, returning the address of
655 the last character written into DEST. */
656#if @GNULIB_WCPNCPY@
657# if !@HAVE_WCPNCPY@
658_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
659 (wchar_t *dest, const wchar_t *src, size_t n));
660# endif
661_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
662 (wchar_t *dest, const wchar_t *src, size_t n));
663_GL_CXXALIASWARN (wcpncpy);
664#elif defined GNULIB_POSIXCHECK
665# undef wcpncpy
666# if HAVE_RAW_DECL_WCPNCPY
667_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
668 "use gnulib module wcpncpy for portability");
669# endif
670#endif
671
672
673/* Append SRC onto DEST. */
674#if @GNULIB_WCSCAT@
675# if !@HAVE_WCSCAT@
676_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
677# endif
678_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
679_GL_CXXALIASWARN (wcscat);
680#elif defined GNULIB_POSIXCHECK
681# undef wcscat
682# if HAVE_RAW_DECL_WCSCAT
683_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
684 "use gnulib module wcscat for portability");
685# endif
686#endif
687
688
689/* Append no more than N wide characters of SRC onto DEST. */
690#if @GNULIB_WCSNCAT@
691# if !@HAVE_WCSNCAT@
692_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
693 (wchar_t *dest, const wchar_t *src, size_t n));
694# endif
695_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
696 (wchar_t *dest, const wchar_t *src, size_t n));
697_GL_CXXALIASWARN (wcsncat);
698#elif defined GNULIB_POSIXCHECK
699# undef wcsncat
700# if HAVE_RAW_DECL_WCSNCAT
701_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
702 "use gnulib module wcsncat for portability");
703# endif
704#endif
705
706
707/* Compare S1 and S2. */
708#if @GNULIB_WCSCMP@
709# if !@HAVE_WCSCMP@
710_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)
711 _GL_ATTRIBUTE_PURE);
712# endif
713_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
714_GL_CXXALIASWARN (wcscmp);
715#elif defined GNULIB_POSIXCHECK
716# undef wcscmp
717# if HAVE_RAW_DECL_WCSCMP
718_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
719 "use gnulib module wcscmp for portability");
720# endif
721#endif
722
723
724/* Compare no more than N wide characters of S1 and S2. */
725#if @GNULIB_WCSNCMP@
726# if !@HAVE_WCSNCMP@
727_GL_FUNCDECL_SYS (wcsncmp, int,
728 (const wchar_t *s1, const wchar_t *s2, size_t n)
729 _GL_ATTRIBUTE_PURE);
730# endif
731_GL_CXXALIAS_SYS (wcsncmp, int,
732 (const wchar_t *s1, const wchar_t *s2, size_t n));
733_GL_CXXALIASWARN (wcsncmp);
734#elif defined GNULIB_POSIXCHECK
735# undef wcsncmp
736# if HAVE_RAW_DECL_WCSNCMP
737_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
738 "use gnulib module wcsncmp for portability");
739# endif
740#endif
741
742
743/* Compare S1 and S2, ignoring case. */
744#if @GNULIB_WCSCASECMP@
745# if !@HAVE_WCSCASECMP@
746_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2)
747 _GL_ATTRIBUTE_PURE);
748# endif
749_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
750_GL_CXXALIASWARN (wcscasecmp);
751#elif defined GNULIB_POSIXCHECK
752# undef wcscasecmp
753# if HAVE_RAW_DECL_WCSCASECMP
754_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
755 "use gnulib module wcscasecmp for portability");
756# endif
757#endif
758
759
760/* Compare no more than N chars of S1 and S2, ignoring case. */
761#if @GNULIB_WCSNCASECMP@
762# if !@HAVE_WCSNCASECMP@
763_GL_FUNCDECL_SYS (wcsncasecmp, int,
764 (const wchar_t *s1, const wchar_t *s2, size_t n)
765 _GL_ATTRIBUTE_PURE);
766# endif
767_GL_CXXALIAS_SYS (wcsncasecmp, int,
768 (const wchar_t *s1, const wchar_t *s2, size_t n));
769_GL_CXXALIASWARN (wcsncasecmp);
770#elif defined GNULIB_POSIXCHECK
771# undef wcsncasecmp
772# if HAVE_RAW_DECL_WCSNCASECMP
773_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
774 "use gnulib module wcsncasecmp for portability");
775# endif
776#endif
777
778
779/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
780 category of the current locale. */
781#if @GNULIB_WCSCOLL@
782# if !@HAVE_WCSCOLL@
783_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
784# endif
785_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
786_GL_CXXALIASWARN (wcscoll);
787#elif defined GNULIB_POSIXCHECK
788# undef wcscoll
789# if HAVE_RAW_DECL_WCSCOLL
790_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
791 "use gnulib module wcscoll for portability");
792# endif
793#endif
794
795
796/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
797 to two transformed strings the result is the as applying 'wcscoll' to the
798 original strings. */
799#if @GNULIB_WCSXFRM@
800# if !@HAVE_WCSXFRM@
801_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
802# endif
803_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
804_GL_CXXALIASWARN (wcsxfrm);
805#elif defined GNULIB_POSIXCHECK
806# undef wcsxfrm
807# if HAVE_RAW_DECL_WCSXFRM
808_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
809 "use gnulib module wcsxfrm for portability");
810# endif
811#endif
812
813
814/* Duplicate S, returning an identical malloc'd string. */
815#if @GNULIB_WCSDUP@
816# if !@HAVE_WCSDUP@
817_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
818# endif
819_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
820_GL_CXXALIASWARN (wcsdup);
821#elif defined GNULIB_POSIXCHECK
822# undef wcsdup
823# if HAVE_RAW_DECL_WCSDUP
824_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
825 "use gnulib module wcsdup for portability");
826# endif
827#endif
828
829
830/* Find the first occurrence of WC in WCS. */
831#if @GNULIB_WCSCHR@
832# if !@HAVE_WCSCHR@
833_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
834 _GL_ATTRIBUTE_PURE);
835# endif
836 /* On some systems, this function is defined as an overloaded function:
837 extern "C++" {
838 const wchar_t * std::wcschr (const wchar_t *, wchar_t);
839 wchar_t * std::wcschr (wchar_t *, wchar_t);
840 } */
841_GL_CXXALIAS_SYS_CAST2 (wcschr,
842 wchar_t *, (const wchar_t *, wchar_t),
843 const wchar_t *, (const wchar_t *, wchar_t));
844# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
845 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
846_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
847_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
848# else
849_GL_CXXALIASWARN (wcschr);
850# endif
851#elif defined GNULIB_POSIXCHECK
852# undef wcschr
853# if HAVE_RAW_DECL_WCSCHR
854_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
855 "use gnulib module wcschr for portability");
856# endif
857#endif
858
859
860/* Find the last occurrence of WC in WCS. */
861#if @GNULIB_WCSRCHR@
862# if !@HAVE_WCSRCHR@
863_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc)
864 _GL_ATTRIBUTE_PURE);
865# endif
866 /* On some systems, this function is defined as an overloaded function:
867 extern "C++" {
868 const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
869 wchar_t * std::wcsrchr (wchar_t *, wchar_t);
870 } */
871_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
872 wchar_t *, (const wchar_t *, wchar_t),
873 const wchar_t *, (const wchar_t *, wchar_t));
874# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
875 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
876_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
877_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
878# else
879_GL_CXXALIASWARN (wcsrchr);
880# endif
881#elif defined GNULIB_POSIXCHECK
882# undef wcsrchr
883# if HAVE_RAW_DECL_WCSRCHR
884_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
885 "use gnulib module wcsrchr for portability");
886# endif
887#endif
888
889
890/* Return the length of the initial segmet of WCS which consists entirely
891 of wide characters not in REJECT. */
892#if @GNULIB_WCSCSPN@
893# if !@HAVE_WCSCSPN@
894_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject)
895 _GL_ATTRIBUTE_PURE);
896# endif
897_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
898_GL_CXXALIASWARN (wcscspn);
899#elif defined GNULIB_POSIXCHECK
900# undef wcscspn
901# if HAVE_RAW_DECL_WCSCSPN
902_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
903 "use gnulib module wcscspn for portability");
904# endif
905#endif
906
907
908/* Return the length of the initial segmet of WCS which consists entirely
909 of wide characters in ACCEPT. */
910#if @GNULIB_WCSSPN@
911# if !@HAVE_WCSSPN@
912_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept)
913 _GL_ATTRIBUTE_PURE);
914# endif
915_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
916_GL_CXXALIASWARN (wcsspn);
917#elif defined GNULIB_POSIXCHECK
918# undef wcsspn
919# if HAVE_RAW_DECL_WCSSPN
920_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
921 "use gnulib module wcsspn for portability");
922# endif
923#endif
924
925
926/* Find the first occurrence in WCS of any character in ACCEPT. */
927#if @GNULIB_WCSPBRK@
928# if !@HAVE_WCSPBRK@
929_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
930 (const wchar_t *wcs, const wchar_t *accept)
931 _GL_ATTRIBUTE_PURE);
932# endif
933 /* On some systems, this function is defined as an overloaded function:
934 extern "C++" {
935 const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
936 wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
937 } */
938_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
939 wchar_t *, (const wchar_t *, const wchar_t *),
940 const wchar_t *, (const wchar_t *, const wchar_t *));
941# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
942 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
943_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
944 (wchar_t *wcs, const wchar_t *accept));
945_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
946 (const wchar_t *wcs, const wchar_t *accept));
947# else
948_GL_CXXALIASWARN (wcspbrk);
949# endif
950#elif defined GNULIB_POSIXCHECK
951# undef wcspbrk
952# if HAVE_RAW_DECL_WCSPBRK
953_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
954 "use gnulib module wcspbrk for portability");
955# endif
956#endif
957
958
959/* Find the first occurrence of NEEDLE in HAYSTACK. */
960#if @GNULIB_WCSSTR@
961# if !@HAVE_WCSSTR@
962_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
963 (const wchar_t *haystack, const wchar_t *needle)
964 _GL_ATTRIBUTE_PURE);
965# endif
966 /* On some systems, this function is defined as an overloaded function:
967 extern "C++" {
968 const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
969 wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
970 } */
971_GL_CXXALIAS_SYS_CAST2 (wcsstr,
972 wchar_t *, (const wchar_t *, const wchar_t *),
973 const wchar_t *, (const wchar_t *, const wchar_t *));
974# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
975 && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
976_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
977 (wchar_t *haystack, const wchar_t *needle));
978_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
979 (const wchar_t *haystack, const wchar_t *needle));
980# else
981_GL_CXXALIASWARN (wcsstr);
982# endif
983#elif defined GNULIB_POSIXCHECK
984# undef wcsstr
985# if HAVE_RAW_DECL_WCSSTR
986_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
987 "use gnulib module wcsstr for portability");
988# endif
989#endif
990
991
992/* Divide WCS into tokens separated by characters in DELIM. */
993#if @GNULIB_WCSTOK@
994# if !@HAVE_WCSTOK@
995_GL_FUNCDECL_SYS (wcstok, wchar_t *,
996 (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
997# endif
998_GL_CXXALIAS_SYS (wcstok, wchar_t *,
999 (wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
1000_GL_CXXALIASWARN (wcstok);
1001#elif defined GNULIB_POSIXCHECK
1002# undef wcstok
1003# if HAVE_RAW_DECL_WCSTOK
1004_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
1005 "use gnulib module wcstok for portability");
1006# endif
1007#endif
1008
1009
1010/* Determine number of column positions required for first N wide
1011 characters (or fewer if S ends before this) in S. */
1012#if @GNULIB_WCSWIDTH@
1013# if @REPLACE_WCSWIDTH@
1014# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1015# undef wcswidth
1016# define wcswidth rpl_wcswidth
1017# endif
1018_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n)
1019 _GL_ATTRIBUTE_PURE);
1020_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
1021# else
1022# if !@HAVE_WCSWIDTH@
1023_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n)
1024 _GL_ATTRIBUTE_PURE);
1025# endif
1026_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
1027# endif
1028_GL_CXXALIASWARN (wcswidth);
1029#elif defined GNULIB_POSIXCHECK
1030# undef wcswidth
1031# if HAVE_RAW_DECL_WCSWIDTH
1032_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
1033 "use gnulib module wcswidth for portability");
1034# endif
1035#endif
1036
1037
7a6dbc2f
SDJ
1038/* Convert *TP to a date and time wide string. See
1039 <http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsftime.html>. */
1040#if @GNULIB_WCSFTIME@
1041# if @REPLACE_WCSFTIME@
1042# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1043# undef wcsftime
1044# define wcsftime rpl_wcsftime
1045# endif
1046_GL_FUNCDECL_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
1047 const wchar_t *__fmt, const struct tm *__tp)
1048 _GL_ARG_NONNULL ((1, 3, 4)));
1049_GL_CXXALIAS_RPL (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
1050 const wchar_t *__fmt, const struct tm *__tp));
1051# else
1052# if !@HAVE_WCSFTIME@
1053_GL_FUNCDECL_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
1054 const wchar_t *__fmt, const struct tm *__tp)
1055 _GL_ARG_NONNULL ((1, 3, 4)));
1056# endif
1057_GL_CXXALIAS_SYS (wcsftime, size_t, (wchar_t *__buf, size_t __bufsize,
1058 const wchar_t *__fmt, const struct tm *__tp));
1059# endif
1060_GL_CXXALIASWARN (wcsftime);
1061#elif defined GNULIB_POSIXCHECK
1062# undef wcsftime
1063# if HAVE_RAW_DECL_WCSFTIME
1064_GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - "
1065 "use gnulib module wcsftime for portability");
1066# endif
1067#endif
1068
1069
8690e634
JK
1070#endif /* _@GUARD_PREFIX@_WCHAR_H */
1071#endif /* _@GUARD_PREFIX@_WCHAR_H */
1072#endif
This page took 0.51244 seconds and 4 git commands to generate.