diff --git a/src/c/stacks.d b/src/c/stacks.d index 623467307..d22a4f267 100644 --- a/src/c/stacks.d +++ b/src/c/stacks.d @@ -279,6 +279,11 @@ ecl_stack_frame_open(cl_env_ptr env, cl_object f, cl_index size) return f; } +/* clang 19 miscompiles the following function on x86_64. Temporarily + * turn off optimizations here. */ +#if defined(__clang__) && __clang_major__ == 19 && defined(__x86_64__) +[[clang::optnone]] +#endif void ecl_stack_frame_push(cl_object f, cl_object o) { @@ -334,6 +339,11 @@ ecl_stack_frame_push_values(cl_object f) } } +/* clang 19 miscompiles the following function on x86_64. Temporarily + * turn off optimizations here. */ +#if defined(__clang__) && __clang_major__ == 19 && defined(__x86_64__) +[[clang::optnone]] +#endif cl_object ecl_stack_frame_pop_values(cl_object f) {