[C++] Fix silent_ignore_error.mk
diff --git a/exec.cc b/exec.cc
index 79e6102..8035965 100644
--- a/exec.cc
+++ b/exec.cc
@@ -160,7 +160,17 @@
printf("%s\n", runner->cmd->c_str());
fflush(stdout);
}
- system(runner->cmd->c_str());
+ int result = system(runner->cmd->c_str());
+ if (result != 0) {
+ if (runner->ignore_error) {
+ fprintf(stderr, "[%.*s] Error %d (ignored)\n",
+ SPF(runner->output), WEXITSTATUS(result));
+ } else {
+ fprintf(stderr, "*** [%.*s] Error %d\n",
+ SPF(runner->output), WEXITSTATUS(result));
+ exit(1);
+ }
+ }
delete runner;
}
}