florian
d55b2c2a35
+ extend assembler optimization MovxMov2Mov to MovxOp2Op
2021-10-15 23:12:59 +02:00
Nikolay Nikolov
21d843128d
+ added a wrapper function around __wasi_path_readlink that calls it iteratively
...
with doubling buffer sizes, starting with 64 bytes, until it reaches 16384
bytes, and reads the link into a rawbytestring. Use that function in all
places in the WASI rtl that need to read a symlink.
2021-10-15 14:33:43 +03:00
Nikolay Nikolov
0da5d57c1e
* replaced the 'if br end_if' sequence with the 'br_if' instruction, when
...
generating WebAssembly code for try..finally blocks (in all exception modes)
2021-10-14 14:19:13 +03:00
Nikolay Nikolov
dcae87bd52
+ support cdecl and stdcall on the WebAssembly target. They are essentially the
...
same, the only difference is that cdecl creates an unmangled alias
2021-10-14 12:29:59 +03:00
Nikolay Nikolov
b91fc3a0d3
* fixed passing of singleton record parameters, containing a float in WebAssembly
2021-10-14 10:53:55 +03:00
Nikolay Nikolov
df92d88f39
+ added support for the handling of singleton record and array types in
...
defToWasmBasic
2021-10-14 10:53:55 +03:00
Nikolay Nikolov
3511b80972
* fixed formatting in defToWasmBasic
2021-10-14 10:53:55 +03:00
Nikolay Nikolov
ee387f7c66
* C ABI fixes for the passing of records in WebAssembly
2021-10-14 10:53:55 +03:00
Nikolay Nikolov
236e10d03a
+ pass 64-bit structures by address in WebAssembly for compatibility with LLVM's C ABI
2021-10-14 10:53:55 +03:00
florian
321764bdd9
* fix warnings with -dDEBUG_NODE_XML, resolves #38222
2021-10-13 23:08:32 +02:00
florian
6cb24a3929
* itcpugas unit for Z80 providing gas_regname to fix compilation with -dDEBUG_NODE_XML
2021-10-13 23:08:32 +02:00
Nikolay Nikolov
34587a647f
+ init the ansistring upper and lower case tables in the WASI SysUtils unit initialization
2021-10-13 06:39:42 +03:00
Nikolay Nikolov
44f862fb4e
+ added test for SysUtils.GetLocalTime
2021-10-13 03:49:54 +03:00
Nikolay Nikolov
f21273612a
+ also fill DayOfWeek in the Unix implementation of SysUtils.GetLocalTime
2021-10-13 02:39:04 +03:00
Nikolay Nikolov
f20de5d583
* fixed padding in the filerec to match textrec even on platforms where
...
sizeof(pointer)<>sizeof(codepointer), like in the medium and compact i8086
memory models
2021-10-13 02:02:50 +03:00
Nikolay Nikolov
0934df505c
+ implemented SysUtils.GetLocalTime for WASI
2021-10-13 01:29:04 +03:00
florian
00d4a6889d
* add no internal flag when folding constants in taddnode.simplify, resolves #39308
2021-10-12 22:59:45 +02:00
Nikolay Nikolov
099a927331
* fix for the WASI datetime to epoch conversion
2021-10-12 11:27:27 +03:00
Nikolay Nikolov
a55980bfb8
+ implemented dos.SetFTime for WASI
2021-10-12 11:06:16 +03:00
Nikolay Nikolov
c4d7773c0e
+ added platform-specific helper function dos.DTToWasiDate, similar to
...
DTToUnixDate on Unix
2021-10-12 10:33:28 +03:00
Nikolay Nikolov
ca242e9ad0
+ implemented DOS.GetFAttr for WASI
2021-10-12 09:14:14 +03:00
Nikolay Nikolov
4e605fb764
+ dummy implementation of dos.SetFAttr for WASI, based on the Unix version
2021-10-12 07:08:32 +03:00
Nikolay Nikolov
00aa7b8ab3
+ implemented SysUtils.FileGetAttr for WASI
2021-10-12 05:50:24 +03:00
Nikolay Nikolov
7f7c5785fc
* always return an error in SysUtils.FileSetAttr on WASI - this function is not supported by the WASI API
2021-10-12 05:38:16 +03:00
Nikolay Nikolov
809277d2b1
+ implemented SysUtils.FileGetSymLinkTarget for WASI
2021-10-12 05:32:53 +03:00
Nikolay Nikolov
1e5ecccdc6
+ implemented SysUtils.DirectoryExists for WASI
2021-10-12 03:50:23 +03:00
Nikolay Nikolov
aafb471bc8
* don't set InOutRes in ConvertToFdRelativePath, but return it instead. This
...
fixes issues in places where this function is used in a way that should not
set IOResult.
2021-10-12 03:28:03 +03:00
Nikolay Nikolov
4dc0c37678
+ implemented SysUtils.FileExists for WASI
2021-10-12 03:28:03 +03:00
Nikolay Nikolov
fe903f2ae4
* fixed range check error in HasDriveLetter when path is 1 character long
2021-10-12 03:28:03 +03:00
Nikolay Nikolov
00d5bb5bbc
* fixed off-by-one error when initializing current_drive in the WASI system unit
2021-10-12 03:28:03 +03:00
florian
ca9384fd6c
* patch by Dean Mustakino to avoid generation of debug info for generics, resolves #38827
...
+ test
2021-10-11 18:45:41 +02:00
Nikolay Nikolov
068f781c7a
+ also implemented FileSetDate(FileName) for WASI, via the __wasi_path_filestat_set_times API call
2021-10-11 17:51:13 +03:00
Nikolay Nikolov
94d8c22c6a
+ implemented SysUtils.FileSetDate for WASI
2021-10-11 15:51:13 +03:00
Nikolay Nikolov
38075ac30c
+ implemented SysUtils.FileAge for WASI
2021-10-11 15:26:55 +03:00
Nikolay Nikolov
8f95c14827
+ implemented SysUtils.FileGetDate for WASI
2021-10-11 15:08:48 +03:00
Nikolay Nikolov
2a93340bcc
+ implemented SysUtils.DeleteFile for WASI
2021-10-11 11:27:57 +03:00
Nikolay Nikolov
c8d5bd77a3
- don't call ToSingleByteFileSystemEncodedFileName in SysUtils.FileOpen and
...
.FileCreate, because ConvertToFdRelativePath already calls it
2021-10-11 11:21:33 +03:00
Nikolay Nikolov
05c6937fd9
+ implemented SysUtils.RenameFile for WASI
2021-10-11 11:14:05 +03:00
Nikolay Nikolov
4c89eaa6cf
+ implemented SysUtils.FileSeek for WASI
2021-10-11 10:50:44 +03:00
Nikolay Nikolov
14f361e13f
+ implemented SysUtils.FileWrite for WASI
2021-10-11 10:37:11 +03:00
Nikolay Nikolov
09e61201d2
* fixed WASI bug in do_read, where the result of the __wasi_fd_read syscall function was ignored
2021-10-11 10:33:54 +03:00
Nikolay Nikolov
977b2f2a4b
+ implemented SysUtils.FileRead for WASI
2021-10-11 10:32:50 +03:00
Nikolay Nikolov
305393a9c1
- removed the zero constants from the implementation of SysUtils.FileOpen for WASI
2021-10-11 10:26:06 +03:00
Nikolay Nikolov
0bbc5a7528
+ implemented SysUtils.FileCreate for WASI
2021-10-11 10:24:36 +03:00
Nikolay Nikolov
62846f54ad
+ implemented SysUtils.FileOpen for WASI
2021-10-11 10:11:07 +03:00
Nikolay Nikolov
aa4070ca8a
+ implemented SysUtils.FileClose for WASI
2021-10-11 09:52:09 +03:00
Nikolay Nikolov
27df4e98d2
* use rawbytestring instead of ansistring for the WASI file name handling
2021-10-11 09:25:01 +03:00
Nikolay Nikolov
a0e7882692
* use AllowDirectorySeparators, instead of checking for '/' and '\'
2021-10-11 09:04:32 +03:00
Nikolay Nikolov
60d350f067
* another instance of ['/','\'] replaced with AllowDirectorySeparators
2021-10-11 08:56:16 +03:00
Nikolay Nikolov
d7755a56f6
* replaced '/' with DirectorySeparator in the WASI directory parsing code
2021-10-11 08:51:39 +03:00