diff options
| author | robot-ydb-importer <[email protected]> | 2024-02-01 17:04:24 +0300 |
|---|---|---|
| committer | Alexander Smirnov <[email protected]> | 2024-02-09 19:16:57 +0300 |
| commit | 92eec2d2cadb061e8d0736fc1e6006255d1db6aa (patch) | |
| tree | 374efcbf55311667e4f87ee2790bf71ac6756ae4 /contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h | |
| parent | b34656eaa432fe5258085ca4e4642774fe082456 (diff) | |
YDB Import 559
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h')
| -rw-r--r-- | contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h b/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h deleted file mode 100644 index f02bb455bcb..00000000000 --- a/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h +++ /dev/null @@ -1,82 +0,0 @@ -#pragma once - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif - -//===- ToolOutputFile.h - Output files for compiler-like tools -----------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines the ToolOutputFile class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_SUPPORT_TOOLOUTPUTFILE_H -#define LLVM_SUPPORT_TOOLOUTPUTFILE_H - -#include "llvm/ADT/Optional.h" -#include "llvm/Support/raw_ostream.h" - -namespace llvm { - -/// This class contains a raw_fd_ostream and adds a few extra features commonly -/// needed for compiler-like tool output files: -/// - The file is automatically deleted if the process is killed. -/// - The file is automatically deleted when the ToolOutputFile -/// object is destroyed unless the client calls keep(). -class ToolOutputFile { - /// This class is declared before the raw_fd_ostream so that it is constructed - /// before the raw_fd_ostream is constructed and destructed after the - /// raw_fd_ostream is destructed. It installs cleanups in its constructor and - /// uninstalls them in its destructor. - class CleanupInstaller { - /// The name of the file. - std::string Filename; - public: - /// The flag which indicates whether we should not delete the file. - bool Keep; - - StringRef getFilename() { return Filename; } - explicit CleanupInstaller(StringRef Filename); - ~CleanupInstaller(); - } Installer; - - /// Storage for the stream, if we're owning our own stream. This is - /// intentionally declared after Installer. - Optional<raw_fd_ostream> OSHolder; - - /// The actual stream to use. - raw_fd_ostream *OS; - -public: - /// This constructor's arguments are passed to raw_fd_ostream's - /// constructor. - ToolOutputFile(StringRef Filename, std::error_code &EC, - sys::fs::OpenFlags Flags); - - ToolOutputFile(StringRef Filename, int FD); - - /// Return the contained raw_fd_ostream. - raw_fd_ostream &os() { return *OS; } - - /// Return the filename initialized with. - StringRef getFilename() { return Installer.getFilename(); } - - /// Indicate that the tool's job wrt this output file has been successful and - /// the file should not be deleted. - void keep() { Installer.Keep = true; } -}; - -} // end llvm namespace - -#endif - -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif |
