Skip to content

Commit 228f025

Browse files
committed
[wasm64] Use int over long for time_t, etc. NFC
This doesn't change the size of the type for wasm32 but helps with wasm64 since it makes these types consistent between the two. Split out from #16922
1 parent 3f9d6b9 commit 228f025

File tree

5 files changed

+16
-16
lines changed

5 files changed

+16
-16
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ jobs:
381381
executor: bionic
382382
steps:
383383
- run-tests-linux:
384-
test_targets: "wasm64.test_hello_world wasm64.test_ccall wasm64l.test_hello_world wasm64l.test_mmap wasm64l.test_unistd_* skip:wasm64l.test_unistd_sysconf wasm64l.test_mmap_file wasm64l.test_ccall wasm64l.test_signals wasm64l.test_emscripten_get_compiler_setting wasm64l.test_float_builtins wasm64l.test_getopt wasm64l.test_em_asm* wasm64l.test_minimal_runtime_utf8_invalid"
384+
test_targets: "wasm64.test_hello_world wasm64.test_ccall wasm64l.test_hello_world wasm64l.test_mmap wasm64l.test_unistd_* skip:wasm64l.test_unistd_sysconf wasm64l.test_mmap_file wasm64l.test_ccall wasm64l.test_signals wasm64l.test_emscripten_get_compiler_setting wasm64l.test_float_builtins wasm64l.test_getopt wasm64l.test_em_asm* wasm64l.test_minimal_runtime_utf8_invalid wasm64l.test_strftime wasm64l.test_utime"
385385
test-other:
386386
executor: bionic
387387
steps:

src/library.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ mergeInto(LibraryManager.library, {
445445
return (date.getTime() / 1000)|0;
446446
},
447447

448-
_gmtime_js__sig: 'iii',
448+
_gmtime_js__sig: 'ipp',
449449
_gmtime_js: function(time, tmPtr) {
450450
var date = new Date({{{ makeGetValue('time', 0, 'i32') }}}*1000);
451451
{{{ makeSetValue('tmPtr', C_STRUCTS.tm.tm_sec, 'date.getUTCSeconds()', 'i32') }}};
@@ -460,7 +460,7 @@ mergeInto(LibraryManager.library, {
460460
{{{ makeSetValue('tmPtr', C_STRUCTS.tm.tm_yday, 'yday', 'i32') }}};
461461
},
462462

463-
_timegm_js__sig: 'ii',
463+
_timegm_js__sig: 'ip',
464464
_timegm_js: function(tmPtr) {
465465
var time = Date.UTC({{{ makeGetValue('tmPtr', C_STRUCTS.tm.tm_year, 'i32') }}} + 1900,
466466
{{{ makeGetValue('tmPtr', C_STRUCTS.tm.tm_mon, 'i32') }}},
@@ -479,7 +479,7 @@ mergeInto(LibraryManager.library, {
479479
return (date.getTime() / 1000)|0;
480480
},
481481

482-
_localtime_js__sig: 'iii',
482+
_localtime_js__sig: 'ipp',
483483
_localtime_js: function(time, tmPtr) {
484484
var date = new Date({{{ makeGetValue('time', 0, 'i32') }}}*1000);
485485
{{{ makeSetValue('tmPtr', C_STRUCTS.tm.tm_sec, 'date.getSeconds()', 'i32') }}};
@@ -543,7 +543,7 @@ mergeInto(LibraryManager.library, {
543543
// TODO: Initialize these to defaults on startup from system settings.
544544
// Note: glibc has one fewer underscore for all of these. Also used in other related functions (timegm)
545545
_tzset_js__deps: ['tzset_impl'],
546-
_tzset_js__sig: 'viii',
546+
_tzset_js__sig: 'vppp',
547547
_tzset_js: function(timezone, daylight, tzname) {
548548
// TODO: Use (malleable) environment variables instead of system settings.
549549
if (__tzset_js.called) return;
@@ -654,7 +654,7 @@ mergeInto(LibraryManager.library, {
654654
, '$intArrayFromString', '$writeArrayToMemory'
655655
#endif
656656
],
657-
strftime__sig: 'iiiii',
657+
strftime__sig: 'ppppp',
658658
strftime: function(s, maxsize, format, tm) {
659659
// size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
660660
// http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html

system/lib/libc/musl/arch/emscripten/bits/alltypes.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ typedef __WCHAR_TYPE__ wchar_t;
4141

4242
#else
4343
#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t)
44-
typedef long wchar_t;
44+
typedef int wchar_t;
4545
#define __DEFINED_wchar_t
4646
#endif
4747

@@ -78,12 +78,12 @@ typedef long double double_t;
7878
#endif
7979

8080
#if defined(__NEED_time_t) && !defined(__DEFINED_time_t)
81-
typedef long time_t;
81+
typedef int time_t;
8282
#define __DEFINED_time_t
8383
#endif
8484

8585
#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t)
86-
typedef long suseconds_t;
86+
typedef int suseconds_t;
8787
#define __DEFINED_suseconds_t
8888
#endif
8989

@@ -253,7 +253,7 @@ typedef unsigned int dev_t;
253253
#endif
254254

255255
#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t)
256-
typedef long blksize_t;
256+
typedef int blksize_t;
257257
#define __DEFINED_blksize_t
258258
#endif
259259

@@ -278,7 +278,7 @@ typedef unsigned wint_t;
278278
#endif
279279

280280
#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t)
281-
typedef unsigned long wctype_t;
281+
typedef unsigned int wctype_t;
282282
#define __DEFINED_wctype_t
283283
#endif
284284

system/lib/libc/musl/src/time/clock.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ clock_t clock()
88
if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts))
99
return -1;
1010

11-
if (ts.tv_sec > LONG_MAX/1000000
12-
|| ts.tv_nsec/1000 > LONG_MAX-1000000*ts.tv_sec)
11+
if (ts.tv_sec > INT_MAX/1000000
12+
|| ts.tv_nsec/1000 > INT_MAX-1000000*ts.tv_sec)
1313
return -1;
1414

1515
return ts.tv_sec*1000000 + ts.tv_nsec/1000;

tests/utime/test_utime.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ void test() {
4444
assert(s.st_mtime == t.modtime);
4545

4646
// NULL sets atime and mtime to current time.
47-
long now = time(NULL);
47+
time_t now = time(NULL);
4848
rv = utime("writeable", NULL);
4949
assert(rv == 0);
5050
memset(&s, 0, sizeof s);
5151
stat("writeable", &s);
5252
assert(s.st_atime == s.st_mtime);
53-
long diff = s.st_atime - now;
53+
time_t diff = s.st_atime - now;
5454
if (abs(diff) > 5) {
55-
fprintf(stderr, "st_atime: %li, now: %li, diff: %li\n ", s.st_atime, now, diff);
55+
fprintf(stderr, "st_atime: %i, now: %i, diff: %i\n ", s.st_atime, now, diff);
5656
assert(abs(diff) <= 5);
5757
}
5858

0 commit comments

Comments
 (0)