IVGCVSW-1985: Replace std::string* reasonIfNotSupported with Optional<std::string&> in IsLayerSupported implementations

Change-Id: I2f054f0dcff9bdc86ee90c55b3e94c6b4ae25085
diff --git a/src/backends/cl/workloads/ClSubtractionWorkload.cpp b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
index 8efed94..1967fae 100644
--- a/src/backends/cl/workloads/ClSubtractionWorkload.cpp
+++ b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
@@ -35,10 +35,9 @@
     m_Layer.run();
 }
 
-bool ClSubtractionValidate(const TensorInfo& input0,
-                           const TensorInfo& input1,
-                           const TensorInfo& output,
-                           std::string* reasonIfUnsupported)
+arm_compute::Status ClSubtractionValidate(const TensorInfo& input0,
+                                          const TensorInfo& input1,
+                                          const TensorInfo& output)
 {
     const arm_compute::TensorInfo aclInput0Info = BuildArmComputeTensorInfo(input0);
     const arm_compute::TensorInfo aclInput1Info = BuildArmComputeTensorInfo(input1);
@@ -49,13 +48,7 @@
                                                                                          &aclOutputInfo,
                                                                                          g_AclConvertPolicy);
 
-    const bool supported = (aclStatus.error_code() == arm_compute::ErrorCode::OK);
-    if (!supported && reasonIfUnsupported)
-    {
-        *reasonIfUnsupported = aclStatus.error_description();
-    }
-
-    return supported;
+    return aclStatus;
 }
 
 } //namespace armnn