[llvm-branch-commits] [clang] release/21.x: opencl: Ensure printf symbol is not mangled. (#150210) (PR #150960)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Jul 28 07:35:46 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
@llvm/pr-subscribers-clang
Author: None (llvmbot)
<details>
<summary>Changes</summary>
Backport a22d010002baf761f84d0a8fa5fcaaf6f3b1455f
Requested by: @<!-- -->svenvh
---
Full diff: https://github.com/llvm/llvm-project/pull/150960.diff
1 Files Affected:
- (modified) clang/lib/Headers/opencl-c-base.h (+10-1)
``````````diff
diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h
index 2b7f5043e09e4..6206a347852be 100644
--- a/clang/lib/Headers/opencl-c-base.h
+++ b/clang/lib/Headers/opencl-c-base.h
@@ -697,7 +697,16 @@ template <typename _Tp> struct __remove_address_space<__constant _Tp> {
#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
// OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
-int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
+#ifdef __OPENCL_CPP_VERSION__
+#define CLINKAGE extern "C"
+#else
+#define CLINKAGE
+#endif
+
+CLINKAGE int printf(__constant const char *st, ...)
+ __attribute__((format(printf, 1, 2)));
+
+#undef CLINKAGE
#endif
#ifdef cl_intel_device_side_avc_motion_estimation
``````````
</details>
https://github.com/llvm/llvm-project/pull/150960
More information about the llvm-branch-commits
mailing list