summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2018-12-07 19:29:00 +0000
committerSam Clegg <sbc@chromium.org>2018-12-07 19:29:00 +0000
commit992fc88111578d04b21ed1f9c5ade82a502423d5 (patch)
treecd3dd018cbb53c186dd65f6d122e6d68d75fdba6
parent48c7b4f0b6ca5dcaaf388e1c7aa90ec72ba4c6b0 (diff)
downloadbcm5719-llvm-992fc88111578d04b21ed1f9c5ade82a502423d5.tar.gz
bcm5719-llvm-992fc88111578d04b21ed1f9c5ade82a502423d5.zip
[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
-rw-r--r--llvm/lib/TextAPI/ELF/TBEHandler.cpp17
-rw-r--r--llvm/unittests/TextAPI/ELFYAMLTest.cpp5
2 files changed, 4 insertions, 18 deletions
diff --git a/llvm/lib/TextAPI/ELF/TBEHandler.cpp b/llvm/lib/TextAPI/ELF/TBEHandler.cpp
index a3216663729..846f80a8b5b 100644
--- a/llvm/lib/TextAPI/ELF/TBEHandler.cpp
+++ b/llvm/lib/TextAPI/ELF/TBEHandler.cpp
@@ -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) {
diff --git a/llvm/unittests/TextAPI/ELFYAMLTest.cpp b/llvm/unittests/TextAPI/ELFYAMLTest.cpp
index 4616531de98..5b07dfa18c7 100644
--- a/llvm/unittests/TextAPI/ELFYAMLTest.cpp
+++ b/llvm/unittests/TextAPI/ELFYAMLTest.cpp
@@ -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;
OpenPOWER on IntegriCloud