소스 검색

[spirv] Handle error gracefully in createExternVar.

Ehsan Nasiri 6 년 전
부모
커밋
dfbb130d47
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      tools/clang/lib/SPIRV/DeclResultIdMapper.cpp

+ 2 - 2
tools/clang/lib/SPIRV/DeclResultIdMapper.cpp

@@ -637,8 +637,8 @@ SpirvVariable *DeclResultIdMapper::createExternVar(const VarDecl *var) {
     if (astDecls.count(var) == 0)
       createGlobalsCBuffer(var);
 
-    assert(isa<SpirvVariable>(astDecls[var].instr));
-    return cast<SpirvVariable>(astDecls[var].instr);
+    auto *varInstr = astDecls[var].instr;
+    return varInstr ? cast<SpirvVariable>(varInstr) : nullptr;
   }
 
   const auto type = var->getType();