<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi all,</p>
    <p>I wanted to ask, if someone knows a possibility to always enforce
      name mangling,<br>
      no matter what source language (but instead depending on other
      compiler flags).</p>
    <p>I am currently developing a SPIR-V target for OpenMP using OpenCL
      as runtime.<br>
      Thus, I have C/C++ input files, but emit SPIR-V.<br>
      The SPIR-V specification states: "By convention, for debugging
      purposes, modules with <a
href="https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#OpSource"><strong>OpSource</strong></a>
      <em>Source Language</em> of OpenCL use the Itanium name-mangling
      standard."<br>
      The problem arises, when I try to make use of built-in functions,
      which are expected to be mangled<br>
      for the LLVM->SPIR-V transformation (with many of them being
      overloaded).</p>
    <p>Is there any global option which can be set on invocation or do I
      have to apply changes all over the place where the actual mangling
      happens? Then, it might be enough to change function names and
      calls. Is the name mangling done in the parsing/sema stage or in
      codegen?</p>
    <p>Kind regards,<br>
      Daniel</p>
  </body>
</html>