diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-01-23 21:57:50 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2015-01-23 21:57:50 +0000 |
commit | 731cae3839fcf6e9809595d5385a5990dbbe9451 (patch) | |
tree | c07f3e0339a33a95f2ef830fe4115636ddbae42c /llvm/lib/Support/YAMLTraits.cpp | |
parent | d235df0aaa8bcf75a9c4317443047cd71d839619 (diff) | |
download | bcm5719-llvm-731cae3839fcf6e9809595d5385a5990dbbe9451.tar.gz bcm5719-llvm-731cae3839fcf6e9809595d5385a5990dbbe9451.zip |
[YAMLIO] Add support for numeric values in enums.
llvm-svn: 226942
Diffstat (limited to 'llvm/lib/Support/YAMLTraits.cpp')
-rw-r--r-- | llvm/lib/Support/YAMLTraits.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Support/YAMLTraits.cpp b/llvm/lib/Support/YAMLTraits.cpp index c87790efb8c..fc23f31de33 100644 --- a/llvm/lib/Support/YAMLTraits.cpp +++ b/llvm/lib/Support/YAMLTraits.cpp @@ -233,6 +233,13 @@ bool Input::matchEnumScalar(const char *Str, bool) { return false; } +bool Input::matchEnumFallback() { + if (ScalarMatchFound) + return false; + ScalarMatchFound = true; + return true; +} + void Input::endEnumScalar() { if (!ScalarMatchFound) { setError(CurrentNode, "unknown enumerated scalar"); @@ -508,6 +515,13 @@ bool Output::matchEnumScalar(const char *Str, bool Match) { return false; } +bool Output::matchEnumFallback() { + if (EnumerationMatchFound) + return false; + EnumerationMatchFound = true; + return true; +} + void Output::endEnumScalar() { if (!EnumerationMatchFound) llvm_unreachable("bad runtime enum value"); |