diff --git a/libc/src/__support/endian.h b/libc/src/__support/endian.h --- a/libc/src/__support/endian.h +++ b/libc/src/__support/endian.h @@ -32,8 +32,8 @@ template struct Endian { static constexpr const bool IS_LITTLE = ORDER == __ORDER_LITTLE_ENDIAN__; static constexpr const bool IS_BIG = ORDER == __ORDER_BIG_ENDIAN__; - template static T to_big_endian(T value); - template static T to_little_endian(T value); + template LIBC_INLINE static T to_big_endian(T value); + template LIBC_INLINE static T to_little_endian(T value); }; // Little Endian specializations diff --git a/libc/src/__support/macros/config.h b/libc/src/__support/macros/config.h --- a/libc/src/__support/macros/config.h +++ b/libc/src/__support/macros/config.h @@ -13,8 +13,6 @@ #ifndef LLVM_LIBC_SUPPORT_MACROS_CONFIG_H #define LLVM_LIBC_SUPPORT_MACROS_CONFIG_H -#define LIBC_INLINE inline - // LIBC_HAS_BUILTIN() // // Checks whether the compiler supports a Clang Feature Checking Macro, and if diff --git a/libc/src/__support/macros/optimization.h b/libc/src/__support/macros/optimization.h --- a/libc/src/__support/macros/optimization.h +++ b/libc/src/__support/macros/optimization.h @@ -10,6 +10,7 @@ #ifndef LLVM_LIBC_SRC_SUPPORT_MACROS_OPTIMIZATION_H #define LLVM_LIBC_SRC_SUPPORT_MACROS_OPTIMIZATION_H +#include "src/__support/macros/attributes.h" // LIBC_INLINE #include "src/__support/macros/config.h" // LIBC_HAS_BUILTIN #include "src/__support/macros/properties/compiler.h" // LIBC_COMPILER_IS_CLANG @@ -17,7 +18,7 @@ // accidentally pass an integer. namespace __llvm_libc::details { template -constexpr LIBC_INLINE bool expects_bool_condition(T value, T expected) { +LIBC_INLINE constexpr bool expects_bool_condition(T value, T expected) { return __builtin_expect(value, expected); } } // namespace __llvm_libc::details