diff options
| author | orivej <[email protected]> | 2022-02-10 16:45:01 +0300 |
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:45:01 +0300 |
| commit | 2d37894b1b037cf24231090eda8589bbb44fb6fc (patch) | |
| tree | be835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h | |
| parent | 718c552901d703c502ccbefdfc3c9028d608b947 (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h')
| -rw-r--r-- | contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h b/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h index 2856fb11e87..f02bb455bcb 100644 --- a/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h +++ b/contrib/libs/llvm12/include/llvm/Support/ToolOutputFile.h @@ -1,82 +1,82 @@ -#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; - +#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; } - + 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 + /// 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 |
