<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 6, 2014 at 4:16 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It looks like the test passes /subsystem for all RUN lines, Am I missing something ?<span class=""><br>
<br>
+<br>
+// Infers subsystem from entry point function name.<br>
+class InferSubsystemPass : public lld::Pass {<br>
+public:<br>
+  InferSubsystemPass(<u></u>PECOFFLinkingContext &ctx) : _ctx(ctx) {}<br>
+<br>
+  void perform(std::unique_ptr<<u></u>MutableFile> &file) override {<br>
+    if (_ctx.getSubsystem() != WindowsSubsystem::IMAGE_<u></u>SUBSYSTEM_UNKNOWN)<br>
+      return;<br>
+<br>
+    if (_ctx.isDll()) {<br>
+      _ctx.setSubsystem(<u></u>WindowsSubsystem::IMAGE_<u></u>SUBSYSTEM_WINDOWS_GUI);<br>
+      return;<br>
+    }<br>
+<br>
<br></span>
You could not run through the pass if the subsystem is already known ?</blockquote><div><br></div><div>This is what the first if statement for -- if the subsystem is already known, it returns immediately.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
<br>
Shankar Easwaran<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</font></span></blockquote></div><br></div></div>