summaryrefslogtreecommitdiff
path: root/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
commit0b57cec536236d46e3dba9bd041533462f33dbb7 (patch)
tree56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp
parent718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff)
Notes
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp')
-rw-r--r--contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp68
1 files changed, 0 insertions, 68 deletions
diff --git a/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp b/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp
deleted file mode 100644
index 00063d64f3f2..000000000000
--- a/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-//=== Serialization/PCHContainerOperations.cpp - PCH Containers -*- C++ -*-===//
-//
-// 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 PCHContainerOperations and RawPCHContainerOperation.
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Serialization/PCHContainerOperations.h"
-#include "clang/AST/ASTConsumer.h"
-#include "clang/Lex/ModuleLoader.h"
-#include "llvm/Bitstream/BitstreamReader.h"
-#include "llvm/Support/raw_ostream.h"
-#include <utility>
-
-using namespace clang;
-
-PCHContainerWriter::~PCHContainerWriter() {}
-PCHContainerReader::~PCHContainerReader() {}
-
-namespace {
-
-/// A PCHContainerGenerator that writes out the PCH to a flat file.
-class RawPCHContainerGenerator : public ASTConsumer {
- std::shared_ptr<PCHBuffer> Buffer;
- std::unique_ptr<raw_pwrite_stream> OS;
-
-public:
- RawPCHContainerGenerator(std::unique_ptr<llvm::raw_pwrite_stream> OS,
- std::shared_ptr<PCHBuffer> Buffer)
- : Buffer(std::move(Buffer)), OS(std::move(OS)) {}
-
- ~RawPCHContainerGenerator() override = default;
-
- void HandleTranslationUnit(ASTContext &Ctx) override {
- if (Buffer->IsComplete) {
- // Make sure it hits disk now.
- *OS << Buffer->Data;
- OS->flush();
- }
- // Free the space of the temporary buffer.
- llvm::SmallVector<char, 0> Empty;
- Buffer->Data = std::move(Empty);
- }
-};
-
-} // anonymous namespace
-
-std::unique_ptr<ASTConsumer> RawPCHContainerWriter::CreatePCHContainerGenerator(
- CompilerInstance &CI, const std::string &MainFileName,
- const std::string &OutputFileName, std::unique_ptr<llvm::raw_pwrite_stream> OS,
- std::shared_ptr<PCHBuffer> Buffer) const {
- return llvm::make_unique<RawPCHContainerGenerator>(std::move(OS), Buffer);
-}
-
-StringRef
-RawPCHContainerReader::ExtractPCH(llvm::MemoryBufferRef Buffer) const {
- return Buffer.getBuffer();
-}
-
-PCHContainerOperations::PCHContainerOperations() {
- registerWriter(llvm::make_unique<RawPCHContainerWriter>());
- registerReader(llvm::make_unique<RawPCHContainerReader>());
-}