diff options
| author | jvoisin | 2023-08-20 20:50:31 +0200 |
|---|---|---|
| committer | jvoisin | 2023-08-20 21:09:05 +0200 |
| commit | bfbaa577f6fc46ebb965724e0f261e79e26ec9fb (patch) | |
| tree | 65e422e5f76c71d250dcdb5bd1537ea4c560fae4 /include/wchar.h | |
| parent | d6afda7207b7a8a144923ab5813d8a0816813907 (diff) | |
Make use of __diagnose_as_builtin
Diffstat (limited to 'include/wchar.h')
| -rw-r--r-- | include/wchar.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/wchar.h b/include/wchar.h index f047201..89ae539 100644 --- a/include/wchar.h +++ b/include/wchar.h | |||
| @@ -56,6 +56,7 @@ extern "C" { | |||
| 56 | #undef wmemmove | 56 | #undef wmemmove |
| 57 | #undef wmemset | 57 | #undef wmemset |
| 58 | 58 | ||
| 59 | __diagnose_as_builtin(__builtin_fgetws, 1, 2, 3) | ||
| 59 | _FORTIFY_FN(fgetws) wchar_t *fgetws(wchar_t * _FORTIFY_POS0 __s, | 60 | _FORTIFY_FN(fgetws) wchar_t *fgetws(wchar_t * _FORTIFY_POS0 __s, |
| 60 | int __n, FILE *__f) | 61 | int __n, FILE *__f) |
| 61 | { | 62 | { |
| @@ -69,6 +70,7 @@ _FORTIFY_FN(fgetws) wchar_t *fgetws(wchar_t * _FORTIFY_POS0 __s, | |||
| 69 | #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 70 | #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
| 70 | || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | 71 | || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 71 | #undef mbsnrtowcs | 72 | #undef mbsnrtowcs |
| 73 | __diagnose_as_builtin(__builtin_mbsnrtowcs, 1, 2, 3, 4, 5) | ||
| 72 | _FORTIFY_FN(mbsnrtowcs) size_t mbsnrtowcs(wchar_t * _FORTIFY_POS0 __d, | 74 | _FORTIFY_FN(mbsnrtowcs) size_t mbsnrtowcs(wchar_t * _FORTIFY_POS0 __d, |
| 73 | const char **__s, size_t __n, | 75 | const char **__s, size_t __n, |
| 74 | size_t __wn, mbstate_t *__st) | 76 | size_t __wn, mbstate_t *__st) |
| @@ -90,6 +92,7 @@ _FORTIFY_FN(mbsnrtowcs) size_t mbsnrtowcs(wchar_t * _FORTIFY_POS0 __d, | |||
| 90 | } | 92 | } |
| 91 | #endif | 93 | #endif |
| 92 | 94 | ||
| 95 | __diagnose_as_builtin(__builtin_mbsrtowcs, 1, 2, 3, 4) | ||
| 93 | _FORTIFY_FN(mbsrtowcs) size_t mbsrtowcs(wchar_t * _FORTIFY_POS0 __d, | 96 | _FORTIFY_FN(mbsrtowcs) size_t mbsrtowcs(wchar_t * _FORTIFY_POS0 __d, |
| 94 | const char **__s, size_t __wn, | 97 | const char **__s, size_t __wn, |
| 95 | mbstate_t *__st) | 98 | mbstate_t *__st) |
| @@ -104,6 +107,7 @@ _FORTIFY_FN(mbsrtowcs) size_t mbsrtowcs(wchar_t * _FORTIFY_POS0 __d, | |||
| 104 | return __r; | 107 | return __r; |
| 105 | } | 108 | } |
| 106 | 109 | ||
| 110 | __diagnose_as_builtin(__builtin_mbstowcs, 1, 2, 3) | ||
| 107 | _FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws, | 111 | _FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws, |
| 108 | const char *__s, size_t __wn) | 112 | const char *__s, size_t __wn) |
| 109 | { | 113 | { |
| @@ -116,6 +120,7 @@ _FORTIFY_FN(mbstowcs) size_t mbstowcs(wchar_t * _FORTIFY_POS0 __ws, | |||
| 116 | 120 | ||
| 117 | /* FIXME clang */ | 121 | /* FIXME clang */ |
| 118 | #ifndef __clang__ | 122 | #ifndef __clang__ |
| 123 | __diagnose_as_builtin(__builtin_wcrtomb, 1, 2, 3) | ||
| 119 | _FORTIFY_FN(wcrtomb) size_t wcrtomb(char * __s, wchar_t __w, mbstate_t *__st) | 124 | _FORTIFY_FN(wcrtomb) size_t wcrtomb(char * __s, wchar_t __w, mbstate_t *__st) |
| 120 | { | 125 | { |
| 121 | if (__s && MB_LEN_MAX > __bos(__s, 2)) { | 126 | if (__s && MB_LEN_MAX > __bos(__s, 2)) { |
| @@ -134,6 +139,7 @@ _FORTIFY_FN(wcrtomb) size_t wcrtomb(char * __s, wchar_t __w, mbstate_t *__st) | |||
| 134 | } | 139 | } |
| 135 | #endif | 140 | #endif |
| 136 | 141 | ||
| 142 | __diagnose_as_builtin(__builtin_wcscat, 1, 2) | ||
| 137 | _FORTIFY_FN(wcscat) wchar_t *wcscat(wchar_t * _FORTIFY_POS0 __d, | 143 | _FORTIFY_FN(wcscat) wchar_t *wcscat(wchar_t * _FORTIFY_POS0 __d, |
| 138 | const wchar_t *__s) | 144 | const wchar_t *__s) |
| 139 | { | 145 | { |
| @@ -144,6 +150,7 @@ _FORTIFY_FN(wcscat) wchar_t *wcscat(wchar_t * _FORTIFY_POS0 __d, | |||
| 144 | return __orig_wcscat(__d, __s); | 150 | return __orig_wcscat(__d, __s); |
| 145 | } | 151 | } |
| 146 | 152 | ||
| 153 | __diagnose_as_builtin(__builtin_wcscpy, 1, 2) | ||
| 147 | _FORTIFY_FN(wcscpy) wchar_t *wcscpy(wchar_t * _FORTIFY_POS0 __d, | 154 | _FORTIFY_FN(wcscpy) wchar_t *wcscpy(wchar_t * _FORTIFY_POS0 __d, |
| 148 | const wchar_t *__s) | 155 | const wchar_t *__s) |
| 149 | { | 156 | { |
| @@ -154,6 +161,7 @@ _FORTIFY_FN(wcscpy) wchar_t *wcscpy(wchar_t * _FORTIFY_POS0 __d, | |||
| 154 | return __orig_wcscpy(__d, __s); | 161 | return __orig_wcscpy(__d, __s); |
| 155 | } | 162 | } |
| 156 | 163 | ||
| 164 | __diagnose_as_builtin(__builtin_wcsncat, 1, 2, 3) | ||
| 157 | _FORTIFY_FN(wcsncat) wchar_t *wcsncat(wchar_t * _FORTIFY_POS0 __d, | 165 | _FORTIFY_FN(wcsncat) wchar_t *wcsncat(wchar_t * _FORTIFY_POS0 __d, |
| 158 | const wchar_t *__s, size_t __n) | 166 | const wchar_t *__s, size_t __n) |
| 159 | { | 167 | { |
| @@ -171,6 +179,7 @@ _FORTIFY_FN(wcsncat) wchar_t *wcsncat(wchar_t * _FORTIFY_POS0 __d, | |||
| 171 | return __orig_wcsncat(__d, __s, __n); | 179 | return __orig_wcsncat(__d, __s, __n); |
| 172 | } | 180 | } |
| 173 | 181 | ||
| 182 | __diagnose_as_builtin(__builtin_wcsncpy, 1, 2, 3) | ||
| 174 | _FORTIFY_FN(wcsncpy) wchar_t *wcsncpy(wchar_t * _FORTIFY_POS0 __d, | 183 | _FORTIFY_FN(wcsncpy) wchar_t *wcsncpy(wchar_t * _FORTIFY_POS0 __d, |
| 175 | const wchar_t *__s, size_t __n) | 184 | const wchar_t *__s, size_t __n) |
| 176 | { | 185 | { |
| @@ -184,6 +193,7 @@ _FORTIFY_FN(wcsncpy) wchar_t *wcsncpy(wchar_t * _FORTIFY_POS0 __d, | |||
| 184 | #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ | 193 | #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
| 185 | || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | 194 | || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 186 | #undef wcsnrtombs | 195 | #undef wcsnrtombs |
| 196 | __diagnose_as_builtin(__builtin_wcsntombs, 1, 2, 3, 4, 5) | ||
| 187 | _FORTIFY_FN(wcsnrtombs) size_t wcsnrtombs(char * _FORTIFY_POS0 __d, | 197 | _FORTIFY_FN(wcsnrtombs) size_t wcsnrtombs(char * _FORTIFY_POS0 __d, |
| 188 | const wchar_t **__s, size_t __wn, | 198 | const wchar_t **__s, size_t __wn, |
| 189 | size_t __n, mbstate_t *__st) | 199 | size_t __n, mbstate_t *__st) |
| @@ -205,6 +215,7 @@ _FORTIFY_FN(wcsnrtombs) size_t wcsnrtombs(char * _FORTIFY_POS0 __d, | |||
| 205 | } | 215 | } |
| 206 | #endif | 216 | #endif |
| 207 | 217 | ||
| 218 | __diagnose_as_builtin(__builtin_wcsrtombs, 1, 2, 3, 4) | ||
| 208 | _FORTIFY_FN(wcsrtombs) size_t wcsrtombs(char * _FORTIFY_POS0 __d, | 219 | _FORTIFY_FN(wcsrtombs) size_t wcsrtombs(char * _FORTIFY_POS0 __d, |
| 209 | const wchar_t **__s, size_t __n, | 220 | const wchar_t **__s, size_t __n, |
| 210 | mbstate_t *__st) | 221 | mbstate_t *__st) |
| @@ -219,6 +230,7 @@ _FORTIFY_FN(wcsrtombs) size_t wcsrtombs(char * _FORTIFY_POS0 __d, | |||
| 219 | } | 230 | } |
| 220 | 231 | ||
| 221 | __access(write_only, 2, 3) | 232 | __access(write_only, 2, 3) |
| 233 | __diagnose_as_builtin(__builtin_wcstombs, 1, 2, 3) | ||
| 222 | _FORTIFY_FN(wcstombs) size_t wcstombs(char * _FORTIFY_POS0 __s, | 234 | _FORTIFY_FN(wcstombs) size_t wcstombs(char * _FORTIFY_POS0 __s, |
| 223 | const wchar_t *__ws, size_t __n) | 235 | const wchar_t *__ws, size_t __n) |
| 224 | { | 236 | { |
| @@ -229,6 +241,7 @@ _FORTIFY_FN(wcstombs) size_t wcstombs(char * _FORTIFY_POS0 __s, | |||
| 229 | return __orig_wcstombs(__s, __ws, __n); | 241 | return __orig_wcstombs(__s, __ws, __n); |
| 230 | } | 242 | } |
| 231 | 243 | ||
| 244 | __diagnose_as_builtin(__builtin_wctomb, 1, 2) | ||
| 232 | _FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w) | 245 | _FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w) |
| 233 | { | 246 | { |
| 234 | size_t __b = __bos(__s, 0); | 247 | size_t __b = __bos(__s, 0); |
| @@ -238,6 +251,7 @@ _FORTIFY_FN(wctomb) int wctomb(char * _FORTIFY_POS0 __s, wchar_t __w) | |||
| 238 | return __orig_wctomb(__s, __w); | 251 | return __orig_wctomb(__s, __w); |
| 239 | } | 252 | } |
| 240 | 253 | ||
| 254 | __diagnose_as_builtin(__builtin_wmemcpy, 1, 2, 3) | ||
| 241 | _FORTIFY_FN(wmemcpy) wchar_t *wmemcpy(wchar_t * _FORTIFY_POS0 __d, | 255 | _FORTIFY_FN(wmemcpy) wchar_t *wmemcpy(wchar_t * _FORTIFY_POS0 __d, |
| 242 | const wchar_t *__s, size_t __n) | 256 | const wchar_t *__s, size_t __n) |
| 243 | { | 257 | { |
| @@ -248,6 +262,7 @@ _FORTIFY_FN(wmemcpy) wchar_t *wmemcpy(wchar_t * _FORTIFY_POS0 __d, | |||
| 248 | return __orig_wmemcpy(__d, __s, __n); | 262 | return __orig_wmemcpy(__d, __s, __n); |
| 249 | } | 263 | } |
| 250 | 264 | ||
| 265 | __diagnose_as_builtin(__builtin_wmemmove, 1, 2, 3) | ||
| 251 | _FORTIFY_FN(wmemmove) wchar_t *wmemmove(wchar_t * _FORTIFY_POS0 __d, | 266 | _FORTIFY_FN(wmemmove) wchar_t *wmemmove(wchar_t * _FORTIFY_POS0 __d, |
| 252 | const wchar_t *__s, size_t __n) | 267 | const wchar_t *__s, size_t __n) |
| 253 | { | 268 | { |
| @@ -258,6 +273,7 @@ _FORTIFY_FN(wmemmove) wchar_t *wmemmove(wchar_t * _FORTIFY_POS0 __d, | |||
| 258 | return __orig_wmemmove(__d, __s, __n); | 273 | return __orig_wmemmove(__d, __s, __n); |
| 259 | } | 274 | } |
| 260 | 275 | ||
| 276 | __diagnose_as_builtin(__builtin_wmemset, 1, 2, 3) | ||
| 261 | _FORTIFY_FN(wmemset) wchar_t *wmemset(wchar_t * _FORTIFY_POS0 __s, | 277 | _FORTIFY_FN(wmemset) wchar_t *wmemset(wchar_t * _FORTIFY_POS0 __s, |
| 262 | wchar_t __c, size_t __n) | 278 | wchar_t __c, size_t __n) |
| 263 | { | 279 | { |
