From d920a2789c940ac3f4b693b6ced1189c15681a06 Mon Sep 17 00:00:00 2001
From: Tomas Oberhuber <tomas.oberhuber@fjfi.cvut.cz>
Date: Sun, 2 Sep 2018 12:45:27 +0200
Subject: [PATCH] Fix of array operations containsValue and containsOnlyValue
 to compile with g++-4.8.

---
 .../Containers/Algorithms/ArrayOperationsCuda_impl.h   | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h b/src/TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h
index 432bfa8549..2963d547de 100644
--- a/src/TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h
+++ b/src/TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h
@@ -227,9 +227,10 @@ containsValue( const Element* data,
    TNL_ASSERT_GE( size, 0, "" );
    if( size == 0 ) return false;
    bool result = false;
-   Algorithms::ParallelReductionContainsValue< Element > reductionContainsValue;
+   using Operation = Algorithms::ParallelReductionContainsValue< Element >;
+   Operation reductionContainsValue;
    reductionContainsValue.setValue( value );
-   Reduction< Devices::Cuda >::reduce( reductionContainsValue, size, data, 0, result );
+   Reduction< Devices::Cuda >::template reduce< Operation, Index >( reductionContainsValue, size, data, 0, result );
    return result;
 }
 
@@ -245,9 +246,10 @@ containsOnlyValue( const Element* data,
    TNL_ASSERT_GE( size, 0, "" );
    if( size == 0 ) return false;
    bool result = false;
-   Algorithms::ParallelReductionContainsOnlyValue< Element > reductionContainsOnlyValue;
+   using Operation = Algorithms::ParallelReductionContainsOnlyValue< Element >;
+   Operation reductionContainsOnlyValue;
    reductionContainsOnlyValue.setValue( value );
-   Reduction< Devices::Cuda >::reduce( reductionContainsOnlyValue, size, data, 0, result );
+   Reduction< Devices::Cuda >::template reduce< Operation, Index >( reductionContainsOnlyValue, size, data, 0, result );
    return result;
 }
 
-- 
GitLab