Skip to content
Snippets Groups Projects
Commit d2ecb6de authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Fix data type promotions to mimic C++

Actually in C++ `unsigned int + int` gives an `unsigned int` which is not very
intuitive
parent ed3e65fc
No related branches found
No related tags found
1 merge request!37Feature/language
......@@ -8,8 +8,8 @@ enum class ASTNodeDataType : int32_t
{
undefined_t = -1,
bool_t = 0,
unsigned_int_t = 1,
int_t = 2,
int_t = 1,
unsigned_int_t = 2,
double_t = 3,
string_t = 5,
typename_t = 10,
......
......@@ -25,7 +25,8 @@ TEST_CASE("ASTNodeDataType", "[language]")
REQUIRE(dataTypePromotion(ASTNodeDataType::double_t, ASTNodeDataType::bool_t) == ASTNodeDataType::double_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::double_t, ASTNodeDataType::unsigned_int_t) == ASTNodeDataType::double_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::double_t, ASTNodeDataType::int_t) == ASTNodeDataType::double_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::int_t, ASTNodeDataType::unsigned_int_t) == ASTNodeDataType::int_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::int_t, ASTNodeDataType::unsigned_int_t) ==
ASTNodeDataType::unsigned_int_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::int_t, ASTNodeDataType::bool_t) == ASTNodeDataType::int_t);
REQUIRE(dataTypePromotion(ASTNodeDataType::unsigned_int_t, ASTNodeDataType::bool_t) ==
ASTNodeDataType::unsigned_int_t);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment