ned14 / llfio

P1031 low level file i/o and filesystem library for the C++ standard
https://ned14.github.io/llfio/
Other
881 stars 45 forks source link

Fix unconditional vendored status code include #93

Closed BurningEnlightenment closed 2 years ago

BurningEnlightenment commented 2 years ago

Integrate upstream changes from ned14/outcome#258 to allow using a system wide status-code installation.

BurningEnlightenment commented 2 years ago

@ned14 the status-code tests cannot compile until ned14/kerneltest#3 is merged.

BurningEnlightenment commented 2 years ago

Compiling kerneltest on VS2022 (but not on VS2019) seems to be broken regardless:

D:\a\llfio\llfio\prebuilt\install\include\kerneltest\v1.0\hooks/filesystem_workspace.hpp(320,46): error C2039: 'c_str': is not a member of 'std::filesystem::path' [D:\a\llfio\llfio\prebuilt\llfio_hl--byte_socket_handle.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.32.31326\include\fstream(29): message : see declaration of 'std::filesystem::path' [D:\a\llfio\llfio\prebuilt\llfio_hl--byte_socket_handle.vcxproj]
D:\a\llfio\llfio\prebuilt\install\include\kerneltest\v1.0\hooks/filesystem_workspace.hpp(385): message : see reference to class template instantiation 'kerneltest_v1_0b98ef67::hooks::filesystem_setup_impl::impl<is_throwing,Parent,RetType>' being compiled [D:\a\llfio\llfio\prebuilt\llfio_hl--byte_socket_handle.vcxproj]

https://github.com/ned14/llfio/runs/7835250833?check_suite_focus=true#step:4:109 or latest develop CI run https://github.com/ned14/llfio/runs/7795234431?check_suite_focus=true#step:4:109

I can reproduce it locally, but cannot make sense of it. I took a look at the preprocessor output and verified that <filesystem> got included and contains a definition of path::c_str(). The command line params look innocent too (see below), so my guess would be a compiler bug.

/permissive-
/ifcOutput
"llfio_sl--byte_socket_handle.dir\Debug\"
/GS
/W4
/wd"4503"
/Zc:wchar_t
/I"C:\devel\source\ned14\llfio\include"
/I"C:\devel\source\ned14\llfio\include\llfio\ntkernel-error-category\include"
/I"C:\devel\source\ned14\build\llfio\install\include"
/Zi
/Gm-
/Od
/Ob0
/Fd"llfio_sl--byte_socket_handle.dir\Debug\vc143.pdb"
/Zc:inline
/fp:precise
/D "_MBCS"
/D "WIN32"
/D "_WINDOWS"
/D "_CRT_NONSTDC_NO_WARNINGS"
/D "LLFIO_INCLUDE_STORAGE_PROFILE=1"
/D "LLFIO_ENABLE_TEST_IO_MULTIPLEXERS=1"
/D "QUICKCPPLIB_ENABLE_VALGRIND=1"
/D "LLFIO_DYNAMIC_THREAD_POOL_GROUP_USING_GCD=0"
/D "LLFIO_HEADERS_ONLY=0"
/D "CMAKE_INTDIR=\"Debug\""
/errorReport:prompt
/WX-
/Zc:forScope
/RTC1
/Gd
/MDd
/std:c++20
/Fa"llfio_sl--byte_socket_handle.dir\Debug\"
/EHsc
/nologo
/Fo"llfio_sl--byte_socket_handle.dir\Debug\"
/Fp"llfio_sl--byte_socket_handle.dir\Debug\llfio_sl--byte_socket_handle.pch"
/diagnostics:column
ned14 commented 2 years ago

There were a few releases there of VS2022 which were quite quite buggy.

github-actions[bot] commented 2 years ago

Unit Test Results

    4 files  +  1    62 suites   - 34   22m 23s :stopwatch: + 5m 17s   58 tests +  1    58 :heavy_check_mark: +  1  0 :zzz: ±0  0 :x: ±0  120 runs   - 60  120 :heavy_check_mark:  - 60  0 :zzz: ±0  0 :x: ±0 

Results for commit 48ea96b2. ± Comparison against base commit 78ffd901.

github-actions[bot] commented 2 years ago

Unit Test Results

    2 files   -   1    60 suites   - 36   4m 47s :stopwatch: - 12m 19s   53 tests  -   4    52 :heavy_check_mark:  -   5  0 :zzz: ±0  1 :x: +1  112 runs   - 68  110 :heavy_check_mark:  - 70  0 :zzz: ±0  2 :x: +2 

For more details on these failures, see this check.

Results for commit 48ea96b2. ± Comparison against base commit 78ffd901.

github-actions[bot] commented 2 years ago

Unit Test Results

    6 files  +    3  192 suites  +96   28m 31s :stopwatch: + 11m 25s   57 tests ±    0    57 :heavy_check_mark: ±    0  0 :zzz: ±0  0 :x: ±0  360 runs  +180  360 :heavy_check_mark: +180  0 :zzz: ±0  0 :x: ±0 

Results for commit 48ea96b2. ± Comparison against base commit 78ffd901.