[llvm] [SYCL] Add libsycl, a SYCL RT library implementation project (PR #144372)

Tom Honermann via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 29 20:50:24 PDT 2025


================
@@ -0,0 +1,19 @@
+{
+  /* Do not use extern "C++" matcher for C++ functions,                     */
+  /* because vtable and typeinfo symbols make extern "C++" patterns more    */
+  /* complicated than patterns against mangled names.                       */
+  /*                                                                        */
+  /* With extern "C++" we have to match for "vtable for sycl::foo", but */
+  /* not match for "vtable for std::__internal<sycl::foo>".             */
----------------
tahonermann wrote:

```suggestion
  /* Symbols to be exported are selected based on mangled names rather than   */
  /* the demangled names provided by the `extern "C++"` matcher because it is */
  /* easy to express "export everything defined in the sycl namespace" using  */
  /* the former. Matching demangled names is more complicated in the presence */
  /* of examples like:                                                        */
  /*   "vtable for sycl::foo"                  (should be exported)           */
  /*   "vtable for std::__internal<sycl::foo>" (should not be exported)       */
```

https://github.com/llvm/llvm-project/pull/144372


More information about the llvm-commits mailing list