<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in friend-template.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a45f713c - add option to instantiate templates already in the PCH</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/friend-template.cpp#a45f713c</link>
        <description>add option to instantiate templates already in the PCHAdd -fpch-instantiate-templates which makes template instantiations beperformed already in the PCH instead of it being done in every singlefile that uses the PCH (but every single file will still do it as wellin order to handle its own instantiations). I can see 20-30% buildtime saved with the few tests I&apos;ve tried.The change may reorder compiler output and also generated code, butshould be generally safe and produce functionally identical code.There are some rare cases that do not compile with it,such as test/PCH/pch-instantiate-templates-forward-decl.cpp. Iftemplate instantiation bailed out instead of reporting the error,these instantiations could even be postponed, which would make themwork.Enable this by default for clang-cl. MSVC creates PCHs by compilingthem using an empty .cpp file, which means templates are instantiatedwhile building the PCH and so the .h needs to be self-contained,making test/PCH/pch-instantiate-templates-forward-decl.cpp to failwith MSVC anyway. So the option being enabled for clang-cl matches this.Differential Revision: https://reviews.llvm.org/D69585

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/friend-template.cpp</description>
        <pubDate>Sun, 19 Apr 2020 15:49:47 +0000</pubDate>
        <dc:creator>Lubo&#353; Lu&#328;&#225;k &lt;l.lunak@centrum.cz&gt;</dc:creator>
    </item>
<item>
        <title>a1c27eb8 - [PCH] Write out the ClassTemplateDecl::Common::InjectedClassNameType type</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/PCH/friend-template.cpp#a1c27eb8</link>
        <description>[PCH] Write out the ClassTemplateDecl::Common::InjectedClassNameType typereference instead of relying on computing it.In general, if storage is no issue, it is preferable to deserialize info fromthe PCH instead of trying to recompute it after the PCH was loaded.The incentive to change this now was due to r155303 changing how friend templateclasses in dependent contexts are handled; such classes can now be chained toa previous template class but the computed InjectedClassNameType may be differentdue to the extra template parameters from the dependent context.The new handling requires more investigation but, in the meantime, writing outInjectedClassNameType fixes PCH issue in rdar://12627738.llvm-svn: 167425

            List of files:
            /llvm-project-15.0.7/clang/test/PCH/friend-template.cpp</description>
        <pubDate>Tue, 06 Nov 2012 00:35:02 +0000</pubDate>
        <dc:creator>Argyrios Kyrtzidis &lt;akyrtzi@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
