Skip to content

Commit c1c664b

Browse files
authored
Merge pull request #5349 from compnerd/visibility
2 parents d4e06b1 + 7f088d3 commit c1c664b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

stdlib/public/stubs/LibcShims.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ using namespace swift;
3030
static_assert(std::is_same<ssize_t, swift::__swift_ssize_t>::value,
3131
"__swift_ssize_t must be defined as equivalent to ssize_t");
3232

33+
SWIFT_RUNTIME_STDLIB_INTERFACE
3334
void swift::_swift_stdlib_free(void *ptr) {
3435
free(ptr);
3536
}
3637

38+
SWIFT_RUNTIME_STDLIB_INTERFACE
3739
int swift::_swift_stdlib_putchar_unlocked(int c) {
3840
#if defined(_MSC_VER)
3941
return _putc_nolock(c, stdout);
@@ -42,21 +44,25 @@ int swift::_swift_stdlib_putchar_unlocked(int c) {
4244
#endif
4345
}
4446

47+
SWIFT_RUNTIME_STDLIB_INTERFACE
4548
__swift_size_t swift::_swift_stdlib_fwrite_stdout(const void *ptr,
4649
__swift_size_t size,
4750
__swift_size_t nitems) {
4851
return fwrite(ptr, size, nitems, stdout);
4952
}
5053

54+
SWIFT_RUNTIME_STDLIB_INTERFACE
5155
__swift_size_t swift::_swift_stdlib_strlen(const char *s) {
5256
return strlen(s);
5357
}
5458

59+
SWIFT_RUNTIME_STDLIB_INTERFACE
5560
int swift::_swift_stdlib_memcmp(const void *s1, const void *s2,
5661
__swift_size_t n) {
5762
return memcmp(s1, s2, n);
5863
}
5964

65+
SWIFT_RUNTIME_STDLIB_INTERFACE
6066
__swift_ssize_t
6167
swift::_swift_stdlib_read(int fd, void *buf, __swift_size_t nbyte) {
6268
#if defined(_MSC_VER)
@@ -66,6 +72,7 @@ swift::_swift_stdlib_read(int fd, void *buf, __swift_size_t nbyte) {
6672
#endif
6773
}
6874

75+
SWIFT_RUNTIME_STDLIB_INTERFACE
6976
__swift_ssize_t
7077
swift::_swift_stdlib_write(int fd, const void *buf, __swift_size_t nbyte) {
7178
#if defined(_MSC_VER)
@@ -75,6 +82,7 @@ swift::_swift_stdlib_write(int fd, const void *buf, __swift_size_t nbyte) {
7582
#endif
7683
}
7784

85+
SWIFT_RUNTIME_STDLIB_INTERFACE
7886
int swift::_swift_stdlib_close(int fd) {
7987
#if defined(_MSC_VER)
8088
return _close(fd);
@@ -85,21 +93,25 @@ int swift::_swift_stdlib_close(int fd) {
8593

8694
#if defined(__APPLE__)
8795
#include <malloc/malloc.h>
96+
SWIFT_RUNTIME_STDLIB_INTERFACE
8897
size_t swift::_swift_stdlib_malloc_size(const void *ptr) {
8998
return malloc_size(ptr);
9099
}
91100
#elif defined(__GNU_LIBRARY__) || defined(__CYGWIN__) || defined(__ANDROID__)
92101
#include <malloc.h>
102+
SWIFT_RUNTIME_STDLIB_INTERFACE
93103
size_t swift::_swift_stdlib_malloc_size(const void *ptr) {
94104
return malloc_usable_size(const_cast<void *>(ptr));
95105
}
96106
#elif defined(_MSC_VER)
97107
#include <malloc.h>
108+
SWIFT_RUNTIME_STDLIB_INTERFACE
98109
size_t swift::_swift_stdlib_malloc_size(const void *ptr) {
99110
return _msize(const_cast<void *>(ptr));
100111
}
101112
#elif defined(__FreeBSD__)
102113
#include <malloc_np.h>
114+
SWIFT_RUNTIME_STDLIB_INTERFACE
103115
size_t swift::_swift_stdlib_malloc_size(const void *ptr) {
104116
return malloc_usable_size(const_cast<void *>(ptr));
105117
}
@@ -113,10 +125,12 @@ static std::mt19937 &getGlobalMT19937() {
113125
return theGlobalMT19937.get();
114126
}
115127

128+
SWIFT_RUNTIME_STDLIB_INTERFACE
116129
__swift_uint32_t swift::_swift_stdlib_cxx11_mt19937() {
117130
return getGlobalMT19937()();
118131
}
119132

133+
SWIFT_RUNTIME_STDLIB_INTERFACE
120134
__swift_uint32_t
121135
swift::_swift_stdlib_cxx11_mt19937_uniform(__swift_uint32_t upper_bound) {
122136
if (upper_bound > 0)
@@ -125,24 +139,30 @@ swift::_swift_stdlib_cxx11_mt19937_uniform(__swift_uint32_t upper_bound) {
125139
return RandomUniform(getGlobalMT19937());
126140
}
127141

142+
SWIFT_RUNTIME_STDLIB_INTERFACE
128143
float swift::_swift_stdlib_remainderf(float dividend, float divisor) {
129144
return std::remainder(dividend, divisor);
130145
}
131146

147+
SWIFT_RUNTIME_STDLIB_INTERFACE
132148
float swift::_swift_stdlib_squareRootf(float x) { return std::sqrt(x); }
133149

150+
SWIFT_RUNTIME_STDLIB_INTERFACE
134151
double swift::_swift_stdlib_remainder(double dividend, double divisor) {
135152
return std::remainder(dividend, divisor);
136153
}
137154

155+
SWIFT_RUNTIME_STDLIB_INTERFACE
138156
double swift::_swift_stdlib_squareRoot(double x) { return std::sqrt(x); }
139157

140158
#if (defined __i386__ || defined __x86_64__) && !defined _MSC_VER
159+
SWIFT_RUNTIME_STDLIB_INTERFACE
141160
void swift::_swift_stdlib_remainderl(void *_self, const void *_other) {
142161
*(long double *)_self = std::remainder(*(long double *)_self,
143162
*(const long double *)_other);
144163
}
145164

165+
SWIFT_RUNTIME_STDLIB_INTERFACE
146166
void swift::_swift_stdlib_squareRootl(void *_self) {
147167
*(long double *)_self = std::sqrt(*(long double *)_self);
148168
}

0 commit comments

Comments
 (0)