<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
>So, in my opinion following behavior should be implemented:<br>
><br>
>A. Building C code:<br>
>[+] Compiler doesn't have _Static_assert -> define _Static_assert<br>
<br>
</div>I think we don't need to touch _Static_assert, if the compiler doesn't implement it there's not much we can do.<br></blockquote><div><br></div><div>This behavior is defined by standard. If compiler doesn't implement this, it is safe to define it way VLC currently does.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
>[+] Standard C library doesn't define static_assert -> define<br>
>static_assert<br>
<br>
</div>IMO that's the only bug here, fixed by -Dstatic_assert=_Static_assert<br>
<div class="im"><br>
>B. Building C++ code:<br>
>[+] Compiler doesn't have _Static_assert -> define _Static_assert<br>
>[-] Compiler doesn't support static_assert keyword AND ([+] Standard<br>
>C++<br>
>library doesn't define static_assert) -> define static_assert<br>
<br>
</div>Is Apple C++ assert.h buggy too?</blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">static_assert is a keyword in C++11 and it shouldn't be defined in <assert.h> or <cassert>, it is not buggy behavior.</div>
<div class="gmail_extra">But including <cassert> does inclusion of internal Apple's C++ library compatibility header, which defines static_assert in case of compiler lackness of static_assert support.</div></div>
<div class="gmail_extra"><div><br></div>-- <br>Maxim Bublis
</div></div>