[K/N][interop] Fail with error if the saving was unsuccessful
diff --git a/kotlin-native/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt b/kotlin-native/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt
index 6550943..cc992b3 100644
--- a/kotlin-native/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt
+++ b/kotlin-native/Interop/Indexer/src/main/kotlin/org/jetbrains/kotlin/native/interop/indexer/Utils.kt
@@ -417,7 +417,15 @@
 
 internal fun Compilation.withPrecompiledHeader(translationUnit: CXTranslationUnit): CompilationWithPCH {
     val precompiledHeader = Files.createTempFile(null, ".pch").toFile().apply { this.deleteOnExit() }
-    clang_saveTranslationUnit(translationUnit, precompiledHeader.absolutePath, 0)
+    val cxSaveError = clang_saveTranslationUnit(translationUnit, precompiledHeader.absolutePath, 0)
+
+    if (cxSaveError != CXSaveError.CXSaveError_None.value) {
+        val savedPCH = precompiledHeader.copyTo(Files.createTempFile(null, precompiledHeader.name).toFile(), overwrite = true)
+        error("""
+            Failed to saveTranslationUnit with error: ${CXSaveError.byValue(cxSaveError)}
+            PCH file: ${savedPCH.absolutePath}
+        """.trimIndent())
+    }
 
     return CompilationWithPCH(
         this.compilerArgs,