Ignore:
Timestamp:
Jan 30, 2018, 10:18:53 PM (23 months ago)
Author:
matszpk
Message:

CLRadeonExtender: ROCmBin: Replace Array by std::vector for simplify parsing and putting objects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdbin/ROCmBinaries.cpp

    r3679 r3680  
    408408{
    409409public:
    410     std::vector<ROCmPrintfInfo> printInfos;
    411    
    412     YAMLPrintfVectorConsumer()
     410    std::vector<ROCmPrintfInfo>& printfInfos;
     411   
     412    YAMLPrintfVectorConsumer(std::vector<ROCmPrintfInfo>& _printInfos)
     413        : printfInfos(_printInfos)
    413414    { }
    414415   
     
    418419        std::string str = parseYAMLStringValue(ptr, end, lineNo, prevIndent);
    419420        // parse printf string
    420         ROCmPrintfInfo printfInfo;
     421        ROCmPrintfInfo printfInfo{};
    421422       
    422423        const char* ptr2 = str.c_str();
     
    586587    metadataInfo.version[0] = metadataInfo.version[1] = 0;
    587588   
    588     std::vector<ROCmKernelMetadata> kernels;
    589     std::vector<ROCmKernelArgInfo> kernelArgs;
     589    std::vector<ROCmKernelMetadata>& kernels = metadataInfo.kernels;
    590590   
    591591    cxuint levels[6] = { UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX, UINT_MAX };
     
    630630                {
    631631                    // leave from kernel args
    632                     ROCmKernelMetadata& kernel = kernels.back();
    633                     kernel.argInfos.assign(kernelArgs.begin(), kernelArgs.end());
    634                     kernelArgs.clear();
    635632                    inKernelArgs = false;
    636633                    inKernelArg = false;
     
    667664                case ROCMMT_MAIN_PRINTF:
    668665                {
    669                     YAMLPrintfVectorConsumer consumer;
     666                    YAMLPrintfVectorConsumer consumer(metadataInfo.printfInfos);
    670667                    parseYAMLValArray(ptr, end, lineNo, levels[curLevel], &consumer);
    671                     metadataInfo.printfInfos.assign(consumer.printInfos.begin(),
    672                                     consumer.printInfos.end());
    673668                    break;
    674669                }
     
    696691            inKernel = true;
    697692           
    698             kernels.push_back(ROCmKernelMetadata());
     693            kernels.push_back(ROCmKernelMetadata{});
    699694        }
    700695       
     
    709704            {
    710705                case ROCMMT_KERNEL_ARGS:
    711                     kernelArgs.clear();
    712706                    inKernelArgs = true;
    713707                    canToNextLevel = true;
     
    840834            inKernelArg = true;
    841835           
    842             kernelArgs.push_back(ROCmKernelArgInfo());
     836            kernels.back().argInfos.push_back(ROCmKernelArgInfo{});
    843837        }
    844838       
     
    849843                        kernelArgInfosKeywordsNum, kernelArgInfosKeywords);
    850844           
    851             ROCmKernelArgInfo& kernelArg = kernelArgs.back();
     845            ROCmKernelArgInfo& kernelArg = kernels.back().argInfos.back();
    852846            switch(keyIndex)
    853847            {
Note: See TracChangeset for help on using the changeset viewer.