forked from OSchip/llvm-project
[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:
parent
48c7b4f0b6
commit
992fc88111
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue