diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2015-01-29 15:49:22 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2015-01-29 15:49:22 +0000 |
commit | 7b54ed221a20d30b6a67f4544b75da5b6d4d4380 (patch) | |
tree | b953ad1d38f66558e8f776232e4c601a34507c77 /llvm/lib/Fuzzer/FuzzerCrossOver.cpp | |
parent | 4b2f17a1d333ba539b219c400000d1ca2be4c7a4 (diff) | |
download | llvm-7b54ed221a20d30b6a67f4544b75da5b6d4d4380.zip llvm-7b54ed221a20d30b6a67f4544b75da5b6d4d4380.tar.gz llvm-7b54ed221a20d30b6a67f4544b75da5b6d4d4380.tar.bz2 |
Temporarily reverting the fuzzer library as it causes too many build issues for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252
llvm-svn: 227452
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerCrossOver.cpp')
-rw-r--r-- | llvm/lib/Fuzzer/FuzzerCrossOver.cpp | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerCrossOver.cpp b/llvm/lib/Fuzzer/FuzzerCrossOver.cpp deleted file mode 100644 index 94af6d5..0000000 --- a/llvm/lib/Fuzzer/FuzzerCrossOver.cpp +++ /dev/null @@ -1,47 +0,0 @@ -//===- FuzzerCrossOver.cpp - Cross over two test inputs -------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// Cross over test inputs. -//===----------------------------------------------------------------------===// - -#include "FuzzerInternal.h" -#include <algorithm> - -namespace fuzzer { - -// Cross A and B, store the result (ap to MaxLen bytes) in U. -void CrossOver(const Unit &A, const Unit &B, Unit *U, size_t MaxLen) { - size_t Size = rand() % MaxLen + 1; - U->clear(); - const Unit *V = &A; - size_t PosA = 0; - size_t PosB = 0; - size_t *Pos = &PosA; - while (U->size() < Size && (PosA < A.size() || PosB < B.size())) { - // Merge a part of V into U. - size_t SizeLeftU = Size - U->size(); - if (*Pos < V->size()) { - size_t SizeLeftV = V->size() - *Pos; - size_t MaxExtraSize = std::min(SizeLeftU, SizeLeftV); - size_t ExtraSize = rand() % MaxExtraSize + 1; - U->insert(U->end(), V->begin() + *Pos, V->begin() + *Pos + ExtraSize); - (*Pos) += ExtraSize; - } - - // Use the other Unit on the next iteration. - if (Pos == &PosA) { - Pos = &PosB; - V = &B; - } else { - Pos = &PosA; - V = &A; - } - } -} - -} // namespace fuzzer |