This is an automated email from the ASF dual-hosted git repository.

wesm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 8a8d7ce  ARROW-9512: [C++] Avoid variadic template unpack inside 
lambda to work around gcc 4.8 bug
8a8d7ce is described below

commit 8a8d7ce39793ed8cafb2318c2752f027c75a17e6
Author: Wes McKinney <w...@apache.org>
AuthorDate: Sun Jul 19 12:25:20 2020 -0500

    ARROW-9512: [C++] Avoid variadic template unpack inside lambda to work 
around gcc 4.8 bug
    
    This works around a gcc bug. This only affects compilation of unit tests on 
gcc 4.8 so not an issue for the 1.0.0 RC1
    
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226
    
    Closes #7794 from wesm/ARROW-9512
    
    Authored-by: Wes McKinney <w...@apache.org>
    Signed-off-by: Wes McKinney <w...@apache.org>
---
 cpp/src/arrow/testing/gtest_util.cc | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/cpp/src/arrow/testing/gtest_util.cc 
b/cpp/src/arrow/testing/gtest_util.cc
index de5b87a..b2f5566 100644
--- a/cpp/src/arrow/testing/gtest_util.cc
+++ b/cpp/src/arrow/testing/gtest_util.cc
@@ -106,20 +106,6 @@ void AssertTsSame(const T& expected, const T& actual, 
CompareFunctor&& compare)
   }
 }
 
-template <typename T, typename... ExtraArgs>
-void AssertTsEqual(const T& expected, const T& actual, ExtraArgs... args) {
-  return AssertTsSame(expected, actual, [&](const T& expected, const T& 
actual) {
-    return expected.Equals(actual, args...);
-  });
-}
-
-template <typename T>
-void AssertTsApproxEqual(const T& expected, const T& actual) {
-  return AssertTsSame(expected, actual, [](const T& expected, const T& actual) 
{
-    return expected.ApproxEquals(actual);
-  });
-}
-
 template <typename CompareFunctor>
 void AssertArraysEqualWith(const Array& expected, const Array& actual, bool 
verbose,
                            CompareFunctor&& compare) {
@@ -175,11 +161,17 @@ void AssertScalarsEqual(const Scalar& expected, const 
Scalar& actual, bool verbo
 
 void AssertBatchesEqual(const RecordBatch& expected, const RecordBatch& actual,
                         bool check_metadata) {
-  AssertTsEqual(expected, actual, check_metadata);
+  AssertTsSame(expected, actual,
+               [&](const RecordBatch& expected, const RecordBatch& actual) {
+                 return expected.Equals(actual, check_metadata);
+               });
 }
 
 void AssertBatchesApproxEqual(const RecordBatch& expected, const RecordBatch& 
actual) {
-  AssertTsApproxEqual(expected, actual);
+  AssertTsSame(expected, actual,
+               [&](const RecordBatch& expected, const RecordBatch& actual) {
+                 return expected.ApproxEquals(actual);
+               });
 }
 
 void AssertChunkedEqual(const ChunkedArray& expected, const ChunkedArray& 
actual) {

Reply via email to