これは、マルチスレッドの C アプリケーションで見つかりました。作成者は、カスタム アサート関数でスレッドをクラッシュさせるために使用されているとコメントしています。GCC は問題ありませんが、clang は次の警告を発行します。
note: consider using __builtin_trap() or qualifying pointer with 'volatile'
また、アサート関数の使用ごとに、それらのいずれかを発行します。
warning: indirection of non-volatile null pointer will be deleted, not trap
ここで何が起こっているのですか?__builtin_trap は clang 固有のものですか? 使うべきですか?