FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
DirectXShaderCompiler/lib/Support/ToolOutputFile.cpp at main · microsoft/DirectXShaderCompiler · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
microsoft
/
DirectXShaderCompiler
Public
Notifications
You must be signed in to change notification settings
Fork
897
Star
3.6k
Code
Issues
654
Pull requests
140
Discussions
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
DirectXShaderCompiler
/
lib
/
Support
/
ToolOutputFile.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
46 lines (40 loc) · 1.57 KB
Breadcrumbs
DirectXShaderCompiler
/
lib
/
Support
/
ToolOutputFile.cpp
Copy path
File metadata and controls
46 lines (40 loc) · 1.57 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
===--- ToolOutputFile.cpp - Implement the tool_output_file class --------===//
//
//
The LLVM Compiler Infrastructure
//
//
This file is distributed under the University of Illinois Open Source
//
License. See LICENSE.TXT for details.
//
//
===----------------------------------------------------------------------===//
//
//
This implements the tool_output_file class.
//
//
===----------------------------------------------------------------------===//
#
include
"
llvm/Support/ToolOutputFile.h
"
#
include
"
llvm/Support/FileSystem.h
"
#
include
"
llvm/Support/Signals.h
"
using
namespace
llvm
;
tool_output_file::CleanupInstaller::CleanupInstaller
(StringRef Filename)
: Filename(Filename), Keep(
false
) {
//
Arrange for the file to be deleted if the process is killed.
if
(Filename !=
"
-
"
)
sys::RemoveFileOnSignal
(Filename);
}
tool_output_file::CleanupInstaller::~CleanupInstaller
() {
//
Delete the file if the client hasn't told us not to.
if
(!Keep && Filename !=
"
-
"
)
sys::fs::remove
(Filename);
//
Ok, the file is successfully written and closed, or deleted. There's no
//
further need to clean it up on signals.
if
(Filename !=
"
-
"
)
sys::DontRemoveFileOnSignal
(Filename);
}
tool_output_file::tool_output_file
(StringRef Filename, std::error_code &
EC
,
sys::fs::OpenFlags Flags)
: Installer(Filename), OS(Filename,
EC
, Flags) {
//
If open fails, no cleanup is needed.
if
(
EC
)
Installer.
Keep
=
true
;
}
tool_output_file::tool_output_file
(StringRef Filename,
int
FD
)
: Installer(Filename), OS(
FD
,
true
) {}
Back
|
FazBrowse Home
|
New Git URL