Lines Matching +full:string +full:- +full:support
1 //===-- llvm-c++filt.cpp --------------------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
15 #include "llvm/Support/CommandLine.h"
16 #include "llvm/Support/LLVMDriver.h"
17 #include "llvm/Support/WithColor.h"
18 #include "llvm/Support/raw_ostream.h"
37 NAME##_init, std::size(NAME##_init) - 1);
67 static std::string demangle(const std::string &Mangled) {
76 std::string Result;
81 std::string Prefix;
104 // The beginning of the input string.
110 OutFragments.push_back({"", Source.slice(0, Start - Head)});
117 OutFragments.push_back({Source.slice(Start - Head, End - Head),
118 Source.slice(End - Head, DEnd - Head)});
124 // Itanium-mangled string.
132 // word is demangled. Otherwise, the entire string is treated as a single
135 std::string Result;
140 Result += ::demangle(std::string(Word.first)) + Word.second.str();
142 Result = ::demangle(std::string(Mangled));
158 // TODO Replace this with OptTable API once it adds extrahelp support.
168 // The default value depends on the default triple. Mach-O has symbols
172 StripUnderscore = A->getOption().matches(OPT_strip_underscore);
180 std::vector<std::string> Decorated = Args.getAllArgValues(OPT_INPUT);
182 for (std::string Mangled; std::getline(std::cin, Mangled);)