<div dir="ltr">I just tried this and both gcc and clang return 28.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 23, 2014 at 9:10 AM, jahanian <span dir="ltr"><<a href="mailto:fjahanian@apple.com" target="_blank">fjahanian@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class=""><div>On Jul 22, 2014, at 3:58 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>> wrote:</div>

<br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jul 22, 2014 at 1:03 PM, jahanian <span dir="ltr"><<a href="mailto:fjahanian@apple.com" target="_blank">fjahanian@apple.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Implementation says that it is intentional:<div><br></div><div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(0,132,0)">


<span>  </span>// The maximum field alignment overrides the aligned attribute.</div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(79,129,135)"><span>  </span><span style="color:#bb2ca2">if</span><span> (!</span>MaxFieldAlignment<span>.</span><span style="color:#31595d">isZero</span><span>()) {</span></div>


<div style="margin:0px;font-size:11px;font-family:Menlo">    FieldAlign = <span style="color:#703daa">std</span>::<span style="color:#3d1d81">min</span>(FieldAlign, <span style="color:#4f8187">MaxFieldAlignment</span>);</div>


<div style="margin:0px;font-size:11px;font-family:Menlo">    UnpackedFieldAlign = <span style="color:#703daa">std</span>::<span style="color:#3d1d81">min</span>(UnpackedFieldAlign, <span style="color:#4f8187">MaxFieldAlignment</span>);</div>


<div style="margin:0px;font-size:11px;font-family:Menlo">  }</div><div style="margin:0px;font-size:11px;font-family:Menlo">- Fariborz</div></div></div></blockquote><div><br></div><div>I too find this very surprising. Does this match GCC / MSVC behavior for #pragma pack? I don't think it matches __attribute__((packed)).</div>

</div></div></div></blockquote><div><br></div></div>I don’t have access to GCC. But MSVC’s behavior takes into account current pack setting and enforces  alignas() of the field.</div><div><br></div><div><br></div><div>- Fariborz</div>

<div class=""><div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><div><div>On Jul 22, 2014, at 11:04 AM, jahanian <<a href="mailto:fjahanian@apple.com" target="_blank">fjahanian@apple.com</a>> wrote:</div>


<br></div></div><blockquote type="cite"><div><div><div style="word-wrap:break-word">This test shows that alignas() is ignored when used with #pragma.<div>Is this intentional behavior?</div><div><br></div><div><div style="margin:0px;font-size:11px;font-family:Menlo">


#pragma pack(push, 1)</div><div style="margin:0px;font-size:11px;font-family:Menlo">struct S1 { char a; short b; double c; alignas(32) double d; char e; double f; };</div><div style="margin:0px;font-size:11px;font-family:Menlo">


#pragma pack(pop)</div><div style="margin:0px;font-size:11px;font-family:Menlo;min-height:13px"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">int main()</div><div style="margin:0px;font-size:11px;font-family:Menlo">


{</div><div style="margin:0px;font-size:11px;font-family:Menlo"> return sizeof(struct S1);</div><div style="margin:0px;font-size:11px;font-family:Menlo">}</div></div><div style="margin:0px;font-size:11px;font-family:Menlo">


<br></div><div style="margin:0px;font-size:11px;font-family:Menlo">- Thanks, Fariborz</div><div style="margin:0px;font-size:11px;font-family:Menlo"><br></div></div></div></div>_______________________________________________<br>


cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>


</blockquote></div><br></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>