Backed out changeset 577c20417552 (bug 1449094) for failing /builds/worker/workspace/build/src/mfbt/tests/TestAlgorithm.cpp CLOSED TREE
authorBogdan Tara <btara@mozilla.com>
Fri, 30 Mar 2018 01:54:04 +0300
changeset 466799 2539ded2a075507d76408feb079ddbf5472195f3
parent 466798 577c204175529bf4f23c7736bd67552b393dcc27
child 466800 dd305f45f7469391334fd7e4955bbb9d49c0d5b1
push id1728
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:12:27 +0000
treeherdermozilla-release@c296fde26f5f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1449094
milestone61.0a1
backs out577c204175529bf4f23c7736bd67552b393dcc27
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 577c20417552 (bug 1449094) for failing /builds/worker/workspace/build/src/mfbt/tests/TestAlgorithm.cpp CLOSED TREE
mfbt/Algorithm.h
mfbt/moz.build
mfbt/tests/TestAlgorithm.cpp
mfbt/tests/moz.build
deleted file mode 100644
--- a/mfbt/Algorithm.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* A polyfill for `<algorithm>`. */
-
-#ifndef mozilla_Algorithm_h
-#define mozilla_Algorithm_h
-
-namespace mozilla {
-
-// Returns true if all elements in the range [aFirst, aLast)
-// satisfy the predicate aPred.
-template <class Iter, class Pred>
-bool AllOf(Iter aFirst, Iter aLast, Pred aPred)
-{
-  for (; aFirst != aLast; ++aFirst) {
-    if (!aPred(*aFirst)) {
-      return false;
-    }
-  }
-  return true;
-}
-
-// This is a `constexpr` alternative to AllOf. It should
-// only be used for compile-time computation because it uses recursion.
-// XXX: once support for GCC 4.9 is dropped, this function should be removed
-// and AllOf should be made `constexpr`.
-// XXX: This implementation requires RandomAccessIterator.
-template <class Iter, class Pred>
-constexpr bool ConstExprAllOf(Iter aFirst, Iter aLast, Pred aPred)
-{
-  return aFirst == aLast ? true :
-    aLast - aFirst == 1 ? aPred(*aFirst) :
-    ConstExprAllOf(aFirst, aFirst + (aLast - aFirst) / 2, aPred) &&
-    ConstExprAllOf(aFirst + (aLast - aFirst) / 2, aLast, aPred);
-}
-
-} // namespace mozilla
-
-#endif // mozilla_Algorithm_h
--- a/mfbt/moz.build
+++ b/mfbt/moz.build
@@ -7,17 +7,16 @@
 with Files("**"):
     BUG_COMPONENT = ("Core", "MFBT")
 
 TEST_DIRS += ['tests']
 
 Library('mfbt')
 
 EXPORTS.mozilla = [
-    'Algorithm.h',
     'Alignment.h',
     'AllocPolicy.h',
     'AlreadyAddRefed.h',
     'Array.h',
     'ArrayUtils.h',
     'Assertions.h',
     'Atomics.h',
     'Attributes.h',
deleted file mode 100644
--- a/mfbt/tests/TestAlgorithm.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "mozilla/Algorithm.h"
-#include "mozilla/Assertions.h"
-#include <algorithm>
-
-static constexpr bool even(int32_t n) { return !(n & 1); }
-static constexpr bool odd(int32_t n) { return (n & 1); }
-
-void TestAllOf()
-{
-  using namespace mozilla;
-  using namespace std;
-
-  int32_t arr1[3] = {1, 2, 3};
-  MOZ_RELEASE_ASSERT(!AllOf(begin(arr1), end(arr1), even));
-  MOZ_RELEASE_ASSERT(!AllOf(begin(arr1), end(arr1), odd));
-
-  int32_t arr2[3] = {1, 3, 5};
-  MOZ_RELEASE_ASSERT(!AllOf(begin(arr2), end(arr2), even));
-  MOZ_RELEASE_ASSERT(AllOf(begin(arr2), end(arr2), odd));
-
-  int32_t arr3[3] = {2, 4, 6};
-  MOZ_RELEASE_ASSERT(AllOf(begin(arr3), end(arr3), even));
-  MOZ_RELEASE_ASSERT(!AllOf(begin(arr3), end(arr3), odd));
-}
-
-void TestConstExprAllOf()
-{
-  using namespace mozilla;
-  using namespace std;
-
-  constexpr int32_t arr1[3] = {1, 2, 3};
-  static_assert(!ConstExprAllOf(begin(arr1), end(arr1), even), "1-1");
-  static_assert(!ConstExprAllOf(begin(arr1), end(arr1), odd), "1-2");
-
-  constexpr int32_t arr2[3] = {1, 3, 5};
-  static_assert(!ConstExprAllOf(begin(arr2), end(arr2), even), "2-1");
-  static_assert(ConstExprAllOf(begin(arr2), end(arr2), odd), "2-2");
-
-  constexpr int32_t arr3[3] = {2, 4, 6};
-  static_assert(ConstExprAllOf(begin(arr3), end(arr3), even), "3-1");
-  static_assert(!ConstExprAllOf(begin(arr3), end(arr3), odd), "3-2");
-}
-
-int
-main()
-{
-  TestAllOf();
-  TestConstExprAllOf();
-  return 0;
-}
\ No newline at end of file
--- a/mfbt/tests/moz.build
+++ b/mfbt/tests/moz.build
@@ -5,17 +5,16 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 if CONFIG['MOZ_WIDGET_TOOLKIT']:
     TEST_DIRS += [
         'gtest',
     ]
 
 CppUnitTests([
-    'TestAlgorithm',
     'TestArray',
     'TestArrayUtils',
     'TestAtomics',
     'TestBinarySearch',
     'TestBloomFilter',
     'TestBufferList',
     'TestCasting',
     'TestCeilingFloor',