x86: Move wcschr SSE2 implementation to multiarch/wcschr-sse2.S
[glibc.git] / locale / C-time.c
blob78d87046fb7779a795d4bba9dbc71db58dcb5b30
1 /* Copyright (C) 1995-2022 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
18 #include <stdint.h>
19 #include "localeinfo.h"
21 /* This table's entries are taken from POSIX.2 Table 2-11
22 ``LC_TIME Category Definition in the POSIX Locale'',
23 with additions from ISO 14652, section 4.6. */
25 const struct __locale_data _nl_C_LC_TIME attribute_hidden =
27 _nl_C_name,
28 NULL, 0, 0, /* no file mapped */
29 NULL, /* No cached data. */
30 UNDELETABLE,
32 159,
34 { .string = "Sun" },
35 { .string = "Mon" },
36 { .string = "Tue" },
37 { .string = "Wed" },
38 { .string = "Thu" },
39 { .string = "Fri" },
40 { .string = "Sat" },
41 { .string = "Sunday" },
42 { .string = "Monday" },
43 { .string = "Tuesday" },
44 { .string = "Wednesday" },
45 { .string = "Thursday" },
46 { .string = "Friday" },
47 { .string = "Saturday" },
48 { .string = "Jan" },
49 { .string = "Feb" },
50 { .string = "Mar" },
51 { .string = "Apr" },
52 { .string = "May" },
53 { .string = "Jun" },
54 { .string = "Jul" },
55 { .string = "Aug" },
56 { .string = "Sep" },
57 { .string = "Oct" },
58 { .string = "Nov" },
59 { .string = "Dec" },
60 { .string = "January" },
61 { .string = "February" },
62 { .string = "March" },
63 { .string = "April" },
64 { .string = "May" },
65 { .string = "June" },
66 { .string = "July" },
67 { .string = "August" },
68 { .string = "September" },
69 { .string = "October" },
70 { .string = "November" },
71 { .string = "December" },
72 { .string = "AM" },
73 { .string = "PM" },
74 { .string = "%a %b %e %H:%M:%S %Y" },
75 { .string = "%m/%d/%y" },
76 { .string = "%H:%M:%S" },
77 { .string = "%I:%M:%S %p" },
78 { .string = "" },
79 { .string = "" },
80 { .string = "" },
81 { .string = "" },
82 { .string = "" },
83 { .string = "" },
84 { .word = 0 },
85 { .string = "" },
86 { .wstr = (const uint32_t *) L"Sun" },
87 { .wstr = (const uint32_t *) L"Mon" },
88 { .wstr = (const uint32_t *) L"Tue" },
89 { .wstr = (const uint32_t *) L"Wed" },
90 { .wstr = (const uint32_t *) L"Thu" },
91 { .wstr = (const uint32_t *) L"Fri" },
92 { .wstr = (const uint32_t *) L"Sat" },
93 { .wstr = (const uint32_t *) L"Sunday" },
94 { .wstr = (const uint32_t *) L"Monday" },
95 { .wstr = (const uint32_t *) L"Tuesday" },
96 { .wstr = (const uint32_t *) L"Wednesday" },
97 { .wstr = (const uint32_t *) L"Thursday" },
98 { .wstr = (const uint32_t *) L"Friday" },
99 { .wstr = (const uint32_t *) L"Saturday" },
100 { .wstr = (const uint32_t *) L"Jan" },
101 { .wstr = (const uint32_t *) L"Feb" },
102 { .wstr = (const uint32_t *) L"Mar" },
103 { .wstr = (const uint32_t *) L"Apr" },
104 { .wstr = (const uint32_t *) L"May" },
105 { .wstr = (const uint32_t *) L"Jun" },
106 { .wstr = (const uint32_t *) L"Jul" },
107 { .wstr = (const uint32_t *) L"Aug" },
108 { .wstr = (const uint32_t *) L"Sep" },
109 { .wstr = (const uint32_t *) L"Oct" },
110 { .wstr = (const uint32_t *) L"Nov" },
111 { .wstr = (const uint32_t *) L"Dec" },
112 { .wstr = (const uint32_t *) L"January" },
113 { .wstr = (const uint32_t *) L"February" },
114 { .wstr = (const uint32_t *) L"March" },
115 { .wstr = (const uint32_t *) L"April" },
116 { .wstr = (const uint32_t *) L"May" },
117 { .wstr = (const uint32_t *) L"June" },
118 { .wstr = (const uint32_t *) L"July" },
119 { .wstr = (const uint32_t *) L"August" },
120 { .wstr = (const uint32_t *) L"September" },
121 { .wstr = (const uint32_t *) L"October" },
122 { .wstr = (const uint32_t *) L"November" },
123 { .wstr = (const uint32_t *) L"December" },
124 { .wstr = (const uint32_t *) L"AM" },
125 { .wstr = (const uint32_t *) L"PM" },
126 { .wstr = (const uint32_t *) L"%a %b %e %H:%M:%S %Y" },
127 { .wstr = (const uint32_t *) L"%m/%d/%y" },
128 { .wstr = (const uint32_t *) L"%H:%M:%S" },
129 { .wstr = (const uint32_t *) L"%I:%M:%S %p" },
130 { .wstr = (const uint32_t *) L"" },
131 { .wstr = (const uint32_t *) L"" },
132 { .wstr = (const uint32_t *) L"" },
133 { .wstr = (const uint32_t *) L"" },
134 { .wstr = (const uint32_t *) L"" },
135 { .string = "\7" },
136 { .word = 19971130 },
137 { .string = "\4" },
138 { .string = "\1" },
139 { .string = "\2" },
140 { .string = "\1" },
141 { .string = "" },
142 { .string = "%a %b %e %H:%M:%S %Z %Y" },
143 { .wstr = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y" },
144 { .string = _nl_C_codeset },
145 { .string = "January" },
146 { .string = "February" },
147 { .string = "March" },
148 { .string = "April" },
149 { .string = "May" },
150 { .string = "June" },
151 { .string = "July" },
152 { .string = "August" },
153 { .string = "September" },
154 { .string = "October" },
155 { .string = "November" },
156 { .string = "December" },
157 { .wstr = (const uint32_t *) L"January" },
158 { .wstr = (const uint32_t *) L"February" },
159 { .wstr = (const uint32_t *) L"March" },
160 { .wstr = (const uint32_t *) L"April" },
161 { .wstr = (const uint32_t *) L"May" },
162 { .wstr = (const uint32_t *) L"June" },
163 { .wstr = (const uint32_t *) L"July" },
164 { .wstr = (const uint32_t *) L"August" },
165 { .wstr = (const uint32_t *) L"September" },
166 { .wstr = (const uint32_t *) L"October" },
167 { .wstr = (const uint32_t *) L"November" },
168 { .wstr = (const uint32_t *) L"December" },
169 { .string = "Jan" },
170 { .string = "Feb" },
171 { .string = "Mar" },
172 { .string = "Apr" },
173 { .string = "May" },
174 { .string = "Jun" },
175 { .string = "Jul" },
176 { .string = "Aug" },
177 { .string = "Sep" },
178 { .string = "Oct" },
179 { .string = "Nov" },
180 { .string = "Dec" },
181 { .wstr = (const uint32_t *) L"Jan" },
182 { .wstr = (const uint32_t *) L"Feb" },
183 { .wstr = (const uint32_t *) L"Mar" },
184 { .wstr = (const uint32_t *) L"Apr" },
185 { .wstr = (const uint32_t *) L"May" },
186 { .wstr = (const uint32_t *) L"Jun" },
187 { .wstr = (const uint32_t *) L"Jul" },
188 { .wstr = (const uint32_t *) L"Aug" },
189 { .wstr = (const uint32_t *) L"Sep" },
190 { .wstr = (const uint32_t *) L"Oct" },
191 { .wstr = (const uint32_t *) L"Nov" },
192 { .wstr = (const uint32_t *) L"Dec" }