Travando threads com * (int *) NULL = 1; problemático?
Eu encontrei isso em um aplicativo c multi-threaded. Os autores comentaram que é usado para fazer um travamento de thread em uma função customizada. O GCC está bem com isso, mas o clang emite o seguinte aviso:
<code>note: consider using __builtin_trap() or qualifying pointer with 'volatile' </code>
e também emite um desses, para cada uso da função assert:
<code>warning: indirection of non-volatile null pointer will be deleted, not trap </code>
O que está acontecendo aqui? __Builtin_trap é específico para clang? Devo usá-lo?