Ignore:
Timestamp:
Aug 29, 2007, 9:05:22 AM (17 years ago)
Author:
dai_9181
Message:

静的リンクライブラリにより、複数のグローバル領域が存在することになったのでそれぞれを関数ベースに分けた

File:
1 edited

Legend:

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

    r266 r308  
    99#include "Opcode.h"
    1010
    11 void SetVariableFromRax(int VarType,int CalcType,RELATIVE_VAR *pRelativeVar){
     11void SetVariableFromRax( const Type &varType, int CalcType,RELATIVE_VAR *pRelativeVar){
    1212    /////////////////////////////////////////////////
    1313    // raxの内容を変数にコピーするコードを抽出
    1414    /////////////////////////////////////////////////
    1515
    16     if(VarType==DEF_BOOLEAN){
     16    if( varType.IsBoolean() )
     17    {
    1718        //bool
    1819        SetBooleanVariable(CalcType,pRelativeVar);
    1920    }
    20     else if( IsRealNumberType( VarType ) ){
     21    else if( varType.IsReal() )
     22    {
    2123        // Double/Single型変数へレジスタの値を代入
    22         SetRealVariable(VarType, CalcType, pRelativeVar);
    23     }
    24     else if( IsWholeNumberType( VarType ) || VarType == DEF_OBJECT ){
    25         int typeSize = GetTypeSize( VarType, -1 );
    26 
     24        SetRealVariable(varType.GetBasicType(), CalcType, pRelativeVar);
     25    }
     26    else if( varType.IsWhole() || varType.IsObject() )
     27    {
    2728        //整数変数へraxの値を格納する
    28         SetWholeVariable( typeSize, CalcType, pRelativeVar );
     29        SetWholeVariable( varType.GetSize(), CalcType, pRelativeVar );
    2930    }
    3031    else{
     
    265266    // rax(実数はxmm0)の内容を変数にコピー
    266267    /////////////////////////////////////////////////
    267     SetVariableFromRax(varType.GetBasicType(),calcType.GetBasicType(),&VarRelativeVar);
     268    SetVariableFromRax(varType,calcType.GetBasicType(),&VarRelativeVar);
    268269}
Note: See TracChangeset for help on using the changeset viewer.