Ignore:
Timestamp:
Mar 19, 2012, 1:59:48 AM (12 years ago)
Author:
イグトランス (egtra)
Message:

egtraブランチの内容をマージ。

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/ab5.0/abdev

    • Property svn:ignore set to
      *.opensdf
      *.sdf
      *.suo
      *.user
      int
      ipch
      out
  • trunk/ab5.0/abdev/compiler_x64/Opcode.h

    r704 r828  
    11#pragma once
     2
     3#include <array>
    24
    35#include "MachineFixed.h"
     
    3739        , sourceCodePos( sourceCodePos )
    3840    {
     41    }
     42
     43    WithInfo(WithInfo&& y)
     44        : name(std::move(y.name))
     45        , sourceCodePos(std::move(y.sourceCodePos))
     46    {
     47    }
     48
     49    WithInfo(WithInfo const& y)
     50        : name(y.name)
     51        , sourceCodePos(y.sourceCodePos)
     52    {
     53    }
     54
     55    WithInfo& operator =(WithInfo&& y)
     56    {
     57        name = std::move(y.name);
     58        sourceCodePos = std::move(y.sourceCodePos);
     59        return *this;
     60    }
     61
     62    WithInfo& operator =(WithInfo const& y)
     63    {
     64        return *this = std::move(WithInfo(y));
    3965    }
    4066};
     
    75101
    76102    void error_check(void);
     103
     104private:
     105    StackFrame(StackFrame const&);
     106    StackFrame& operator =(StackFrame const&);
    77107};
    78108extern StackFrame *pobj_sf;
     
    93123    void backup();
    94124    void restore();
     125
     126private:
     127    CBlockReg(CBlockReg const&);
     128    CBlockReg& operator =(CBlockReg const&);
    95129};
    96130extern CBlockReg *pobj_BlockReg;
     
    101135
    102136    //利用可能なレジスタを列挙する関数
    103     void EnumRegister(int *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg);
    104 
    105     int array_UseReg[16],sp_UseReg;
    106 
    107     int array_XmmReg[16];
     137    void EnumRegister(int const *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg);
     138
     139    std::array<int, 16> array_UseReg;
     140    int sp_UseReg;
     141
     142    std::array<int, 16> array_XmmReg;
    108143    int sp_XmmReg;
    109144
     
    113148    CRegister(){};
    114149    CRegister(int AnswerReg);
     150   
     151    CRegister(CRegister const& y)
     152        : array_UseReg(y.array_UseReg)
     153        , sp_UseReg(y.sp_UseReg)
     154        , array_XmmReg(y.array_XmmReg)
     155        , sp_XmmReg(y.sp_XmmReg)
     156        , init_sp_reg(y.init_sp_reg)
     157        , init_sp_xmm_reg(y.init_sp_xmm_reg)
     158    {
     159    }
     160
     161    CRegister& operator =(CRegister const& y)
     162    {
     163        array_UseReg = y.array_UseReg;
     164        sp_UseReg = y.sp_UseReg;
     165        array_XmmReg = y.array_XmmReg;
     166        sp_XmmReg = y.sp_XmmReg;
     167        init_sp_reg = y.init_sp_reg;
     168        init_sp_xmm_reg = y.init_sp_xmm_reg;
     169        return *this;
     170    }
     171
    115172    ~CRegister(){};
    116173
     
    313370    void BackupParameter(int pi_num);
    314371    void RestoreParameter(int pi_num);
     372
     373private:
     374    ParamImpl(ParamImpl const&);
     375    ParamImpl& operator =(ParamImpl const&);
    315376};
    316377
     
    325386    void lock(int level);
    326387    void unlock(int level);
     388
     389private:
     390    CDBLockParms(CDBLockParms const&);
     391    CDBLockParms& operator =(CDBLockParms const&);
    327392};
    328393
Note: See TracChangeset for help on using the changeset viewer.