Re: Task ids weird behavior
- Posted by mattlewis (admin) Jan 16, 2010
- 925 views
AndySerpa said...
Statements like:
if task_self() = 2 then .. end if
never evaluate as true. It is acting as if the task id returned from task_self is a float that isn't quite equal to the integer value.
It's a bug in emit.e. When the TASK_SELF op is emitted, the resulting temp is incorrectly identified as an integer. So when it goes to the comparison, the parser incorrectly believes the comparison to be between two known integers, which is a much simpler and faster comparison than having to check for type and convert something to a double if necessary.
This will be fixed in svn shortly. See ticket:126
Matt