diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-10-16 18:17:13 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-10-16 18:17:13 +0000 |
| commit | 4ff314968e08081b7cf0f2a37937fe1ea8709e2d (patch) | |
| tree | cea9c47d0f9241829bc18ba78f4253eee619455e /llvm/lib/AsmParser/ParserInternals.h | |
| parent | 2978437b76885522c201e8f581b4c5809f25b5ff (diff) | |
| download | bcm5719-llvm-4ff314968e08081b7cf0f2a37937fe1ea8709e2d.tar.gz bcm5719-llvm-4ff314968e08081b7cf0f2a37937fe1ea8709e2d.zip | |
Parse undef and unreachable
llvm-svn: 17053
Diffstat (limited to 'llvm/lib/AsmParser/ParserInternals.h')
| -rw-r--r-- | llvm/lib/AsmParser/ParserInternals.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/AsmParser/ParserInternals.h b/llvm/lib/AsmParser/ParserInternals.h index 9fdc8e66f8b..98ea0341c69 100644 --- a/llvm/lib/AsmParser/ParserInternals.h +++ b/llvm/lib/AsmParser/ParserInternals.h @@ -72,7 +72,7 @@ static inline void ThrowException(const std::string &message, struct ValID { enum { NumberVal, NameVal, ConstSIntVal, ConstUIntVal, ConstFPVal, ConstNullVal, - ConstantVal, + ConstUndefVal, ConstantVal, } Type; union { @@ -108,6 +108,10 @@ struct ValID { ValID D; D.Type = ConstNullVal; return D; } + static ValID createUndef() { + ValID D; D.Type = ConstUndefVal; return D; + } + static ValID create(Constant *Val) { ValID D; D.Type = ConstantVal; D.ConstantValue = Val; return D; } @@ -130,6 +134,7 @@ struct ValID { case NameVal : return Name; case ConstFPVal : return ftostr(ConstPoolFP); case ConstNullVal : return "null"; + case ConstUndefVal : return "undef"; case ConstUIntVal : case ConstSIntVal : return std::string("%") + itostr(ConstPool64); case ConstantVal: @@ -152,6 +157,7 @@ struct ValID { case ConstUIntVal: return UConstPool64 < V.UConstPool64; case ConstFPVal: return ConstPoolFP < V.ConstPoolFP; case ConstNullVal: return false; + case ConstUndefVal: return false; case ConstantVal: return ConstantValue < V.ConstantValue; default: assert(0 && "Unknown value type!"); return false; } |

