Set exit code properly on "Unexpected program action".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@57080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 1e26eae..4b0af8d 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -54,6 +54,8 @@
 // Global options.
 //===----------------------------------------------------------------------===//
 
+bool HadErrors = false;
+
 static llvm::cl::opt<bool>
 Verbose("v", llvm::cl::desc("Enable verbose output"));
 static llvm::cl::opt<bool>
@@ -1096,6 +1098,7 @@
     
     if (!Consumer) {      
       fprintf(stderr, "Unexpected program action!\n");
+      HadErrors = true;
       return;
     }
 
@@ -1359,5 +1362,5 @@
     fprintf(stderr, "\n");
   }
   
-  return Diags.getNumErrors() != 0;
+  return HadErrors || (Diags.getNumErrors() != 0);
 }