Changeset 318 in dev for trunk/abdev/BasicCompiler64


Ignore:
Timestamp:
Sep 9, 2007, 1:09:00 AM (17 years ago)
Author:
dai_9181
Message:

64bit版でコンパイルできるようにした。

Location:
trunk/abdev/BasicCompiler64
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/BasicCompiler.vcproj

    r309 r318  
    269269                >
    270270            </File>
     271            <File
     272                RelativePath="..\BasicCompiler_Common\include\ver.h"
     273                >
     274            </File>
    271275            <Filter
    272276                Name="言語対応文字列"
  • trunk/abdev/BasicCompiler64/Compile_ProcOp.cpp

    r317 r318  
    649649        {
    650650            //整数型
    651             SetReg_WholeVariable(returnType.GetSize(),&RelativeVar,REG_RAX);
     651            SetReg_WholeVariable(returnType,&RelativeVar,REG_RAX);
    652652        }
    653653        else SetError(300,NULL,cp);
  • trunk/abdev/BasicCompiler64/MakePeHdr.cpp

    r317 r318  
    124124    //////////////////
    125125    // データテーブル
    126     compiler.GetObjectModule().dataTable.Clear();
    127126    if(bDebugCompile){
    128127        compiler.GetObjectModule().dataTable.Add( (long)0x00000002 );
     
    148147    AddSourceCode(temp);
    149148    HeapDefaultFree(temp);
    150 
    151     //関数ポインタ情報を初期化
    152     compiler.GetObjectModule().meta.GetProcPointers().clear();
    153149
    154150    // 名前空間情報を取得
     
    338334        {
    339335            //sub rsp,スタックフレームサイズ
    340             compiler.codeGenerator.op_sub_RV( sizeof(_int64), REG_RSP, 0x100 );
     336            compiler.codeGenerator.op_sub_RV( sizeof(_int64), REG_RSP, 0x108 );
    341337
    342338            if(bDebugCompile){
     
    368364
    369365            //add rsp,スタックフレームサイズ
    370             compiler.codeGenerator.op_add_RV( REG_RSP, 0x100 );
     366            compiler.codeGenerator.op_add_RV( REG_RSP, 0x108 );
    371367
    372368            //xor rax,rax(raxを0に初期化する)
     
    810806    extern BOOL bError;
    811807    if(bDebugCompile&&bError==0){
     808        CompileMessage( "デバッグ情報を生成しています。" );
     809
    812810        pobj_DebugSection->make();
     811
     812        CompileMessage( "デバッグ情報の生成が完了しました。" );
    813813    }
    814814
  • trunk/abdev/BasicCompiler64/NumOpe.cpp

    r316 r318  
    605605            if(baseType.IsReal()) resultType=baseType;
    606606
    607             int xmmReg = REG_XMM0;
     607            int xmmReg = pobj_reg->GetNextXmmReg();
     608            *pReg = xmmReg;
    608609
    609610            if(resultType.IsDouble()){
Note: See TracChangeset for help on using the changeset viewer.