Abstürzende Threads mit * (int *) NULL = 1; problematisch?

Ich fand dies in einer Multithread-c-Anwendung. Die Autoren kommentierten, dass es verwendet wird, um einen Thread-Absturz in einer benutzerdefinierten Assert-Funktion zu verursachen. GCC ist damit einverstanden, aber clang gibt die folgende Warnung aus:

<code>note: consider using __builtin_trap() or qualifying pointer with 'volatile'
</code>

Außerdem wird für jede Verwendung der Assert-Funktion eine dieser Anweisungen ausgegeben:

<code>warning: indirection of non-volatile null pointer will be deleted, not trap
</code>

Was geht hier vor sich? Ist __builtin_trap spezifisch für Klirren? Soll ich es benutzen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage