View Issue Details

IDProjectCategoryView StatusLast Update
0030834RunnerWindows (YYC)Public2019-06-03 12:21
ReporterYellowAfterlifeAssigned ToRussell Kay 
PriorityLowSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
PlatformWindowsOSWindows 10 ProOS Version>=1703
Product Version2.2.2 
Target Version2.2.3Fixed in Version2.2.3 
Summary0030834: YYC: (scr(scr()) ? (a || b) : 0) loses the temporary variable for (a || b)
Description
var a = 0;
var b = 0;
var c = scr(scr()) ? (a || b) : 0;

C++:
YY_STACKTRACE_LINE(1);
local_a=0;

YY_STACKTRACE_LINE(2);
local_b=0;

YY_STACKTRACE_LINE(4);
FREE_RValue( &__ret1__ );
FREE_RValue( &__ret2__ );
YYRValue* __pArg2__[]={&gml_Script_scr(pSelf,pOther,__ret2__,0,NULL)};
local_c=((BOOL_RValue( gml_Script_scr(pSelf,pOther,__ret1__,1,__pArg2__) )) ? YYRValue(sc3) : YYRValue(0));


Something specifically about this pattern - nested call as condition for a ternary where the then-value is a boolean OR
TagsCompiler, yyc
1.4 Found In
2.x Runtime Found In9.9.1.1426
2.x Runtime Verified In2.2.3.335

Activities

YellowAfterlife

2019-05-05 18:10

Developer  

a_bug.yyz (19,657 bytes)

Russell Kay

2019-05-16 16:53

Manager   ~0063938

Fixed in gitlab