void IOOperation::Dump() const { kprintf("io_operation at %p\n", this); kprintf(" parent: %p\n", fParent); kprintf(" status: %s\n", strerror(fStatus)); kprintf(" dma buffer: %p\n", fDMABuffer); kprintf(" offset: %-8Ld (original: %Ld)\n", fOffset, fOriginalOffset); kprintf(" length: %-8lu (original: %lu)\n", fLength, fOriginalLength); kprintf(" transferred: %lu\n", fTransferredBytes); kprintf(" block size: %lu\n", fBlockSize); kprintf(" saved vec index: %u\n", fSavedVecIndex); kprintf(" saved vec length: %u\n", fSavedVecLength); kprintf(" r/w: %s\n", IsWrite() ? "write" : "read"); kprintf(" phase: %s\n", fPhase == PHASE_READ_BEGIN ? "read begin" : fPhase == PHASE_READ_END ? "read end" : fPhase == PHASE_DO_ALL ? "do all" : "unknown"); kprintf(" partial begin: %s\n", fPartialBegin ? "yes" : "no"); kprintf(" partial end: %s\n", fPartialEnd ? "yes" : "no"); kprintf(" bounce buffer: %s\n", fUsesBounceBuffer ? "yes" : "no"); set_debug_variable("_parent", (addr_t)fParent); set_debug_variable("_buffer", (addr_t)fDMABuffer); }
void FakeDirectiveHandler::HandleBinaryOperator(DeclRefExpr * Original, Expr * Var, Expr * Next, vector<LocalStmtPair> WritePairs, bool ActualVar, string Struct) { BinaryOperator * BO = cast<BinaryOperator>(Next); CompilerInstance &CI = FullDirectives->GetCI(Original->getLocStart()); // a = b; if (BO->isAssignmentOp()) { // Var = b; if (IsWrite(BO, Var, CI)) { InsertAccess(Var, Original, true, WritePairs, ActualVar, Struct); // Var += b; if (BO->isCompoundAssignmentOp()) { InsertAccess(Var, Original, false, WritePairs, ActualVar, Struct); } // a = Var; } else { InsertAccess(Var, Original, false, WritePairs, ActualVar, Struct); } ActualVar = false; // a + b; } else { InsertAccess(Var, Original, false, WritePairs, ActualVar, Struct); ActualVar = false; } if (IsPointerType(Var) && IsPointerType(BO)) { WalkUpExpr(Original, BO, WritePairs, ActualVar, Struct); } }
void CLog::Write( const std::string sLog ) { printf( sLog.c_str() ); // ログ出力モードになっているかをチェック if( !IsWrite() ) return; // 今日の日付でファイルを作成する struct tm *date; time_t now; time(&now); date = localtime(&now); // ファイル名 char buffa[_MAX_PATH]; SHGetSpecialFolderPath(NULL, buffa, CSIDL_DESKTOPDIRECTORY, FALSE); sprintf_s( buffa, _MAX_PATH, "%s\\%04d%02d%02d.log", buffa, date->tm_year + 1900, date->tm_mon + 1 , date->tm_mday ); std::ostringstream os; os << std::setw(2) << date->tm_hour << ":" << std::setw(2) << date->tm_min << "\t" << sLog; CFileIO io; io.Write( os.str(), std::ios::app, buffa ); }