1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #ifndef _@GUARD_PREFIX@_MONETARY_H
18
19 #if __GNUC__ >= 3
20 @PRAGMA_SYSTEM_HEADER@
21 #endif
22 @PRAGMA_COLUMNS@
23
24
25 #if @HAVE_MONETARY_H@
26 # @INCLUDE_NEXT@ @NEXT_MONETARY_H@
27 #endif
28
29 #ifndef _@GUARD_PREFIX@_MONETARY_H
30 #define _@GUARD_PREFIX@_MONETARY_H
31
32 #if @GNULIB_STRFMON_L@
33 # if @HAVE_XLOCALE_H@
34
35 # include <xlocale.h>
36 # endif
37
38 # include <locale.h>
39 #endif
40
41
42 #ifndef _GL_ATTRIBUTE_FORMAT
43 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || defined __clang__
44 # define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
45 # else
46 # define _GL_ATTRIBUTE_FORMAT(spec)
47 # endif
48 #endif
49
50
51
52
53
54 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
55 # define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument) \
56 _GL_ATTRIBUTE_FORMAT ((__gnu_strfmon__, formatstring_parameter, first_argument))
57 #elif __GNUC__ >= 3
58 # define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument) \
59 _GL_ATTRIBUTE_FORMAT ((__strfmon__, formatstring_parameter, first_argument))
60 #else
61 # define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument)
62 #endif
63
64
65
66
67
68
69
70
71 #ifdef __cplusplus
72 extern "C" {
73 #endif
74
75
76 #if @GNULIB_STRFMON_L@
77
78
79
80 # if @REPLACE_STRFMON_L@
81 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
82 # define strfmon_l rpl_strfmon_l
83 # endif
84 _GL_FUNCDECL_RPL (strfmon_l, ssize_t,
85 (char *restrict s, size_t maxsize, locale_t locale,
86 const char *restrict format, ...)
87 _GL_ATTRIBUTE_FORMAT_STRFMON (4, 5)
88 _GL_ARG_NONNULL ((4)));
89 _GL_CXXALIAS_RPL (strfmon_l, ssize_t,
90 (char *restrict s, size_t maxsize, locale_t locale,
91 const char *restrict format, ...));
92 # else
93 # if @HAVE_STRFMON_L@
94 _GL_CXXALIAS_SYS (strfmon_l, ssize_t,
95 (char *restrict s, size_t maxsize, locale_t locale,
96 const char *restrict format, ...));
97 # endif
98 # endif
99 # if __GLIBC__ >= 2
100 _GL_CXXALIASWARN (strfmon_l);
101 # endif
102 #elif defined GNULIB_POSIXCHECK
103 # undef strfmon_l
104 # if HAVE_RAW_DECL_STRFMON_L
105 _GL_WARN_ON_USE (strfmon_l, "strfmon_l is buggy on older glibc systems - "
106 "use gnulib module chown for portability");
107 # endif
108 #endif
109
110
111 #ifdef __cplusplus
112 }
113 #endif
114
115 #endif
116 #endif