Переглянути джерело

[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)
     if (astDecls.count(var) == 0)
       createGlobalsCBuffer(var);
       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();
   const auto type = var->getType();