From bc8c3f4998501e6718f3ba1ea7324233097ff138 Mon Sep 17 00:00:00 2001 From: Guillaume Chatelet Date: Tue, 18 Jul 2023 16:32:04 +0000 Subject: [PATCH] [libc][memfunctions] Explicit error when platform in not supported Reviewed By: JonChesterfield, jhuber6 Differential Revision: https://reviews.llvm.org/D155597 --- libc/src/string/memory_utils/bcmp_implementations.h | 5 +++-- libc/src/string/memory_utils/memcmp_implementations.h | 5 +++-- libc/src/string/memory_utils/memcpy_implementations.h | 5 +++-- libc/src/string/memory_utils/memmove_implementations.h | 5 +++-- libc/src/string/memory_utils/memset_implementations.h | 5 +++-- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/libc/src/string/memory_utils/bcmp_implementations.h b/libc/src/string/memory_utils/bcmp_implementations.h index bfd5201..c595752 100644 --- a/libc/src/string/memory_utils/bcmp_implementations.h +++ b/libc/src/string/memory_utils/bcmp_implementations.h @@ -23,10 +23,11 @@ #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/bcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_riscv -#else -// We may want to error instead of defaulting to suboptimal implementation. +#elif defined(LIBC_TARGET_ARCH_IS_ARM) || defined(LIBC_TARGET_ARCH_IS_GPU) #include "src/string/memory_utils/generic/byte_per_byte.h" #define LIBC_SRC_STRING_MEMORY_UTILS_BCMP inline_bcmp_byte_per_byte +#else +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memcmp_implementations.h b/libc/src/string/memory_utils/memcmp_implementations.h index e18e640..5b91b49 100644 --- a/libc/src/string/memory_utils/memcmp_implementations.h +++ b/libc/src/string/memory_utils/memcmp_implementations.h @@ -24,10 +24,11 @@ #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memcmp_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_riscv -#else -// We may want to error instead of defaulting to suboptimal implementation. +#elif defined(LIBC_TARGET_ARCH_IS_ARM) || defined(LIBC_TARGET_ARCH_IS_GPU) #include "src/string/memory_utils/generic/byte_per_byte.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCMP inline_memcmp_byte_per_byte +#else +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memcpy_implementations.h b/libc/src/string/memory_utils/memcpy_implementations.h index 657fbac..90f57b9 100644 --- a/libc/src/string/memory_utils/memcpy_implementations.h +++ b/libc/src/string/memory_utils/memcpy_implementations.h @@ -28,10 +28,11 @@ #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memcpy_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_riscv -#else -// We may want to error instead of defaulting to suboptimal implementation. +#elif defined(LIBC_TARGET_ARCH_IS_ARM) || defined(LIBC_TARGET_ARCH_IS_GPU) #include "src/string/memory_utils/generic/byte_per_byte.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMCPY inline_memcpy_byte_per_byte +#else +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memmove_implementations.h b/libc/src/string/memory_utils/memmove_implementations.h index 78ae7a8..da21e1c 100644 --- a/libc/src/string/memory_utils/memmove_implementations.h +++ b/libc/src/string/memory_utils/memmove_implementations.h @@ -20,10 +20,11 @@ #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memmove_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_riscv -#else -// We may want to error instead of defaulting to suboptimal implementation. +#elif defined(LIBC_TARGET_ARCH_IS_ARM) || defined(LIBC_TARGET_ARCH_IS_GPU) #include "src/string/memory_utils/generic/byte_per_byte.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMMOVE inline_memmove_byte_per_byte +#else +#error "Unsupported architecture" #endif namespace __llvm_libc { diff --git a/libc/src/string/memory_utils/memset_implementations.h b/libc/src/string/memory_utils/memset_implementations.h index 37ceff9..ee8b97d 100644 --- a/libc/src/string/memory_utils/memset_implementations.h +++ b/libc/src/string/memory_utils/memset_implementations.h @@ -24,10 +24,11 @@ #elif defined(LIBC_TARGET_ARCH_IS_ANY_RISCV) #include "src/string/memory_utils/riscv/memset_implementations.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_riscv -#else -// We may want to error instead of defaulting to suboptimal implementation. +#elif defined(LIBC_TARGET_ARCH_IS_ARM) || defined(LIBC_TARGET_ARCH_IS_GPU) #include "src/string/memory_utils/generic/byte_per_byte.h" #define LIBC_SRC_STRING_MEMORY_UTILS_MEMSET inline_memset_byte_per_byte +#else +#error "Unsupported architecture" #endif namespace __llvm_libc { -- 2.7.4