Changeset 55 in dev for BasicCompiler64/Compile_Var.cpp


Ignore:
Timestamp:
Feb 13, 2007, 3:14:57 AM (18 years ago)
Author:
dai_9181
Message:

・コマンドラインオプション "/unicode" に対応。
・Unicode文字セットを使用する場合に "UNICODE" が自動的に#defineされるようにしました。
・SByte型(8ビット符号付き整数型)を追加。
・Char型を文字型に変更。
・プロジェクトオプションから「Unicode文字セットを使用する」チェックを選択できるようにしました。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/Compile_Var.cpp

    r50 r55  
    909909    else if(type==DEF_LONG||type==DEF_DWORD)
    910910        *(DWORD *)(initGlobalBuf+offset)=(DWORD)i64data;
    911     else if(type==DEF_INTEGER||type==DEF_WORD)
     911    else if(type==DEF_INTEGER||type==DEF_WORD || (isUnicode&&type==DEF_CHAR))
    912912        *(WORD *)(initGlobalBuf+offset)=(WORD)i64data;
    913     else if(type==DEF_CHAR||type==DEF_BYTE||type==DEF_BOOLEAN)
     913    else if(type==DEF_SBYTE||type==DEF_BYTE||type==DEF_BOOLEAN || (isUnicode==false&&type==DEF_CHAR))
    914914        *(BYTE *)(initGlobalBuf+offset)=(BYTE)i64data;
    915915
     
    10791079        obp+=sizeof(long)+sizeof(long);
    10801080    }
    1081     else if(type==DEF_INTEGER||type==DEF_WORD){
     1081    else if(type==DEF_INTEGER||type==DEF_WORD || (isUnicode&&type==DEF_CHAR)){
    10821082        //mov word ptr[rsp+offset],value
    10831083        op_mov_MV(sizeof(short),REG_RSP,offset,USE_OFFSET,(int)i64data);
     
    10861086        obp+=sizeof(long)+sizeof(short);
    10871087    }
    1088     else if(type==DEF_CHAR||type==DEF_BYTE||type==DEF_BOOLEAN){
     1088    else if(type==DEF_SBYTE||type==DEF_BYTE||type==DEF_BOOLEAN || (isUnicode==false&&type==DEF_CHAR)){
    10891089        //mov byte ptr[rsp+offset],value
    10901090        op_mov_MV(sizeof(char),REG_RSP,offset,USE_OFFSET,(int)i64data);
Note: See TracChangeset for help on using the changeset viewer.