summaryrefslogtreecommitdiff
path: root/src/ast
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2017-01-08 09:48:19 +0800
committerJohn Hodge <tpg@mutabah.net>2017-01-08 09:48:19 +0800
commit3f047e495793a1eed8244b96bc0dddff275cd19c (patch)
treea53112cc7ecfd414b1832a8a1a28c4643c100b46 /src/ast
parentaf7089cec53828533462af5349e861f7d524d22e (diff)
downloadmrust-3f047e495793a1eed8244b96bc0dddff275cd19c.tar.gz
All - i128/u182 support, typecheck and parse fixes
Diffstat (limited to 'src/ast')
-rw-r--r--src/ast/dump.cpp3
-rw-r--r--src/ast/types.cpp4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ast/dump.cpp b/src/ast/dump.cpp
index a875506c..d6bc0aa2 100644
--- a/src/ast/dump.cpp
+++ b/src/ast/dump.cpp
@@ -353,6 +353,7 @@ public:
case CORETYPE_U16:
case CORETYPE_U32:
case CORETYPE_U64:
+ case CORETYPE_U128:
case CORETYPE_UINT:
case CORETYPE_ANY:
m_os << "0x" << ::std::hex << n.m_value << ::std::dec;
@@ -361,9 +362,9 @@ public:
case CORETYPE_I16:
case CORETYPE_I32:
case CORETYPE_I64:
+ case CORETYPE_I128:
case CORETYPE_INT:
m_os << (int64_t)n.m_value;
- //m_os << "0x" << ::std::hex << n.m_value << ::std::dec;
break;
}
}
diff --git a/src/ast/types.cpp b/src/ast/types.cpp
index 21e47b4b..ccd169d7 100644
--- a/src/ast/types.cpp
+++ b/src/ast/types.cpp
@@ -23,6 +23,7 @@ static const struct {
{"char", CORETYPE_CHAR},
{"f32", CORETYPE_F32},
{"f64", CORETYPE_F64},
+ {"i128", CORETYPE_I128},
{"i16", CORETYPE_I16},
{"i32", CORETYPE_I32},
{"i64", CORETYPE_I64},
@@ -30,6 +31,7 @@ static const struct {
{"int", CORETYPE_INT},
{"isize", CORETYPE_INT},
{"str", CORETYPE_STR},
+ {"u128", CORETYPE_U128},
{"u16", CORETYPE_U16},
{"u32", CORETYPE_U32},
{"u64", CORETYPE_U64},
@@ -68,6 +70,8 @@ const char* coretype_name(const eCoreType ct ) {
case CORETYPE_I32: return "i32";
case CORETYPE_U64: return "u64";
case CORETYPE_I64: return "i64";
+ case CORETYPE_U128: return "u128";
+ case CORETYPE_I128: return "i128";
case CORETYPE_F32: return "f32";
case CORETYPE_F64: return "f64";
}