Skip to content

Commit e3171d8

Browse files
authored
Merge pull request #3136 from compnerd/windows-size-type
shims: correct __swift_size_t for Windows
2 parents a5754d9 + 924e8cd commit e3171d8

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

stdlib/public/SwiftShims/LibcShims.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,17 @@ namespace swift { extern "C" {
3030
// This declaration is not universally correct. We verify its correctness for
3131
// the current platform in the runtime code.
3232
#if defined(__linux__) && defined (__arm__) && !defined(__android__)
33-
typedef int __swift_ssize_t;
33+
typedef int __swift_ssize_t;
3434
#elif defined(_MSC_VER)
35-
typedef long long __swift_ssize_t;
35+
#if defined(_M_ARM) || defined(_M_IX86)
36+
typedef int __swift_size_t;
37+
#elif defined(_M_X64)
38+
typedef long long int __swift_size_t;
3639
#else
37-
typedef long int __swift_ssize_t;
40+
#error unsupported machine type
41+
#endif
42+
#else
43+
typedef long int __swift_ssize_t;
3844
#endif
3945

4046
// General utilities <stdlib.h>

0 commit comments

Comments
 (0)