[原文: What Every C Programmer Should Know About Undefined Behavior #3/3] このシリーズのPart 1では、Cにおける未定義な振る舞いと、未定義な振る舞いによって"安全な"言語よりもCのパフォーマンスがよくなることがある事例を示した。Part 2では、未定義な振る舞いが引き起こす驚くようなバグと、多くのプログラマがCに対して持っている誤解を見てきた。この記事では、これらに対して警告を出すためにコンパイラが直面する困難と、いくつかの驚かされる問題を取り除きつつパフォーマンスの優位を保つために、LLVMとClangが提供する特長とツールについて説明したい。 未定義な振る舞いを使って最適化するときにどうして警告してくれないの? 「コンパイラが未定義な振る舞いを使って最適化するときに、どうしてコンパイラは警告を出さないのか? ユー