aboutsummaryrefslogtreecommitdiff
path: root/libsycl/src/ld-version-script.txt
blob: a347d202a367f9968b3affd793c8fb1461e72da5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  /* 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)       */

  global:
    /* Export everything from sycl namespace */
    _ZNK4sycl*;  /* function */
    _ZN4sycl*;   /* function */
    _ZTIN4sycl*; /* typeinfo */
    _ZTSN4sycl*; /* typeinfo name */
    _ZTVN4sycl*; /* vtable */

  local:
    *;
};