diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp b/gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp deleted file mode 100644 index f5040b8a09d..00000000000 --- a/gnu/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp +++ /dev/null @@ -1,134 +0,0 @@ -//===- ArgumentsAdjusters.cpp - Command line arguments adjuster -----------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file contains definitions of classes which implement ArgumentsAdjuster -// interface. -// -//===----------------------------------------------------------------------===// - -#include "clang/Tooling/ArgumentsAdjusters.h" -#include "clang/Basic/LLVM.h" -#include "llvm/ADT/StringRef.h" -#include <cstddef> - -namespace clang { -namespace tooling { - -/// Add -fsyntax-only option to the command line arguments. -ArgumentsAdjuster getClangSyntaxOnlyAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t i = 0, e = Args.size(); i < e; ++i) { - StringRef Arg = Args[i]; - // FIXME: Remove options that generate output. - if (!Arg.startswith("-fcolor-diagnostics") && - !Arg.startswith("-fdiagnostics-color")) - AdjustedArgs.push_back(Args[i]); - } - AdjustedArgs.push_back("-fsyntax-only"); - return AdjustedArgs; - }; -} - -ArgumentsAdjuster getClangStripOutputAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t i = 0, e = Args.size(); i < e; ++i) { - StringRef Arg = Args[i]; - if (!Arg.startswith("-o")) - AdjustedArgs.push_back(Args[i]); - - if (Arg == "-o") { - // Output is specified as -o foo. Skip the next argument too. - ++i; - } - // Else, the output is specified as -ofoo. Just do nothing. - } - return AdjustedArgs; - }; -} - -ArgumentsAdjuster getClangStripDependencyFileAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t i = 0, e = Args.size(); i < e; ++i) { - StringRef Arg = Args[i]; - // All dependency-file options begin with -M. These include -MM, - // -MF, -MG, -MP, -MT, -MQ, -MD, and -MMD. - if (!Arg.startswith("-M")) { - AdjustedArgs.push_back(Args[i]); - continue; - } - - if (Arg == "-MF" || Arg == "-MT" || Arg == "-MQ") - // These flags take an argument: -MX foo. Skip the next argument also. - ++i; - } - return AdjustedArgs; - }; -} - -ArgumentsAdjuster getInsertArgumentAdjuster(const CommandLineArguments &Extra, - ArgumentInsertPosition Pos) { - return [Extra, Pos](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments Return(Args); - - CommandLineArguments::iterator I; - if (Pos == ArgumentInsertPosition::END) { - I = Return.end(); - } else { - I = Return.begin(); - ++I; // To leave the program name in place - } - - Return.insert(I, Extra.begin(), Extra.end()); - return Return; - }; -} - -ArgumentsAdjuster getInsertArgumentAdjuster(const char *Extra, - ArgumentInsertPosition Pos) { - return getInsertArgumentAdjuster(CommandLineArguments(1, Extra), Pos); -} - -ArgumentsAdjuster combineAdjusters(ArgumentsAdjuster First, - ArgumentsAdjuster Second) { - if (!First) - return Second; - if (!Second) - return First; - return [First, Second](const CommandLineArguments &Args, StringRef File) { - return Second(First(Args, File), File); - }; -} - -ArgumentsAdjuster getStripPluginsAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t I = 0, E = Args.size(); I != E; I++) { - // According to https://clang.llvm.org/docs/ClangPlugins.html - // plugin arguments are in the form: - // -Xclang {-load, -plugin, -plugin-arg-<plugin-name>, -add-plugin} - // -Xclang <arbitrary-argument> - if (I + 4 < E && Args[I] == "-Xclang" && - (Args[I + 1] == "-load" || Args[I + 1] == "-plugin" || - llvm::StringRef(Args[I + 1]).startswith("-plugin-arg-") || - Args[I + 1] == "-add-plugin") && - Args[I + 2] == "-Xclang") { - I += 3; - continue; - } - AdjustedArgs.push_back(Args[I]); - } - return AdjustedArgs; - }; -} - -} // end namespace tooling -} // end namespace clang |
