瀏覽代碼

[spirv] Stop translation if there are errors in previous stages (#632)

Lei Zhang 8 年之前
父節點
當前提交
88cca461de
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      tools/clang/lib/SPIRV/SPIRVEmitter.cpp

+ 4 - 0
tools/clang/lib/SPIRV/SPIRVEmitter.cpp

@@ -186,6 +186,10 @@ SPIRVEmitter::SPIRVEmitter(CompilerInstance &ci,
 }
 }
 
 
 void SPIRVEmitter::HandleTranslationUnit(ASTContext &context) {
 void SPIRVEmitter::HandleTranslationUnit(ASTContext &context) {
+  // Stop translating if there are errors in previous compilation stages.
+  if (context.getDiagnostics().hasErrorOccurred())
+    return;
+
   AddRequiredCapabilitiesForShaderModel();
   AddRequiredCapabilitiesForShaderModel();
 
 
   // Addressing and memory model are required in a valid SPIR-V module.
   // Addressing and memory model are required in a valid SPIR-V module.