projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge alignment of common GlobalValue.
[oota-llvm.git]
/
lib
/
Support
/
YAMLTraits.cpp
diff --git
a/lib/Support/YAMLTraits.cpp
b/lib/Support/YAMLTraits.cpp
index 66af33693d67545745bc8d5e71b91a69dde727b7..526667fc59e7615bbb6bd7f54878a1942a658a40 100644
(file)
--- a/
lib/Support/YAMLTraits.cpp
+++ b/
lib/Support/YAMLTraits.cpp
@@
-7,6
+7,7
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
+#include "llvm/Support/Errc.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Casting.h"
@@
-56,9
+57,7
@@
Input::Input(StringRef InputContent,
Input::~Input() {
}
Input::~Input() {
}
-error_code Input::error() {
- return EC;
-}
+std::error_code Input::error() { return EC; }
// Pin the vtables to this file.
void Input::HNode::anchor() {}
// Pin the vtables to this file.
void Input::HNode::anchor() {}
@@
-74,7
+73,7
@@
bool Input::setCurrentDocument() {
Node *N = DocIterator->getRoot();
if (!N) {
assert(Strm->failed() && "Root is NULL iff parsing failed");
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;
}
return false;
}
@@
-124,7
+123,7
@@
bool Input::preflightKey(const char *Key, bool Required, bool, bool &UseDefault,
// nodes are present.
if (!CurrentNode) {
if (Required)
// 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;
}
return false;
}
@@
-300,7
+299,7
@@
void Input::setError(HNode *hnode, const Twine &message) {
void Input::setError(Node *node, const Twine &message) {
Strm->printError(node, 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) {
}
Input::HNode *Input::createHNodes(Node *N) {
@@
-327,7
+326,12
@@
Input::HNode *Input::createHNodes(Node *N) {
} else if (MappingNode *Map = dyn_cast<MappingNode>(N)) {
MapHNode *mapHNode = new MapHNode(N);
for (KeyValueNode &KVN : *Map) {
} else if (MappingNode *Map = dyn_cast<MappingNode>(N)) {
MapHNode *mapHNode = new MapHNode(N);
for (KeyValueNode &KVN : *Map) {
- ScalarNode *KeyScalar = dyn_cast<ScalarNode>(KVN.getKey());
+ Node *KeyNode = KVN.getKey();
+ ScalarNode *KeyScalar = dyn_cast<ScalarNode>(KeyNode);
+ if (!KeyScalar) {
+ setError(KeyNode, "Map key must be a scalar");
+ break;
+ }
StringStorage.clear();
StringRef KeyStr = KeyScalar->getValue(StringStorage);
if (!StringStorage.empty()) {
StringStorage.clear();
StringRef KeyStr = KeyScalar->getValue(StringStorage);
if (!StringStorage.empty()) {