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/BasicCompiler64/Compile_Var.cpp

    r425 r436  
    142142        int reg=REG_NON;
    143143        Type type;
    144         BOOL bUseHeap;
    145         NumOpe( &reg, pParm[i], Type( DEF_LONG ), type, &bUseHeap );
    146         if( type.IsObject() ){
     144        bool isNeedHeapFreeStructure;
     145        NumOpe( &reg, pParm[i], Type( DEF_LONG ), type, &isNeedHeapFreeStructure );
     146        if( type.IsObject() )
     147        {
    147148            //キャスト演算子のオーバーロードに対応する
    148149            CallCastOperatorProc(reg,
    149150                type,
    150                 bUseHeap, Type(DEF_LONG) );
     151                isNeedHeapFreeStructure, Type(DEF_LONG) );
    151152            type.SetBasicType( DEF_LONG );
    152153        }
    153154
    154         if( !type.IsWhole() ){
     155        if( !type.IsWhole() )
     156        {
    155157            SetError(46,NULL,cp);
    156158        }
Note: See TracChangeset for help on using the changeset viewer.