diff options
author | Stepan Dyatkovskiy <stpworld@narod.ru> | 2012-05-21 10:44:40 +0000 |
---|---|---|
committer | Stepan Dyatkovskiy <stpworld@narod.ru> | 2012-05-21 10:44:40 +0000 |
commit | 1c8f4b8c34a75e184ec40251225c2699efecedac (patch) | |
tree | 8cc5dc0d704f1b7060f6429fe2727d2361cd2d6d /include/llvm/Support | |
parent | 8ae97baef204508272b60f63da0ccf97ecf09b01 (diff) | |
download | external_llvm-1c8f4b8c34a75e184ec40251225c2699efecedac.zip external_llvm-1c8f4b8c34a75e184ec40251225c2699efecedac.tar.gz external_llvm-1c8f4b8c34a75e184ec40251225c2699efecedac.tar.bz2 |
PR1255 (case ranges: work with ConstantRangesSet instead of ConstantInt) related changes for Execution and Verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157183 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support')
-rw-r--r-- | include/llvm/Support/CRSBuilder.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/Support/CRSBuilder.h b/include/llvm/Support/CRSBuilder.h index 1fd1683..5608931 100644 --- a/include/llvm/Support/CRSBuilder.h +++ b/include/llvm/Support/CRSBuilder.h @@ -100,14 +100,16 @@ public: Sorted = false; } - bool verify() { + bool verify(RangeIterator& errItem) { if (Items.empty()) return true; sort(); for (CaseItemIt i = Items.begin(), j = i+1, e = Items.end(); j != e; i = j++) { - if (isIntersected(j, i) && j->second != i->second) + if (isIntersected(j, i) && j->second != i->second) { + errItem = j; return false; + } } return true; } @@ -185,11 +187,14 @@ public: template <class SuccessorClass> class CRSBuilderT : public CRSBuilderBase<SuccessorClass, false> { +public: typedef typename CRSBuilderBase<SuccessorClass, false>::RangeTy RangeTy; typedef typename CRSBuilderBase<SuccessorClass, false>::RangeIterator RangeIterator; +private: + typedef std::list<RangeTy> RangesCollection; typedef typename RangesCollection::iterator RangesCollectionIt; |