Exemple #1
0
void MappingContextTraits<PdbTpiStream, pdb::yaml::SerializationContext>::mapping(
    IO &IO, pdb::yaml::PdbTpiStream &Obj, pdb::yaml::SerializationContext &Context) {
  IO.mapOptional("Version", Obj.Version, PdbTpiV80);
  IO.mapRequired("Records", Obj.Records, Context);
}
Exemple #2
0
void MappingTraits<MCModuleYAML::Function>::mapping(IO &IO,
                                                    MCModuleYAML::Function &F) {
  IO.mapRequired("Name", F.Name);
  IO.mapRequired("BasicBlocks", F.BasicBlocks);
}
Exemple #3
0
void ScalarBitSetTraits<ELFYAML::ELF_EF>::bitset(IO &IO,
                                                 ELFYAML::ELF_EF &Value) {
  const auto *Object = static_cast<ELFYAML::Object *>(IO.getContext());
  assert(Object && "The IO context is not initialized");
#define BCase(X) IO.bitSetCase(Value, #X, ELF::X)
#define BCaseMask(X, M) IO.maskedBitSetCase(Value, #X, ELF::X, ELF::M)
  switch (Object->Header.Machine) {
  case ELF::EM_ARM:
    BCase(EF_ARM_SOFT_FLOAT);
    BCase(EF_ARM_VFP_FLOAT);
    BCaseMask(EF_ARM_EABI_UNKNOWN, EF_ARM_EABIMASK);
    BCaseMask(EF_ARM_EABI_VER1, EF_ARM_EABIMASK);
    BCaseMask(EF_ARM_EABI_VER2, EF_ARM_EABIMASK);
    BCaseMask(EF_ARM_EABI_VER3, EF_ARM_EABIMASK);
    BCaseMask(EF_ARM_EABI_VER4, EF_ARM_EABIMASK);
    BCaseMask(EF_ARM_EABI_VER5, EF_ARM_EABIMASK);
    break;
  case ELF::EM_MIPS:
    BCase(EF_MIPS_NOREORDER);
    BCase(EF_MIPS_PIC);
    BCase(EF_MIPS_CPIC);
    BCase(EF_MIPS_ABI2);
    BCase(EF_MIPS_32BITMODE);
    BCase(EF_MIPS_FP64);
    BCase(EF_MIPS_NAN2008);
    BCase(EF_MIPS_MICROMIPS);
    BCase(EF_MIPS_ARCH_ASE_M16);
    BCase(EF_MIPS_ARCH_ASE_MDMX);
    BCaseMask(EF_MIPS_ABI_O32, EF_MIPS_ABI);
    BCaseMask(EF_MIPS_ABI_O64, EF_MIPS_ABI);
    BCaseMask(EF_MIPS_ABI_EABI32, EF_MIPS_ABI);
    BCaseMask(EF_MIPS_ABI_EABI64, EF_MIPS_ABI);
    BCaseMask(EF_MIPS_MACH_3900, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_4010, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_4100, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_4650, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_4120, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_4111, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_SB1, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_OCTEON, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_XLR, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_OCTEON2, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_OCTEON3, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_5400, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_5900, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_5500, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_9000, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_LS2E, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_LS2F, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_MACH_LS3A, EF_MIPS_MACH);
    BCaseMask(EF_MIPS_ARCH_1, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_2, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_3, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_4, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_5, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_32, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_64, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_32R2, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_64R2, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_32R6, EF_MIPS_ARCH);
    BCaseMask(EF_MIPS_ARCH_64R6, EF_MIPS_ARCH);
    break;
  case ELF::EM_HEXAGON:
    BCase(EF_HEXAGON_MACH_V2);
    BCase(EF_HEXAGON_MACH_V3);
    BCase(EF_HEXAGON_MACH_V4);
    BCase(EF_HEXAGON_MACH_V5);
    BCase(EF_HEXAGON_ISA_V2);
    BCase(EF_HEXAGON_ISA_V3);
    BCase(EF_HEXAGON_ISA_V4);
    BCase(EF_HEXAGON_ISA_V5);
    break;
  case ELF::EM_AVR:
    BCase(EF_AVR_ARCH_AVR1);
    BCase(EF_AVR_ARCH_AVR2);
    BCase(EF_AVR_ARCH_AVR25);
    BCase(EF_AVR_ARCH_AVR3);
    BCase(EF_AVR_ARCH_AVR31);
    BCase(EF_AVR_ARCH_AVR35);
    BCase(EF_AVR_ARCH_AVR4);
    BCase(EF_AVR_ARCH_AVR51);
    BCase(EF_AVR_ARCH_AVR6);
    BCase(EF_AVR_ARCH_AVRTINY);
    BCase(EF_AVR_ARCH_XMEGA1);
    BCase(EF_AVR_ARCH_XMEGA2);
    BCase(EF_AVR_ARCH_XMEGA3);
    BCase(EF_AVR_ARCH_XMEGA4);
    BCase(EF_AVR_ARCH_XMEGA5);
    BCase(EF_AVR_ARCH_XMEGA6);
    BCase(EF_AVR_ARCH_XMEGA7);
    break;
  case ELF::EM_RISCV:
    BCase(EF_RISCV_RVC);
    BCaseMask(EF_RISCV_FLOAT_ABI_SOFT, EF_RISCV_FLOAT_ABI);
    BCaseMask(EF_RISCV_FLOAT_ABI_SINGLE, EF_RISCV_FLOAT_ABI);
    BCaseMask(EF_RISCV_FLOAT_ABI_DOUBLE, EF_RISCV_FLOAT_ABI);
    BCaseMask(EF_RISCV_FLOAT_ABI_QUAD, EF_RISCV_FLOAT_ABI);
    BCase(EF_RISCV_RVE);
    break;
  case ELF::EM_AMDGPU:
    BCaseMask(EF_AMDGPU_MACH_NONE, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_R600, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_R630, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_RS880, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_RV670, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_RV710, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_RV730, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_RV770, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_CEDAR, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_CYPRESS, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_JUNIPER, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_REDWOOD, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_SUMO, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_BARTS, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_CAICOS, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_CAYMAN, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_R600_TURKS, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX600, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX601, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX700, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX701, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX702, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX703, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX704, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX801, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX802, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX803, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX810, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX900, EF_AMDGPU_MACH);
    BCaseMask(EF_AMDGPU_MACH_AMDGCN_GFX902, EF_AMDGPU_MACH);
    BCase(EF_AMDGPU_XNACK);
    break;
  case ELF::EM_X86_64:
    break;
  default:
    llvm_unreachable("Unsupported architecture");
  }
#undef BCase
#undef BCaseMask
}
Exemple #4
0
  void test_connect_pipe() {
    IO* lhs = IO::allocate(state, G(io));
    IO* rhs = IO::allocate(state, G(io));

    TS_ASSERT(IO::connect_pipe(state, lhs, rhs)->true_p());
    TS_ASSERT_EQUALS(Fixnum::from(0), lhs->lineno());
    TS_ASSERT_EQUALS(Fixnum::from(0), rhs->lineno());
    TS_ASSERT(kind_of<IOBuffer>(lhs->ibuffer()));
    TS_ASSERT(kind_of<IOBuffer>(rhs->ibuffer()));
    int acc_mode = fcntl(lhs->to_fd(), F_GETFL);
    TS_ASSERT(acc_mode >= 0);
    TS_ASSERT_EQUALS(Fixnum::from(acc_mode), lhs->mode());
    acc_mode = fcntl(rhs->to_fd(), F_GETFL);
    TS_ASSERT(acc_mode >= 0);
    TS_ASSERT_EQUALS(Fixnum::from(acc_mode), rhs->mode());

    lhs->close(state);
    rhs->close(state);
  }
Exemple #5
0
void ScalarEnumerationTraits<MCAtom::AtomKind>::enumeration(
    IO &IO, MCAtom::AtomKind &Value) {
  IO.enumCase(Value, "Text", MCAtom::TextAtom);
  IO.enumCase(Value, "Data", MCAtom::DataAtom);
}
 static void mapping(IO &io, DataInCode &entry) {
   io.mapRequired("offset",       entry.offset);
   io.mapRequired("length",       entry.length);
   io.mapRequired("kind",         entry.kind);
 }
Exemple #7
0
  int rb_io_fd(VALUE io_handle) {
    NativeMethodEnvironment* env = NativeMethodEnvironment::get();

    IO* io = c_as<IO>(env->get_object(io_handle));
    return io->descriptor()->to_native();
  }
Exemple #8
0
 static void mapping(IO &Io, OpRec &Rec) {
   Io.mapRequired("op", Rec.OpName);
   Io.mapRequired("swift-args", Rec.SwiftArgs);
   Io.mapRequired("op-args", Rec.OpArgs);
   Io.mapRequired("file-map", Rec.FileMap);
 }
Exemple #9
0
 static void mapping(IO &Io, std::pair<U, V> &Pair) {
   Io.mapRequired("first", Pair.first);
   Io.mapRequired("second", Pair.second);
 }
Exemple #10
0
 static void enumeration(IO &io, llvm::pdb::PDB_Machine &Value) {
   io.enumCase(Value, "Invalid", PDB_Machine::Invalid);
   io.enumCase(Value, "Am33", PDB_Machine::Am33);
   io.enumCase(Value, "Amd64", PDB_Machine::Amd64);
   io.enumCase(Value, "Arm", PDB_Machine::Arm);
   io.enumCase(Value, "ArmNT", PDB_Machine::ArmNT);
   io.enumCase(Value, "Ebc", PDB_Machine::Ebc);
   io.enumCase(Value, "x86", PDB_Machine::x86);
   io.enumCase(Value, "Ia64", PDB_Machine::Ia64);
   io.enumCase(Value, "M32R", PDB_Machine::M32R);
   io.enumCase(Value, "Mips16", PDB_Machine::Mips16);
   io.enumCase(Value, "MipsFpu", PDB_Machine::MipsFpu);
   io.enumCase(Value, "MipsFpu16", PDB_Machine::MipsFpu16);
   io.enumCase(Value, "PowerPCFP", PDB_Machine::PowerPCFP);
   io.enumCase(Value, "R4000", PDB_Machine::R4000);
   io.enumCase(Value, "SH3", PDB_Machine::SH3);
   io.enumCase(Value, "SH3DSP", PDB_Machine::SH3DSP);
   io.enumCase(Value, "Thumb", PDB_Machine::Thumb);
   io.enumCase(Value, "WceMipsV2", PDB_Machine::WceMipsV2);
 }
Exemple #11
0
int main(int argv, char** argc)
{
    if (parseArgs(argv, argc)){
        return Config::EXIT_NORMAL;
    }

    Util::init();
    string key = entry();
    if (key.empty()){
        printc("no key provided!\n", ANSI_RED);
        print("run cle --help for more information\n");
        return Config::EXIT_NO_ENTRY;
    }

    printc("cle " + Config::vn + "\n", ANSI_BLUE);
    if (verbose()){
        print("opening entry " + entry() + "\n");             
    }

    Util::hideText();
    print("enter passphrase > ");
    string pass = IO::readPass();
    Util::showText();
    print();

    unsigned char* hash = new unsigned char[32];
    Util::fileHash((pass + key).c_str(), pass.size() + key.size(), hash);
    string path = Util::hexstr(hash, 32);
    if (verbose()){
        print("key hash:\n");
        print(path + "\n");
    }

    auto file = IO::readFile(path);
    if (file.fail()){
        print("key does not exist under passphrase.\n");
        if (IO::prompt("create it? [Y/n] > ") == "Y"){
            IO::newKey(path); 
            Crypt crypt(const_cast<char*>(pass.c_str()), pass.size());
            crypt.encrypt(path, path);
        } else{
            print("not creating key.\n");
        }
    } else{
        printc("entry for " + key + "\n\n", ANSI_BLUE);
        unsigned char* salt = Util::readSalt(path);
        Crypt crypt(const_cast<char*>(pass.c_str()), pass.size(), salt);
        crypt.decrypt(path, path);
    }
    
    return Config::EXIT_NORMAL;
}
Exemple #12
0
void MappingContextTraits<PdbInlineeInfo, SerializationContext>::mapping(
    IO &IO, PdbInlineeInfo &Obj, SerializationContext &Context) {
  IO.mapRequired("HasExtraFiles", Obj.HasExtraFiles);
  IO.mapRequired("Sites", Obj.Sites, Context);
}
Exemple #13
0
void MappingContextTraits<PdbModiStream, pdb::yaml::SerializationContext>::mapping(IO &IO, PdbModiStream &Obj, pdb::yaml::SerializationContext &Context) {
  IO.mapOptional("Signature", Obj.Signature, 4U);
  IO.mapRequired("Records", Obj.Symbols, Context);
}
Exemple #14
0
void MappingTraits<NamedStreamMapping>::mapping(IO &IO,
                                                NamedStreamMapping &Obj) {
  IO.mapRequired("Name", Obj.StreamName);
  IO.mapRequired("StreamNum", Obj.StreamNumber);
}
 static void mapping(IO &io, Segment& seg) {
   io.mapRequired("name",      seg.name);
   io.mapRequired("address",   seg.address);
   io.mapRequired("size",      seg.size);
   io.mapRequired("access",    seg.access);
 }
Exemple #16
0
bool XMLRW::ReadXml(char *XmlFile)
{
   // 定义一个TiXmlDocument类指针
    TiXmlDocument *pDoc = new TiXmlDocument(XmlFile);
    if (NULL==pDoc)
    {
        return false;
    }
    pDoc->LoadFile(TIXML_ENCODING_UTF8);
    TiXmlElement *pRootEle = pDoc->RootElement();
    if (NULL==pRootEle)
    {
        return false;
    }

	pDlgBlackInout->GetDlgItem(IDC_STATIC_INFO)->SetWindowText("已读取: 0 条");

	char temp[XMLRW_MAX_STR];
	struct BLACK_DATA_ST data={0};

	TiXmlElement *pNodeRow = NULL;
	TiXmlElement *pNodeData = NULL;

	unsigned long int i=1;

	for(pNodeRow = pRootEle; pNodeRow; pNodeRow = pNodeRow->NextSiblingElement())
	{
		memset(&data,0,sizeof(struct BLACK_DATA_ST));

		//获取信息
		if(ReadQueryNodeText(pNodeRow,pNodeRow,"ROW",temp))
		{
			pNodeData = NULL;
			ReadQueryNodeText(pNodeRow,pNodeData,"SCARNUMBER",data.plate);
		
			pNodeData = NULL;
			ReadQueryNodeText(pNodeRow,pNodeData,"SBRAND",data.brand);
		
			pNodeData = NULL;
			ReadQueryNodeText(pNodeRow,pNodeData,"SLOSTNAME",data.name);
	
			pNodeData = NULL;
			ReadQueryNodeText(pNodeRow,pNodeData,"SPHONE",data.Phone);
	
			pNodeData = NULL;
			ReadQueryNodeText(pNodeRow,pNodeData,"SMARK",data.other);

			//车牌号为空
			if(0==strlen(data.plate))
				continue ;
			
			//写入一条
#if ALLTAB_DETECT_CAR_MODE
			//汽车
			if(OracleIO.CAR_BlackTable_AddNew(data))
			
#else
			//电动车
			if(OracleIO.ELECAR_BlackTable_AddNew(data))
			
#endif
			{
				pDlgBlackInout->m_info.Format("已导入: %d 条",i);
				pDlgBlackInout->GetDlgItem(IDC_STATIC_INFO)->SetWindowText(pDlgBlackInout->m_info);

				i++;
			}
		}
		
	}

	return true;

}
 static void mapping(IO &io, RebaseLocation& rebase) {
   io.mapRequired("segment-index",   rebase.segIndex);
   io.mapRequired("segment-offset",  rebase.segOffset);
   io.mapOptional("kind",            rebase.kind,
                                     llvm::MachO::REBASE_TYPE_POINTER);
 }
Exemple #18
0
  void test_connect_pipe() {
    IO* lhs = IO::allocate(state, G(io));
    IO* rhs = IO::allocate(state, G(io));

    TS_ASSERT(IO::connect_pipe(state, lhs, rhs)->true_p());
    TS_ASSERT_EQUALS(Fixnum::from(0), lhs->lineno());
    TS_ASSERT_EQUALS(Fixnum::from(0), rhs->lineno());
    TS_ASSERT(kind_of<IOBuffer>(lhs->ibuffer()));
    TS_ASSERT(kind_of<IOBuffer>(rhs->ibuffer()));
    TS_ASSERT_EQUALS(Fixnum::from(O_RDONLY), lhs->mode());
    TS_ASSERT_EQUALS(Fixnum::from(O_WRONLY), rhs->mode());

    rhs->write(state, String::create(state, "hello"), 0);
    Object* obj = lhs->blocking_read(state, Fixnum::from(5));
    TS_ASSERT(kind_of<String>(obj));

    String* str = try_as<String>(obj);
    TS_ASSERT_EQUALS(std::string("hello"), str->c_str());

    lhs->close(state);
    rhs->close(state);
  }
void MappingTraits<ELFYAML::Object>::mapping(IO &IO, ELFYAML::Object &Object) {
  IO.mapRequired("FileHeader", Object.Header);
  IO.mapOptional("Sections", Object.Sections);
  IO.mapOptional("Symbols", Object.Symbols);
}
 static void enumeration(IO &io, HeaderFileType &value) {
   io.enumCase(value, "MH_OBJECT",   llvm::MachO::MH_OBJECT);
   io.enumCase(value, "MH_DYLIB",    llvm::MachO::MH_DYLIB);
   io.enumCase(value, "MH_EXECUTE",  llvm::MachO::MH_EXECUTE);
   io.enumCase(value, "MH_BUNDLE",   llvm::MachO::MH_BUNDLE);
 }
Exemple #21
0
int main()
#endif
// int main ()  // Linux users should use this line instead the previous one
{
	clock_t start;
	start = clock();

	int linesWon = 0;

	ofstream output("testBLEE.txt");

	// ----- Vars -----

	// Class for drawing staff, it uses SDL for the rendering. Change the methods of this class
	// in order to use a different renderer
	IO mIO;
	int mScreenHeight = mIO.GetScreenHeight();

	// Pieces
	Pieces mPieces;

	// Board
	Board mBoard = Board (&mPieces, mScreenHeight);

	// Game
	Game mGame (&mBoard, &mPieces, &mIO, mScreenHeight);

	// Get the actual clock milliseconds (SDL)
	unsigned long mTime1 = SDL_GetTicks() + 630;

	// ----- Main Loop -----

	while (!mIO.IsKeyDown (SDLK_ESCAPE))
	{
		// ----- Draw -----

		mIO.ClearScreen (); 		// Clear screen
		mGame.DrawScene ();			// Draw staff
		mIO.UpdateScreen ();		// Put the graphic context in the screen

		// ----- Input -----

		int mKey = mIO.Pollkey();

		switch (mKey)
		{
			case (SDLK_RIGHT): 
			{
				if (mBoard.IsPossibleMovement (mGame.mPosX + 1, mGame.mPosY, mGame.mPiece, mGame.mRotation))
					mGame.mPosX++;
					break;
			}

			case (SDLK_LEFT): 
			{
				if (mBoard.IsPossibleMovement (mGame.mPosX - 1, mGame.mPosY, mGame.mPiece, mGame.mRotation))
					mGame.mPosX--;	
				break;
			}

			case (SDLK_DOWN):
			{
				if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY + 1, mGame.mPiece, mGame.mRotation))
					mGame.mPosY++;	
				break;
			}

			case (SDLK_x):
			{
				// Check collision from up to down
				while (mBoard.IsPossibleMovement(mGame.mPosX, mGame.mPosY, mGame.mPiece, mGame.mRotation)) { mGame.mPosY++; }
	
				mBoard.StorePiece (mGame.mPosX, mGame.mPosY - 1, mGame.mPiece, mGame.mRotation);

				linesWon += mBoard.DeletePossibleLines ();

				if (mBoard.IsGameOver())
				{
					output << linesWon << endl;
					output <<(clock() - start)/ (double)CLOCKS_PER_SEC << endl;
					mIO.Getkey();
					exit(0);
				}

				mGame.CreateNewPiece();

				break;
			}

			case (SDLK_z):
			{
				if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY, mGame.mPiece, (mGame.mRotation + 1) % 4))
					mGame.mRotation = (mGame.mRotation + 1) % 4;

				break;
			}
		}

		// ----- Vertical movement -----

		unsigned long mTime2 = SDL_GetTicks() ;//+ 630;

		if ((mTime2 - mTime1) > WAIT_TIME)
		{
			if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY + 1, mGame.mPiece, mGame.mRotation))
			{
				mGame.mPosY++;
			}
			else
			{
				mBoard.StorePiece (mGame.mPosX, mGame.mPosY, mGame.mPiece, mGame.mRotation);

				mBoard.DeletePossibleLines ();

				if (mBoard.IsGameOver())
				{
					mIO.Getkey();
					exit(0);
				}

				mGame.CreateNewPiece();
			}

			mTime1 = SDL_GetTicks();
		}
	}
	return 0;
}
 static void bitset(IO &io, FileFlags &value) {
   io.bitSetCase(value, "MH_TWOLEVEL",
                         llvm::MachO::MH_TWOLEVEL);
   io.bitSetCase(value, "MH_SUBSECTIONS_VIA_SYMBOLS",
                         llvm::MachO::MH_SUBSECTIONS_VIA_SYMBOLS);
 }
 static void enumeration(IO &inputOutput, TriState &value)
 {
     inputOutput.enumCase(value, "true", TriState::TRUE);
     inputOutput.enumCase(value, "false", TriState::FALSE);
 }
 static void enumeration(IO &io, SectionType &value) {
   io.enumCase(value, "S_REGULAR",
                       llvm::MachO::S_REGULAR);
   io.enumCase(value, "S_ZEROFILL",
                       llvm::MachO::S_ZEROFILL);
   io.enumCase(value, "S_CSTRING_LITERALS",
                       llvm::MachO::S_CSTRING_LITERALS);
   io.enumCase(value, "S_4BYTE_LITERALS",
                       llvm::MachO::S_4BYTE_LITERALS);
   io.enumCase(value, "S_8BYTE_LITERALS",
                       llvm::MachO::S_8BYTE_LITERALS);
   io.enumCase(value, "S_LITERAL_POINTERS",
                       llvm::MachO::S_LITERAL_POINTERS);
   io.enumCase(value, "S_NON_LAZY_SYMBOL_POINTERS",
                       llvm::MachO::S_NON_LAZY_SYMBOL_POINTERS);
   io.enumCase(value, "S_LAZY_SYMBOL_POINTERS",
                       llvm::MachO::S_LAZY_SYMBOL_POINTERS);
   io.enumCase(value, "S_SYMBOL_STUBS",
                       llvm::MachO::S_SYMBOL_STUBS);
   io.enumCase(value, "S_MOD_INIT_FUNC_POINTERS",
                       llvm::MachO::S_MOD_INIT_FUNC_POINTERS);
   io.enumCase(value, "S_MOD_TERM_FUNC_POINTERS",
                       llvm::MachO::S_MOD_TERM_FUNC_POINTERS);
   io.enumCase(value, "S_COALESCED",
                       llvm::MachO::S_COALESCED);
   io.enumCase(value, "S_GB_ZEROFILL",
                       llvm::MachO::S_GB_ZEROFILL);
   io.enumCase(value, "S_INTERPOSING",
                       llvm::MachO::S_INTERPOSING);
   io.enumCase(value, "S_16BYTE_LITERALS",
                       llvm::MachO::S_16BYTE_LITERALS);
   io.enumCase(value, "S_DTRACE_DOF",
                       llvm::MachO::S_DTRACE_DOF);
   io.enumCase(value, "S_LAZY_DYLIB_SYMBOL_POINTERS",
                       llvm::MachO::S_LAZY_DYLIB_SYMBOL_POINTERS);
   io.enumCase(value, "S_THREAD_LOCAL_REGULAR",
                       llvm::MachO::S_THREAD_LOCAL_REGULAR);
   io.enumCase(value, "S_THREAD_LOCAL_ZEROFILL",
                       llvm::MachO::S_THREAD_LOCAL_ZEROFILL);
   io.enumCase(value, "S_THREAD_LOCAL_VARIABLES",
                       llvm::MachO::S_THREAD_LOCAL_VARIABLES);
   io.enumCase(value, "S_THREAD_LOCAL_VARIABLE_POINTERS",
                       llvm::MachO::S_THREAD_LOCAL_VARIABLE_POINTERS);
   io.enumCase(value, "S_THREAD_LOCAL_INIT_FUNCTION_POINTERS",
                       llvm::MachO::S_THREAD_LOCAL_INIT_FUNCTION_POINTERS);
 }
Exemple #25
0
void MappingTraits<MCModuleYAML::Inst>::mapping(IO &IO, MCModuleYAML::Inst &I) {
  IO.mapRequired("Inst", I.Opcode);
  IO.mapRequired("Size", I.Size);
  IO.mapRequired("Ops", I.Operands);
}
 static void bitset(IO &io, SymbolScope &value) {
   io.bitSetCase(value, "N_EXT",   llvm::MachO::N_EXT);
   io.bitSetCase(value, "N_PEXT",  llvm::MachO::N_PEXT);
 }
Exemple #27
0
void MappingTraits<MCModuleYAML::Module>::mapping(IO &IO,
                                                  MCModuleYAML::Module &M) {
  IO.mapRequired("Atoms", M.Atoms);
  IO.mapOptional("Functions", M.Functions);
}
  static void enumeration(IO &io, RelocationInfoType &value) {
    YamlContext *info = reinterpret_cast<YamlContext *>(io.getContext());
    assert(info != nullptr);
    NormalizedFile *file = info->_normalizeMachOFile;
    assert(file != nullptr);
    switch (file->arch) {
    case lld::MachOLinkingContext::arch_x86_64:
      io.enumCase(value, "X86_64_RELOC_UNSIGNED",
                                  llvm::MachO::X86_64_RELOC_UNSIGNED);
      io.enumCase(value, "X86_64_RELOC_SIGNED",
                                  llvm::MachO::X86_64_RELOC_SIGNED);
      io.enumCase(value, "X86_64_RELOC_BRANCH",
                                  llvm::MachO::X86_64_RELOC_BRANCH);
      io.enumCase(value, "X86_64_RELOC_GOT_LOAD",
                                  llvm::MachO::X86_64_RELOC_GOT_LOAD);
      io.enumCase(value, "X86_64_RELOC_GOT",
                                  llvm::MachO::X86_64_RELOC_GOT);
      io.enumCase(value, "X86_64_RELOC_SUBTRACTOR",
                                  llvm::MachO::X86_64_RELOC_SUBTRACTOR);
      io.enumCase(value, "X86_64_RELOC_SIGNED_1",
                                  llvm::MachO::X86_64_RELOC_SIGNED_1);
      io.enumCase(value, "X86_64_RELOC_SIGNED_2",
                                  llvm::MachO::X86_64_RELOC_SIGNED_2);
      io.enumCase(value, "X86_64_RELOC_SIGNED_4",
                                  llvm::MachO::X86_64_RELOC_SIGNED_4);
      io.enumCase(value, "X86_64_RELOC_TLV",
                                  llvm::MachO::X86_64_RELOC_TLV);
      break;
    case lld::MachOLinkingContext::arch_x86:
      io.enumCase(value, "GENERIC_RELOC_VANILLA",
                                  llvm::MachO::GENERIC_RELOC_VANILLA);
      io.enumCase(value, "GENERIC_RELOC_PAIR",
                                  llvm::MachO::GENERIC_RELOC_PAIR);
      io.enumCase(value, "GENERIC_RELOC_SECTDIFF",
                                  llvm::MachO::GENERIC_RELOC_SECTDIFF);
      io.enumCase(value, "GENERIC_RELOC_LOCAL_SECTDIFF",
                                  llvm::MachO::GENERIC_RELOC_LOCAL_SECTDIFF);
      io.enumCase(value, "GENERIC_RELOC_TLV",
                                  llvm::MachO::GENERIC_RELOC_TLV);
      break;
    case lld::MachOLinkingContext::arch_armv6:
    case lld::MachOLinkingContext::arch_armv7:
    case lld::MachOLinkingContext::arch_armv7s:
       io.enumCase(value, "ARM_RELOC_VANILLA",
                                  llvm::MachO::ARM_RELOC_VANILLA);
      io.enumCase(value, "ARM_RELOC_PAIR",
                                  llvm::MachO::ARM_RELOC_PAIR);
      io.enumCase(value, "ARM_RELOC_SECTDIFF",
                                  llvm::MachO::ARM_RELOC_SECTDIFF);
      io.enumCase(value, "ARM_RELOC_LOCAL_SECTDIFF",
                                  llvm::MachO::ARM_RELOC_LOCAL_SECTDIFF);
      io.enumCase(value, "ARM_RELOC_BR24",
                                  llvm::MachO::ARM_RELOC_BR24);
      io.enumCase(value, "ARM_THUMB_RELOC_BR22",
                                  llvm::MachO::ARM_THUMB_RELOC_BR22);
      io.enumCase(value, "ARM_RELOC_HALF",
                                  llvm::MachO::ARM_RELOC_HALF);
      io.enumCase(value, "ARM_RELOC_HALF_SECTDIFF",
                                  llvm::MachO::ARM_RELOC_HALF_SECTDIFF);
      break;
    case lld::MachOLinkingContext::arch_arm64:
      io.enumCase(value, "ARM64_RELOC_UNSIGNED",
                                  llvm::MachO::ARM64_RELOC_UNSIGNED);
      io.enumCase(value, "ARM64_RELOC_SUBTRACTOR",
                                  llvm::MachO::ARM64_RELOC_SUBTRACTOR);
      io.enumCase(value, "ARM64_RELOC_BRANCH26",
                                  llvm::MachO::ARM64_RELOC_BRANCH26);
      io.enumCase(value, "ARM64_RELOC_PAGE21",
                                  llvm::MachO::ARM64_RELOC_PAGE21);
      io.enumCase(value, "ARM64_RELOC_PAGEOFF12",
                                  llvm::MachO::ARM64_RELOC_PAGEOFF12);
      io.enumCase(value, "ARM64_RELOC_GOT_LOAD_PAGE21",
                                  llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGE21);
      io.enumCase(value, "ARM64_RELOC_GOT_LOAD_PAGEOFF12",
                                  llvm::MachO::ARM64_RELOC_GOT_LOAD_PAGEOFF12);
      io.enumCase(value, "ARM64_RELOC_POINTER_TO_GOT",
                                  llvm::MachO::ARM64_RELOC_POINTER_TO_GOT);
      io.enumCase(value, "ARM64_RELOC_TLVP_LOAD_PAGE21",
                                  llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGE21);
      io.enumCase(value, "ARM64_RELOC_TLVP_LOAD_PAGEOFF12",
                                  llvm::MachO::ARM64_RELOC_TLVP_LOAD_PAGEOFF12);
      io.enumCase(value, "ARM64_RELOC_ADDEND",
                                  llvm::MachO::ARM64_RELOC_ADDEND);
      break;
    default:
      llvm_unreachable("unknown architecture");
    }
 }
Exemple #29
0
void MappingTraits<ELFYAML::LocalGlobalWeakSymbols>::mapping(
    IO &IO, ELFYAML::LocalGlobalWeakSymbols &Symbols) {
  IO.mapOptional("Local", Symbols.Local);
  IO.mapOptional("Global", Symbols.Global);
  IO.mapOptional("Weak", Symbols.Weak);
}
Exemple #30
0
void MappingTraits<StreamBlockList>::mapping(IO &IO, StreamBlockList &SB) {
  IO.mapRequired("Stream", SB.Blocks);
}