Report error when no benchmarks match regex. (#308)

Fixes #306
diff --git a/src/benchmark.cc b/src/benchmark.cc
index 8e356de..95f6a25 100644
--- a/src/benchmark.cc
+++ b/src/benchmark.cc
@@ -450,7 +450,7 @@
 namespace internal {
 namespace {
 
-void RunMatchingBenchmarks(const std::vector<Benchmark::Instance>& benchmarks,
+void RunBenchmarks(const std::vector<Benchmark::Instance>& benchmarks,
                            BenchmarkReporter* console_reporter,
                            BenchmarkReporter* file_reporter) {
   // Note the file_reporter can be null.
@@ -581,11 +581,15 @@
   std::vector<internal::Benchmark::Instance> benchmarks;
   if (!FindBenchmarksInternal(spec, &benchmarks, &Err)) return 0;
 
+  if (benchmarks.empty()) {
+    Err << "Failed to match any benchmarks against regex: " << spec << "\n";
+    return 0;
+  }
+
   if (FLAGS_benchmark_list_tests) {
     for (auto const& benchmark : benchmarks) Out << benchmark.name << "\n";
   } else {
-    internal::RunMatchingBenchmarks(benchmarks, console_reporter,
-                                    file_reporter);
+    internal::RunBenchmarks(benchmarks, console_reporter, file_reporter);
   }
 
   return benchmarks.size();