Znalazłem to w wielowątkowej aplikacji c. Autorzy skomentowali, że jest on używany do spowodowania awarii wątku w niestandardowej funkcji assert. GCC jest w porządku z nim, ale dzyń wystawia następujące ostrzeżenie:Zawieszenie wątków z * (int *) NULL = 1; problematyczny?
note: consider using __builtin_trap() or qualifying pointer with 'volatile'
a także wystawia jedną z tych, dla każdego użycia funkcji assert:
warning: indirection of non-volatile null pointer will be deleted, not trap
Co tu się dzieje? Czy __builtin_trap jest specyficzne dla clanga? Czy powinienem go używać?
Zauważ, że nie ma czegoś takiego jak ranienie wątku; każda awaria powoduje zawieszenie całego programu ... –