Ignore:
Timestamp:
Jul 31, 2007, 4:30:31 AM (17 years ago)
Author:
dai_9181
Message:
 
Location:
trunk/abdev/BasicCompiler_Common/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/CommonCodeGenerator.cpp

    r253 r254  
    301301void CodeGenerator::op_jmp_continue()
    302302{
    303     //op_jmp( GetContinueCodePos()-(pNativeCode->GetSize()+sizeof(long)), sizeof(long) );
    304 
    305     // TODO: 未完成(OpBuffer/obp廃止が整ったら上記のコードを有効にすべし)
    306 
    307     if( GetContinueCodePosOld() == -1 )
     303    ////////////////////////////////////
     304    // エラー検出(必要なくなったら消す)
     305    extern int obp;
     306    if( GetContinueCodePosOld()-obp != GetContinueCodePos()-pNativeCode->GetSize() )
     307    {
     308        int continueCodePosOld = GetContinueCodePosOld();
     309        int continueCodePos = GetContinueCodePos();
     310        int size = pNativeCode->GetSize();
     311        int test=0;
     312        SetError();
     313    }
     314    ////////////////////////////////////
     315
     316
     317    if( GetContinueCodePos() == -1 )
    308318    {
    309319        SetError(12,"Continue",cp);
    310320        return;
    311321    }
    312 
    313     extern int obp;
    314     op_jmp( GetContinueCodePosOld()-obp, sizeof(long), false, true );
     322    op_jmp( GetContinueCodePos() - pNativeCode->GetSize(), sizeof(long), false, true );
    315323}
    316324void CodeGenerator::op_jmp_exitsub()
  • trunk/abdev/BasicCompiler_Common/src/Const.cpp

    r206 r254  
    9292
    9393
    94 int Consts::GetBasicType(char *Name){
     94int Consts::GetBasicType(const char *Name){
    9595    CConst *pConst = GetObjectPtr(Name);
    9696
     
    9999    return pConst->GetType().GetBasicType();
    100100}
    101 _int64 Consts::GetWholeData(char *Name){
     101_int64 Consts::GetWholeData(const char *Name){
    102102    CConst *pConst = GetObjectPtr(Name);
    103103
     
    106106    return pConst->GetWholeData();
    107107}
    108 double Consts::GetDoubleData(char *Name){
     108double Consts::GetDoubleData(const char *Name){
    109109    CConst *pConst = GetObjectPtr(Name);
    110110
     
    113113    return pConst->GetDoubleData();
    114114}
    115 bool Consts::IsStringPtr( char *Name ){
     115bool Consts::IsStringPtr( const char *Name ){
    116116    CConst *pConst = GetObjectPtr(Name);
    117117
  • trunk/abdev/BasicCompiler_Common/src/LexicalScope.cpp

    r253 r254  
    128128
    129129            //mov rcx,qword ptr[rsp+offset]
     130            compiler.codeGenerator.localVarPertialSchedules.push_back(
    130131            compiler.codeGenerator.op_mov_RM(sizeof(_int64),REG_RCX,REG_RSP,
    131132                -pVar->GetOffsetAddress(),
    132133                MOD_BASE_DISP32,
    133                 Schedule::LocalVar);
     134                Schedule::None, true)
     135            );
    134136#else
    135137            //x86コード
Note: See TracChangeset for help on using the changeset viewer.