[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;
     }
   }