[llvm-tapi] Don't try to override SequenceTraits for std::string

For some reason this doesn't seem to work with LLVM_LINK_LLVM_DYLIB
build.

See https://logs.chromium.org/logs/chromium/bb/client.wasm.llvm/linux/37764/+/recipes/steps/LLVM_regression_tests/0/stdout

What is more it seems that overriding these traits for core types
(including std::string) is not supported/recommend by YAMLTraits.h.
See line 1918 which has the assertion:
 "only use LLVM_YAML_IS_SEQUENCE_VECTOR for types you control"

Differential Revision: https://reviews.llvm.org/D55381

llvm-svn: 348630
This commit is contained in:
Sam Clegg 2018-12-07 19:29:00 +00:00
parent 48c7b4f0b6
commit 992fc88111
2 changed files with 4 additions and 18 deletions

View File

@ -126,23 +126,6 @@ template <> struct CustomMappingTraits<std::set<ELFSymbol>> {
}
};
/// YAML traits for generic string vectors (i.e. list of needed libraries).
template <> struct SequenceTraits<std::vector<std::string>> {
static size_t size(IO &IO, std::vector<std::string> &List) {
return List.size();
}
static std::string &element(IO &IO, std::vector<std::string> &List,
size_t Index) {
if (Index >= List.size())
List.resize(Index + 1);
return List[Index];
}
// Compacts list of needed libraries into a single line.
static const bool flow = true;
};
/// YAML traits for ELFStub objects.
template <> struct MappingTraits<ELFStub> {
static void mapping(IO &IO, ELFStub &Stub) {

View File

@ -196,7 +196,10 @@ TEST(ElfYamlTextAPI, YAMLWritesNoTBESyms) {
"TbeVersion: 1.0\n"
"SoName: nosyms.so\n"
"Arch: x86_64\n"
"NeededLibs: [ libc.so, libfoo.so, libbar.so ]\n"
"NeededLibs: \n"
" - libc.so\n"
" - libfoo.so\n"
" - libbar.so\n"
"Symbols: {}\n"
"...\n";
ELFStub Stub;