diff --git a/src/casting.cpp b/src/casting.cpp index 2559245..568571d 100644 --- a/src/casting.cpp +++ b/src/casting.cpp @@ -8,12 +8,32 @@ namespace types { auto int_ty = std::shared_ptr{ new FundamentalType{ false, FundamentalTypeKind::Int } }; + auto uint_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::UInt } }; auto char_ty = std::shared_ptr{ new FundamentalType{ false, FundamentalTypeKind::Char } }; + auto uchar_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::UChar } }; + auto short_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::ShortInt } }; + auto ushort_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::UShortInt } }; + auto long_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::LongInt } }; + auto ulong_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::ULongInt } }; + auto long_long_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::LongLongInt } }; + auto ulong_long_int_ty = std::shared_ptr{ + new FundamentalType{ false, FundamentalTypeKind::ULongLongInt } }; auto bool_ty = std::shared_ptr{ new FundamentalType{ false, FundamentalTypeKind::Bool } }; - auto numerical_types = { int_ty, char_ty, bool_ty }; + auto numerical_types = { + short_int_ty, int_ty, long_int_ty, long_long_int_ty, char_ty, + ushort_int_ty, uint_ty, ulong_int_ty, ulong_long_int_ty, uchar_ty, + bool_ty + }; for (auto& source_ty : numerical_types) { for (auto& target_ty : numerical_types) {