[llvm] r204573 - llvm-profdata: Check for bad data in the show command

Justin Bogner mail at justinbogner.com
Sun Mar 23 13:55:53 PDT 2014


Author: bogner
Date: Sun Mar 23 15:55:53 2014
New Revision: 204573

URL: http://llvm.org/viewvc/llvm-project?rev=204573&view=rev
Log:
llvm-profdata: Check for bad data in the show command

Modified:
    llvm/trunk/test/tools/llvm-profdata/errors.test
    llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp

Modified: llvm/trunk/test/tools/llvm-profdata/errors.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-profdata/errors.test?rev=204573&r1=204572&r2=204573&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-profdata/errors.test (original)
+++ llvm/trunk/test/tools/llvm-profdata/errors.test Sun Mar 23 15:55:53 2014
@@ -4,8 +4,10 @@ HASH: foo4-1.profdata: foo: Function has
 RUN: llvm-profdata merge %p/Inputs/overflow.profdata %p/Inputs/overflow.profdata -o /dev/null 2>&1 | FileCheck %s --check-prefix=OVERFLOW
 OVERFLOW: overflow.profdata: overflow: Counter overflow
 
+RUN: not llvm-profdata show %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
 RUN: not llvm-profdata merge %p/Inputs/invalid-count-later.profdata %p/Inputs/invalid-count-later.profdata 2>&1 | FileCheck %s --check-prefix=INVALID-COUNT-LATER
 INVALID-COUNT-LATER: error: {{.*}}invalid-count-later.profdata: Malformed profile data
 
+RUN: not llvm-profdata show %p/Inputs/bad-hash.profdata 2>&1 | FileCheck %s --check-prefix=BAD-HASH
 RUN: not llvm-profdata merge %p/Inputs/bad-hash.profdata %p/Inputs/bad-hash.profdata 2>&1 | FileCheck %s --check-prefix=BAD-HASH
 BAD-HASH: error: {{.*}}bad-hash.profdata: Malformed profile data

Modified: llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp?rev=204573&r1=204572&r2=204573&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp (original)
+++ llvm/trunk/tools/llvm-profdata/llvm-profdata.cpp Sun Mar 23 15:55:53 2014
@@ -137,6 +137,8 @@ int show_main(int argc, const char *argv
     if (Show && ShowCounts)
       OS << "]\n";
   }
+  if (Reader->hasError())
+    exitWithError(Reader->getError().message(), Filename);
 
   if (ShowAllFunctions || !ShowFunction.empty())
     OS << "Functions shown: " << ShownFunctions << "\n";





More information about the llvm-commits mailing list