error: ‘z_size_t’ does not name a type

在基于银河麒麟Linux系统,x86_64架构和gcc4.9.3编译器的环境中,遇到zlib.h头文件引用错误。原来的问题在于代码中包含了相对路径的头文件,即`#include../../Sep4/Dependence/zlib-1.2.11/zlib.h`。正确的做法是直接使用系统标准路径,改为`#includezlib.h`,这表明zlib库已被正确安装并在系统路径中可找到。

环境:linux,kylin(银河麒麟),x86_64,gcc4.9.3

分析:zlib.h引用不正确

问题代码:#include "../../Sep4/Dependence/zlib-1.2.11/zlib.h"

解决:#include "zlib.h"

 

 

 

请仔细阅读和分析下面函数 1. 保持原始的功能逻辑不变 2. 已经给定的结构体名字和元素不要更改 3. 程序内部错误和异常使用英文, 其他添加中文注释说明 4. 不使用 auto,使用显式 for 循环 5. 结构体采用32位定义 6. 不要使用小函数,使用一个函数进行部署 7. 实现全部功能,完整可编译的代码 8. 提高执行效率,降低计算复杂度 HDDMDevice *__fastcall HDDMDeviceCache::loadDevice( HDDMDeviceCache *this, const std::string *archFilePath, const std::string *deviceFilePath, const std::string *templatePath, const std::string *nodeTemplatePath) { int v6; // eax __int64 v7; // r15 __int64 v8; // r14 __int64 n128; // r13 _QWORD *s1_1; // r14 HDDMDevice *Device_2; // rbx _QWORD *s2_1; // rsi size_t n; // rdx bool v15; // zf HDDMDevice *Device_1; // rax const std::string *p_qword160; // r12 HDConfig *v18; // rbx unsigned __int64 v19; // rbx HEXInternalException *v20; // rbx char isDerived; // al char ValueAsBoolERKSs; // bl char ValueAsBoolERKSs_1; // bl unsigned __int16 word4; // si unsigned __int16 word6; // cx __int64 v26; // rdx unsigned __int64 v27; // rbx __int64 v28; // rdx __int64 v29; // rdi __int64 v30; // rax __int64 v31; // rcx __int64 v32; // rsi _QWORD *v33; // r12 __int64 v34; // rdx unsigned __int64 v35; // rax unsigned int v36; // ebp __int64 v37; // rcx unsigned int v38; // edi int v39; // r8d int v40; // edx int v41; // esi __int64 v42; // rcx int v43; // r9d int v44; // r10d __int16 n3; // cx unsigned int v46; // r14d __int64 v47; // r13 __int64 v48; // r13 __int64 v49; // r13 __int64 v50; // r8 const HDDMTilePort *s1_4; // r13 __int64 v52; // r8 std::string *v53; // rax _QWORD *v54; // r14 __int64 v55; // r15 __int64 v56; // rax __int64 v57; // r8 __int64 v58; // r14 __int64 v59; // rax unsigned int v60; // r15d unsigned int v61; // r14d __int64 v62; // r14 __int64 v63; // rax __int64 v64; // r8 int *insert_hint_unique_pos_3; // rdx int *insert_hint_unique_pos_2; // r15 int *insert_hint_unique_pos_4; // r14 __int64 insert_hint_unique_pos_5; // rax __int64 insert_hint_unique_pos; // rax __int64 v70; // rdx _BOOL8 v71; // rdi unsigned __int64 v72; // r14 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12; // rdx int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__13; // rax __int64 v77; // rdx _BOOL8 v78; // rdi int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15; // rdx HDDMTile *v80; // rsi int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5; // r15 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16; // r14 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17; // rax HDDMTile *v84; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3; // rax __int64 v86; // rdx _BOOL8 v87; // rdi unsigned __int64 v88; // r14 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18; // rdx int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6; // rax __int64 v93; // rdx _BOOL8 v94; // rdi unsigned int v95; // r14d unsigned int v96; // r15d __int64 v97; // r13 __int64 v98; // r13 __int64 v99; // r13 __int64 v100; // r13 __int64 v101; // r13 __int64 v102; // r13 __int64 v103; // r13 __int64 v104; // rax __int64 v105; // rdx int v106; // eax __int64 v107; // rax int v108; // ecx unsigned int v109; // ebx __int64 v110; // rdx int v111; // ebp __int64 v112; // rax __int64 v113; // rax __int64 v114; // rax __int64 qwordA8; // rdx __int64 v116; // r13 int v117; // r14d int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21; // rax unsigned __int64 v119; // r12 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10; // rbx __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22; // rax int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9; // rax __int64 v124; // rdx _BOOL8 v125; // rdi int v126; // ebx __int64 v127; // rax __int64 v128; // rax __int64 v129; // rax __int64 TileType; // rbx int v131; // eax __int64 v132; // rdx __int64 v133; // rcx __int64 v134; // rax __int64 TileTypeERKSs; // rbx int v136; // eax __int64 v137; // rdx __int64 v138; // rcx __int64 v139; // rax HPAParamMgr *ParamMgrEv; // rbp char ValueAsBoolERKSs_2; // bl const char *s1_3; // rbp HDDMInactiveExceptionAccess *v143; // rbp char v144; // bl google::protobuf::Message *message; // rdx HEXDataException *v146; // rbp HDDMDevice **v147; // rbx __int64 v148; // rax __int64 v149; // rax HDDMOracle *v150; // rbx HEXDataException *exception; // rbx char *DEBUG:_Request_device_load:_%s__%s_n; // [rsp+0h] [rbp-AC8h] __int64 v153; // [rsp+8h] [rbp-AC0h] int v154; // [rsp+10h] [rbp-AB8h] HDDMTilePort **p_s1; // [rsp+20h] [rbp-AA8h] std::string *v158; // [rsp+30h] [rbp-A98h] std::string *v160; // [rsp+58h] [rbp-A70h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19; // [rsp+68h] [rbp-A60h] unsigned int insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_a; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_pos_1; // [rsp+68h] [rbp-A60h] unsigned int v168; // [rsp+74h] [rbp-A54h] HDDMDevice *Device; // [rsp+98h] [rbp-A30h] __int64 v170; // [rsp+A0h] [rbp-A28h] __int64 v171; // [rsp+C0h] [rbp-A08h] char ValueAsBool; // [rsp+CBh] [rbp-9FDh] unsigned int v173; // [rsp+CCh] [rbp-9FCh] char v174; // [rsp+E5h] [rbp-9E3h] BYREF char v175; // [rsp+E7h] [rbp-9E1h] BYREF char v176; // [rsp+E9h] [rbp-9DFh] BYREF char v177; // [rsp+EAh] [rbp-9DEh] BYREF char v178; // [rsp+ECh] [rbp-9DCh] BYREF char v179; // [rsp+EDh] [rbp-9DBh] BYREF char v180; // [rsp+EFh] [rbp-9D9h] BYREF unsigned __int16 xngFileType[8]; // [rsp+F0h] [rbp-9D8h] BYREF unsigned __int16 xngFileType_1[8]; // [rsp+100h] [rbp-9C8h] BYREF unsigned __int16 p_xngFileVersion[7]; // [rsp+110h] [rbp-9B8h] BYREF unsigned __int16 xngFileVersion; // [rsp+11Eh] [rbp-9AAh] BYREF _QWORD v185[2]; // [rsp+120h] [rbp-9A8h] BYREF _QWORD v186[2]; // [rsp+130h] [rbp-998h] BYREF _QWORD v187[2]; // [rsp+140h] [rbp-988h] BYREF _QWORD v188[2]; // [rsp+150h] [rbp-978h] BYREF __int64 v189; // [rsp+160h] [rbp-968h] BYREF __int64 v190; // [rsp+170h] [rbp-958h] BYREF int v191[2]; // [rsp+180h] [rbp-948h] BYREF int v192[2]; // [rsp+190h] [rbp-938h] BYREF _QWORD v193[2]; // [rsp+1A0h] [rbp-928h] BYREF _QWORD v194[2]; // [rsp+1B0h] [rbp-918h] BYREF _QWORD v195[2]; // [rsp+1C0h] [rbp-908h] BYREF _QWORD deviceFilePath_1[2]; // [rsp+1F0h] [rbp-8D8h] BYREF _QWORD v197[2]; // [rsp+200h] [rbp-8C8h] BYREF __int64 v198; // [rsp+210h] [rbp-8B8h] BYREF __int64 v199; // [rsp+220h] [rbp-8A8h] BYREF _QWORD v200[2]; // [rsp+230h] [rbp-898h] BYREF _QWORD v201[2]; // [rsp+240h] [rbp-888h] BYREF _QWORD v202[2]; // [rsp+250h] [rbp-878h] BYREF _QWORD v203[2]; // [rsp+260h] [rbp-868h] BYREF _QWORD v204[2]; // [rsp+270h] [rbp-858h] BYREF _QWORD v205[2]; // [rsp+280h] [rbp-848h] BYREF _QWORD v206[2]; // [rsp+2A0h] [rbp-828h] BYREF _QWORD v207[2]; // [rsp+2B0h] [rbp-818h] BYREF _QWORD v208[2]; // [rsp+2C0h] [rbp-808h] BYREF _QWORD v209[2]; // [rsp+2D0h] [rbp-7F8h] BYREF _QWORD v210[2]; // [rsp+2F0h] [rbp-7D8h] BYREF _QWORD v211[2]; // [rsp+300h] [rbp-7C8h] BYREF _QWORD v212[2]; // [rsp+310h] [rbp-7B8h] BYREF _QWORD v213[2]; // [rsp+320h] [rbp-7A8h] BYREF _QWORD v214[2]; // [rsp+330h] [rbp-798h] BYREF _QWORD v215[2]; // [rsp+340h] [rbp-788h] BYREF _QWORD v216[2]; // [rsp+350h] [rbp-778h] BYREF _QWORD v217[2]; // [rsp+360h] [rbp-768h] BYREF _QWORD v218[2]; // [rsp+370h] [rbp-758h] BYREF _QWORD v219[2]; // [rsp+380h] [rbp-748h] BYREF _QWORD v220[2]; // [rsp+390h] [rbp-738h] BYREF unsigned int v221[4]; // [rsp+3A0h] [rbp-728h] BYREF _QWORD v222[2]; // [rsp+3B0h] [rbp-718h] BYREF HDDMTile *v223[2]; // [rsp+3C0h] [rbp-708h] BYREF HDDMTilePort *p_s1_1[2]; // [rsp+3D0h] [rbp-6F8h] BYREF __int64 v225; // [rsp+3E0h] [rbp-6E8h] BYREF __int64 v226; // [rsp+3F0h] [rbp-6D8h] BYREF _QWORD v227[2]; // [rsp+400h] [rbp-6C8h] BYREF _QWORD v228[2]; // [rsp+410h] [rbp-6B8h] BYREF __int64 v229; // [rsp+420h] [rbp-6A8h] BYREF _QWORD v230[2]; // [rsp+430h] [rbp-698h] BYREF _QWORD v231[2]; // [rsp+440h] [rbp-688h] BYREF _QWORD v232[2]; // [rsp+450h] [rbp-678h] BYREF const HDDMTile *v233[2]; // [rsp+460h] [rbp-668h] BYREF __int64 v234; // [rsp+470h] [rbp-658h] BYREF int v235; // [rsp+478h] [rbp-650h] BYREF int *insert_hint_unique_pos_6; // [rsp+480h] [rbp-648h] int *v237; // [rsp+488h] [rbp-640h] int *v238; // [rsp+490h] [rbp-638h] __int64 v239; // [rsp+498h] [rbp-630h] void *s1_2; // [rsp+4A0h] [rbp-628h] BYREF int v241; // [rsp+4A8h] [rbp-620h] BYREF int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; // [rsp+4B0h] [rbp-618h] int *v243; // [rsp+4B8h] [rbp-610h] int *v244; // [rsp+4C0h] [rbp-608h] __int64 v245; // [rsp+4C8h] [rbp-600h] _BYTE v246[64]; // [rsp+4D0h] [rbp-5F8h] BYREF void *istream[12]; // [rsp+510h] [rbp-5B8h] BYREF _BYTE v248[176]; // [rsp+570h] [rbp-558h] BYREF void *s1; // [rsp+620h] [rbp-4A8h] BYREF char *v250; // [rsp+628h] [rbp-4A0h] BYREF HDDMDevice v251; // [rsp+630h] [rbp-498h] BYREF char v252; // [rsp+A88h] [rbp-40h] std::string::string(&s1, "", &s1_2); std::string::string(istream, "device:loadDevice", &v234); HUTMemWatcher::HUTMemWatcher((HUTMemWatcher *)v248, (const std::string *)istream, (const std::string *)&s1); std::string::_Rep::_M_dispose((char *)istream[0] - 24, v246); std::string::_Rep::_M_dispose((char *)s1 - 24, istream); if ( &_pthread_key_create ) { v6 = pthread_mutex_lock(&mutex_); if ( v6 ) std::__throw_system_error(v6); } HUTRuntime::HUTRuntime((HUTRuntime *)v246, 1); HUTMemory::getUsedMemory((HUTMemory *)v246); p_s1 = (HDDMTilePort **)HPAParamMgr::getParamMgr((HPAParamMgr *)v246); std::string::string(v185, "device.trackDeviceDataLoading", istream); ValueAsBool = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v185); std::string::_Rep::_M_dispose(v185[0] - 24LL, &s1); if ( ValueAsBool ) { v7 = *(_QWORD *)archFilePath; v8 = *(_QWORD *)deviceFilePath; std::string::string(v218, "trackDeviceDataLoading", &v175); std::string::string(v217, "device", &s1); v154 = v8; v153 = v7; DEBUG:_Request_device_load:_%s__%s_n = "DEBUG: Request device load: %s, %s\n"; ComMsgMgr::sendScopedMsg::eval( 2, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 770, v217, v218, 16777218); std::string::_Rep::_M_dispose(v217[0] - 24LL, istream); std::string::_Rep::_M_dispose(v218[0] - 24LL, &s1); } std::string::string((std::string *)v186, archFilePath); sub_2188390(&s1, (const std::string *)v186); n128 = 0; std::string::_Rep::_M_dispose(v186[0] - 24LL, istream); s1_1 = s1; do { Device_2 = *(HDDMDevice **)((char *)&this->qword0 + n128); if ( Device_2 ) { s2_1 = (_QWORD *)Device_2->qword160; n = *(s1_1 - 3); if ( n == *(s2_1 - 3) && !memcmp(s1_1, s2_1, n) ) { ++Device_2->dword158; if ( ValueAsBool ) { std::string::string(v220, "trackDeviceDataLoading", &v176); std::string::string(v219, "device", istream); ComMsgMgr::sendScopedMsg::eval( 3, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 789, v219, v220, 16777218); std::string::_Rep::_M_dispose(v219[0] - 24LL, &s1_2); std::string::_Rep::_M_dispose(v220[0] - 24LL, istream); s1_1 = s1; } std::string::_Rep::_M_dispose(s1_1 - 3, istream); goto LABEL_13; } } n128 += 8; } while ( n128 != 128 ); std::string::_Rep::_M_dispose(s1_1 - 3, istream); std::string::string(v188, "", istream); std::string::string(v187, "", &s1_2); Device = (HDDMDevice *)HDDMDeviceCache::createDevice(this, (const std::string *)v187, (const std::string *)v188); std::string::_Rep::_M_dispose(v187[0] - 24LL, &s1); std::string::_Rep::_M_dispose(v188[0] - 24LL, &s1); ++Device->dword158; xngFileType[0] = 0; xngFileVersion = 0; HDDMDeviceCache::getFileTypeAndVersion(this, archFilePath, xngFileType, &xngFileVersion); if ( (unsigned __int16)(xngFileType[0] - 2) > 1u ) { exception = (HEXDataException *)__cxa_allocate_exception(0x18u); std::string::string((std::string *)&v190, archFilePath); std::string::string(&v189, "File is not a chip or device XNG:", istream); sub_1E8DC92(exception, (int)DEBUG:_Request_device_load:_%s__%s_n, v153); std::string::_Rep::_M_dispose(v189 - 24, &s1); std::string::_Rep::_M_dispose(v190 - 24, &s1); __cxa_throw(exception, (struct type_info *)&`typeinfo for'HEXDataException, sub_1F4CF30); } *(_QWORD *)v191 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; *(_QWORD *)v192 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; if ( xngFileType[0] == 2 ) { sub_1F9A060(&s1, *(_QWORD *)archFilePath, 4, 0); std::istream::read((std::istream *)&v251, (char *)&s1_2, 8); HDDMXng::Chip::Chip((HDDMXng::Chip *)istream); HDDMDevice::readMessage(&v251, (std::istream *)istream, message); std::string::assign((std::string *)v191, (const std::string *)istream[7]); std::string::assign((std::string *)v192, (const std::string *)istream[6]); HDDMXng::Chip::~Chip((HDDMXng::Chip *)istream); sub_1F34A70(&s1); } else // xngd { std::string::string((std::string *)v193, archFilePath); HUBSimpleScanner::HUBSimpleScanner(&s1, v193); std::string::_Rep::_M_dispose(v193[0] - 24LL, istream); HUBSimpleScanner::scanTargetWord((HUBSimpleScanner *)&s1, "xngd", 1); HUBSimpleScanner::scanInt((HUBSimpleScanner *)&s1, 1, "version number"); HUBSimpleScanner::scanWord((HUBSimpleScanner *)v194, (bool)&s1, (const char *)&dword_0 + 1); std::string::swap((std::string *)v191, (std::string *)v194); std::string::_Rep::_M_dispose(v194[0] - 24LL, istream); HUBSimpleScanner::scanWord((HUBSimpleScanner *)v195, (bool)&s1, (const char *)&dword_0 + 1); std::string::swap((std::string *)v192, (std::string *)v195); std::string::_Rep::_M_dispose(v195[0] - 24LL, istream); HUBSimpleScanner::~HUBSimpleScanner((HUBSimpleScanner *)&s1); } std::string::string((std::string *)deviceFilePath_1, deviceFilePath); if ( !*(_QWORD *)(deviceFilePath_1[0] - 24LL) ) { sub_21886D0(v197, archFilePath, v191); std::string::swap((std::string *)deviceFilePath_1, (std::string *)v197); std::string::_Rep::_M_dispose(v197[0] - 24LL, &s1); } HDDMDevice::setloadpaths(Device, archFilePath, (const std::string *)deviceFilePath_1); xngFileType_1[0] = 0; p_xngFileVersion[0] = 0; HDDMDeviceCache::getFileTypeAndVersion(this, (const std::string *)deviceFilePath_1, xngFileType_1, p_xngFileVersion); if ( xngFileType_1[0] != 1 ) { v146 = (HEXDataException *)__cxa_allocate_exception(0x18u); std::string::string((std::string *)&v199, (const std::string *)deviceFilePath_1); std::string::string(&v198, "File is not an architecture XNG:", istream); sub_1E8DC92(v146, (int)DEBUG:_Request_device_load:_%s__%s_n, v153); std::string::_Rep::_M_dispose(v198 - 24, &s1); std::string::_Rep::_M_dispose(v199 - 24, &s1); __cxa_throw(v146, (struct type_info *)&`typeinfo for'HEXDataException, sub_1F4CF30); } HDDMDevice::readarch_pb(Device, (const std::string *)deviceFilePath_1, p_xngFileVersion[0]); v15 = xngFileType[0] != 3; Device->byte1F1 = xngFileType[0] == 3; if ( !v15 ) { HDDMDevice::readdevice(Device, archFilePath); Device_1 = Device; if ( Device->qword40 ) goto LABEL_24; LABEL_29: HDDMDevice::createRPMGrid(Device_1); goto LABEL_24; } v251.word4 = -1; v251.word6 = -1; *(_WORD *)&v251.byte0 = -1; s1 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; v250 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; *(_WORD *)&v251.gap1[1] = -1; v251.word8 = -1; v251.wordA = -1; *(_QWORD *)&v251.word10 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; memset(&v251.dword18, 0, 24); v251.qword30 = 0xFFFFFFFF00000000LL; std::string::assign((std::string *)&v250, "chip", 4u); std::string::assign((std::string *)&s1, (const std::string *)v192); std::string::assign((std::string *)&v251.word10, archFilePath); v251.word6 = 0; *(_WORD *)&v251.byte0 = 0; *(_WORD *)&v251.gap1[1] = 0; v251.word4 = 0; v251.word8 = 0; v251.wordA = 0; v251.qword30 = 0; istream[0] = 0; std::vector<HDDMChip *>::_M_fill_assign(&Device->qword3B8, 1, istream); HDDMDevice::readchip_pb(Device, &s1); std::string::_Rep::_M_dispose(*(_QWORD *)&v251.word10 - 24LL, istream); std::string::_Rep::_M_dispose(v250 - 24, istream); std::string::_Rep::_M_dispose((char *)s1 - 24, istream); Device_1 = Device; if ( !Device->qword40 ) goto LABEL_29; LABEL_24: HDDMDevice::createRoutingDS(Device); HDDMDevice::setrecursivedeviceid(Device, Device->byte0 & 0xF); p_qword160 = (const std::string *)&Device->qword160; std::string::string((std::string *)v200, (const std::string *)&Device->qword160); std::string::string((std::string *)v232, (const std::string *)v200); std::string::_Rep::_M_dispose(v200[0] - 24LL, &s1); std::string::string(v201, "cfg", &v174); boost::filesystem::path::replace_extension((boost::filesystem::path *)v232, (const boost::filesystem::path *)v201); std::string::_Rep::_M_dispose(v201[0] - 24LL, &s1); HUTEnv::getRDIDataDir((HUTEnv *)v202, (const std::string *)v232); std::string::string((std::string *)v233, (const std::string *)v202); std::string::_Rep::_M_dispose(v202[0] - 24LL, &s1); boost::filesystem::path::operator/=(v233, v232); std::string::string((std::string *)&v234, (const std::string *)v233); boost::filesystem::path::stem((boost::filesystem::path *)v203); std::string::string((std::string *)&s1_2, (const std::string *)v203); std::string::_Rep::_M_dispose(v203[0] - 24LL, &s1); std::string::string((std::string *)v204, (const std::string *)&v234); boost::filesystem::detail::status(v221, v204, 0); if ( v221[0] <= 1 ) { std::string::_Rep::_M_dispose(v204[0] - 24LL, &s1); } else { std::string::_Rep::_M_dispose(v204[0] - 24LL, &s1); v18 = (HDConfig *)operator new(0xB0u); HDConfig::HDConfig(v18, 0, 1); *(_QWORD *)Device->gap310 = v18; std::string::string(v205, "", istream); HDConfig::readFile(*(HDConfig **)Device->gap310, (const std::string *)&v234, (const std::string *)v205); std::string::_Rep::_M_dispose(v205[0] - 24LL, &s1); istream[0] = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; std::string::string(v206, "DeviceName", v231); LOBYTE(v18) = sub_1F2E490(*(std::string **)Device->gap310, (HDARPart *)v206, (std::string *)istream); std::string::_Rep::_M_dispose(v206[0] - 24LL, &s1); if ( (_BYTE)v18 ) { v19 = *((_QWORD *)s1_2 - 3); if ( v19 != *((_QWORD *)istream[0] - 3) || memcmp(s1_2, istream[0], *((_QWORD *)s1_2 - 3)) ) { std::string::string(&s1, " Device name does not match configuration name! ", v231); std::string::append((std::string *)&s1, (const std::string *)istream); v20 = (HEXInternalException *)__cxa_allocate_exception(0x18u); HEXInternalException::HEXInternalException(v20, (const std::string *)&s1); __cxa_throw(v20, (struct type_info *)&`typeinfo for'HEXInternalException, sub_1F508A0); } } else { v19 = *((_QWORD *)istream[0] - 3); } std::string::_M_mutate((std::string *)istream, 0, v19, 0); std::string::string(v207, "BaseDevice", v231); v144 = sub_1F2E490(*(std::string **)Device->gap310, (HDARPart *)v207, (std::string *)istream); std::string::_Rep::_M_dispose(v207[0] - 24LL, &s1); if ( v144 ) std::string::assign((std::string *)&Device->gap310[8], (const std::string *)istream); std::string::_Rep::_M_dispose((char *)istream[0] - 24, &s1); } HDConfig::HDConfig((HDConfig *)&s1, 0, 1); std::string::string(v209, "", v231); std::string::string(v208, "specdevice.cfg", v230); HDConfig::readFile((HDConfig *)&s1, (const std::string *)v208, (const std::string *)v209); std::string::_Rep::_M_dispose(v208[0] - 24LL, istream); std::string::_Rep::_M_dispose(v209[0] - 24LL, istream); std::string::string(istream, "specialDevice.", v231); std::string::append((std::string *)istream, (const std::string *)&s1_2); if ( (unsigned __int8)HDConfig::exists((HDConfig *)&s1, (const std::string *)istream, 0) ) { if ( !*(_QWORD *)Device->gap310 ) sub_2035550( (unsigned int)"/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 932, (unsigned int)"device", 0x20000000, (unsigned int)"@21-424@%s", (_DWORD)s1_2, (_DWORD)DEBUG:_Request_device_load:_%s__%s_n, v153, v154); } else if ( *(_QWORD *)Device->gap310 ) { s1_3 = (const char *)s1_2; std::string::string(v222, "device", &v177); ComMsgMgr::sendMsg::eval( 1, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 938, v222, &unk_8000000, "@21-425@%s", s1_3); std::string::_Rep::_M_dispose(v222[0] - 24LL, v231); } std::string::_Rep::_M_dispose((char *)istream[0] - 24, v231); HDConfig::~HDConfig((HDConfig *)&s1); std::string::_Rep::_M_dispose((char *)s1_2 - 24, &s1); std::string::_Rep::_M_dispose(v234 - 24, &s1); std::string::_Rep::_M_dispose((char *)v233[0] - 24, &s1); std::string::_Rep::_M_dispose(v232[0] - 24LL, &s1); HDDMDerived::HDDMDerived((HDDMDerived *)istream, Device); isDerived = HDDMDerived::isDerived((HDDMDerived *)istream); Device->byte321 = isDerived; if ( isDerived ) { HDDMDerived::buildTileList((HDDMDerived *)istream); HDDMDerived::buildSiteList((HDDMDerived *)istream); if ( Device->byte321 ) HDDMDerived::updateDevice((HDDMDerived *)istream); } HDDMDevice::postprocess(Device); std::string::string(v210, "device.disableTemplateLoading", &s1_2); ValueAsBoolERKSs = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v210); std::string::_Rep::_M_dispose(v210[0] - 24LL, &s1); if ( !ValueAsBoolERKSs ) { HDDMTemplateIO::HDDMTemplateIO((HDDMTemplateIO *)&s1); std::string::string(v211, "device.loadAllNodeTemplates", &v234); ValueAsBoolERKSs_1 = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v211); std::string::_Rep::_M_dispose(v211[0] - 24LL, &s1_2); if ( ValueAsBoolERKSs_1 ) v252 = 1; std::string::string((std::string *)v213, nodeTemplatePath); std::string::string((std::string *)v212, templatePath); HDDMTemplateIO::loadTemplateData(&s1, Device, v212, v213); std::string::_Rep::_M_dispose(v212[0] - 24LL, &s1_2); std::string::_Rep::_M_dispose(v213[0] - 24LL, &s1_2); HDDMTemplateIO::~HDDMTemplateIO((HDDMTemplateIO *)&s1); } HDDMNodeAdjuster::HDDMNodeAdjuster((HDDMNodeAdjuster *)&s1, Device); HDDMNodeAdjuster::performAdjustments((HDDMNodeAdjuster *)&s1, p_qword160); HDDMNodeAdjuster::~HDDMNodeAdjuster((HDDMNodeAdjuster *)&s1); HDDMDevice::suppressCostcodes(Device); if ( !HUTEnv::getEnv((HUTEnv *)"DEVMODEL_CHECKTILEPORTS", (const char *)p_qword160) ) goto LABEL_184; v235 = 0; insert_hint_unique_pos_6 = 0; v239 = 0; v241 = 0; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 = 0; v245 = 0; v237 = &v235; v238 = &v235; v243 = &v241; v244 = &v241; std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Begin checking tile ports {\n", 28); word4 = Device->word4; word6 = Device->word6; if ( !(word6 * word4) ) goto LABEL_159; v173 = 0; v26 = 0; do { v27 = *(_QWORD *)(Device->qwordF8 + 8 * v26); v28 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v27 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v27 + 4) & 0x3FF)); v29 = *(_QWORD *)(v28 + 560); v30 = *(_QWORD *)(v28 + 552); if ( !(unsigned __int16)((v29 - v30) >> 3) ) goto LABEL_158; v171 = 0; do { v160 = *(std::string **)(v30 + 8 * v171); v31 = *((_QWORD *)v160 + 3); v32 = *((_QWORD *)v160 + 4); if ( !(unsigned __int16)((v32 - v31) >> 3) ) goto LABEL_156; v170 = 0; while ( 1 ) { v33 = *(_QWORD **)(v31 + 8 * v170); v34 = v33[3]; v35 = (v33[4] - v34) >> 3; if ( (_DWORD)v35 ) { v36 = 0; while ( 1 ) { s1_4 = 0; if ( (unsigned __int16)v36 < v35 ) s1_4 = *(const HDDMTilePort **)(v34 + 8LL * (unsigned __int16)v36); v223[0] = 0; p_s1_1[0] = 0; if ( (unsigned __int8)HDDMTile::getMatchingPort((HDDMTile *)v27, s1_4, v223, p_s1_1) ) { if ( !(unsigned int)std::string::compare((std::string *)((char *)v160 + 8), "Z") ) hut::detail::assertion_failed( (hut::detail *)"edge1->getName() != \"Z\"", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[82], v52); v53 = *(std::string **)p_s1_1[0]; v233[0] = 0; s1 = 0; v158 = v53; HDDMTile::getMatchingPort(v223[0], p_s1_1[0], v233, (const HDDMTilePort **)&s1); if ( s1 ) v54 = *(_QWORD **)s1; else v54 = 0; if ( (const HDDMTile *)v27 != v233[0] ) { HDDMTile::getName((HDDMTile *)&v229); if ( v233[0] ) HDDMTile::getName((HDDMTile *)v228); else std::string::string(v228, "NULL", &v179); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Tile3 = ", 8); v55 = std::__ostream_insert<char,std::char_traits<char>>( &std::cout, v228[0], *(_QWORD *)(v228[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v55, " should be ", 11); v56 = std::__ostream_insert<char,std::char_traits<char>>(v55, v229, *(_QWORD *)(v229 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v56, "\n", 1); std::string::_Rep::_M_dispose(v228[0] - 24LL, v232); std::string::_Rep::_M_dispose(v229 - 24, v232); if ( (const HDDMTile *)v27 != v233[0] ) hut::detail::assertion_failed( (hut::detail *)"tile3 == tile1", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[85], v57); } if ( v33 != v54 ) { if ( v54 ) std::string::string((std::string *)v227, (const std::string *)(v54 + 2)); else std::string::string(v227, "NULL", &v178); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Face3 = ", 8); v58 = std::__ostream_insert<char,std::char_traits<char>>( &std::cout, v227[0], *(_QWORD *)(v227[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v58, " should be ", 11); v59 = std::__ostream_insert<char,std::char_traits<char>>(v58, v33[2], *(_QWORD *)(v33[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v59, "\n", 1); std::string::_Rep::_M_dispose(v227[0] - 24LL, v232); } if ( s1_4 != s1 ) { v60 = *((_DWORD *)s1_4 + 2); v61 = -1; if ( s1 ) v61 = *((_DWORD *)s1 + 2); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Port3 = ", 8); v62 = std::ostream::_M_insert<unsigned long>(&std::cout, v61); std::__ostream_insert<char,std::char_traits<char>>(v62, " should be ", 11); v63 = std::ostream::_M_insert<unsigned long>(v62, v60); std::__ostream_insert<char,std::char_traits<char>>(v63, "\n", 1); if ( s1_4 != s1 ) hut::detail::assertion_failed( (hut::detail *)"port3 == port1", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[87] + 3, v64); } if ( *((_DWORD *)s1_4 + 3) != *((_DWORD *)p_s1_1[0] + 3) ) { insert_hint_unique_pos_3 = insert_hint_unique_pos_6; insert_hint_unique_pos_2 = &v235; if ( !insert_hint_unique_pos_6 ) goto LABEL_86; do { while ( v27 <= *((_QWORD *)insert_hint_unique_pos_3 + 4) ) { insert_hint_unique_pos_2 = insert_hint_unique_pos_3; insert_hint_unique_pos_3 = (int *)*((_QWORD *)insert_hint_unique_pos_3 + 2); if ( !insert_hint_unique_pos_3 ) goto LABEL_84; } insert_hint_unique_pos_3 = (int *)*((_QWORD *)insert_hint_unique_pos_3 + 3); } while ( insert_hint_unique_pos_3 ); LABEL_84: if ( insert_hint_unique_pos_2 == &v235 || v27 < *((_QWORD *)insert_hint_unique_pos_2 + 4) ) { LABEL_86: insert_hint_unique_pos_4 = insert_hint_unique_pos_2; insert_hint_unique_pos_5 = operator new(0x30u); insert_hint_unique_pos_2 = (int *)insert_hint_unique_pos_5; if ( insert_hint_unique_pos_5 ) { *(_DWORD *)insert_hint_unique_pos_5 = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 8) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 16) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 24) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 32) = v27; *(_DWORD *)(insert_hint_unique_pos_5 + 40) = 0; } insert_hint_unique_pos = std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_get_insert_hint_unique_pos( &v234, insert_hint_unique_pos_4, insert_hint_unique_pos_5 + 32); if ( v70 ) { v71 = 1; if ( !insert_hint_unique_pos && (int *)v70 != &v235 ) v71 = *((_QWORD *)insert_hint_unique_pos_2 + 4) < *(_QWORD *)(v70 + 32); std::_Rb_tree_insert_and_rebalance(v71, insert_hint_unique_pos_2, v70, &v235); ++v239; } else { insert_hint_unique_pos_1 = (int *)insert_hint_unique_pos; operator delete(insert_hint_unique_pos_2); insert_hint_unique_pos_2 = insert_hint_unique_pos_1; } } ++insert_hint_unique_pos_2[10]; v72 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v27 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v27 + 4) & 0x3FF)); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = &v241; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_98; do { while ( v72 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 ) goto LABEL_96; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 ); LABEL_96: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 == &v241 || v72 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 + 4) ) { LABEL_98: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_ = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 32) = v72; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__13 = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 32); if ( v77 ) { v78 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__13 && (int *)v77 != &v241 ) v78 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 + 4) < *(_QWORD *)(v77 + 32); std::_Rb_tree_insert_and_rebalance( v78, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2, v77, &v241); ++v245; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__13; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1; } } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2[10]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = insert_hint_unique_pos_6; if ( insert_hint_unique_pos_6 ) { v80 = v223[0]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = &v235; do { while ( (HDDMTile *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 4) >= v223[0] ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 ) goto LABEL_108; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 ); LABEL_108: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 == &v235 || (HDDMTile *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) > v223[0] ) { LABEL_110: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 24) = 0; v84 = v223[0]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5[10] = 0; *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) = v84; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3 = std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_get_insert_hint_unique_pos( &v234, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 8); if ( v86 ) { v87 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3 && (int *)v86 != &v235 ) v87 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) < *(_QWORD *)(v86 + 32); std::_Rb_tree_insert_and_rebalance( v87, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5, v86, &v235); ++v239; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4; } v80 = v223[0]; } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5[10]; v88 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v80 >> 6) & 0xF] + 168LL) + 8LL * (*((_WORD *)v80 + 2) & 0x3FF)); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = &v241; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_123; do { while ( v88 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 ) goto LABEL_121; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 ); LABEL_121: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 == &v241 || v88 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 + 4) ) { LABEL_123: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 32) = v88; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6 = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 32); if ( v93 ) { v94 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6 && (int *)v93 != &v241 ) v94 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 + 4) < *(_QWORD *)(v93 + 32); std::_Rb_tree_insert_and_rebalance( v94, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8, v93, &v241); ++v245; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7; } } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8[10]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_a = *((_DWORD *)p_s1_1[0] + 3); v168 = *((_DWORD *)p_s1_1[0] + 2); HDDMTile::getName((HDDMTile *)&v226); v95 = *((_DWORD *)s1_4 + 3); v96 = *((_DWORD *)s1_4 + 2); HDDMTile::getName((HDDMTile *)&v225); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Global mismatch: ", 17); v97 = std::__ostream_insert<char,std::char_traits<char>>(&std::cout, v225, *(_QWORD *)(v225 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v97, ".", 1); v98 = std::__ostream_insert<char,std::char_traits<char>>(v97, v33[2], *(_QWORD *)(v33[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v98, "[", 1); v99 = std::ostream::_M_insert<unsigned long>(v98, v96); std::__ostream_insert<char,std::char_traits<char>>(v99, "] = ", 4); v100 = std::ostream::_M_insert<unsigned long>(v99, v95); std::__ostream_insert<char,std::char_traits<char>>(v100, " ", 1); v101 = std::__ostream_insert<char,std::char_traits<char>>(v100, v226, *(_QWORD *)(v226 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v101, ".", 1); v102 = std::__ostream_insert<char,std::char_traits<char>>( v101, *((_QWORD *)v158 + 2), *(_QWORD *)(*((_QWORD *)v158 + 2) - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v102, "[", 1); v103 = std::ostream::_M_insert<unsigned long>(v102, v168); std::__ostream_insert<char,std::char_traits<char>>(v103, "] = ", 4); v104 = std::ostream::_M_insert<unsigned long>( v103, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_a); std::__ostream_insert<char,std::char_traits<char>>(v104, "\n", 1); std::string::_Rep::_M_dispose(v225 - 24, v232); std::string::_Rep::_M_dispose(v226 - 24, v232); goto LABEL_56; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = &v235; goto LABEL_110; } } else if ( v223[0] ) { if ( (*(_BYTE *)v27 & 0x20) != 0 ) { v143 = (HDDMInactiveExceptionAccess *)__cxa_allocate_exception(0x18u); HDDMTile::getRawName((HDDMTile *)v231); std::string::string(v232, "Tile", v233); HDDMInactiveExceptionAccess::HDDMInactiveExceptionAccess( v143, (const std::string *)v232, (const std::string *)v231); std::string::_Rep::_M_dispose(v232[0] - 24LL, &s1); std::string::_Rep::_M_dispose(v231[0] - 24LL, &s1); __cxa_throw(v143, (struct type_info *)&`typeinfo for'HDDMInactiveExceptionAccess, sub_1ED58B0); } v37 = HDDMDeviceCache::m_devcache[(*(_WORD *)v27 >> 6) & 0xF]; v38 = *(unsigned __int16 *)(v37 + 6); v39 = *(unsigned __int16 *)(v37 + 4); v40 = *(_DWORD *)(v27 + 40) % v38; v41 = v39 - 1 - *(_DWORD *)(v27 + 40) / v38; v42 = *(_QWORD *)(*(_QWORD *)(v37 + 168) + 8LL * (*(_WORD *)(v27 + 4) & 0x3FF)); v43 = *(unsigned __int16 *)(v42 + 24); v44 = *(unsigned __int16 *)(v42 + 26); n3 = ***(_WORD ***)s1_4; if ( n3 == 1 ) { if ( v43 + v40 == v38 ) goto LABEL_56; } else if ( n3 ) { if ( n3 == 2 ) { if ( !(_WORD)v41 ) goto LABEL_56; } else if ( n3 != 3 || !(_WORD)v40 ) { goto LABEL_56; } } else if ( v44 + (unsigned __int16)v41 == v39 ) { goto LABEL_56; } v46 = *((_DWORD *)s1_4 + 2); HDDMTile::getName((HDDMTile *)v230); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Missing matching port for ", 26); v47 = std::__ostream_insert<char,std::char_traits<char>>(&std::cout, v230[0], *(_QWORD *)(v230[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v47, ".", 1); v48 = std::__ostream_insert<char,std::char_traits<char>>(v47, v33[2], *(_QWORD *)(v33[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v48, "[", 1); v49 = std::ostream::_M_insert<unsigned long>(v48, v46); std::__ostream_insert<char,std::char_traits<char>>(v49, "]", 1); std::__ostream_insert<char,std::char_traits<char>>(v49, "\n", 1); std::string::_Rep::_M_dispose(v230[0] - 24LL, &s1); hut::detail::assertion_failed( (hut::detail *)"false", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[80] + 1, v50); } LABEL_56: v34 = v33[3]; ++v36; v35 = (v33[4] - v34) >> 3; if ( v36 >= (unsigned int)v35 ) { v105 = *((_QWORD *)v160 + 3); v32 = *((_QWORD *)v160 + 4); goto LABEL_139; } } } v105 = v31; LABEL_139: v106 = v170++; if ( (unsigned __int16)((v32 - v105) >> 3) <= v106 + 1 ) break; v31 = v105; } v107 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v27 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v27 + 4) & 0x3FF)); v29 = *(_QWORD *)(v107 + 560); v30 = *(_QWORD *)(v107 + 552); LABEL_156: v108 = v171++; } while ( v108 + 1 < (unsigned __int16)((v29 - v30) >> 3) ); word4 = Device->word4; word6 = Device->word6; LABEL_158: v26 = ++v173; } while ( v173 < word6 * (unsigned int)word4 ); LABEL_159: if ( v239 ) { std::ofstream::basic_ofstream(&s1, "badGlobals.txt", 48); if ( (unsigned __int16)Device->word6 * (unsigned __int16)Device->word4 ) { v109 = 0; v110 = 0; do { v233[0] = *(const HDDMTile **)(Device->qwordF8 + 8 * v110); v111 = *(_DWORD *)std::map<HDDMTile const*,int>::operator[](&v234, v233); if ( v111 > 0 ) { HDDMTile::getName((HDDMTile *)p_s1_1); v112 = std::__ostream_insert<char,std::char_traits<char>>(&s1, p_s1_1[0], *((_QWORD *)p_s1_1[0] - 3)); v113 = std::operator<<<std::char_traits<char>>(v112, " "); v114 = std::ostream::operator<<(v113, (unsigned int)v111); std::operator<<<std::char_traits<char>>(v114, "\n"); std::string::_Rep::_M_dispose((char *)p_s1_1[0] - 24, v232); } v110 = ++v109; } while ( v109 < (unsigned __int16)Device->word6 * (unsigned int)(unsigned __int16)Device->word4 ); } qwordA8 = Device->qwordA8; if ( (unsigned __int16)((Device->qwordB0 - qwordA8) >> 3) ) { v116 = 0; v117 = 0; do { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; v119 = *(_QWORD *)(qwordA8 + v116); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = &v241; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_174; do { while ( v119 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 ) goto LABEL_172; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 ); LABEL_172: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 == &v241 || v119 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 + 4) ) { LABEL_174: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 32) = v119; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9 = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 32); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9; if ( v124 ) { v125 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9 && (int *)v124 != &v241 ) v125 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11 + 4) < *(_QWORD *)(v124 + 32); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11; std::_Rb_tree_insert_and_rebalance( v125, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11, v124, &v241); ++v245; } else { operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11); } } v126 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10[10]; if ( v126 > 0 ) { HDDMTileType::getName((HDDMTileType *)v223); v127 = std::__ostream_insert<char,std::char_traits<char>>(&s1, v223[0], *((_QWORD *)v223[0] - 3)); v128 = std::operator<<<std::char_traits<char>>(v127, " "); v129 = std::ostream::operator<<(v128, (unsigned int)v126); std::operator<<<std::char_traits<char>>(v129, "\n"); std::string::_Rep::_M_dispose((char *)v223[0] - 24, v233); } ++v117; v116 += 8; qwordA8 = Device->qwordA8; } while ( v117 < (unsigned __int16)((Device->qwordB0 - qwordA8) >> 3) ); } std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "}\n", 2); std::ofstream::~ofstream(&s1); } std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_erase( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23); std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_erase( &v234, insert_hint_unique_pos_6); LABEL_184: if ( !*(_QWORD *)&Device->gap329[7] ) { v150 = (HDDMOracle *)operator new(0x138u); HDDMOracle::HDDMOracle(v150, Device); *(_QWORD *)&Device->gap329[7] = v150; } std::string::string(v214, "RCLK_INT_L", &s1_2); TileType = HDDMDevice::getTileType(Device, (const std::string *)v214); std::string::_Rep::_M_dispose(v214[0] - 24LL, &s1); if ( TileType ) { v131 = *(unsigned __int16 *)(TileType + 2); if ( (_WORD)v131 ) { v132 = 0; v133 = 8 * (3LL * (unsigned int)(v131 - 1) + 3); do { v134 = *(_QWORD *)(TileType + 216) + v132; if ( (*(_BYTE *)(v134 + 1) & 8) != 0 ) *(_BYTE *)(v134 + 2) |= 0x10u; v132 += 24; } while ( v132 != v133 ); } } std::string::string(v215, "RCLK_INT_R", &s1_2); TileTypeERKSs = HDDMDevice::getTileType(Device, (const std::string *)v215); std::string::_Rep::_M_dispose(v215[0] - 24LL, &s1); if ( TileTypeERKSs ) { v136 = *(unsigned __int16 *)(TileTypeERKSs + 2); if ( (_WORD)v136 ) { v137 = 0; v138 = 8 * (3LL * (unsigned int)(v136 - 1) + 3); do { v139 = *(_QWORD *)(TileTypeERKSs + 216) + v137; if ( (*(_BYTE *)(v139 + 1) & 8) != 0 ) *(_BYTE *)(v139 + 2) |= 0x10u; v137 += 24; } while ( v137 != v138 ); } } HDDMResourceLimits::HDDMResourceLimits((HDDMResourceLimits *)&s1, Device, 0); *(&Device->byte321 + 1) = HDDMResourceLimits::isDeviceLimited((HDDMResourceLimits *)&s1); HDDMResourceLimits::~HDDMResourceLimits((HDDMResourceLimits *)&s1); if ( ValueAsBool ) { HUTMemory::getUsedMemory((HUTMemory *)&s1); HUTRuntime::getWallSecs((HUTRuntime *)v246); HUTRuntime::getUserSecs((HUTRuntime *)v246); std::string::string(&s1, "trackDeviceDataLoading", &v180); std::string::string(v233, "device", &s1_2); ComMsgMgr::sendScopedMsg::eval( 4, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 1045, v233, &s1, 16777218); std::string::_Rep::_M_dispose((char *)v233[0] - 24, &v234); std::string::_Rep::_M_dispose((char *)s1 - 24, &s1_2); } HDDMProto::freeMemory((HDDMProto *)&qword_992E0F0); ParamMgrEv = (HPAParamMgr *)HPAParamMgr::getParamMgr((HPAParamMgr *)&qword_992E0F0); std::string::string(v216, "arch.regenRpmGrid", &s1_2); ValueAsBoolERKSs_2 = HPAParamMgr::getValueAsBool(ParamMgrEv, (const std::string *)v216); std::string::_Rep::_M_dispose(v216[0] - 24LL, &s1); if ( ValueAsBoolERKSs_2 ) { HDDMSiteRPMHack::HDDMSiteRPMHack((HDDMSiteRPMHack *)&s1, Device); HDDMSiteRPMHack::regenRPMGrid((HDDMSiteRPMHack *)&s1); HDDMDevice::createRPMGrid(Device); HDDMSiteRPMHack::~HDDMSiteRPMHack((HDDMSiteRPMHack *)&s1); } if ( !*(_QWORD *)&Device->gap329[15] ) { v147 = (HDDMDevice **)operator new(0x20u); v147[1] = 0; v147[2] = 0; v147[3] = 0; *v147 = Device; v148 = Device->qword98 - Device->qword90; s1 = 0; v149 = v148 >> 3; if ( (_WORD)v149 ) std::vector<HDDMConnectionDB *>::_M_fill_insert(v147 + 1, 0, (unsigned __int16)v149, &s1); *(_QWORD *)&Device->gap329[15] = v147; } HDDMDerived::~HDDMDerived((HDDMDerived *)istream); std::string::_Rep::_M_dispose(deviceFilePath_1[0] - 24LL, &s1); std::string::_Rep::_M_dispose(*(_QWORD *)v192 - 24LL, &s1); std::string::_Rep::_M_dispose(*(_QWORD *)v191 - 24LL, &s1); Device_2 = Device; LABEL_13: HUTRuntime::~HUTRuntime((HUTRuntime *)v246); if ( &_pthread_key_create ) pthread_mutex_unlock(&mutex_); HUTMemWatcher::~HUTMemWatcher((HUTMemWatcher *)v248); return Device_2; }
09-29
colcon build --symlink-install WARNING: Package name "Distortion_Compensation" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes. WARNING: Package name "Framing" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes. Starting >>> Distortion_Compensation Starting >>> Framing --- stderr: Distortion_Compensation CMake Warning (dev) at CMakeLists.txt:17 (find_package): Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables. Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy command to set the policy and suppress this warning. CMake variable PCL_ROOT is set to: /usr For compatibility, CMake is ignoring the variable. This warning is for project developers. Use -Wno-dev to suppress it. WARNING: Package name "Distortion_Compensation" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes. /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp: In member function ‘void LidarMotionCalibrator::ScanCallBack(sensor_msgs::msg::LaserScan_<std::allocator<void> >::SharedPtr)’: /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:66:47: error: ‘using ChampionNavLaserScan = using LaserScan = struct sensor_msgs::msg::LaserScan_<std::allocator<void> >’ {aka ‘struct sensor_msgs::msg::LaserScan_<std::allocator<void> >’} has no member named ‘angles’; did you mean ‘ranges’? 66 | double lidar_angle = laserScanMsg.angles[i]; | ^~~~~~ | ranges /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:84:33: error: ‘getYaw’ is not a member of ‘tf2’ 84 | double visualYaw = tf2::getYaw(visualPose.pose.orientation); | ^~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:89:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double, std::allocator<double> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 89 | for(int i = 0; i < ranges.size(); i++) | ~~^~~~~~~~~~~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:115:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double, std::allocator<double> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 115 | for(int i = 0; i < ranges.size(); i++) | ~~^~~~~~~~~~~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp: In member function ‘void LidarMotionCalibrator::Lidar_Calibration(std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, rclcpp::Time, rclcpp::Time, const string&)’: /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:150:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<double, std::allocator<double> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | if(beamNumber != angles.size()) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:157:13: warning: unused variable ‘interpolation_time_duration’ [-Wunused-variable] 157 | int interpolation_time_duration = 5 * 1000; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:166:16: warning: unused variable ‘time_inc’ [-Wunused-variable] 166 | double time_inc = (end_time - start_time) / (beamNumber - 1); // 每束激光数据的时间间隔 | ^~~~~~~~ /home/z/ros2_ws/src/Distortion_Compensation/src/dis_com.cpp:169:13: warning: unused variable ‘start_index’ [-Wunused-variable] 169 | int start_index = 0; | ^~~~~~~~~~~ gmake[2]: *** [CMakeFiles/dis_com.dir/build.make:76:CMakeFiles/dis_com.dir/src/dis_com.cpp.o] 错误 1 gmake[1]: *** [CMakeFiles/Makefile2:137:CMakeFiles/dis_com.dir/all] 错误 2 gmake: *** [Makefile:146:all] 错误 2 --- Failed <<< Distortion_Compensation [8.81s, exited with code 2] Aborted <<< Framing [10.2s] Summary: 0 packages finished [10.3s] 1 package failed: Distortion_Compensation 1 package aborted: Framing 2 packages had stderr output: Distortion_Compensation Framing z@z-Kuangshi16-PRO-Series-GM6IQ0X:~/ros2_ws$ colcon build --symlink-install [0.172s] WARNING:colcon.colcon_core.package_identification:Failed to parse ROS package manifest in 'src/distortion_compensation': Error(s) in package 'src/distortion_compensation/package.xml': Error(s): - The generic dependency on 'tf2_geometry_msgs' is redundant with: build_depend, build_export_depend, exec_depend - The generic dependency on 'sensor_msgs' is redundant with: build_depend, build_export_depend, exec_depend Starting >>> distortion_compensation Starting >>> framing --- stderr: distortion_compensation CMake Warning (dev) at CMakeLists.txt:18 (find_package): Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables. Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy command to set the policy and suppress this warning. CMake variable PCL_ROOT is set to: /usr For compatibility, CMake is ignoring the variable. This warning is for project developers. Use -Wno-dev to suppress it. Error parsing '/home/z/ros2_ws/src/distortion_compensation/package.xml': Traceback (most recent call last): File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 150, in <module> main() File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 53, in main raise e File "/opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py", line 49, in main package = parse_package_string( File "/usr/lib/python3/dist-packages/catkin_pkg/package.py", line 786, in parse_package_string raise InvalidPackage('Error(s):%s' % (''.join(['\n- %s' % e for e in errors])), filename) catkin_pkg.package.InvalidPackage: Error(s) in package '/home/z/ros2_ws/src/distortion_compensation/package.xml': Error(s): - The generic dependency on 'tf2_geometry_msgs' is redundant with: build_depend, build_export_depend, exec_depend - The generic dependency on 'sensor_msgs' is redundant with: build_depend, build_export_depend, exec_depend CMake Error at /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:95 (message): execute_process(/usr/bin/python3 /opt/ros/humble/share/ament_cmake_core/cmake/core/package_xml_2_cmake.py /home/z/ros2_ws/src/distortion_compensation/package.xml /home/z/ros2_ws/build/distortion_compensation/ament_cmake_core/package.cmake) returned error code 1 Call Stack (most recent call first): /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package_xml.cmake:49 (_ament_package_xml) /opt/ros/humble/share/ament_cmake_core/cmake/core/ament_package.cmake:63 (ament_package_xml) CMakeLists.txt:50 (ament_package) --- Failed <<< distortion_compensation [4.23s, exited with code 1] Aborted <<< framing [4.25s] Summary: 0 packages finished [4.40s] 1 package failed: distortion_compensation 1 package aborted: framing 2 packages had stderr output: distortion_compensation framing
最新发布
10-01
请仔细阅读和分析下面函数 1. 保留所有原始功能 2. 提高执行效率,降低计算复杂度 3. 已经给定的结构体名字和元素不要更改 4. 程序内部错误和异常使用英文, 其他给出详细的中文注释 5. 增强异常处理和边界条件检查 6. 自动添加中文注释说明功能逻辑 7. 不使用 auto,使用显式 for 循环 8. 结构体采用32位定义 10. 不要使用小函数 11. 实现全部功能,完整可编译的代码 特别注意: 必须保持原始逻辑不变 HDDMDevice *__fastcall HDDMDeviceCache::loadDevice( HDDMDeviceCache *this, const std::string *a2, const std::string *a3, const std::string *a4, const std::string *a5) { int v6; // eax __int64 v7; // r15 __int64 v8; // r14 int v9; // edx int v10; // ecx int v11; // r8d int v12; // r9d __int64 n128; // r13 _QWORD *s1_1; // r14 HDDMDevice *Device_2; // rbx _QWORD *s2_1; // rsi size_t n; // rdx bool v19; // zf HDDMDevice *Device_1; // rax const std::string *v21; // r12 HDConfig *v22; // rbx unsigned __int64 v23; // rbx HEXInternalException *v24; // rbx char isDerived; // al char ValueAsBoolERKSs; // bl char ValueAsBoolERKSs_1; // bl unsigned __int16 v28; // si unsigned __int16 v29; // cx __int64 v30; // rdx unsigned __int64 v31; // rbx __int64 v32; // rdx __int64 v33; // rdi __int64 v34; // rax __int64 v35; // rcx __int64 v36; // rsi _QWORD *v37; // r12 __int64 v38; // rdx unsigned __int64 v39; // rax unsigned int v40; // ebp __int64 v41; // rcx unsigned int v42; // edi int v43; // r8d int v44; // edx int v45; // esi __int64 v46; // rcx int v47; // r9d int v48; // r10d __int16 n3; // cx unsigned int v50; // r14d __int64 v51; // r13 __int64 v52; // r13 __int64 v53; // r13 __int64 v54; // r8 const HDDMTilePort *s1_4; // r13 __int64 v56; // r8 std::string *v57; // rax _QWORD *v58; // r14 __int64 v59; // r15 __int64 v60; // rax __int64 v61; // r8 __int64 v62; // r14 __int64 v63; // rax unsigned int v64; // r15d unsigned int v65; // r14d __int64 v66; // r14 __int64 v67; // rax __int64 v68; // r8 int *insert_hint_unique_pos_3; // rdx int *insert_hint_unique_pos_2; // r15 int *insert_hint_unique_pos_4; // r14 __int64 insert_hint_unique_pos_5; // rax __int64 insert_hint_unique_pos; // rax __int64 v74; // rdx _BOOL8 v75; // rdi unsigned __int64 v76; // r14 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12; // rdx int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_; // rax __int64 v81; // rdx _BOOL8 v82; // rdi int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15; // rdx HDDMTile *v84; // rsi int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5; // r15 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16; // r14 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17; // rax HDDMTile *v88; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3; // rax __int64 v90; // rdx _BOOL8 v91; // rdi unsigned __int64 v92; // r14 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18; // rdx int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20; // rax __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6; // rax __int64 v97; // rdx _BOOL8 v98; // rdi unsigned int v99; // r14d unsigned int v100; // r15d __int64 v101; // r13 __int64 v102; // r13 __int64 v103; // r13 __int64 v104; // r13 __int64 v105; // r13 __int64 v106; // r13 __int64 v107; // r13 __int64 v108; // rax __int64 v109; // rdx int v110; // eax __int64 v111; // rax int v112; // ecx unsigned int v113; // ebx __int64 v114; // rdx int v115; // ebp __int64 v116; // rax __int64 v117; // rax __int64 v118; // rax __int64 v119; // rdx __int64 v120; // r13 int v121; // r14d int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21; // rax unsigned __int64 v123; // r12 int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10; // rbx __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22; // rax int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11; // r15 __int64 insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9; // rax __int64 v128; // rdx _BOOL8 v129; // rdi int v130; // ebx __int64 v131; // rax __int64 v132; // rax __int64 v133; // rax __int64 TileType; // rbx int v135; // eax __int64 v136; // rdx __int64 v137; // rcx __int64 v138; // rax __int64 TileTypeERKSs; // rbx int v140; // eax __int64 v141; // rdx __int64 v142; // rcx __int64 v143; // rax HPAParamMgr *ParamMgrEv; // rbp char ValueAsBoolERKSs_2; // bl const char *s1_3; // rbp HDDMInactiveExceptionAccess *v147; // rbp char v148; // bl google::protobuf::Message *v149; // rdx HEXDataException *v150; // rbp HDDMDevice **v151; // rbx __int64 v152; // rax __int64 v153; // rax HDDMOracle *v154; // rbx HEXDataException *exception; // rbx const char *DEBUG:_Request_device_load:_%s__%s_n; // [rsp+0h] [rbp-AC8h] int v157; // [rsp+0h] [rbp-AC8h] int v158; // [rsp+8h] [rbp-AC0h] __int64 v159; // [rsp+8h] [rbp-AC0h] int v160; // [rsp+10h] [rbp-AB8h] int v161; // [rsp+10h] [rbp-AB8h] HDDMTilePort **p_s1; // [rsp+20h] [rbp-AA8h] std::string *v165; // [rsp+30h] [rbp-A98h] std::string *v167; // [rsp+58h] [rbp-A70h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19; // [rsp+68h] [rbp-A60h] unsigned int v170; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1; // [rsp+68h] [rbp-A60h] int *insert_hint_unique_pos_1; // [rsp+68h] [rbp-A60h] unsigned int v175; // [rsp+74h] [rbp-A54h] HDDMDevice *Device; // [rsp+98h] [rbp-A30h] __int64 v177; // [rsp+A0h] [rbp-A28h] __int64 v178; // [rsp+C0h] [rbp-A08h] char ValueAsBool; // [rsp+CBh] [rbp-9FDh] unsigned int v180; // [rsp+CCh] [rbp-9FCh] char v181; // [rsp+E5h] [rbp-9E3h] BYREF char v182; // [rsp+E7h] [rbp-9E1h] BYREF char v183; // [rsp+E9h] [rbp-9DFh] BYREF char v184; // [rsp+EAh] [rbp-9DEh] BYREF char v185; // [rsp+ECh] [rbp-9DCh] BYREF char v186; // [rsp+EDh] [rbp-9DBh] BYREF char v187; // [rsp+EFh] [rbp-9D9h] BYREF unsigned __int16 v188[8]; // [rsp+F0h] [rbp-9D8h] BYREF unsigned __int16 v189[8]; // [rsp+100h] [rbp-9C8h] BYREF unsigned __int16 v190[7]; // [rsp+110h] [rbp-9B8h] BYREF unsigned __int16 v191; // [rsp+11Eh] [rbp-9AAh] BYREF _QWORD v192[2]; // [rsp+120h] [rbp-9A8h] BYREF _QWORD v193[2]; // [rsp+130h] [rbp-998h] BYREF _QWORD v194[2]; // [rsp+140h] [rbp-988h] BYREF _QWORD v195[2]; // [rsp+150h] [rbp-978h] BYREF __int64 v196; // [rsp+160h] [rbp-968h] BYREF __int64 v197; // [rsp+170h] [rbp-958h] BYREF int v198[2]; // [rsp+180h] [rbp-948h] BYREF int v199[2]; // [rsp+190h] [rbp-938h] BYREF _QWORD v200[2]; // [rsp+1A0h] [rbp-928h] BYREF _QWORD v201[2]; // [rsp+1B0h] [rbp-918h] BYREF _QWORD v202[2]; // [rsp+1C0h] [rbp-908h] BYREF _QWORD v203[2]; // [rsp+1F0h] [rbp-8D8h] BYREF _QWORD v204[2]; // [rsp+200h] [rbp-8C8h] BYREF __int64 v205; // [rsp+210h] [rbp-8B8h] BYREF __int64 v206; // [rsp+220h] [rbp-8A8h] BYREF _QWORD v207[2]; // [rsp+230h] [rbp-898h] BYREF _QWORD v208[2]; // [rsp+240h] [rbp-888h] BYREF _QWORD v209[2]; // [rsp+250h] [rbp-878h] BYREF _QWORD v210[2]; // [rsp+260h] [rbp-868h] BYREF _QWORD v211[2]; // [rsp+270h] [rbp-858h] BYREF _QWORD v212[2]; // [rsp+280h] [rbp-848h] BYREF _QWORD v213[2]; // [rsp+2A0h] [rbp-828h] BYREF _QWORD v214[2]; // [rsp+2B0h] [rbp-818h] BYREF _QWORD v215[2]; // [rsp+2C0h] [rbp-808h] BYREF _QWORD v216[2]; // [rsp+2D0h] [rbp-7F8h] BYREF _QWORD v217[2]; // [rsp+2F0h] [rbp-7D8h] BYREF _QWORD v218[2]; // [rsp+300h] [rbp-7C8h] BYREF _QWORD v219[2]; // [rsp+310h] [rbp-7B8h] BYREF _QWORD v220[2]; // [rsp+320h] [rbp-7A8h] BYREF _QWORD v221[2]; // [rsp+330h] [rbp-798h] BYREF _QWORD v222[2]; // [rsp+340h] [rbp-788h] BYREF _QWORD v223[2]; // [rsp+350h] [rbp-778h] BYREF _QWORD v224[2]; // [rsp+360h] [rbp-768h] BYREF _QWORD v225[2]; // [rsp+370h] [rbp-758h] BYREF _QWORD v226[2]; // [rsp+380h] [rbp-748h] BYREF _QWORD v227[2]; // [rsp+390h] [rbp-738h] BYREF unsigned int v228[4]; // [rsp+3A0h] [rbp-728h] BYREF _QWORD v229[2]; // [rsp+3B0h] [rbp-718h] BYREF HDDMTile *v230[2]; // [rsp+3C0h] [rbp-708h] BYREF HDDMTilePort *p_s1[2]; // [rsp+3D0h] [rbp-6F8h] BYREF __int64 v232; // [rsp+3E0h] [rbp-6E8h] BYREF __int64 v233; // [rsp+3F0h] [rbp-6D8h] BYREF _QWORD v234[2]; // [rsp+400h] [rbp-6C8h] BYREF _QWORD v235[2]; // [rsp+410h] [rbp-6B8h] BYREF __int64 v236; // [rsp+420h] [rbp-6A8h] BYREF _QWORD v237[2]; // [rsp+430h] [rbp-698h] BYREF _QWORD v238[2]; // [rsp+440h] [rbp-688h] BYREF _QWORD v239[2]; // [rsp+450h] [rbp-678h] BYREF const HDDMTile *v240[2]; // [rsp+460h] [rbp-668h] BYREF __int64 v241; // [rsp+470h] [rbp-658h] BYREF int v242; // [rsp+478h] [rbp-650h] BYREF int *insert_hint_unique_pos_6; // [rsp+480h] [rbp-648h] int *v244; // [rsp+488h] [rbp-640h] int *v245; // [rsp+490h] [rbp-638h] __int64 v246; // [rsp+498h] [rbp-630h] void *s1_2; // [rsp+4A0h] [rbp-628h] BYREF int v248; // [rsp+4A8h] [rbp-620h] BYREF int *insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; // [rsp+4B0h] [rbp-618h] int *v250; // [rsp+4B8h] [rbp-610h] int *v251; // [rsp+4C0h] [rbp-608h] __int64 v252; // [rsp+4C8h] [rbp-600h] _BYTE v253[64]; // [rsp+4D0h] [rbp-5F8h] BYREF void *s2[12]; // [rsp+510h] [rbp-5B8h] BYREF _BYTE v255[176]; // [rsp+570h] [rbp-558h] BYREF void *s1; // [rsp+620h] [rbp-4A8h] BYREF char *v257; // [rsp+628h] [rbp-4A0h] BYREF __int16 v258; // [rsp+630h] [rbp-498h] BYREF __int16 v259; // [rsp+632h] [rbp-496h] __int16 v260; // [rsp+634h] [rbp-494h] __int16 v261; // [rsp+636h] [rbp-492h] __int16 v262; // [rsp+638h] [rbp-490h] __int16 v263; // [rsp+63Ah] [rbp-48Eh] _QWORD v264[3]; // [rsp+640h] [rbp-488h] BYREF int v265; // [rsp+658h] [rbp-470h] int v266; // [rsp+65Ch] [rbp-46Ch] int v267; // [rsp+660h] [rbp-468h] int v268; // [rsp+664h] [rbp-464h] char v269; // [rsp+A88h] [rbp-40h] std::string::string(&s1, "", &s1_2); std::string::string(s2, "device:loadDevice", &v241); HUTMemWatcher::HUTMemWatcher((HUTMemWatcher *)v255, (const std::string *)s2, (const std::string *)&s1); std::string::_Rep::_M_dispose((char *)s2[0] - 24, v253); std::string::_Rep::_M_dispose((char *)s1 - 24, s2); if ( &_pthread_key_create ) { v6 = pthread_mutex_lock(&mutex_); if ( v6 ) std::__throw_system_error(v6); } HUTRuntime::HUTRuntime((HUTRuntime *)v253, 1); HUTMemory::getUsedMemory((HUTMemory *)v253); p_s1 = (HDDMTilePort **)HPAParamMgr::getParamMgr((HPAParamMgr *)v253); std::string::string(v192, "device.trackDeviceDataLoading", s2); ValueAsBool = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v192); std::string::_Rep::_M_dispose(v192[0] - 24LL, &s1); if ( ValueAsBool ) { v7 = *(_QWORD *)a2; v8 = *(_QWORD *)a3; std::string::string(v225, "trackDeviceDataLoading", &v182); std::string::string(v224, "device", &s1); v160 = v8; v158 = v7; DEBUG:_Request_device_load:_%s__%s_n = "DEBUG: Request device load: %s, %s\n"; ComMsgMgr::sendScopedMsg::eval( 2, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 770, v224, v225, 16777218); std::string::_Rep::_M_dispose(v224[0] - 24LL, s2); std::string::_Rep::_M_dispose(v225[0] - 24LL, &s1); } std::string::string((std::string *)v193, a2); sub_2188390( (unsigned int)&s1, (unsigned int)v193, v9, v10, v11, v12, (_DWORD)DEBUG:_Request_device_load:_%s__%s_n, v158, v160); n128 = 0; std::string::_Rep::_M_dispose(v193[0] - 24LL, s2); s1_1 = s1; do { Device_2 = *(HDDMDevice **)((char *)this + n128); if ( Device_2 ) { s2_1 = (_QWORD *)*((_QWORD *)Device_2 + 44); n = *(s1_1 - 3); if ( n == *(s2_1 - 3) && !memcmp(s1_1, s2_1, n) ) { ++*((_DWORD *)Device_2 + 86); if ( ValueAsBool ) { std::string::string(v227, "trackDeviceDataLoading", &v183); std::string::string(v226, "device", s2); ComMsgMgr::sendScopedMsg::eval( 3, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 789, v226, v227, 16777218); std::string::_Rep::_M_dispose(v226[0] - 24LL, &s1_2); std::string::_Rep::_M_dispose(v227[0] - 24LL, s2); s1_1 = s1; } std::string::_Rep::_M_dispose(s1_1 - 3, s2); goto LABEL_13; } } n128 += 8; } while ( n128 != 128 ); std::string::_Rep::_M_dispose(s1_1 - 3, s2); std::string::string(v195, "", s2); std::string::string(v194, "", &s1_2); Device = (HDDMDevice *)HDDMDeviceCache::createDevice(this, (const std::string *)v194, (const std::string *)v195); std::string::_Rep::_M_dispose(v194[0] - 24LL, &s1); std::string::_Rep::_M_dispose(v195[0] - 24LL, &s1); ++*((_DWORD *)Device + 86); v188[0] = 0; v191 = 0; HDDMDeviceCache::getFileTypeAndVersion(this, a2, v188, &v191); if ( (unsigned __int16)(v188[0] - 2) > 1u ) { exception = (HEXDataException *)__cxa_allocate_exception(0x18u); std::string::string((std::string *)&v197, a2); std::string::string(&v196, "File is not a chip or device XNG:", s2); sub_1E8DC92(exception, v157, v159); std::string::_Rep::_M_dispose(v196 - 24, &s1); std::string::_Rep::_M_dispose(v197 - 24, &s1); __cxa_throw(exception, (struct type_info *)&`typeinfo for'HEXDataException, sub_1F4CF30); } *(_QWORD *)v198 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; *(_QWORD *)v199 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; if ( v188[0] == 2 ) { sub_1F9A060(&s1, *(_QWORD *)a2, 4, 0); std::istream::read((std::istream *)&v258, (char *)&s1_2, 8); HDDMXng::Chip::Chip((HDDMXng::Chip *)s2); HDDMDevice::readMessage((HDDMDevice *)&v258, (std::istream *)s2, v149); std::string::assign((std::string *)v198, (const std::string *)s2[7]); std::string::assign((std::string *)v199, (const std::string *)s2[6]); HDDMXng::Chip::~Chip((HDDMXng::Chip *)s2); sub_1F34A70(&s1); } else { std::string::string((std::string *)v200, a2); HUBSimpleScanner::HUBSimpleScanner(&s1, v200); std::string::_Rep::_M_dispose(v200[0] - 24LL, s2); HUBSimpleScanner::scanTargetWord((HUBSimpleScanner *)&s1, "xngd", 1); HUBSimpleScanner::scanInt((HUBSimpleScanner *)&s1, 1, "version number"); HUBSimpleScanner::scanWord((HUBSimpleScanner *)v201, (bool)&s1, (const char *)&dword_0 + 1); std::string::swap((std::string *)v198, (std::string *)v201); std::string::_Rep::_M_dispose(v201[0] - 24LL, s2); HUBSimpleScanner::scanWord((HUBSimpleScanner *)v202, (bool)&s1, (const char *)&dword_0 + 1); std::string::swap((std::string *)v199, (std::string *)v202); std::string::_Rep::_M_dispose(v202[0] - 24LL, s2); HUBSimpleScanner::~HUBSimpleScanner((HUBSimpleScanner *)&s1); } std::string::string((std::string *)v203, a3); if ( !*(_QWORD *)(v203[0] - 24LL) ) { sub_21886D0(v204, a2, v198); std::string::swap((std::string *)v203, (std::string *)v204); std::string::_Rep::_M_dispose(v204[0] - 24LL, &s1); } HDDMDevice::setloadpaths(Device, a2, (const std::string *)v203); v189[0] = 0; v190[0] = 0; HDDMDeviceCache::getFileTypeAndVersion(this, (const std::string *)v203, v189, v190); if ( v189[0] != 1 ) { v150 = (HEXDataException *)__cxa_allocate_exception(0x18u); std::string::string((std::string *)&v206, (const std::string *)v203); std::string::string(&v205, "File is not an architecture XNG:", s2); sub_1E8DC92(v150, v157, v159); std::string::_Rep::_M_dispose(v205 - 24, &s1); std::string::_Rep::_M_dispose(v206 - 24, &s1); __cxa_throw(v150, (struct type_info *)&`typeinfo for'HEXDataException, sub_1F4CF30); } HDDMDevice::readarch_pb(Device, (const std::string *)v203, v190[0]); v19 = v188[0] != 3; *((_BYTE *)Device + 497) = v188[0] == 3; if ( !v19 ) { HDDMDevice::readdevice(Device, a2); Device_1 = Device; if ( *((_QWORD *)Device + 8) ) goto LABEL_24; LABEL_29: HDDMDevice::createRPMGrid(Device_1); goto LABEL_24; } v260 = -1; v261 = -1; v258 = -1; s1 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; v257 = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; v259 = -1; v262 = -1; v263 = -1; v264[0] = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; v264[1] = 0; v264[2] = 0; v265 = 0; v266 = 0; v267 = 0; v268 = -1; std::string::assign((std::string *)&v257, "chip", 4u); std::string::assign((std::string *)&s1, (const std::string *)v199); std::string::assign((std::string *)v264, a2); v261 = 0; v258 = 0; v259 = 0; v260 = 0; v262 = 0; v263 = 0; v267 = 0; v268 = 0; s2[0] = 0; std::vector<HDDMChip *>::_M_fill_assign((char *)Device + 952, 1, s2); HDDMDevice::readchip_pb(Device, &s1); std::string::_Rep::_M_dispose(v264[0] - 24LL, s2); std::string::_Rep::_M_dispose(v257 - 24, s2); std::string::_Rep::_M_dispose((char *)s1 - 24, s2); Device_1 = Device; if ( !*((_QWORD *)Device + 8) ) goto LABEL_29; LABEL_24: HDDMDevice::createRoutingDS(Device); HDDMDevice::setrecursivedeviceid(Device, *(_BYTE *)Device & 0xF); v21 = (HDDMDevice *)((char *)Device + 352); std::string::string((std::string *)v207, (HDDMDevice *)((char *)Device + 352)); std::string::string((std::string *)v239, (const std::string *)v207); std::string::_Rep::_M_dispose(v207[0] - 24LL, &s1); std::string::string(v208, "cfg", &v181); boost::filesystem::path::replace_extension((boost::filesystem::path *)v239, (const boost::filesystem::path *)v208); std::string::_Rep::_M_dispose(v208[0] - 24LL, &s1); HUTEnv::getRDIDataDir((HUTEnv *)v209, (const std::string *)v239); std::string::string((std::string *)v240, (const std::string *)v209); std::string::_Rep::_M_dispose(v209[0] - 24LL, &s1); boost::filesystem::path::operator/=(v240, v239); std::string::string((std::string *)&v241, (const std::string *)v240); boost::filesystem::path::stem((boost::filesystem::path *)v210); std::string::string((std::string *)&s1_2, (const std::string *)v210); std::string::_Rep::_M_dispose(v210[0] - 24LL, &s1); std::string::string((std::string *)v211, (const std::string *)&v241); boost::filesystem::detail::status(v228, v211, 0); if ( v228[0] <= 1 ) { std::string::_Rep::_M_dispose(v211[0] - 24LL, &s1); } else { std::string::_Rep::_M_dispose(v211[0] - 24LL, &s1); v22 = (HDConfig *)operator new(0xB0u); HDConfig::HDConfig(v22, 0, 1); *((_QWORD *)Device + 98) = v22; std::string::string(v212, "", s2); HDConfig::readFile(*((HDConfig **)Device + 98), (const std::string *)&v241, (const std::string *)v212); std::string::_Rep::_M_dispose(v212[0] - 24LL, &s1); s2[0] = (char *)&std::string::_Rep::_S_empty_rep_storage + 24; std::string::string(v213, "DeviceName", v238); LOBYTE(v22) = sub_1F2E490(*((std::string **)Device + 98), (HDARPart *)v213, (std::string *)s2); std::string::_Rep::_M_dispose(v213[0] - 24LL, &s1); if ( (_BYTE)v22 ) { v23 = *((_QWORD *)s1_2 - 3); if ( v23 != *((_QWORD *)s2[0] - 3) || memcmp(s1_2, s2[0], *((_QWORD *)s1_2 - 3)) ) { std::string::string(&s1, " Device name does not match configuration name! ", v238); std::string::append((std::string *)&s1, (const std::string *)s2); v24 = (HEXInternalException *)__cxa_allocate_exception(0x18u); HEXInternalException::HEXInternalException(v24, (const std::string *)&s1); __cxa_throw(v24, (struct type_info *)&`typeinfo for'HEXInternalException, sub_1F508A0); } } else { v23 = *((_QWORD *)s2[0] - 3); } std::string::_M_mutate((std::string *)s2, 0, v23, 0); std::string::string(v214, "BaseDevice", v238); v148 = sub_1F2E490(*((std::string **)Device + 98), (HDARPart *)v214, (std::string *)s2); std::string::_Rep::_M_dispose(v214[0] - 24LL, &s1); if ( v148 ) std::string::assign((HDDMDevice *)((char *)Device + 792), (const std::string *)s2); std::string::_Rep::_M_dispose((char *)s2[0] - 24, &s1); } HDConfig::HDConfig((HDConfig *)&s1, 0, 1); std::string::string(v216, "", v238); std::string::string(v215, "specdevice.cfg", v237); HDConfig::readFile((HDConfig *)&s1, (const std::string *)v215, (const std::string *)v216); std::string::_Rep::_M_dispose(v215[0] - 24LL, s2); std::string::_Rep::_M_dispose(v216[0] - 24LL, s2); std::string::string(s2, "specialDevice.", v238); std::string::append((std::string *)s2, (const std::string *)&s1_2); if ( (unsigned __int8)HDConfig::exists((HDConfig *)&s1, (const std::string *)s2, 0) ) { if ( !*((_QWORD *)Device + 98) ) sub_2035550( (unsigned int)"/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 932, (unsigned int)"device", 0x20000000, (unsigned int)"@21-424@%s", (_DWORD)s1_2, v157, v159, v161); } else if ( *((_QWORD *)Device + 98) ) { s1_3 = (const char *)s1_2; std::string::string(v229, "device", &v184); ComMsgMgr::sendMsg::eval( 1, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 938, v229, &unk_8000000, "@21-425@%s", s1_3); std::string::_Rep::_M_dispose(v229[0] - 24LL, v238); } std::string::_Rep::_M_dispose((char *)s2[0] - 24, v238); HDConfig::~HDConfig((HDConfig *)&s1); std::string::_Rep::_M_dispose((char *)s1_2 - 24, &s1); std::string::_Rep::_M_dispose(v241 - 24, &s1); std::string::_Rep::_M_dispose((char *)v240[0] - 24, &s1); std::string::_Rep::_M_dispose(v239[0] - 24LL, &s1); HDDMDerived::HDDMDerived((HDDMDerived *)s2, Device); isDerived = HDDMDerived::isDerived((HDDMDerived *)s2); *((_BYTE *)Device + 801) = isDerived; if ( isDerived ) { HDDMDerived::buildTileList((HDDMDerived *)s2); HDDMDerived::buildSiteList((HDDMDerived *)s2); if ( *((_BYTE *)Device + 801) ) HDDMDerived::updateDevice((HDDMDerived *)s2); } HDDMDevice::postprocess(Device); std::string::string(v217, "device.disableTemplateLoading", &s1_2); ValueAsBoolERKSs = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v217); std::string::_Rep::_M_dispose(v217[0] - 24LL, &s1); if ( !ValueAsBoolERKSs ) { HDDMTemplateIO::HDDMTemplateIO((HDDMTemplateIO *)&s1); std::string::string(v218, "device.loadAllNodeTemplates", &v241); ValueAsBoolERKSs_1 = HPAParamMgr::getValueAsBool((HPAParamMgr *)p_s1, (const std::string *)v218); std::string::_Rep::_M_dispose(v218[0] - 24LL, &s1_2); if ( ValueAsBoolERKSs_1 ) v269 = 1; std::string::string((std::string *)v220, a5); std::string::string((std::string *)v219, a4); HDDMTemplateIO::loadTemplateData(&s1, Device, v219, v220); std::string::_Rep::_M_dispose(v219[0] - 24LL, &s1_2); std::string::_Rep::_M_dispose(v220[0] - 24LL, &s1_2); HDDMTemplateIO::~HDDMTemplateIO((HDDMTemplateIO *)&s1); } HDDMNodeAdjuster::HDDMNodeAdjuster((HDDMNodeAdjuster *)&s1, Device); HDDMNodeAdjuster::performAdjustments((HDDMNodeAdjuster *)&s1, v21); HDDMNodeAdjuster::~HDDMNodeAdjuster((HDDMNodeAdjuster *)&s1); HDDMDevice::suppressCostcodes(Device); if ( !HUTEnv::getEnv((HUTEnv *)"DEVMODEL_CHECKTILEPORTS", (const char *)v21) ) goto LABEL_184; v242 = 0; insert_hint_unique_pos_6 = 0; v246 = 0; v248 = 0; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 = 0; v252 = 0; v244 = &v242; v245 = &v242; v250 = &v248; v251 = &v248; std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Begin checking tile ports {\n", 28); v28 = *((_WORD *)Device + 2); v29 = *((_WORD *)Device + 3); if ( !(v29 * v28) ) goto LABEL_159; v180 = 0; v30 = 0; do { v31 = *(_QWORD *)(*((_QWORD *)Device + 31) + 8 * v30); v32 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v31 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v31 + 4) & 0x3FF)); v33 = *(_QWORD *)(v32 + 560); v34 = *(_QWORD *)(v32 + 552); if ( !(unsigned __int16)((v33 - v34) >> 3) ) goto LABEL_158; v178 = 0; do { v167 = *(std::string **)(v34 + 8 * v178); v35 = *((_QWORD *)v167 + 3); v36 = *((_QWORD *)v167 + 4); if ( !(unsigned __int16)((v36 - v35) >> 3) ) goto LABEL_156; v177 = 0; while ( 1 ) { v37 = *(_QWORD **)(v35 + 8 * v177); v38 = v37[3]; v39 = (v37[4] - v38) >> 3; if ( (_DWORD)v39 ) { v40 = 0; while ( 1 ) { s1_4 = 0; if ( (unsigned __int16)v40 < v39 ) s1_4 = *(const HDDMTilePort **)(v38 + 8LL * (unsigned __int16)v40); v230[0] = 0; p_s1[0] = 0; if ( (unsigned __int8)HDDMTile::getMatchingPort((HDDMTile *)v31, s1_4, v230, p_s1) ) { if ( !(unsigned int)std::string::compare((std::string *)((char *)v167 + 8), "Z") ) hut::detail::assertion_failed( (hut::detail *)"edge1->getName() != \"Z\"", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[82], v56); v57 = *(std::string **)p_s1[0]; v240[0] = 0; s1 = 0; v165 = v57; HDDMTile::getMatchingPort(v230[0], p_s1[0], v240, (const HDDMTilePort **)&s1); if ( s1 ) v58 = *(_QWORD **)s1; else v58 = 0; if ( (const HDDMTile *)v31 != v240[0] ) { HDDMTile::getName((HDDMTile *)&v236); if ( v240[0] ) HDDMTile::getName((HDDMTile *)v235); else std::string::string(v235, "NULL", &v186); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Tile3 = ", 8); v59 = std::__ostream_insert<char,std::char_traits<char>>( &std::cout, v235[0], *(_QWORD *)(v235[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v59, " should be ", 11); v60 = std::__ostream_insert<char,std::char_traits<char>>(v59, v236, *(_QWORD *)(v236 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v60, "\n", 1); std::string::_Rep::_M_dispose(v235[0] - 24LL, v239); std::string::_Rep::_M_dispose(v236 - 24, v239); if ( (const HDDMTile *)v31 != v240[0] ) hut::detail::assertion_failed( (hut::detail *)"tile3 == tile1", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[85], v61); } if ( v37 != v58 ) { if ( v58 ) std::string::string((std::string *)v234, (const std::string *)(v58 + 2)); else std::string::string(v234, "NULL", &v185); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Face3 = ", 8); v62 = std::__ostream_insert<char,std::char_traits<char>>( &std::cout, v234[0], *(_QWORD *)(v234[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v62, " should be ", 11); v63 = std::__ostream_insert<char,std::char_traits<char>>(v62, v37[2], *(_QWORD *)(v37[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v63, "\n", 1); std::string::_Rep::_M_dispose(v234[0] - 24LL, v239); } if ( s1_4 != s1 ) { v64 = *((_DWORD *)s1_4 + 2); v65 = -1; if ( s1 ) v65 = *((_DWORD *)s1 + 2); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Port3 = ", 8); v66 = std::ostream::_M_insert<unsigned long>(&std::cout, v65); std::__ostream_insert<char,std::char_traits<char>>(v66, " should be ", 11); v67 = std::ostream::_M_insert<unsigned long>(v66, v64); std::__ostream_insert<char,std::char_traits<char>>(v67, "\n", 1); if ( s1_4 != s1 ) hut::detail::assertion_failed( (hut::detail *)"port3 == port1", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[87] + 3, v68); } if ( *((_DWORD *)s1_4 + 3) != *((_DWORD *)p_s1[0] + 3) ) { insert_hint_unique_pos_3 = insert_hint_unique_pos_6; insert_hint_unique_pos_2 = &v242; if ( !insert_hint_unique_pos_6 ) goto LABEL_86; do { while ( v31 <= *((_QWORD *)insert_hint_unique_pos_3 + 4) ) { insert_hint_unique_pos_2 = insert_hint_unique_pos_3; insert_hint_unique_pos_3 = (int *)*((_QWORD *)insert_hint_unique_pos_3 + 2); if ( !insert_hint_unique_pos_3 ) goto LABEL_84; } insert_hint_unique_pos_3 = (int *)*((_QWORD *)insert_hint_unique_pos_3 + 3); } while ( insert_hint_unique_pos_3 ); LABEL_84: if ( insert_hint_unique_pos_2 == &v242 || v31 < *((_QWORD *)insert_hint_unique_pos_2 + 4) ) { LABEL_86: insert_hint_unique_pos_4 = insert_hint_unique_pos_2; insert_hint_unique_pos_5 = operator new(0x30u); insert_hint_unique_pos_2 = (int *)insert_hint_unique_pos_5; if ( insert_hint_unique_pos_5 ) { *(_DWORD *)insert_hint_unique_pos_5 = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 8) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 16) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 24) = 0; *(_QWORD *)(insert_hint_unique_pos_5 + 32) = v31; *(_DWORD *)(insert_hint_unique_pos_5 + 40) = 0; } insert_hint_unique_pos = std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_get_insert_hint_unique_pos( &v241, insert_hint_unique_pos_4, insert_hint_unique_pos_5 + 32); if ( v74 ) { v75 = 1; if ( !insert_hint_unique_pos && (int *)v74 != &v242 ) v75 = *((_QWORD *)insert_hint_unique_pos_2 + 4) < *(_QWORD *)(v74 + 32); std::_Rb_tree_insert_and_rebalance(v75, insert_hint_unique_pos_2, v74, &v242); ++v246; } else { insert_hint_unique_pos_1 = (int *)insert_hint_unique_pos; operator delete(insert_hint_unique_pos_2); insert_hint_unique_pos_2 = insert_hint_unique_pos_1; } } ++insert_hint_unique_pos_2[10]; v76 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v31 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v31 + 4) & 0x3FF)); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = &v248; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_98; do { while ( v76 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 ) goto LABEL_96; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__12 ); LABEL_96: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 == &v248 || v76 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 + 4) ) { LABEL_98: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_ = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 32) = v76; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_ = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__14 + 32); if ( v81 ) { v82 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_ && (int *)v81 != &v248 ) v82 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 + 4) < *(_QWORD *)(v81 + 32); std::_Rb_tree_insert_and_rebalance( v82, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2, v81, &v248); ++v252; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4_; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__1; } } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__2[10]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = insert_hint_unique_pos_6; if ( insert_hint_unique_pos_6 ) { v84 = v230[0]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = &v242; do { while ( (HDDMTile *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 4) >= v230[0] ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 ) goto LABEL_108; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__15 ); LABEL_108: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 == &v242 || (HDDMTile *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) > v230[0] ) { LABEL_110: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__17 + 24) = 0; v88 = v230[0]; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5[10] = 0; *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) = v88; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3 = std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_get_insert_hint_unique_pos( &v241, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__16, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 8); if ( v90 ) { v91 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3 && (int *)v90 != &v242 ) v91 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 + 4) < *(_QWORD *)(v90 + 32); std::_Rb_tree_insert_and_rebalance( v91, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5, v90, &v242); ++v246; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__3; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__4; } v84 = v230[0]; } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5[10]; v92 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v84 >> 6) & 0xF] + 168LL) + 8LL * (*((_WORD *)v84 + 2) & 0x3FF)); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = &v248; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_123; do { while ( v92 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 ) goto LABEL_121; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__18 ); LABEL_121: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 == &v248 || v92 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 + 4) ) { LABEL_123: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 32) = v92; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6 = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__19, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__20 + 32); if ( v97 ) { v98 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6 && (int *)v97 != &v248 ) v98 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 + 4) < *(_QWORD *)(v97 + 32); std::_Rb_tree_insert_and_rebalance( v98, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8, v97, &v248); ++v252; } else { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__6; operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__7; } } ++insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__8[10]; v170 = *((_DWORD *)p_s1[0] + 3); v175 = *((_DWORD *)p_s1[0] + 2); HDDMTile::getName((HDDMTile *)&v233); v99 = *((_DWORD *)s1_4 + 3); v100 = *((_DWORD *)s1_4 + 2); HDDMTile::getName((HDDMTile *)&v232); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Global mismatch: ", 17); v101 = std::__ostream_insert<char,std::char_traits<char>>(&std::cout, v232, *(_QWORD *)(v232 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v101, ".", 1); v102 = std::__ostream_insert<char,std::char_traits<char>>(v101, v37[2], *(_QWORD *)(v37[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v102, "[", 1); v103 = std::ostream::_M_insert<unsigned long>(v102, v100); std::__ostream_insert<char,std::char_traits<char>>(v103, "] = ", 4); v104 = std::ostream::_M_insert<unsigned long>(v103, v99); std::__ostream_insert<char,std::char_traits<char>>(v104, " ", 1); v105 = std::__ostream_insert<char,std::char_traits<char>>(v104, v233, *(_QWORD *)(v233 - 24)); std::__ostream_insert<char,std::char_traits<char>>(v105, ".", 1); v106 = std::__ostream_insert<char,std::char_traits<char>>( v105, *((_QWORD *)v165 + 2), *(_QWORD *)(*((_QWORD *)v165 + 2) - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v106, "[", 1); v107 = std::ostream::_M_insert<unsigned long>(v106, v175); std::__ostream_insert<char,std::char_traits<char>>(v107, "] = ", 4); v108 = std::ostream::_M_insert<unsigned long>(v107, v170); std::__ostream_insert<char,std::char_traits<char>>(v108, "\n", 1); std::string::_Rep::_M_dispose(v232 - 24, v239); std::string::_Rep::_M_dispose(v233 - 24, v239); goto LABEL_56; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__5 = &v242; goto LABEL_110; } } else if ( v230[0] ) { if ( (*(_BYTE *)v31 & 0x20) != 0 ) { v147 = (HDDMInactiveExceptionAccess *)__cxa_allocate_exception(0x18u); HDDMTile::getRawName((HDDMTile *)v238); std::string::string(v239, "Tile", v240); HDDMInactiveExceptionAccess::HDDMInactiveExceptionAccess( v147, (const std::string *)v239, (const std::string *)v238); std::string::_Rep::_M_dispose(v239[0] - 24LL, &s1); std::string::_Rep::_M_dispose(v238[0] - 24LL, &s1); __cxa_throw(v147, (struct type_info *)&`typeinfo for'HDDMInactiveExceptionAccess, sub_1ED58B0); } v41 = HDDMDeviceCache::m_devcache[(*(_WORD *)v31 >> 6) & 0xF]; v42 = *(unsigned __int16 *)(v41 + 6); v43 = *(unsigned __int16 *)(v41 + 4); v44 = *(_DWORD *)(v31 + 40) % v42; v45 = v43 - 1 - *(_DWORD *)(v31 + 40) / v42; v46 = *(_QWORD *)(*(_QWORD *)(v41 + 168) + 8LL * (*(_WORD *)(v31 + 4) & 0x3FF)); v47 = *(unsigned __int16 *)(v46 + 24); v48 = *(unsigned __int16 *)(v46 + 26); n3 = ***(_WORD ***)s1_4; if ( n3 == 1 ) { if ( v47 + v44 == v42 ) goto LABEL_56; } else if ( n3 ) { if ( n3 == 2 ) { if ( !(_WORD)v45 ) goto LABEL_56; } else if ( n3 != 3 || !(_WORD)v44 ) { goto LABEL_56; } } else if ( v48 + (unsigned __int16)v45 == v43 ) { goto LABEL_56; } v50 = *((_DWORD *)s1_4 + 2); HDDMTile::getName((HDDMTile *)v237); std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "Missing matching port for ", 26); v51 = std::__ostream_insert<char,std::char_traits<char>>(&std::cout, v237[0], *(_QWORD *)(v237[0] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v51, ".", 1); v52 = std::__ostream_insert<char,std::char_traits<char>>(v51, v37[2], *(_QWORD *)(v37[2] - 24LL)); std::__ostream_insert<char,std::char_traits<char>>(v52, "[", 1); v53 = std::ostream::_M_insert<unsigned long>(v52, v50); std::__ostream_insert<char,std::char_traits<char>>(v53, "]", 1); std::__ostream_insert<char,std::char_traits<char>>(v53, "\n", 1); std::string::_Rep::_M_dispose(v237[0] - 24LL, &s1); hut::detail::assertion_failed( (hut::detail *)"false", "void {anonymous}::_checkTilePorts(const HDDMDevice*)", "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", (const char *)&elf_hash_bucket[80] + 1, v54); } LABEL_56: v38 = v37[3]; ++v40; v39 = (v37[4] - v38) >> 3; if ( v40 >= (unsigned int)v39 ) { v109 = *((_QWORD *)v167 + 3); v36 = *((_QWORD *)v167 + 4); goto LABEL_139; } } } v109 = v35; LABEL_139: v110 = v177++; if ( (unsigned __int16)((v36 - v109) >> 3) <= v110 + 1 ) break; v35 = v109; } v111 = *(_QWORD *)(*(_QWORD *)(HDDMDeviceCache::m_devcache[(*(_WORD *)v31 >> 6) & 0xF] + 168LL) + 8LL * (*(_WORD *)(v31 + 4) & 0x3FF)); v33 = *(_QWORD *)(v111 + 560); v34 = *(_QWORD *)(v111 + 552); LABEL_156: v112 = v178++; } while ( v112 + 1 < (unsigned __int16)((v33 - v34) >> 3) ); v28 = *((_WORD *)Device + 2); v29 = *((_WORD *)Device + 3); LABEL_158: v30 = ++v180; } while ( v180 < v29 * (unsigned int)v28 ); LABEL_159: if ( v246 ) { std::ofstream::basic_ofstream(&s1, "badGlobals.txt", 48); if ( *((unsigned __int16 *)Device + 3) * *((unsigned __int16 *)Device + 2) ) { v113 = 0; v114 = 0; do { v240[0] = *(const HDDMTile **)(*((_QWORD *)Device + 31) + 8 * v114); v115 = *(_DWORD *)std::map<HDDMTile const*,int>::operator[](&v241, v240); if ( v115 > 0 ) { HDDMTile::getName((HDDMTile *)p_s1); v116 = std::__ostream_insert<char,std::char_traits<char>>(&s1, p_s1[0], *((_QWORD *)p_s1[0] - 3)); v117 = std::operator<<<std::char_traits<char>>(v116, " "); v118 = std::ostream::operator<<(v117, (unsigned int)v115); std::operator<<<std::char_traits<char>>(v118, "\n"); std::string::_Rep::_M_dispose((char *)p_s1[0] - 24, v239); } v114 = ++v113; } while ( v113 < *((unsigned __int16 *)Device + 3) * (unsigned int)*((unsigned __int16 *)Device + 2) ); } v119 = *((_QWORD *)Device + 21); if ( (unsigned __int16)((*((_QWORD *)Device + 22) - v119) >> 3) ) { v120 = 0; v121 = 0; do { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23; v123 = *(_QWORD *)(v119 + v120); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = &v248; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23 ) goto LABEL_174; do { while ( v123 <= *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 4) ) { insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21; insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 2); if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 ) goto LABEL_172; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 = (int *)*((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 + 3); } while ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__21 ); LABEL_172: if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 == &v248 || v123 < *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 + 4) ) { LABEL_174: insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 = operator new(0x30u); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22; if ( insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 ) { *(_DWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 8) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 16) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 24) = 0; *(_QWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 32) = v123; *(_DWORD *)(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 40) = 0; } insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9 = std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_get_insert_hint_unique_pos( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__22 + 32); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = (int *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9; if ( v128 ) { v129 = 1; if ( !insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__9 && (int *)v128 != &v248 ) v129 = *((_QWORD *)insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11 + 4) < *(_QWORD *)(v128 + 32); insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11; std::_Rb_tree_insert_and_rebalance( v129, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11, v128, &v248); ++v252; } else { operator delete(insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__11); } } v130 = insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__10[10]; if ( v130 > 0 ) { HDDMTileType::getName((HDDMTileType *)v230); v131 = std::__ostream_insert<char,std::char_traits<char>>(&s1, v230[0], *((_QWORD *)v230[0] - 3)); v132 = std::operator<<<std::char_traits<char>>(v131, " "); v133 = std::ostream::operator<<(v132, (unsigned int)v130); std::operator<<<std::char_traits<char>>(v133, "\n"); std::string::_Rep::_M_dispose((char *)v230[0] - 24, v240); } ++v121; v120 += 8; v119 = *((_QWORD *)Device + 21); } while ( v121 < (unsigned __int16)((*((_QWORD *)Device + 22) - v119) >> 3) ); } std::__ostream_insert<char,std::char_traits<char>>(&std::cout, "}\n", 2); std::ofstream::~ofstream(&s1); } std::_Rb_tree<HDDMTileType const*,std::pair<HDDMTileType const* const,int>,std::_Select1st<std::pair<HDDMTileType const* const,int>>,std::less<HDDMTileType const*>,std::allocator<std::pair<HDDMTileType const* const,int>>>::_M_erase( &s1_2, insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERS4__23); std::_Rb_tree<HDDMTile const*,std::pair<HDDMTile const* const,int>,std::_Select1st<std::pair<HDDMTile const* const,int>>,std::less<HDDMTile const*>,std::allocator<std::pair<HDDMTile const* const,int>>>::_M_erase( &v241, insert_hint_unique_pos_6); LABEL_184: if ( !*((_QWORD *)Device + 102) ) { v154 = (HDDMOracle *)operator new(0x138u); HDDMOracle::HDDMOracle(v154, Device); *((_QWORD *)Device + 102) = v154; } std::string::string(v221, "RCLK_INT_L", &s1_2); TileType = HDDMDevice::getTileType(Device, (const std::string *)v221); std::string::_Rep::_M_dispose(v221[0] - 24LL, &s1); if ( TileType ) { v135 = *(unsigned __int16 *)(TileType + 2); if ( (_WORD)v135 ) { v136 = 0; v137 = 8 * (3LL * (unsigned int)(v135 - 1) + 3); do { v138 = *(_QWORD *)(TileType + 216) + v136; if ( (*(_BYTE *)(v138 + 1) & 8) != 0 ) *(_BYTE *)(v138 + 2) |= 0x10u; v136 += 24; } while ( v136 != v137 ); } } std::string::string(v222, "RCLK_INT_R", &s1_2); TileTypeERKSs = HDDMDevice::getTileType(Device, (const std::string *)v222); std::string::_Rep::_M_dispose(v222[0] - 24LL, &s1); if ( TileTypeERKSs ) { v140 = *(unsigned __int16 *)(TileTypeERKSs + 2); if ( (_WORD)v140 ) { v141 = 0; v142 = 8 * (3LL * (unsigned int)(v140 - 1) + 3); do { v143 = *(_QWORD *)(TileTypeERKSs + 216) + v141; if ( (*(_BYTE *)(v143 + 1) & 8) != 0 ) *(_BYTE *)(v143 + 2) |= 0x10u; v141 += 24; } while ( v141 != v142 ); } } HDDMResourceLimits::HDDMResourceLimits((HDDMResourceLimits *)&s1, Device, 0); *((_BYTE *)Device + 802) = HDDMResourceLimits::isDeviceLimited((HDDMResourceLimits *)&s1); HDDMResourceLimits::~HDDMResourceLimits((HDDMResourceLimits *)&s1); if ( ValueAsBool ) { HUTMemory::getUsedMemory((HUTMemory *)&s1); HUTRuntime::getWallSecs((HUTRuntime *)v253); HUTRuntime::getUserSecs((HUTRuntime *)v253); std::string::string(&s1, "trackDeviceDataLoading", &v187); std::string::string(v240, "device", &s1_2); ComMsgMgr::sendScopedMsg::eval( 4, "/proj/rdi-xco/wall/workspaces/wall287/sub/REL/2016.3/src/shared/device/devmodel/HDDMDevice.cxx", 1045, v240, &s1, 16777218); std::string::_Rep::_M_dispose((char *)v240[0] - 24, &v241); std::string::_Rep::_M_dispose((char *)s1 - 24, &s1_2); } HDDMProto::freeMemory((HDDMProto *)&qword_992E0F0); ParamMgrEv = (HPAParamMgr *)HPAParamMgr::getParamMgr((HPAParamMgr *)&qword_992E0F0); std::string::string(v223, "arch.regenRpmGrid", &s1_2); ValueAsBoolERKSs_2 = HPAParamMgr::getValueAsBool(ParamMgrEv, (const std::string *)v223); std::string::_Rep::_M_dispose(v223[0] - 24LL, &s1); if ( ValueAsBoolERKSs_2 ) { HDDMSiteRPMHack::HDDMSiteRPMHack((HDDMSiteRPMHack *)&s1, Device); HDDMSiteRPMHack::regenRPMGrid((HDDMSiteRPMHack *)&s1); HDDMDevice::createRPMGrid(Device); HDDMSiteRPMHack::~HDDMSiteRPMHack((HDDMSiteRPMHack *)&s1); } if ( !*((_QWORD *)Device + 103) ) { v151 = (HDDMDevice **)operator new(0x20u); v151[1] = 0; v151[2] = 0; v151[3] = 0; *v151 = Device; v152 = *((_QWORD *)Device + 19) - *((_QWORD *)Device + 18); s1 = 0; v153 = v152 >> 3; if ( (_WORD)v153 ) std::vector<HDDMConnectionDB *>::_M_fill_insert(v151 + 1, 0, (unsigned __int16)v153, &s1); *((_QWORD *)Device + 103) = v151; } HDDMDerived::~HDDMDerived((HDDMDerived *)s2); std::string::_Rep::_M_dispose(v203[0] - 24LL, &s1); std::string::_Rep::_M_dispose(*(_QWORD *)v199 - 24LL, &s1); std::string::_Rep::_M_dispose(*(_QWORD *)v198 - 24LL, &s1); Device_2 = Device; LABEL_13: HUTRuntime::~HUTRuntime((HUTRuntime *)v253); if ( &_pthread_key_create ) pthread_mutex_unlock(&mutex_); HUTMemWatcher::~HUTMemWatcher((HUTMemWatcher *)v255); return Device_2; }
09-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值