Jeroen van Rijn
8ad4427a25
Add a few more reflect.bit_field_* helpers.
2024-08-30 22:40:14 +02:00
Jeroen van Rijn
db3bcd2cea
Add reflect.bit_fields_zipped
2024-08-30 22:04:10 +02:00
Jeroen van Rijn
3072a02d5d
Attempt to account for BuildTools installer's lack of \
2024-08-30 18:54:51 +02:00
gingerBill
773703bc83
Merge pull request #4009 from thetarnav/file-tag-parser
...
Add a file tag parser to core:odin/parser
2024-08-30 11:58:18 +01:00
gingerBill
a4e865f90b
Fix #4166
2024-08-30 11:01:06 +01:00
gingerBill
9197a126fc
Use XOR directly rather than (~x) & mask
2024-08-30 10:52:11 +01:00
gingerBill
38ea276231
Make ~some_bit_set work on only the possible bits by doing a mask with the full set
2024-08-30 10:48:21 +01:00
gingerBill
b020b91df2
Merge pull request #4112 from Feoramund/fix-test-io-issues
...
Add `core:io` test suite
2024-08-30 09:57:02 +01:00
gingerBill
291048cb3b
Merge pull request #4165 from avanspector/master
...
Add missing lexer checking delay for foreign blocks
2024-08-30 09:56:36 +01:00
avanspector
3135c89a0a
Merge branch 'master' of https://github.com/avanspector/Odin
2024-08-30 01:32:21 +02:00
avanspector
47f423c123
Set a flag for delayed checking
2024-08-30 01:32:06 +02:00
avanspector
a7a2611efc
Merge branch 'odin-lang:master' into master
2024-08-29 23:44:14 +02:00
avanspector
9866c83d61
Add missing checker delaying
2024-08-29 23:43:01 +02:00
Damian Tarnawski
655610ec87
Satisfy vet
2024-08-29 23:06:50 +02:00
Damian Tarnawski
a28d574272
Add and test match_build_tags
2024-08-29 23:02:49 +02:00
Damian Tarnawski
f93779d425
Parse build_project_name as [][]string
2024-08-29 22:08:01 +02:00
Damian Tarnawski
a10f988020
Move some types to runtime, use reflection instead of lut
2024-08-29 21:12:33 +02:00
Damian Tarnawski
39bdf4d710
Add missing require_results attr
2024-08-29 20:52:27 +02:00
Damian Tarnawski
7862460374
Remove useless code
2024-08-29 20:52:27 +02:00
Damian Tarnawski
92821300e4
Add a file tag parser to core:odin/parser
2024-08-29 20:52:27 +02:00
Laytan
94a1a7aed5
Merge pull request #4164 from laytan/virtual-growing-min-block-size-fix
...
mem/virtual: make sure the given size is used for subsequent blocks
2024-08-29 18:27:54 +02:00
Laytan Laats
5a22d49b72
mem/virtual: make sure the given size is used for subsequent blocks
2024-08-29 14:48:36 +02:00
Laytan
942017b958
Merge pull request #4163 from laytan/sysconf-pagesize
...
mem/virtual: use `sysconf` for retrieving page size and actually use these init procs
2024-08-29 14:44:54 +02:00
Laytan Laats
fd2ad20cd4
mem/virtual: use sysconf for retrieving page size and actually use these init procs
2024-08-29 14:36:32 +02:00
Laytan Laats
cca385209b
Remove double close
2024-08-28 19:53:20 +02:00
Laytan Laats
fe2d256468
Properly close the temporary files in io tests
2024-08-28 19:53:20 +02:00
Laytan Laats
0f2ad95014
Fix EOF detection is os2 window read
2024-08-28 19:53:20 +02:00
Feoramund
7fa2e56cd9
Add io tests for bufio streams
2024-08-28 19:53:20 +02:00
Feoramund
24a53c246f
Make sure seek succeeds in io.Limited_Reader test setup
2024-08-28 19:53:20 +02:00
Feoramund
b11fa90ed2
Test empty slice usage in io procs
2024-08-28 19:53:20 +02:00
Feoramund
f453054aff
Return 0, nil in all io cases where an empty slice is provided
2024-08-28 19:53:20 +02:00
Feoramund
ef99373c31
Fix pread and pwrite on os2 Windows
...
The previous code was jumping ahead by the specified offset, instead of
getting the current offset.
2024-08-28 19:53:20 +02:00
Feoramund
1cd5cbb0e4
Test io unexpected pointer movement
2024-08-28 19:53:20 +02:00
Feoramund
56f232e5fc
Report invalid whence & offset on os2 Windows
2024-08-28 19:53:20 +02:00
Feoramund
de1432b315
Fix Windows infinite recursion with os2._flush
2024-08-28 19:53:20 +02:00
Feoramund
e7d6e2d163
Add documentation to os2.close
...
Make it explicit that using a stream after closing is like a
use-after-free bug.
2024-08-28 19:53:20 +02:00
Feoramund
8b40be50b9
Update core:io tests
...
- Relax return value requirements on errors. Only the error is checked,
as there are multiple conflicting return styles throughout the `os`
API.
Some return the error along with `0`, `-1`, or another value. This can
be smoothed out later.
- Test `os2` files now.
- No longer test streams after closing; this is considered similar to a
use-after-free in `os2`.
2024-08-28 19:53:20 +02:00
Feoramund
6798d15ecb
Check int(abs) instead to avoid overflows
2024-08-28 19:53:20 +02:00
Feoramund
6aedb2695a
Report Invalid_Whence on some os platforms
...
- Move `Seek`-related checks into OS-specific files for granularity.
Platforms:
- Darwin
- FreeBSD
- Haiku
- Linux
- NetBSD
- OpenBSD
2024-08-28 19:53:20 +02:00
Feoramund
0243647e15
Add missing flush functionality to os platforms
...
Platforms:
- FreeBSD
- Haiku
- Linux
- NetBSD
- OpenBSD
2024-08-28 19:53:20 +02:00
Feoramund
3ec4db212b
Report Invalid_Whence in os2 Linux seek
2024-08-28 19:53:20 +02:00
Feoramund
7683c1f4bb
Report Invalid_Whence in os2 POSIX seek
2024-08-28 19:53:20 +02:00
Feoramund
ef2cd9d97f
Copy missing errors in os2._get_platform_error from posix to linux
2024-08-28 19:53:20 +02:00
Feoramund
5b9e9fb822
Add test suite for core:io
2024-08-28 19:53:20 +02:00
Feoramund
741ccd7ff5
Zero n on error in _file_stream_proc
2024-08-28 19:53:20 +02:00
Feoramund
eb92a2df71
Fix indentation
2024-08-28 19:53:20 +02:00
Feoramund
d60f404bb4
Fix OpenBSD implementations of read_at and write_at
2024-08-28 19:53:20 +02:00
Feoramund
6c4806835c
Fix indentation
2024-08-28 19:53:20 +02:00
Feoramund
e1555e04ad
Fix Haiku implementations of read_at and write_at
2024-08-28 19:53:20 +02:00
Feoramund
7061032db6
Fix NetBSD implementations of read_at and write_at
...
These procedures must not modify the underlying file pointer.
2024-08-28 19:53:20 +02:00