Finishing touch for the std::error_code transition.

While std::error_code itself seems to work OK in all platforms, there
are few annoying differences with regards to the std::errc enumeration.

This patch adds a simple llvm enumeration, which will hopefully avoid build
breakages in other platforms and surprises as we get more uses of
std::error_code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210920 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-06-13 17:20:48 +00:00
parent 33fe993f2e
commit d8b23109b2
16 changed files with 134 additions and 38 deletions

View File

@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
#include "llvm/Support/Errc.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Casting.h"
@ -72,7 +73,7 @@ bool Input::setCurrentDocument() {
Node *N = DocIterator->getRoot();
if (!N) {
assert(Strm->failed() && "Root is NULL iff parsing failed");
EC = std::make_error_code(std::errc::invalid_argument);
EC = make_error_code(errc::invalid_argument);
return false;
}
@ -122,7 +123,7 @@ bool Input::preflightKey(const char *Key, bool Required, bool, bool &UseDefault,
// nodes are present.
if (!CurrentNode) {
if (Required)
EC = std::make_error_code(std::errc::invalid_argument);
EC = make_error_code(errc::invalid_argument);
return false;
}
@ -298,7 +299,7 @@ void Input::setError(HNode *hnode, const Twine &message) {
void Input::setError(Node *node, const Twine &message) {
Strm->printError(node, message);
EC = std::make_error_code(std::errc::invalid_argument);
EC = make_error_code(errc::invalid_argument);
}
Input::HNode *Input::createHNodes(Node *N) {