Skip to content

Commit 634be1f

Browse files
committed
[libc++] Make ABI annotations explicit for windows-specific code
1 parent 1b41599 commit 634be1f

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

libcxx/include/__locale_dir/support/windows.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ class __locale_t {
154154
};
155155

156156
#if defined(_LIBCPP_BUILDING_LIBRARY)
157+
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
157158
_LIBCPP_EXPORTED_FROM_ABI __locale_t __newlocale(int __mask, const char* __locale, __locale_t __base);
158159
inline _LIBCPP_HIDE_FROM_ABI void __freelocale(__locale_t __loc) { ::_free_locale(__loc); }
159160
inline _LIBCPP_HIDE_FROM_ABI char* __setlocale(int __category, const char* __locale) {
@@ -163,6 +164,7 @@ inline _LIBCPP_HIDE_FROM_ABI char* __setlocale(int __category, const char* __loc
163164
return __new_locale;
164165
}
165166
_LIBCPP_EXPORTED_FROM_ABI __lconv_t* __localeconv(__locale_t& __loc);
167+
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
166168
#endif // _LIBCPP_BUILDING_LIBRARY
167169

168170
//
@@ -178,8 +180,10 @@ inline _LIBCPP_HIDE_FROM_ABI long double __strtold(const char* __nptr, char** __
178180
return ::_strtold_l(__nptr, __endptr, __loc);
179181
}
180182
#else
183+
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
181184
_LIBCPP_EXPORTED_FROM_ABI float __strtof(const char*, char**, __locale_t);
182185
_LIBCPP_EXPORTED_FROM_ABI long double __strtold(const char*, char**, __locale_t);
186+
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
183187
#endif
184188

185189
inline _LIBCPP_HIDE_FROM_ABI double __strtod(const char* __nptr, char** __endptr, __locale_t __loc) {
@@ -274,6 +278,7 @@ inline _LIBCPP_HIDE_FROM_ABI int __mbtowc(wchar_t* __pwc, const char* __pmb, siz
274278
return ::_mbtowc_l(__pwc, __pmb, __max, __loc);
275279
}
276280

281+
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
277282
_LIBCPP_EXPORTED_FROM_ABI size_t __mbrlen(const char* __restrict, size_t, mbstate_t* __restrict, __locale_t);
278283

279284
_LIBCPP_EXPORTED_FROM_ABI size_t
@@ -285,6 +290,7 @@ _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_ATTRIBUTE_FORMAT(__printf__, 4, 5) int __snpri
285290

286291
_LIBCPP_EXPORTED_FROM_ABI
287292
_LIBCPP_ATTRIBUTE_FORMAT(__printf__, 3, 4) int __asprintf(char** __ret, __locale_t __loc, const char* __format, ...);
293+
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
288294

289295
_LIBCPP_DIAGNOSTIC_PUSH
290296
_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wgcc-compat")

libcxx/include/__thread/support/windows.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#endif
2020

2121
_LIBCPP_BEGIN_NAMESPACE_STD
22+
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
2223

2324
using __libcpp_timespec_t = ::timespec;
2425

@@ -128,6 +129,7 @@ _LIBCPP_EXPORTED_FROM_ABI void* __libcpp_tls_get(__libcpp_tls_key __key);
128129

129130
_LIBCPP_EXPORTED_FROM_ABI int __libcpp_tls_set(__libcpp_tls_key __key, void* __p);
130131

132+
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
131133
_LIBCPP_END_NAMESPACE_STD
132134

133135
#endif // _LIBCPP___THREAD_SUPPORT_WINDOWS_H

libcxx/src/support/win32/thread_win32.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include <fibersapi.h>
1717

1818
_LIBCPP_BEGIN_NAMESPACE_STD
19+
_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
1920

2021
static_assert(sizeof(__libcpp_mutex_t) == sizeof(SRWLOCK), "");
2122
static_assert(alignof(__libcpp_mutex_t) == alignof(SRWLOCK), "");
@@ -211,4 +212,5 @@ int __libcpp_tls_set(__libcpp_tls_key __key, void* __p) {
211212
return 0;
212213
}
213214

215+
_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS
214216
_LIBCPP_END_NAMESPACE_STD

0 commit comments

Comments
 (0)