authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2020-02-15 05:14:31-05:00
committergravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2020-02-15 05:14:31-05:00
log85830386402e2050a3dc97778b3a28af2be16e90
tree5b6342a9a7fb9643ab03ab8c3fb42d372bd164cb
parentb15958c557d3b29c8d4cee9951a8bfd30c215482
signaturelock-open Commit is signed but in an unrecognized format.

translate-c: change OutOfMemory → ASTUnitFailure

- return a better error when no diagnostics are available

4 files changed, 5 insertions(+), 1 deletions(-)

src-self-hosted/stage1.zig+2
......@@ -92,6 +92,7 @@ const Error = extern enum {
9292 InvalidCpuFeatures,
9393 InvalidLlvmCpuFeaturesFormat,
9494 UnknownApplicationBinaryInterface,
95 ASTUnitFailure,
9596};
9697
9798const FILE = std.c.FILE;
......@@ -114,6 +115,7 @@ export fn stage2_translate_c(
114115 out_errors_len.* = errors.len;
115116 return Error.CCompileErrors;
116117 },
118 error.ASTUnitFailure => return Error.ASTUnitFailure,
117119 error.OutOfMemory => return Error.OutOfMemory,
118120 };
119121 return Error.None;
src-self-hosted/translate_c.zig+1-1
......@@ -264,7 +264,7 @@ pub fn translate(
264264 &errors.len,
265265 resources_path,
266266 ) orelse {
267 if (errors.len == 0) return error.OutOfMemory;
267 if (errors.len == 0) return error.ASTUnitFailure;
268268 return error.SemanticAnalyzeFail;
269269 };
270270 defer ZigClangASTUnit_delete(ast_unit);
src/error.cpp+1
......@@ -64,6 +64,7 @@ const char *err_str(Error err) {
6464 case ErrorInvalidCpuFeatures: return "invalid CPU features";
6565 case ErrorInvalidLlvmCpuFeaturesFormat: return "invalid LLVM CPU features format";
6666 case ErrorUnknownApplicationBinaryInterface: return "unknown application binary interface";
67 case ErrorASTUnitFailure: return "ASTUnit failure";
6768 }
6869 return "(invalid error)";
6970}
src/userland.h+1
......@@ -84,6 +84,7 @@ enum Error {
8484 ErrorInvalidCpuFeatures,
8585 ErrorInvalidLlvmCpuFeaturesFormat,
8686 ErrorUnknownApplicationBinaryInterface,
87 ErrorASTUnitFailure,
8788};
8889
8990// ABI warning