@@ -30,10 +30,12 @@ using namespace swift;
30
30
static_assert (std::is_same<ssize_t , swift::__swift_ssize_t >::value,
31
31
" __swift_ssize_t must be defined as equivalent to ssize_t" );
32
32
33
+ SWIFT_RUNTIME_STDLIB_INTERFACE
33
34
void swift::_swift_stdlib_free (void *ptr) {
34
35
free (ptr);
35
36
}
36
37
38
+ SWIFT_RUNTIME_STDLIB_INTERFACE
37
39
int swift::_swift_stdlib_putchar_unlocked (int c) {
38
40
#if defined(_MSC_VER)
39
41
return _putc_nolock (c, stdout);
@@ -42,21 +44,25 @@ int swift::_swift_stdlib_putchar_unlocked(int c) {
42
44
#endif
43
45
}
44
46
47
+ SWIFT_RUNTIME_STDLIB_INTERFACE
45
48
__swift_size_t swift::_swift_stdlib_fwrite_stdout (const void *ptr,
46
49
__swift_size_t size,
47
50
__swift_size_t nitems) {
48
51
return fwrite (ptr, size, nitems, stdout);
49
52
}
50
53
54
+ SWIFT_RUNTIME_STDLIB_INTERFACE
51
55
__swift_size_t swift::_swift_stdlib_strlen (const char *s) {
52
56
return strlen (s);
53
57
}
54
58
59
+ SWIFT_RUNTIME_STDLIB_INTERFACE
55
60
int swift::_swift_stdlib_memcmp (const void *s1, const void *s2,
56
61
__swift_size_t n) {
57
62
return memcmp (s1, s2, n);
58
63
}
59
64
65
+ SWIFT_RUNTIME_STDLIB_INTERFACE
60
66
__swift_ssize_t
61
67
swift::_swift_stdlib_read (int fd, void *buf, __swift_size_t nbyte) {
62
68
#if defined(_MSC_VER)
@@ -66,6 +72,7 @@ swift::_swift_stdlib_read(int fd, void *buf, __swift_size_t nbyte) {
66
72
#endif
67
73
}
68
74
75
+ SWIFT_RUNTIME_STDLIB_INTERFACE
69
76
__swift_ssize_t
70
77
swift::_swift_stdlib_write (int fd, const void *buf, __swift_size_t nbyte) {
71
78
#if defined(_MSC_VER)
@@ -75,6 +82,7 @@ swift::_swift_stdlib_write(int fd, const void *buf, __swift_size_t nbyte) {
75
82
#endif
76
83
}
77
84
85
+ SWIFT_RUNTIME_STDLIB_INTERFACE
78
86
int swift::_swift_stdlib_close (int fd) {
79
87
#if defined(_MSC_VER)
80
88
return _close (fd);
@@ -85,21 +93,25 @@ int swift::_swift_stdlib_close(int fd) {
85
93
86
94
#if defined(__APPLE__)
87
95
#include < malloc/malloc.h>
96
+ SWIFT_RUNTIME_STDLIB_INTERFACE
88
97
size_t swift::_swift_stdlib_malloc_size (const void *ptr) {
89
98
return malloc_size (ptr);
90
99
}
91
100
#elif defined(__GNU_LIBRARY__) || defined(__CYGWIN__) || defined(__ANDROID__)
92
101
#include < malloc.h>
102
+ SWIFT_RUNTIME_STDLIB_INTERFACE
93
103
size_t swift::_swift_stdlib_malloc_size (const void *ptr) {
94
104
return malloc_usable_size (const_cast <void *>(ptr));
95
105
}
96
106
#elif defined(_MSC_VER)
97
107
#include < malloc.h>
108
+ SWIFT_RUNTIME_STDLIB_INTERFACE
98
109
size_t swift::_swift_stdlib_malloc_size (const void *ptr) {
99
110
return _msize (const_cast <void *>(ptr));
100
111
}
101
112
#elif defined(__FreeBSD__)
102
113
#include < malloc_np.h>
114
+ SWIFT_RUNTIME_STDLIB_INTERFACE
103
115
size_t swift::_swift_stdlib_malloc_size (const void *ptr) {
104
116
return malloc_usable_size (const_cast <void *>(ptr));
105
117
}
@@ -113,10 +125,12 @@ static std::mt19937 &getGlobalMT19937() {
113
125
return theGlobalMT19937.get ();
114
126
}
115
127
128
+ SWIFT_RUNTIME_STDLIB_INTERFACE
116
129
__swift_uint32_t swift::_swift_stdlib_cxx11_mt19937 () {
117
130
return getGlobalMT19937 ()();
118
131
}
119
132
133
+ SWIFT_RUNTIME_STDLIB_INTERFACE
120
134
__swift_uint32_t
121
135
swift::_swift_stdlib_cxx11_mt19937_uniform (__swift_uint32_t upper_bound) {
122
136
if (upper_bound > 0 )
@@ -125,24 +139,30 @@ swift::_swift_stdlib_cxx11_mt19937_uniform(__swift_uint32_t upper_bound) {
125
139
return RandomUniform (getGlobalMT19937 ());
126
140
}
127
141
142
+ SWIFT_RUNTIME_STDLIB_INTERFACE
128
143
float swift::_swift_stdlib_remainderf (float dividend, float divisor) {
129
144
return std::remainder (dividend, divisor);
130
145
}
131
146
147
+ SWIFT_RUNTIME_STDLIB_INTERFACE
132
148
float swift::_swift_stdlib_squareRootf (float x) { return std::sqrt (x); }
133
149
150
+ SWIFT_RUNTIME_STDLIB_INTERFACE
134
151
double swift::_swift_stdlib_remainder (double dividend, double divisor) {
135
152
return std::remainder (dividend, divisor);
136
153
}
137
154
155
+ SWIFT_RUNTIME_STDLIB_INTERFACE
138
156
double swift::_swift_stdlib_squareRoot (double x) { return std::sqrt (x); }
139
157
140
158
#if (defined __i386__ || defined __x86_64__) && !defined _MSC_VER
159
+ SWIFT_RUNTIME_STDLIB_INTERFACE
141
160
void swift::_swift_stdlib_remainderl (void *_self, const void *_other) {
142
161
*(long double *)_self = std::remainder (*(long double *)_self,
143
162
*(const long double *)_other);
144
163
}
145
164
165
+ SWIFT_RUNTIME_STDLIB_INTERFACE
146
166
void swift::_swift_stdlib_squareRootl (void *_self) {
147
167
*(long double *)_self = std::sqrt (*(long double *)_self);
148
168
}
0 commit comments