Cleanup system_error extensions.
llvm-svn: 149432
diff --git a/lld/lib/Core/YamlReader.cpp b/lld/lib/Core/YamlReader.cpp
index 5ca8fbc..39c0643 100644
--- a/lld/lib/Core/YamlReader.cpp
+++ b/lld/lib/Core/YamlReader.cpp
@@ -11,6 +11,7 @@
#include "lld/Core/YamlReader.h"
#include "lld/Core/Atom.h"
+#include "lld/Core/Error.h"
#include "lld/Core/File.h"
#include "lld/Core/Reference.h"
@@ -29,41 +30,6 @@
namespace lld {
namespace yaml {
-enum yaml_reader_errors {
- success = 0,
- unknown_keyword,
- illegal_value
-};
-
-class reader_error_category : public llvm::_do_message {
-public:
- virtual const char* name() const {
- return "lld.yaml.reader";
- }
- virtual std::string message(int ev) const;
-};
-
-const reader_error_category reader_error_category_singleton;
-
-std::string reader_error_category::message(int ev) const {
- switch (ev) {
- case success:
- return "Success";
- case unknown_keyword:
- return "Unknown keyword found in yaml file";
- case illegal_value:
- return "Bad value found in yaml file";
- default:
- llvm_unreachable("An enumerator of yaml_reader_errors does not have a "
- "message defined.");
- }
-}
-
-inline llvm::error_code make_error_code(yaml_reader_errors e) {
- return llvm::error_code(static_cast<int>(e), reader_error_category_singleton);
-}
-
-
class YAML {
public:
struct Entry {
@@ -704,8 +670,8 @@
}
else if (strcmp(entry->key, KeyValues::sizeKeyword) == 0) {
llvm::StringRef val = entry->value;
- if ( val.getAsInteger(0, atomState._size) )
- return make_error_code(illegal_value);
+ if ( val.getAsInteger(0, atomState._size) )
+ return make_error_code(yaml_reader_error::illegal_value);
haveAtom = true;
}
else if (strcmp(entry->key, KeyValues::contentKeyword) == 0) {
@@ -720,7 +686,7 @@
inFixups = true;
}
else {
- return make_error_code(unknown_keyword);
+ return make_error_code(yaml_reader_error::unknown_keyword);
}
}
else if (depthForFixups == entry->depth) {
@@ -749,7 +715,7 @@
}
result.push_back(file);
- return make_error_code(success);
+ return make_error_code(yaml_reader_error::success);
}
//