From f5afb78a9dbb62e69b3c59aeeeb57e1d560d1e23 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Sun, 23 Mar 2014 20:55:53 +0000 Subject: [PATCH] llvm-profdata: Check for bad data in the show command git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204573 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/tools/llvm-profdata/errors.test | 2 ++ tools/llvm-profdata/llvm-profdata.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/test/tools/llvm-profdata/errors.test b/test/tools/llvm-profdata/errors.test index 487da74b86b..6ccb0848698 100644 --- a/test/tools/llvm-profdata/errors.test +++ b/test/tools/llvm-profdata/errors.test @@ -4,8 +4,10 @@ HASH: foo4-1.profdata: foo: Function hash mismatch 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 diff --git a/tools/llvm-profdata/llvm-profdata.cpp b/tools/llvm-profdata/llvm-profdata.cpp index 5a0e27fd6d3..397b5239692 100644 --- a/tools/llvm-profdata/llvm-profdata.cpp +++ b/tools/llvm-profdata/llvm-profdata.cpp @@ -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"; -- 2.34.1