<?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 pragma-pack.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>03df14c6 - Modules: Do not serialize #pragma pack state</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/Modules/pragma-pack.cpp#03df14c6</link>
        <description>Modules: Do not serialize #pragma pack stateThe modules side of r299226, which serializes #pragma pack state,doesn&apos;t work well.The main purpose was to make -include and -include-pch match semantics(the PCH side).  We also started serializing #pragma pack in PCMs, inthe hopes of making modules and non-modules builds more consistent.  Butconsider:    $ cat a.h    $ cat b.h    #pragma pack(push, 2)    $ cat module.modulemap    module M {        module a { header &quot;a.h&quot; }        module b { header &quot;b.h&quot; }    }    $ cat t.cpp    #include &quot;a.h&quot;    #pragma pack(show)As of r299226, the #pragma pack(show) gives &quot;2&quot;, even though we&apos;ve onlyincluded &quot;a.h&quot;.- With -fmodules-local-submodule-visibility, this is clearly wrong.  We  should get the default state (8 on x86_64).- Without -fmodules-local-submodule-visibility, this kind of matches how  other things work (as if include-the-whole-module), but it&apos;s still  really terrible, and it doesn&apos;t actually make modules and non-modules  builds more consistent.This commit disables the serialization for modules, essentially apartial revert of r299226.Going forward: 1. Having this #pragma pack stuff escape is terrible design (or, more    often, a horrible bug).  We should prioritize adding warnings (maybe    -Werror by default?). 2. If we eventually reintroduce this for modules, it should only apply    to -fmodules-local-submodule-visibility, and it should be tracked on    a per-submodule basis.llvm-svn: 300380

            List of files:
            /llvm-project-15.0.7/clang/test/Modules/pragma-pack.cpp</description>
        <pubDate>Sat, 15 Apr 2017 00:07:57 +0000</pubDate>
        <dc:creator>Duncan P. N. Exon Smith &lt;dexonsmith@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
