mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
Windows/Path.inc: Introduce file_type::character_file and file_type::fifo_file in sys::fs::getStatus(HANDLE).
It fixes llvm/test/Other/close-stderr.ll on msys. FIXME: Provide unittests. llvm-svn: 186588
This commit is contained in:
parent
c1af8a0511
commit
c3862f9446
@ -579,6 +579,19 @@ static error_code getStatus(HANDLE FileHandle, file_status &Result) {
|
||||
if (FileHandle == INVALID_HANDLE_VALUE)
|
||||
goto handle_status_error;
|
||||
|
||||
switch (::GetFileType(FileHandle)) {
|
||||
default:
|
||||
case FILE_TYPE_UNKNOWN:
|
||||
case FILE_TYPE_DISK:
|
||||
break;
|
||||
case FILE_TYPE_CHAR:
|
||||
Result = file_status(file_type::character_file);
|
||||
return error_code::success();
|
||||
case FILE_TYPE_PIPE:
|
||||
Result = file_status(file_type::fifo_file);
|
||||
return error_code::success();
|
||||
}
|
||||
|
||||
BY_HANDLE_FILE_INFORMATION Info;
|
||||
if (!::GetFileInformationByHandle(FileHandle, &Info))
|
||||
goto handle_status_error;
|
||||
|
@ -9,9 +9,6 @@
|
||||
; XFAIL: vg_leak
|
||||
; REQUIRES: shell
|
||||
|
||||
; FIXME: sys::fs::status() doesn't work on pipes, since r186560.
|
||||
; XFAIL: mingw32
|
||||
|
||||
; opt will fail to open /dev/null on native win32.
|
||||
; XFAIL: win32
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user