[PATCH] D55381: [llvm-tapi] Don't try to override SequenceTraits for std::string
Sam Clegg via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 6 11:41:46 PST 2018
sbc100 created this revision.
Herald added subscribers: llvm-commits, sunfish, aheejin, arichardson, emaste.
Herald added a reviewer: espindola.
sbc100 retitled this revision from "Don't try to override SequenceTraits for std::string" to "[llvm-tapi] Don't try to override SequenceTraits for std::string".
sbc100 added a reviewer: amontanez.
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"
Repository:
rL LLVM
https://reviews.llvm.org/D55381
Files:
lib/TextAPI/ELF/TBEHandler.cpp
unittests/TextAPI/ELFYAMLTest.cpp
Index: unittests/TextAPI/ELFYAMLTest.cpp
===================================================================
--- unittests/TextAPI/ELFYAMLTest.cpp
+++ unittests/TextAPI/ELFYAMLTest.cpp
@@ -196,7 +196,10 @@
"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;
Index: lib/TextAPI/ELF/TBEHandler.cpp
===================================================================
--- lib/TextAPI/ELF/TBEHandler.cpp
+++ lib/TextAPI/ELF/TBEHandler.cpp
@@ -126,23 +126,6 @@
}
};
-/// 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) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55381.177021.patch
Type: text/x-patch
Size: 1626 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181206/b74979ca/attachment.bin>
More information about the llvm-commits
mailing list