diff --git a/CMakeLists.txt b/CMakeLists.txt index 36e6ed8afa7..324bff3b491 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -499,7 +499,6 @@ add_subdirectory(lib) if( LLVM_INCLUDE_UTILS ) add_subdirectory(utils/FileCheck) - add_subdirectory(utils/FileUpdate) add_subdirectory(utils/PerfectShuffle) add_subdirectory(utils/count) add_subdirectory(utils/not) diff --git a/test/lit.cfg b/test/lit.cfg index 4ee3f6ead79..664d55fa1ad 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -243,7 +243,6 @@ for pattern in [r"\bbugpoint\b(?!-)", r"\bmacho-dump\b", NOJUNK + r"\bopt\b", r"\bFileCheck\b", - r"\bFileUpdate\b", r"\bobj2yaml\b", r"\byaml2obj\b", # Handle these specially as they are strings searched diff --git a/utils/FileUpdate/CMakeLists.txt b/utils/FileUpdate/CMakeLists.txt deleted file mode 100644 index ce7478f77af..00000000000 --- a/utils/FileUpdate/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -add_llvm_utility(FileUpdate - FileUpdate.cpp - ) - -target_link_libraries(FileUpdate LLVMSupport) diff --git a/utils/FileUpdate/FileUpdate.cpp b/utils/FileUpdate/FileUpdate.cpp deleted file mode 100644 index c185dd05e0e..00000000000 --- a/utils/FileUpdate/FileUpdate.cpp +++ /dev/null @@ -1,87 +0,0 @@ -//===- FileUpdate.cpp - Conditionally update a file -----------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// FileUpdate is a utility for conditionally updating a file from its input -// based on whether the input differs from the output. It is used to avoid -// unnecessary modifications in a build system. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Support/CommandLine.h" -#include "llvm/Support/FileSystem.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/PrettyStackTrace.h" -#include "llvm/Support/Signals.h" -#include "llvm/Support/ToolOutputFile.h" -#include -using namespace llvm; - -static cl::opt -Quiet("quiet", cl::desc("Don't print unnecessary status information"), - cl::init(false)); - -static cl::opt -InputFilename("input-file", cl::desc("Input file (defaults to stdin)"), - cl::init("-"), cl::value_desc("filename")); - -static cl::opt -OutputFilename(cl::Positional, cl::desc(""), cl::Required); - -int main(int argc, char **argv) { - sys::PrintStackTraceOnErrorSignal(); - PrettyStackTraceProgram X(argc, argv); - cl::ParseCommandLineOptions(argc, argv); - - if (OutputFilename == "-") { - errs() << argv[0] << ": error: Can't update standard output\n"; - return 1; - } - - // Get the input data. - std::unique_ptr In; - if (std::error_code ec = MemoryBuffer::getFileOrSTDIN(InputFilename, In)) { - errs() << argv[0] << ": error: Unable to get input '" - << InputFilename << "': " << ec.message() << '\n'; - return 1; - } - - // Get the output data. - std::unique_ptr Out; - MemoryBuffer::getFile(OutputFilename.c_str(), Out); - - // If the output exists and the contents match, we are done. - if (Out && In->getBufferSize() == Out->getBufferSize() && - memcmp(In->getBufferStart(), Out->getBufferStart(), - Out->getBufferSize()) == 0) { - if (!Quiet) - errs() << argv[0] << ": Not updating '" << OutputFilename - << "', contents match input.\n"; - return 0; - } - - // Otherwise, overwrite the output. - if (!Quiet) - errs() << argv[0] << ": Updating '" << OutputFilename - << "', contents changed.\n"; - std::string ErrorStr; - tool_output_file OutStream(OutputFilename.c_str(), ErrorStr, - sys::fs::F_None); - if (!ErrorStr.empty()) { - errs() << argv[0] << ": Unable to write output '" - << OutputFilename << "': " << ErrorStr << '\n'; - return 1; - } - - OutStream.os().write(In->getBufferStart(), In->getBufferSize()); - - // Declare success. - OutStream.keep(); - - return 0; -} diff --git a/utils/FileUpdate/Makefile b/utils/FileUpdate/Makefile deleted file mode 100644 index 1e6c0a838c2..00000000000 --- a/utils/FileUpdate/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -##===- utils/FileUpdate/Makefile ---------------------------*- Makefile -*-===## -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -##===----------------------------------------------------------------------===## - -LEVEL = ../.. -TOOLNAME = FileUpdate -USEDLIBS = LLVMSupport.a - -# This tool has no plugins, optimize startup time. -TOOL_NO_EXPORTS = 1 - -# Don't install this utility -NO_INSTALL = 1 - -include $(LEVEL)/Makefile.common - diff --git a/utils/Makefile b/utils/Makefile index ecb30bed7c6..04261923e1b 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -8,8 +8,8 @@ ##===----------------------------------------------------------------------===## LEVEL = .. -PARALLEL_DIRS := FileCheck FileUpdate TableGen PerfectShuffle \ - count fpcmp llvm-lit not unittest +PARALLEL_DIRS := FileCheck TableGen PerfectShuffle count fpcmp llvm-lit not \ + unittest EXTRA_DIST := check-each-file codegen-diff countloc.sh \ DSAclean.py DSAextract.py emacs findsym.pl GenLibDeps.pl \