<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Mar 4, 2015 at 9:43 AM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">How necessary to this change is the ABI incompatibility between the cases where NDEBUG is and isn't defined?  Is it possible to make them ABI compatible while still keeping the meat of the change intact?<br><div><br></div><div>It doesn't really seem like a "nice" thing to do to require that people who use LLVM as a library use the same compilation flags as LLVM.  </div></div></blockquote><div><br></div><div>Early in the history of LLVM, we allowed NDEBUG to control struct layout and general ABI. Then Alp Toker came along and decided this was a Bad Thing. He audited the headers and removed it all. Now it's crept back in.</div><div><br></div><div>In conclusion, what isn't tested will break. </div></div></div></div>