Search Issue Tracker

Fixed in Unity 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

-

-

Priority: 3Not yet prioritized for a release

-

Severity: 3Secondary functionality broken

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.

All about bugs

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