<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 2/11/20 4:56 AM, Jon Chesterfield
      via Openmp-dev wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAOUYtQCFdietK+xfy2kqmgQtd89BgR6STet9tyxmwcvnMWtgWA@mail.gmail.com">
      
      <div dir="auto">
        <div dir="auto">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Hmm, so
              you propose creating a dependency from the OpenMP runtime
              to<br>
              the LLVM libraries? Which classes would you want to use,
              probably some<br>
              of the ADTs? Does any of the other runtime libraries
              (libc++,<br>
              libc++abi, compiler-rt, sanitizers) already do this? IIRC
              libc++abi and<br>
              LLVMSupport share some demangling code, but that is
              manually copied.<br>
            </blockquote>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">I am unaware that each subproject reimplements
          code to avoid a dependency on llvm. My first reaction is
          "surely not", but it's not totally implausible. I will look
          into this.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">ADT is the obvious contender for reuse. There
          will also be a lot of OS wrappers somewhere. File IO, dlopen,
          probably memory allocators. Essentially all the stuff a big
          cross platform C++ project grows over time. In the case of
          anything hitting the filesystem, also treacherously difficult
          to get right across platforms.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">There's an open patch against libomptarget that
          uses dlopen with a hardcoded path length. Opt loads shared
          libraries on windows afaik so probably has a robust wrapper
          around dlopen, so I'd start there.</div>
      </div>
    </blockquote>
    <p><br>
    </p>
    <p>I would separate these two discussions. One motivation for the
      relicensing effort is to allow sharing code between runtime
      libraries and the core infrastructure. I expect that, as we move
      to full coverage on various parts of the relicensing, we'll have a
      large-scale discussion about how to implement this resuse across
      the project. However, we can certainly use C++14 language features
      before we worry about using LLVM's support library.</p>
    <p> -Hal</p>
    <p><br>
    </p>
    <blockquote type="cite" cite="mid:CAOUYtQCFdietK+xfy2kqmgQtd89BgR6STet9tyxmwcvnMWtgWA@mail.gmail.com">
      <div dir="auto">
        <div dir="auto"><br>
        </div>
        <div dir="auto">Jon</div>
        <div dir="auto">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
            </blockquote>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Openmp-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Openmp-dev@lists.llvm.org">Openmp-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-dev</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>