COMPMID-2177 Fix clang warnings

Change-Id: I78039db8c58d7b14a042c41e54c25fb9cb509bf7
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1092
Reviewed-by: VidhyaSudhan Loganathan <vidhyasudhan.loganathan@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CL/CLMemory.h b/arm_compute/runtime/CL/CLMemory.h
index 02d3661..48692e1 100644
--- a/arm_compute/runtime/CL/CLMemory.h
+++ b/arm_compute/runtime/CL/CLMemory.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -44,7 +44,7 @@
      *
      * @param[in] memory Memory to be imported
      */
-    CLMemory(std::shared_ptr<ICLMemoryRegion> memory);
+    CLMemory(const std::shared_ptr<ICLMemoryRegion> &memory);
     /** Default Constructor
      *
      * @note Ownership of the memory is not transferred to this object.
diff --git a/arm_compute/runtime/CL/CLMultiHOG.h b/arm_compute/runtime/CL/CLMultiHOG.h
index 17bb4e0..b7d03bf 100644
--- a/arm_compute/runtime/CL/CLMultiHOG.h
+++ b/arm_compute/runtime/CL/CLMultiHOG.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -49,8 +49,8 @@
     const ICLHOG *cl_model(size_t index) const override;
 
 private:
-    size_t                   _num_models;
-    std::unique_ptr<CLHOG[]> _model;
+    size_t             _num_models;
+    std::vector<CLHOG> _model;
 };
 }
 #endif /*__ARM_COMPUTE_CLMULTIHOG_H__ */
diff --git a/arm_compute/runtime/CL/CLPyramid.h b/arm_compute/runtime/CL/CLPyramid.h
index 5e0afb3..b66bc3b 100644
--- a/arm_compute/runtime/CL/CLPyramid.h
+++ b/arm_compute/runtime/CL/CLPyramid.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -75,8 +75,8 @@
      */
     void internal_init(const PyramidInfo &info, bool auto_padding);
 
-    PyramidInfo                 _info;
-    std::unique_ptr<CLTensor[]> _pyramid;
+    PyramidInfo                   _info;
+    mutable std::vector<CLTensor> _pyramid;
 };
 }
 #endif /*__ARM_COMPUTE_CLPYRAMID_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
index 33f751f..9ef21f3 100644
--- a/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLDepthConcatenateLayer.h
@@ -87,10 +87,9 @@
     void run() override;
 
 private:
-    std::vector<ICLTensor *>                         _inputs_vector;
-    std::unique_ptr<CLDepthConcatenateLayerKernel[]> _concat_kernels_vector;
-    std::unique_ptr<CLFillBorderKernel[]>            _border_handlers_vector;
-    unsigned int                                     _num_inputs;
+    std::vector<CLDepthConcatenateLayerKernel> _concat_kernels_vector;
+    std::vector<CLFillBorderKernel>            _border_handlers_vector;
+    unsigned int                               _num_inputs;
 };
 }
 #endif /* __ARM_COMPUTE_CLDEPTHCONCATENATE_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLFFT1D.h b/arm_compute/runtime/CL/functions/CLFFT1D.h
index 029023c..c7f90dd 100644
--- a/arm_compute/runtime/CL/functions/CLFFT1D.h
+++ b/arm_compute/runtime/CL/functions/CLFFT1D.h
@@ -70,14 +70,14 @@
     void run() override;
 
 protected:
-    CLMemoryGroup                            _memory_group;
-    CLFFTDigitReverseKernel                  _digit_reverse_kernel;
-    std::unique_ptr<CLFFTRadixStageKernel[]> _fft_kernels;
-    CLFFTScaleKernel                         _scale_kernel;
-    CLTensor                                 _digit_reversed_input;
-    CLTensor                                 _digit_reverse_indices;
-    unsigned int                             _num_ffts;
-    bool                                     _run_scale;
+    CLMemoryGroup                      _memory_group;
+    CLFFTDigitReverseKernel            _digit_reverse_kernel;
+    std::vector<CLFFTRadixStageKernel> _fft_kernels;
+    CLFFTScaleKernel                   _scale_kernel;
+    CLTensor                           _digit_reversed_input;
+    CLTensor                           _digit_reverse_indices;
+    unsigned int                       _num_ffts;
+    bool                               _run_scale;
 };
 } // namespace arm_compute
 #endif /*__ARM_COMPUTE_CLFFT1D_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLGaussianPyramid.h b/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
index 0110adf..332f806 100644
--- a/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
+++ b/arm_compute/runtime/CL/functions/CLGaussianPyramid.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -90,10 +90,10 @@
     void run() override;
 
 private:
-    std::unique_ptr<CLFillBorderKernel[]>          _horizontal_border_handler;
-    std::unique_ptr<CLFillBorderKernel[]>          _vertical_border_handler;
-    std::unique_ptr<CLGaussianPyramidHorKernel[]>  _horizontal_reduction;
-    std::unique_ptr<CLGaussianPyramidVertKernel[]> _vertical_reduction;
+    std::vector<CLFillBorderKernel>          _horizontal_border_handler;
+    std::vector<CLFillBorderKernel>          _vertical_border_handler;
+    std::vector<CLGaussianPyramidHorKernel>  _horizontal_reduction;
+    std::vector<CLGaussianPyramidVertKernel> _vertical_reduction;
 };
 
 /** Basic function to execute gaussian pyramid with ORB scale factor. This function calls the following OpenCL kernels and functions:
@@ -113,8 +113,8 @@
     void run() override;
 
 private:
-    std::unique_ptr<CLGaussian5x5[]> _gauss5x5;
-    std::unique_ptr<CLScaleKernel[]> _scale_nearest;
+    std::vector<CLGaussian5x5> _gauss5x5;
+    std::vector<CLScaleKernel> _scale_nearest;
 };
 }
 #endif /*__ARM_COMPUTE_CLGAUSSIANPYRAMID_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h b/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
index 1ff9865..9241723 100644
--- a/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
+++ b/arm_compute/runtime/CL/functions/CLHOGMultiDetection.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -89,21 +89,21 @@
     void run() override;
 
 private:
-    CLMemoryGroup                                                 _memory_group;
-    CLHOGGradient                                                 _gradient_kernel;
-    std::unique_ptr<CLHOGOrientationBinningKernel[]>              _orient_bin_kernel;
-    std::unique_ptr<CLHOGBlockNormalizationKernel[]>              _block_norm_kernel;
-    std::unique_ptr<CLHOGDetector[]>                              _hog_detect_kernel;
-    std::unique_ptr<CPPDetectionWindowNonMaximaSuppressionKernel> _non_maxima_kernel;
-    std::unique_ptr<CLTensor[]>                                   _hog_space;
-    std::unique_ptr<CLTensor[]>                                   _hog_norm_space;
-    ICLDetectionWindowArray                                      *_detection_windows;
-    CLTensor                                                      _mag;
-    CLTensor                                                      _phase;
-    bool                                                          _non_maxima_suppression;
-    size_t                                                        _num_orient_bin_kernel;
-    size_t                                                        _num_block_norm_kernel;
-    size_t                                                        _num_hog_detect_kernel;
+    CLMemoryGroup                                _memory_group;
+    CLHOGGradient                                _gradient_kernel;
+    std::vector<CLHOGOrientationBinningKernel>   _orient_bin_kernel;
+    std::vector<CLHOGBlockNormalizationKernel>   _block_norm_kernel;
+    std::vector<CLHOGDetector>                   _hog_detect_kernel;
+    CPPDetectionWindowNonMaximaSuppressionKernel _non_maxima_kernel;
+    std::vector<CLTensor>                        _hog_space;
+    std::vector<CLTensor>                        _hog_norm_space;
+    ICLDetectionWindowArray                     *_detection_windows;
+    CLTensor                                     _mag;
+    CLTensor                                     _phase;
+    bool                                         _non_maxima_suppression;
+    size_t                                       _num_orient_bin_kernel;
+    size_t                                       _num_block_norm_kernel;
+    size_t                                       _num_hog_detect_kernel;
 };
 }
 
diff --git a/arm_compute/runtime/CL/functions/CLHarrisCorners.h b/arm_compute/runtime/CL/functions/CLHarrisCorners.h
index 4cb7fbd..52041a9 100644
--- a/arm_compute/runtime/CL/functions/CLHarrisCorners.h
+++ b/arm_compute/runtime/CL/functions/CLHarrisCorners.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -87,21 +87,21 @@
     void run() override;
 
 private:
-    CLMemoryGroup                       _memory_group;          /**< Function's memory group */
-    std::unique_ptr<IFunction>          _sobel;                 /**< Sobel function */
-    CLHarrisScoreKernel                 _harris_score;          /**< Harris score kernel */
-    CLNonMaximaSuppression3x3           _non_max_suppr;         /**< Non-maxima suppression function */
-    CPPCornerCandidatesKernel           _candidates;            /**< Sort kernel */
-    CPPSortEuclideanDistanceKernel      _sort_euclidean;        /**< Euclidean distance kernel */
-    CLFillBorderKernel                  _border_gx;             /**< Border handler before running harris score */
-    CLFillBorderKernel                  _border_gy;             /**< Border handler before running harris score */
-    CLImage                             _gx;                    /**< Source image - Gx component */
-    CLImage                             _gy;                    /**< Source image - Gy component */
-    CLImage                             _score;                 /**< Source image - Harris score */
-    CLImage                             _nonmax;                /**< Source image - Non-Maxima suppressed image */
-    std::unique_ptr<InternalKeypoint[]> _corners_list;          /**< Array of InternalKeypoint. It stores the potential corner candidates */
-    int32_t                             _num_corner_candidates; /**< Number of potential corner candidates */
-    ICLKeyPointArray                   *_corners;               /**< Output corners array */
+    CLMemoryGroup                  _memory_group;          /**< Function's memory group */
+    std::unique_ptr<IFunction>     _sobel;                 /**< Sobel function */
+    CLHarrisScoreKernel            _harris_score;          /**< Harris score kernel */
+    CLNonMaximaSuppression3x3      _non_max_suppr;         /**< Non-maxima suppression function */
+    CPPCornerCandidatesKernel      _candidates;            /**< Sort kernel */
+    CPPSortEuclideanDistanceKernel _sort_euclidean;        /**< Euclidean distance kernel */
+    CLFillBorderKernel             _border_gx;             /**< Border handler before running harris score */
+    CLFillBorderKernel             _border_gy;             /**< Border handler before running harris score */
+    CLImage                        _gx;                    /**< Source image - Gx component */
+    CLImage                        _gy;                    /**< Source image - Gy component */
+    CLImage                        _score;                 /**< Source image - Harris score */
+    CLImage                        _nonmax;                /**< Source image - Non-Maxima suppressed image */
+    std::vector<InternalKeypoint>  _corners_list;          /**< Array of InternalKeypoint. It stores the potential corner candidates */
+    int32_t                        _num_corner_candidates; /**< Number of potential corner candidates */
+    ICLKeyPointArray              *_corners;               /**< Output corners array */
 };
 }
 #endif /*__ARM_COMPUTE_CLHARRISCORNERS_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h b/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
index ae86e93..7287204 100644
--- a/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
+++ b/arm_compute/runtime/CL/functions/CLLaplacianPyramid.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -73,13 +73,13 @@
     void run() override;
 
 private:
-    size_t                                     _num_levels;
-    CLGaussianPyramidHalf                      _gaussian_pyr_function;
-    std::unique_ptr<CLGaussian5x5[]>           _convf;
-    std::unique_ptr<CLArithmeticSubtraction[]> _subf;
-    CLDepthConvertLayer                        _depth_function;
-    CLPyramid                                  _gauss_pyr;
-    CLPyramid                                  _conv_pyr;
+    size_t                               _num_levels;
+    CLGaussianPyramidHalf                _gaussian_pyr_function;
+    std::vector<CLGaussian5x5>           _convf;
+    std::vector<CLArithmeticSubtraction> _subf;
+    CLDepthConvertLayer                  _depth_function;
+    CLPyramid                            _gauss_pyr;
+    CLPyramid                            _conv_pyr;
 };
 }
 #endif /*__ARM_COMPUTE_CLLAPLACIANPYRAMID_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h b/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
index 622b049..8bae119 100644
--- a/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
+++ b/arm_compute/runtime/CL/functions/CLLaplacianReconstruct.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -82,10 +82,10 @@
     void run() override;
 
 private:
-    CLPyramid                               _tmp_pyr;
-    std::unique_ptr<CLArithmeticAddition[]> _addf;
-    std::unique_ptr<CLScale[]>              _scalef;
-    CLDepthConvertLayer                     _depthf;
+    CLPyramid                         _tmp_pyr;
+    std::vector<CLArithmeticAddition> _addf;
+    std::vector<CLScale>              _scalef;
+    CLDepthConvertLayer               _depthf;
 };
 }
 #endif /*__ARM_COMPUTE_CLLAPLACIANRECONSTRUCT_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLOpticalFlow.h b/arm_compute/runtime/CL/functions/CLOpticalFlow.h
index e2aaf40..a0a9471 100644
--- a/arm_compute/runtime/CL/functions/CLOpticalFlow.h
+++ b/arm_compute/runtime/CL/functions/CLOpticalFlow.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -97,13 +97,13 @@
 
 private:
     CLMemoryGroup                              _memory_group;
-    std::unique_ptr<CLLKTrackerInitKernel[]>   _tracker_init_kernel;
-    std::unique_ptr<CLLKTrackerStage0Kernel[]> _tracker_stage0_kernel;
-    std::unique_ptr<CLLKTrackerStage1Kernel[]> _tracker_stage1_kernel;
+    std::vector<CLLKTrackerInitKernel>         _tracker_init_kernel;
+    std::vector<CLLKTrackerStage0Kernel>       _tracker_stage0_kernel;
+    std::vector<CLLKTrackerStage1Kernel>       _tracker_stage1_kernel;
     CLLKTrackerFinalizeKernel                  _tracker_finalize_kernel;
-    std::unique_ptr<CLScharr3x3[]>             _func_scharr;
-    std::unique_ptr<CLTensor[]>                _scharr_gx;
-    std::unique_ptr<CLTensor[]>                _scharr_gy;
+    std::vector<CLScharr3x3>                   _func_scharr;
+    std::vector<CLTensor>                      _scharr_gx;
+    std::vector<CLTensor>                      _scharr_gy;
     const ICLKeyPointArray                    *_old_points;
     const ICLKeyPointArray                    *_new_points_estimates;
     ICLKeyPointArray                          *_new_points;
diff --git a/arm_compute/runtime/CL/functions/CLPadLayer.h b/arm_compute/runtime/CL/functions/CLPadLayer.h
index 33b09d6..7f140d9 100644
--- a/arm_compute/runtime/CL/functions/CLPadLayer.h
+++ b/arm_compute/runtime/CL/functions/CLPadLayer.h
@@ -83,15 +83,15 @@
     void configure_constant_mode(ICLTensor *input, ICLTensor *output, const PaddingList &padding, const PixelValue constant_value);
     void configure_reflect_symmetric_mode(ICLTensor *input, ICLTensor *output);
 
-    CLCopyKernel                          _copy_kernel;
-    PaddingMode                           _mode;
-    PaddingList                           _padding;
-    CLMemsetKernel                        _memset_kernel;
-    size_t                                _num_dimensions;
-    std::unique_ptr<CLStridedSlice[]>     _slice_functions;
-    std::unique_ptr<CLConcatenateLayer[]> _concat_functions;
-    std::unique_ptr<CLTensor[]>           _slice_results;
-    std::unique_ptr<CLTensor[]>           _concat_results;
+    CLCopyKernel                    _copy_kernel;
+    PaddingMode                     _mode;
+    PaddingList                     _padding;
+    CLMemsetKernel                  _memset_kernel;
+    size_t                          _num_dimensions;
+    std::vector<CLStridedSlice>     _slice_functions;
+    std::vector<CLConcatenateLayer> _concat_functions;
+    std::vector<CLTensor>           _slice_results;
+    std::vector<CLTensor>           _concat_results;
 };
 } // namespace arm_compute
 #endif /*__ARM_COMPUTE_PADLAYER_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLReduceMean.h b/arm_compute/runtime/CL/functions/CLReduceMean.h
index ba10134..9c087ea 100644
--- a/arm_compute/runtime/CL/functions/CLReduceMean.h
+++ b/arm_compute/runtime/CL/functions/CLReduceMean.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -67,12 +67,12 @@
     void run() override;
 
 private:
-    CLMemoryGroup                           _memory_group;
-    std::unique_ptr<CLReductionOperation[]> _reduction_kernels{ nullptr };
-    std::unique_ptr<CLTensor[]>             _reduced_outs{ nullptr };
-    CLReshapeLayer                          _reshape;
-    unsigned int                            _reduction_ops;
-    bool                                    _keep_dims;
+    CLMemoryGroup                     _memory_group;
+    std::vector<CLReductionOperation> _reduction_kernels;
+    std::vector<CLTensor>             _reduced_outs;
+    CLReshapeLayer                    _reshape;
+    unsigned int                      _reduction_ops;
+    bool                              _keep_dims;
 };
 } // namespace arm_compute
 #endif /* __ARM_COMPUTE_CL_REDUCE_MEAN_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLReductionOperation.h b/arm_compute/runtime/CL/functions/CLReductionOperation.h
index 977562d..4b0adc2 100644
--- a/arm_compute/runtime/CL/functions/CLReductionOperation.h
+++ b/arm_compute/runtime/CL/functions/CLReductionOperation.h
@@ -75,13 +75,13 @@
     void run() override;
 
 private:
-    CLMemoryGroup                                 _memory_group;
-    std::unique_ptr<CLTensor[]>                   _results_vector{ nullptr };
-    std::unique_ptr<CLReductionOperationKernel[]> _reduction_kernels_vector{ nullptr };
-    std::unique_ptr<CLFillBorderKernel[]>         _border_handlers_vector{ nullptr };
-    unsigned int                                  _num_of_stages;
-    unsigned int                                  _reduction_axis;
-    bool                                          _is_serial;
+    CLMemoryGroup                           _memory_group;
+    std::vector<CLTensor>                   _results_vector;
+    std::vector<CLReductionOperationKernel> _reduction_kernels_vector;
+    std::vector<CLFillBorderKernel>         _border_handlers_vector;
+    unsigned int                            _num_of_stages;
+    unsigned int                            _reduction_axis;
+    bool                                    _is_serial;
 };
 } // namespace arm_compute
 #endif /*__ARM_COMPUTE_CLREDUCTIONOPERATION_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLSplit.h b/arm_compute/runtime/CL/functions/CLSplit.h
index 47da177..709be3b 100644
--- a/arm_compute/runtime/CL/functions/CLSplit.h
+++ b/arm_compute/runtime/CL/functions/CLSplit.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -68,9 +68,9 @@
     void run() override;
 
 private:
-    std::vector<ICLTensor *>   _outputs_vector;
-    std::unique_ptr<CLSlice[]> _slice_functions;
-    unsigned int               _num_outputs;
+    std::vector<ICLTensor *> _outputs_vector;
+    std::vector<CLSlice>     _slice_functions;
+    unsigned int             _num_outputs;
 };
 } // namespace arm_compute
 #endif /* __ARM_COMPUTE_CLSPLIT_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLStackLayer.h b/arm_compute/runtime/CL/functions/CLStackLayer.h
index 5b821b8..30676e1 100644
--- a/arm_compute/runtime/CL/functions/CLStackLayer.h
+++ b/arm_compute/runtime/CL/functions/CLStackLayer.h
@@ -73,9 +73,9 @@
     void run() override;
 
 private:
-    std::vector<ICLTensor *>              _input;
-    std::unique_ptr<CLStackLayerKernel[]> _stack_kernels;
-    unsigned int                          _num_inputs;
+    std::vector<ICLTensor *>        _input;
+    std::vector<CLStackLayerKernel> _stack_kernels;
+    unsigned int                    _num_inputs;
 };
 } // namespace arm_compute
 #endif /* __ARM_COMPUTE_CLSTACKLAYER_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLUnstack.h b/arm_compute/runtime/CL/functions/CLUnstack.h
index feed430..bc32a3d 100644
--- a/arm_compute/runtime/CL/functions/CLUnstack.h
+++ b/arm_compute/runtime/CL/functions/CLUnstack.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -69,8 +69,8 @@
     void run() override;
 
 private:
-    unsigned int                      _num_slices;
-    std::unique_ptr<CLStridedSlice[]> _strided_slice_vector;
+    unsigned int                _num_slices;
+    std::vector<CLStridedSlice> _strided_slice_vector;
 };
 } // namespace arm_compute
 #endif /* __ARM_COMPUTE_CLUNSTACK_H__ */
diff --git a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
index a87ec30..6a30fcf 100644
--- a/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
+++ b/arm_compute/runtime/CL/functions/CLWidthConcatenateLayer.h
@@ -79,10 +79,10 @@
     void run() override;
 
 private:
-    std::unique_ptr<CLWidthConcatenateLayerKernel[]> _concat_kernels_vector;
-    CLWidthConcatenate2TensorsKernel                 _concat_x2_kernel;
-    CLWidthConcatenate4TensorsKernel                 _concat_x4_kernel;
-    unsigned int                                     _num_inputs;
+    std::vector<CLWidthConcatenateLayerKernel> _concat_kernels_vector;
+    CLWidthConcatenate2TensorsKernel           _concat_x2_kernel;
+    CLWidthConcatenate4TensorsKernel           _concat_x4_kernel;
+    unsigned int                               _num_inputs;
 };
 } // namespace arm_compute
 #endif /* __ARM_COMPUTE_CLWIDTHCONCATENATELAYER_H__ */