Changeset 45 in dev for BasicCompiler64
- Timestamp:
- Feb 2, 2007, 2:58:14 AM (18 years ago)
- Location:
- BasicCompiler64
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/CParameter.cpp
r31 r45 391 391 StackOffsetOfTempObject[i2] = pobj_sf->push(reg); 392 392 393 useTempParameters[i2] = true; 394 useTempObject = true; 395 396 types[i2].type = type; 397 types[i2].u.lpIndex = lpVarIndex; 393 bool result = CheckDifferentType( 394 DummyTypeInfo.type, 395 DummyTypeInfo.u.lpIndex, 396 type, 397 lpVarIndex, 398 FuncName, 399 i2); 400 401 if( result ){ 402 useTempParameters[i2] = true; 403 useTempObject = true; 404 405 types[i2].type = type; 406 types[i2].u.lpIndex = lpVarIndex; 407 } 398 408 } 399 409 } … … 415 425 //call destructor 416 426 int i5 = types[i2].u.pobj_Class->DestructorMemberSubIndex; 417 op_call( types[i2].u.pobj_Class->ppobj_Method[i5]->psi ); 427 if( i5 != -1 ){ 428 op_call( types[i2].u.pobj_Class->ppobj_Method[i5]->psi ); 429 } 418 430 419 431 //メモリを解放する -
BasicCompiler64/Compile_CallProc.cpp
r40 r45 546 546 pobj_parameter->BackupParameter(pdi->ParmNum); 547 547 548 //一時オブジェクトを生成 549 pobj_parameter->NewTempParameters( pdi->name,pdi->pParmInfo,pdi->ParmNum,pdi->ParmNum ); 550 548 551 //レジスタ、スタックフレームにセット 549 552 pobj_parameter->SetParameter(pdi->name,pdi->pParmInfo,pdi->ParmNum,pdi->ParmNum); … … 564 567 }*/ 565 568 569 //一時オブジェクトを破棄 570 pobj_parameter->DeleteTempParameters(); 571 566 572 //スタックフレームに存在する既存のパラメータを復元 567 573 pobj_parameter->RestoreParameter(pdi->ParmNum);
Note:
See TracChangeset
for help on using the changeset viewer.