]> granicus.if.org Git - llvm/commit
[yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers.
authorGeorge Rimar <grimar@accesssoftek.com>
Fri, 13 Sep 2019 16:00:16 +0000 (16:00 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Fri, 13 Sep 2019 16:00:16 +0000 (16:00 +0000)
commit04c501607eb024a66f6d21c79fe88f5ef3642b83
tree6d6777ec08e7b20785a01a75d8568eb992a8691f
parent3e78f24a796ce1dbb0a18dbd5dea8a80ddd65369
[yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers.

This is a continuation of the YAML library error reporting
refactoring/improvement and the idea by itself was mentioned
in the following thread:
https://reviews.llvm.org/D67182?id=218714#inline-603404

This performs a cleanup of all object emitters in the library.
It allows using the custom one provided by the caller.

One of the nice things is that each tool can now print its tool name,
e.g: "yaml2obj: error: <text>"

Also, the code became a bit simpler.

Differential revision: https://reviews.llvm.org/D67445

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371865 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/llvm/ObjectYAML/yaml2obj.h
lib/ObjectYAML/COFFEmitter.cpp
lib/ObjectYAML/ELFEmitter.cpp
lib/ObjectYAML/MachOEmitter.cpp
lib/ObjectYAML/MinidumpEmitter.cpp
lib/ObjectYAML/WasmEmitter.cpp
lib/ObjectYAML/yaml2obj.cpp
test/ObjectYAML/wasm/invalid_section_order.yaml
test/tools/yaml2obj/coff-invalid-alignment.test
test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
test/tools/yaml2obj/empty-or-invalid-doc.yaml
test/tools/yaml2obj/invalid-docnum.test
test/tools/yaml2obj/invalid_output_file.test
test/tools/yaml2obj/missing_document_tag.yaml
test/tools/yaml2obj/multi-doc.test
test/tools/yaml2obj/reloc-sec-info.yaml
test/tools/yaml2obj/section-size-content.yaml
tools/llvm-ifs/llvm-ifs.cpp
tools/yaml2obj/yaml2obj.cpp
unittests/ObjectYAML/MinidumpYAMLTest.cpp
unittests/ObjectYAML/YAML2ObjTest.cpp