Ignore:
Timestamp:
Mar 15, 2008, 3:33:36 PM (17 years ago)
Author:
dai_9181
Message:

関数の戻り値の構造体など、一時メモリに保持された構造体のメンバに直接アクセスした場合、その一時メモリの解放が正常に行われないバグを修正(64bit版も修正した)。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler32/Compile_Calc.cpp

    r435 r436  
    573573
    574574    //NumOpe...(スタックに答えが格納される)
    575     BOOL bCalcUseHeap;
    576575    Type calcType;
    577     if( !NumOpe(Command+i+1,varType,calcType,&bCalcUseHeap) ){
     576    bool isNeedHeapFreeStructure;
     577    if( !NumOpe(Command+i+1,varType,calcType,&isNeedHeapFreeStructure) ){
    578578        return;
    579579    }
     
    588588        if( !isUpCast ){
    589589            //キャスト演算子のオーバーロードに対応する
    590             CallCastOperatorProc(calcType,bCalcUseHeap,varType);
     590            CallCastOperatorProc(calcType,isNeedHeapFreeStructure,varType);
    591591        }
    592592    }
     
    606606    if( varType.IsStruct() ){
    607607        //構造体インスタンスへの代入
    608         SetStructVariable(varType,calcType,bCalcUseHeap);
     608        SetStructVariable(varType,calcType,isNeedHeapFreeStructure);
    609609        return;
    610610    }
Note: See TracChangeset for help on using the changeset viewer.