[clang] opencl: Ensure printf symbol is not mangled. (PR #150210)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 23 04:25:49 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Felix Weiglhofer (fweig)
<details>
<summary>Changes</summary>
Fixes #<!-- -->122453.
---
Full diff: https://github.com/llvm/llvm-project/pull/150210.diff
1 Files Affected:
- (modified) clang/lib/Headers/opencl-c-base.h (+9-1)
``````````diff
diff --git a/clang/lib/Headers/opencl-c-base.h b/clang/lib/Headers/opencl-c-base.h
index 2b7f5043e09e4..49987a044e253 100644
--- a/clang/lib/Headers/opencl-c-base.h
+++ b/clang/lib/Headers/opencl-c-base.h
@@ -697,7 +697,15 @@ 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/150210
More information about the cfe-commits
mailing list