aboutsummaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2017-08-31 15:11:41 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commit07781ac8e49ed802d962419a2fd08910d68f9bf5 (patch)
treea2679d2710e6ba9d9e23b5c5aa188fdf79f7b9bd /support
parent95643d83d8f4d0431b3983f771ca749963f6a966 (diff)
downloadComputeLibrary-07781ac8e49ed802d962419a2fd08910d68f9bf5.tar.gz
COMPMID-518 - Bare metal support
Change-Id: Ida6d3dc46476fd9a67b5860e5e5bf8b848a8ac23 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85981 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
Diffstat (limited to 'support')
-rw-r--r--support/Mutex.h53
-rw-r--r--support/ToolchainSupport.h6
2 files changed, 56 insertions, 3 deletions
diff --git a/support/Mutex.h b/support/Mutex.h
new file mode 100644
index 0000000000..6d0a387678
--- /dev/null
+++ b/support/Mutex.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2017 ARM Limited.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
+ * deal in the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#ifndef __ARM_COMPUTE_MUTEX_H__
+#define __ARM_COMPUTE_MUTEX_H__
+
+#include <mutex>
+
+namespace arm_compute
+{
+#ifndef NO_MULTI_THREADING
+using Mutex = std::mutex;
+#else /* NO_MULTI_THREADING */
+/** Wrapper implementation of Mutex data-object */
+class Mutex
+{
+public:
+ /** Default constructor */
+ Mutex() = default;
+ ~Mutex() = default;
+
+ void lock() {};
+
+ void unlock() {};
+
+ bool try_lock()
+ {
+ return true;
+ }
+};
+#endif /* NO_MULTI_THREADING */
+}
+#endif /* __ARM_COMPUTE_MUTEX_H__ */
diff --git a/support/ToolchainSupport.h b/support/ToolchainSupport.h
index c73f2486e1..87e9bd2bc8 100644
--- a/support/ToolchainSupport.h
+++ b/support/ToolchainSupport.h
@@ -40,7 +40,7 @@ namespace support
{
namespace cpp11
{
-#ifdef __ANDROID__
+#if(__ANDROID__ || BARE_METAL)
/** Convert integer and float values to string.
*
* @note This function implements the same behaviour as std::to_string. The
@@ -154,7 +154,7 @@ inline T copysign(T x, T y)
{
return ::copysign(x, y);
}
-#else /* __ANDROID__ */
+#else /* (__ANDROID__ || BARE_METAL) */
/** Convert integer and float values to string.
*
* @note This function acts as a convenience wrapper around std::to_string. The
@@ -260,7 +260,7 @@ inline T copysign(T x, T y)
{
return std::copysign(x, y);
}
-#endif /* __ANDROID__ */
+#endif /* (__ANDROID__ || BARE_METAL) */
inline std::string to_string(bool value)
{