Search Issue Tracker

Fixed in 5.2.4

Votes

0

Found in

5.2.2p4

Issue ID

745691

Regression

No

[IL2CPP] Incorrect result returned by an arithmetic expression byte + int + (expression with ?: operator)

IL2CPP

-

Reproduction steps:
1. Open attached project "AssignmentBug"
2. Build scene "Demo" with IL2CPP
--- In the console you will see "TEST: 44, 300, 400, 300"
--- It should actually print (and does print with Mono) "TEST: 300, 300, 400, 300"

This code generates incorrect value:
byte b = 100;
int i = 200;
bool CarryFlag = false;
var newValue = b + i + (CarryFlag ? 1 : 0);

After executing this code newValue will be set to 44.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.