aboutsummaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-07-28 19:44:00 +0100
committergingerBill <bill@gingerbill.org>2018-07-28 19:44:00 +0100
commit1705ba806905bfbfd2352767ad95a0d1c0376090 (patch)
treec608e40b5c83c9310bac97366a7a4cdfa3351926 /src/types.cpp
parent8d2c4a78a19774d98f5603d78ab6520f39d18bcd (diff)
Fix typos
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/types.cpp b/src/types.cpp
index 2541094e8..46ce0ee26 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -67,9 +67,10 @@ enum BasicFlag {
BasicFlag_LLVM = GB_BIT(10),
- BasicFlag_Numeric = BasicFlag_Integer | BasicFlag_Float | BasicFlag_Complex,
- BasicFlag_Ordered = BasicFlag_Integer | BasicFlag_Float | BasicFlag_String | BasicFlag_Pointer | BasicFlag_Rune,
- BasicFlag_ConstantType = BasicFlag_Boolean | BasicFlag_Numeric | BasicFlag_String | BasicFlag_Pointer | BasicFlag_Rune,
+ BasicFlag_Numeric = BasicFlag_Integer | BasicFlag_Float | BasicFlag_Complex,
+ BasicFlag_Ordered = BasicFlag_Integer | BasicFlag_Float | BasicFlag_String | BasicFlag_Pointer | BasicFlag_Rune,
+ BasicFlag_OrderedNumeric = BasicFlag_Integer | BasicFlag_Float | BasicFlag_Rune,
+ BasicFlag_ConstantType = BasicFlag_Boolean | BasicFlag_Numeric | BasicFlag_String | BasicFlag_Pointer | BasicFlag_Rune,
};
struct BasicType {
@@ -736,6 +737,14 @@ bool is_type_ordered(Type *t) {
}
return false;
}
+bool is_type_ordered_numeric(Type *t) {
+ t = core_type(t);
+ switch (t->kind) {
+ case Type_Basic:
+ return (t->Basic.flags & BasicFlag_OrderedNumeric) != 0;
+ }
+ return false;
+}
bool is_type_constant_type(Type *t) {
t = core_type(t);
if (t->kind == Type_Basic) {