Repository navigation
fix(libc): return native fopen errors - #4822
Conversation
|
Additional validation: MinGW-w64 GCC 12 |
|
Windows runtime validation of exact head For a Windows failing-main control, I kept your regression fixture unchanged and rebuilt only Full Windows build and patched system libraries of the same unchanged head now pass, along with conventions and test registration. Full NVIDIA suite: 1011 passed / 0 failed / 8 skipped of 1019, maximum observed test 22.808s ( |
|
Please add a
|
77ede91 to
d1a8c32
Compare
|
Addressed the review points: |
d1a8c32 to
ed7dfe1
Compare
|
Rebased again onto current |
ed7dfe1 to
a475226
Compare
What
fopen_nid_postfixnow returnsnullptrand preserves the nativeerrnowhenever the host cannot open the requested stream. Previously, failures other thanENOENTor exclusive-createEEXISTcould turn into an uncaught exception after an extension lookup. This makes the Windows access-denied result for opening an existing directory followfopen's failure contract.Adds a regression that opens a directory in a mode that fails on each host (
rbon Windows,wbon POSIX) and checks that the native error is retained. This does not claim that Windows directory streams behave like FreeBSD directory streams; the limitation is recorded indocs/dev/debt/libc.md.Tested
BUILD_TESTING=ON:file_streams,guest_fiopen,guest_standard_streams,guest_directory, andguest_filesystempass (5/5).tools/check_conventions.py --base upstream/mainandgit diff --check upstream/main...HEADpass.rbdirectory case is included for hosted Windows CI.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)