COMPMID-417: Extract common toolchain support file

The support file is needed as Android toolchains are missing some C++11
functions. It further includes functions that have been introduced in
C++14 but which we already need.

Eventually the support file might become unnecessary if the Android
compilers improve and we switch to C++14.

Change-Id: Ib5ec506f1a17c78149c315ab2096b901b852c180
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/79247
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
diff --git a/arm_compute/core/CL/CLHelpers.h b/arm_compute/core/CL/CLHelpers.h
index 26253e3..7b3af33 100644
--- a/arm_compute/core/CL/CLHelpers.h
+++ b/arm_compute/core/CL/CLHelpers.h
@@ -26,6 +26,7 @@
 
 #include "arm_compute/core/CL/OpenCL.h"
 #include "arm_compute/core/Helpers.h"
+#include "support/ToolchainSupport.h"
 
 #include <string>
 
@@ -70,7 +71,7 @@
 template <typename Kernel, typename... T>
 std::unique_ptr<Kernel> create_configure_kernel(T &&... args)
 {
-    std::unique_ptr<Kernel> k = arm_compute::cpp14::make_unique<Kernel>();
+    std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();
     k->configure(std::forward<T>(args)...);
     return k;
 }
@@ -82,7 +83,7 @@
 template <typename Kernel>
 std::unique_ptr<Kernel> create_kernel()
 {
-    std::unique_ptr<Kernel> k = arm_compute::cpp14::make_unique<Kernel>();
+    std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();
     return k;
 }