<div dir="auto"><div><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 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 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>