Skip to content

Commit a7c9a03

Browse files
committed
try to fix clang compilation errors, 6th attempt
1 parent e156648 commit a7c9a03

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

ggml/cmake/common.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ endfunction()
2828
function(ggml_get_system_arch)
2929
if (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64" OR
3030
CMAKE_GENERATOR_PLATFORM_LWR STREQUAL "arm64" OR
31+
CMAKE_SYSTEM_NAME STREQUAL "iOS" OR
32+
CMAKE_SYSTEM_NAME STREQUAL "tvOS" OR
33+
CMAKE_SYSTEM_NAME STREQUAL "visionOS" OR
3134
(NOT CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_GENERATOR_PLATFORM_LWR AND
3235
CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm.*|ARM64)$"))
3336
set(GGML_SYSTEM_ARCH "ARM" PARENT_SCOPE)

ggml/src/ggml-cpu/ggml-cpu-impl.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -511,11 +511,7 @@ void ggml_barrier(struct ggml_threadpool * tp);
511511
#define GGML_DO_PRAGMA(x) GGML_DO_PRAGMA_(x)
512512
#if defined(__GNUC__)
513513
// GCC/Clang on *nix
514-
# if defined(__APPLE__) && !defined(TARGET_OS_OSX)
515-
# define GGML_WEAK_ALIAS(name, alias) GGML_DO_PRAGMA(weak _ ## name = _ ## alias) // NOLINT
516-
# else
517-
# define GGML_WEAK_ALIAS(name, alias) GGML_DO_PRAGMA(weak name = alias) // NOLINT
518-
# endif
514+
# define GGML_WEAK_ALIAS(name, alias) GGML_DO_PRAGMA(weak name = alias) // NOLINT
519515
#elif defined(_MSC_VER) && defined (_WIN64)
520516
// MSVC
521517
// Note: C name mangling varies across different calling conventions

ggml/src/ggml-cpu/repack.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ using block_q4_0x8 = block<4, 8>;
3636
using block_q8_0x4 = block<8, 4>;
3737
using block_q8_0x8 = block<8, 8>;
3838

39-
4039
struct block_q4_Kx8 {
4140
ggml_half d[8]; // super-block scale for quantized scales
4241
ggml_half dmin[8]; // super-block scale for quantized mins
@@ -68,8 +67,7 @@ extern "C" {
6867
// Workaround for clang:
6968
// clang++ complains: ``error: call to 'ggml_gemm_q4_0_4x4_q8_0' is ambiguous''
7069
// repro: https://godbolt.org/z/oKdeWKonM (ICE), https://godbolt.org/z/1szq6P36v (ambiguous call)
71-
// but gcc needs forward declarations
72-
#if !defined(__clang__) || (defined(__clang__) && defined(GGML_CPU_CLANG_WORKAROUND))
70+
#if !defined(__clang__) || (defined(__clang__) && (defined(GGML_CPU_CLANG_WORKAROUND) || defined(_WIN64)))
7371
void ggml_quantize_mat_q8_0_4x4(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k);
7472
void ggml_quantize_mat_q8_0_4x8(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k);
7573
void ggml_quantize_mat_q8_K_4x8(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k);

0 commit comments

Comments
 (0)