Index: src/IceTypes.h |
diff --git a/src/IceTypes.h b/src/IceTypes.h |
index 6bc2ded5ec63f8d9d388eef2cd14426a7a6b8928..04cee4af311f3476d0e97bf2682d6bdb4682fd8f 100644 |
--- a/src/IceTypes.h |
+++ b/src/IceTypes.h |
@@ -20,8 +20,13 @@ |
namespace Ice { |
+enum TypeFlag { |
+ TypeFlagIsInteger = 0x1, |
Jim Stichnoth
2014/07/24 19:55:22
Why these specific choices of enum value?
If thes
Karl
2014/07/25 21:49:03
After talking to Jim, refactoring IceTypes.defs to
|
+ TypeFlagIsFloating = 0x2 |
+}; |
+ |
enum Type { |
-#define X(tag, size, align, elts, elty, str) tag, |
+#define X(tag, size, align, elts, elty, str, flags) tag, |
ICETYPE_TABLE |
#undef X |
IceType_NUM |
@@ -46,9 +51,11 @@ size_t typeAlignInBytes(Type Ty); |
size_t typeNumElements(Type Ty); |
Type typeElementType(Type Ty); |
+bool isIntegerType(Type Ty); |
+bool isFloatingType(Type Ty); |
inline bool isVectorType(Type Ty) { return typeNumElements(Ty) > 1; } |
-template <> Ostream &operator<<(class Ostream &Str, const Type &Ty); |
+Ostream &operator<<(class Ostream &Str, const Type &Ty); |
} // end of namespace Ice |