<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 13, 2014, at 10:57 AM, Tyler Nowicki <<a href="mailto:tnowicki@apple.com" class="">tnowicki@apple.com</a>> wrote:</div><div class="">Modified: cfe/trunk/include/clang/Sema/AttributeList.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/AttributeList.h?rev=210925&r1=210924&r2=210925&view=diff" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/AttributeList.h?rev=210925&r1=210924&r2=210925&view=diff</a><br class="">==============================================================================<br class="">--- cfe/trunk/include/clang/Sema/AttributeList.h (original)<br class="">+++ cfe/trunk/include/clang/Sema/AttributeList.h Fri Jun 13 12:57:25 2014<br class="">@@ -80,7 +80,9 @@ public:<br class="">     /// __declspec(...)<br class="">     AS_Declspec,<br class="">     /// __ptr16, alignas(...), etc.<br class="">-    AS_Keyword<br class="">+    AS_Keyword,<br class="">+    /// #pragma ...<br class="">+    AS_Pragma<br class="">   };<br class=""></div></blockquote></div><div class=""><br class=""></div>Amusingly, this new enumerator overflows the bitfield used to store the Syntax value:<div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">  </span>/// The number of expression arguments this attribute has.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">  </span>/// The expressions themselves are stored after the object.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">unsigned</span> NumArgs : <span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">15</span>;</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">  </span>/// Corresponds to the Syntax enum.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">  <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">unsigned</span> SyntaxUsed : <span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">2</span>;</div><div class=""><br class=""></div><div class="">Yet more amusingly, extending this bit-ield to three bits breaks things, as does replacing the one source of AS_Syntax attributes with AS_GNU :)</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">  </span>- Doug</div><div class=""><br class=""></div></div></body></html>