<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Dec 7, 2012, at 12:44 AM, Manuel Klimek <<a href="mailto:klimek@google.com">klimek@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: arial, helvetica, sans-serif; font-size: 10pt"><div dir="ltr">On Thu, Dec 6, 2012 at 6:30 PM, Kosztka Imre Dávid <span dir="ltr"><<a href="mailto:kosztkaid@gmail.com" target="_blank">kosztkaid@gmail.com</a>></span> wrote:<br>
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">:(<div><br></div><div>Best idea ever! I would like to contribute to it. Who else is interested?</div>
</blockquote><div><br></div><div style="">The first step is to make clang (more) thread-safe:</div><div style="">For example, the file interface is not thread-safe; this requires changes to the file system / path interface to allow keeping state of the working directory, and doing all relative file operations based on that state (on unix fd* versions of the unix file api). This requires an objectification of the file interface first, which requires some more design work.</div>
</div></div></div></div></blockquote><div><br></div><div>Right. We need a virtual file system that can be shared among the various Clang instances executing within the service. All of Clang's filesystem operations should go through that virtual file system, which (obviously) needs to provide thread-safe access.</div><br><span class="Apple-tab-span" style="white-space:pre">     </span>- Doug</div><br></body></html>