Skip to content

Commit 189cfd8

Browse files
kateinoigakukunMaxDesiatov
authored andcommitted
Add explicit void type parameter to C functions without parameters (#775)
C functions with `()` as parameter list can take any number of parameters. But WebAssembly requires static signature information for every function call, so we need to explicitly specify `(void)` to indicate that the function takes no parameters. (cherry picked from commit 8f34f38)
1 parent cfb5a02 commit 189cfd8

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

Sources/_FoundationCShims/include/platform_shims.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,19 @@
3131
#include <security.h>
3232
#endif
3333

34-
INTERNAL char * _Nullable * _Nullable _platform_shims_get_environ();
34+
INTERNAL char * _Nullable * _Nullable _platform_shims_get_environ(void);
3535

36-
INTERNAL void _platform_shims_lock_environ();
37-
INTERNAL void _platform_shims_unlock_environ();
36+
INTERNAL void _platform_shims_lock_environ(void);
37+
INTERNAL void _platform_shims_unlock_environ(void);
3838

3939
#if __has_include(<mach/vm_page_size.h>)
4040
#include <mach/vm_page_size.h>
41-
INTERNAL vm_size_t _platform_shims_vm_size();
41+
INTERNAL vm_size_t _platform_shims_vm_size(void);
4242
#endif
4343

4444
#if __has_include(<mach/mach.h>)
4545
#include <mach/mach.h>
46-
INTERNAL mach_port_t _platform_mach_task_self();
46+
INTERNAL mach_port_t _platform_mach_task_self(void);
4747
#endif
4848

4949
#if __has_include(<libkern/OSThermalNotification.h>)
@@ -65,7 +65,7 @@ typedef enum {
6565
} _platform_shims_OSThermalPressureLevel;
6666

6767

68-
INTERNAL const char * _Nonnull _platform_shims_kOSThermalNotificationPressureLevelName();
68+
INTERNAL const char * _Nonnull _platform_shims_kOSThermalNotificationPressureLevelName(void);
6969
#endif
7070

7171
#endif /* CSHIMS_PLATFORM_SHIMS */

Sources/_FoundationCShims/platform_shims.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ extern char **environ;
2727

2828
#if __has_include(<libc_private.h>)
2929
#import <libc_private.h>
30-
void _platform_shims_lock_environ() {
30+
void _platform_shims_lock_environ(void) {
3131
environ_lock_np();
3232
}
3333

34-
void _platform_shims_unlock_environ() {
34+
void _platform_shims_unlock_environ(void) {
3535
environ_unlock_np();
3636
}
3737
#else
38-
void _platform_shims_lock_environ() { /* noop */ }
39-
void _platform_shims_unlock_environ() { /* noop */ }
38+
void _platform_shims_lock_environ(void) { /* noop */ }
39+
void _platform_shims_unlock_environ(void) { /* noop */ }
4040
#endif
4141

42-
char ** _platform_shims_get_environ() {
42+
char ** _platform_shims_get_environ(void) {
4343
#if __has_include(<crt_externs.h>)
4444
return *_NSGetEnviron();
4545
#elif defined(_WIN32)
@@ -52,20 +52,20 @@ char ** _platform_shims_get_environ() {
5252
}
5353

5454
#if __has_include(<libkern/OSThermalNotification.h>)
55-
const char * _platform_shims_kOSThermalNotificationPressureLevelName() {
55+
const char * _platform_shims_kOSThermalNotificationPressureLevelName(void) {
5656
return kOSThermalNotificationPressureLevelName;
5757
}
5858
#endif
5959

6060
#if __has_include(<mach/vm_page_size.h>)
61-
vm_size_t _platform_shims_vm_size() {
61+
vm_size_t _platform_shims_vm_size(void) {
6262
// This shim exists because vm_page_size is not marked const, and therefore looks like global mutable state to Swift.
6363
return vm_page_size;
6464
}
6565
#endif
6666

6767
#if __has_include(<mach/mach.h>)
68-
mach_port_t _platform_mach_task_self() {
68+
mach_port_t _platform_mach_task_self(void) {
6969
// This shim exists because mach_task_self_ is not marked const, and therefore looks like global mutable state to Swift.
7070
return mach_task_self();
7171
}

0 commit comments

Comments
 (0)