<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Hi,</div><div class=""><br class=""></div><div class="">Clang can support chained PCHs, for example:</div><div class=""><br class=""></div><div class="">if you have the same order of these header includes:</div><div class=""><br class=""></div><div class="">#include <header1.h></div><div class=""><br class=""></div><div class="">#include <header2.h></div><div class=""><br class=""></div><div class="">#include <more.h></div><div class=""><br class=""></div><div class="">You can create a PCH file for header1.h, and a chained PCH for header2.h:</div><div class=""><br class=""></div><div class="">PCH1 (header1.h)</div><div class="">  |</div><div class="">PCH2 (header2.h)</div><div class="">  |</div><div class=""><code></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">You can create and chain different PCH files:</div><div class=""><br class=""></div><div class=""><div class="">PCH1 (header1.h)</div><div class="">  |</div><div class="">PCH3 (header3.h)</div><div class="">  |</div><div class=""><code></div></div><div class=""><br class=""></div><div class="">but you cannot mix them, the chained PCH must only be used with the original PCH that it was built with.</div><div class=""><br class=""></div><div class="">There is no DAG configuration for PCHs that is supported, I think the DAG comment may confuse PCHs with the module files system in clang: <a href="http://clang.llvm.org/docs/Modules.html" class="">http://clang.llvm.org/docs/Modules.html</a></div><div class="">If you are interested in clang modules I’d recommend asking in cfe-dev on how to utilize them, cfe-dev has more traffic than cfe-users.</div><div class=""><br class=""><blockquote type="cite" class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">Guys, </span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class=""> </span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">Simply put,</span><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class=""> </span><b class="" style="font-family: Calibri, sans-serif; font-size: 11pt;">Does Clang support multiple PCH’s? How can this be taken advantage of? </b><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">I have been doing some research regarding the use of Multiple PCH files when building a Pre-compiled header. I was hoping to get some clarification with regards to this issue. Imagine a scenario where I want to build a Specific PCH for a specific Scenario. For example one PCH could be specific to a number of functions, and the other would address specific features attributed to a specific characteristic of an item.</span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">This particular statement caught my attention in one of the discussion boards  (</span><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=347592" class="" style="font-family: Calibri, sans-serif; font-size: 11pt; color: purple;">https://bugzilla.mozilla.org/show_bug.cgi?id=347592</a><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">):</span><br class=""><span style="color: rgb(68, 68, 68); font-family: 'Courier New'; font-size: 10pt; background-color: rgb(238, 238, 238); line-height: 11.7pt;" class="">> Clang does support multiple PCH's per cpp file (the dependency graph can be</span><br class=""><span style="color: rgb(68, 68, 68); font-family: 'Courier New'; font-size: 10pt; background-color: rgb(238, 238, 238); line-height: 11.7pt;" class="">> either a list or a DAG).  Given that the vast majority of developers are on</span><br class=""><span style="color: rgb(68, 68, 68); font-family: 'Courier New'; font-size: 10pt; background-color: rgb(238, 238, 238);" class="">> Linux or Mac, I'd be quite happy with a solution which required clang.</span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class="">I would appreciate some clarification on this topic. Thanks a lot in advance.</span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class=""> </span><br class=""><b class="" style="font-family: Calibri, sans-serif; font-size: 11pt;"><span class="" style="font-family: 'Times New Roman', serif;">Oludemilade Mujib Raji: </span></b><span class="" style="font-size: 11pt; font-family: 'Times New Roman', serif;"><a href="mailto:Oludemilade.m.raji@intel.com" class="" style="color: purple;"><span class="" style="color: windowtext;">Oludemilade.m.raji@intel.com</span></a></span><br class=""><span style="font-family: 'Times New Roman', serif; font-size: 11pt;" class="">Graphics Software Engineer,</span><span style="font-family: 'Times New Roman', serif; font-size: 11pt;" class=""> </span><b class="" style="font-family: 'Times New Roman', serif; font-size: 11pt;">Intel</b><br class=""><span style="font-family: 'Times New Roman', serif; font-size: 11pt;" class="">1900 Prairie City road</span><br class=""><span style="font-family: 'Times New Roman', serif; font-size: 11pt;" class="">Folsom, CA 95630</span><br class=""><b class="" style="font-family: Calibri, sans-serif; font-size: 11pt;"><span class="" style="font-family: 'Times New Roman', serif;">Work: </span></b><span class="" style="font-size: 11pt; font-family: 'Times New Roman', serif;">(916)-356-0351</span><br class=""><span style="font-family: Calibri, sans-serif; font-size: 11pt;" class=""> </span><br class="">_______________________________________________<br class="">cfe-users mailing list<br class=""><a href="mailto:cfe-users@cs.uiuc.edu" class="" style="color: purple;">cfe-users@cs.uiuc.edu</a><br class=""><div class=""><div class="WordSection1" style="page: WordSection1;"><div class="" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""></o:p></div><div class="" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""></o:p></div><div class="" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""></o:p></div><div class="" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""></o:p></div><div class="" style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""></o:p></div></div><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users" class="" style="color: purple;">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users</a></div></div><br class=""></div></blockquote></div></body></html>