/*NOTREACHED */の効果を知らなかった件

がある。だから、コメントのかたちで /* NOTREACHED */ と書いてやると、コンパイラはこのコメントを認識し、このコメントには制御が移らないことを理解する。だからlongjmp 呼び出しをするユーザ関数の呼び出しの後には、このコメントを入れておくべきであるし、また、同様な戻らない関数 exec() などにもこれは有用なわけである。

noreturnな attributeとかなら知っていたけど、これは知らなかったな。
知らずに他のソースの真似して、それっぽく書いていたんだけど意味ねぇええ。

nobita% fxgm "cpp" "not reached"
./core/kernel/Mutex.cpp:            /* not reached */
./core/kernel/Mutex.cpp:        /* not reached */
./core/kernel/Mutex.cpp:        /* not reached */
./core/kernel/syscalls.cpp:        /* not reached */
./core/kernel/syscalls.cpp:        /* not reached */
./core/kernel/ihandlers.cpp:    /* not reached */
./core/kernel/ihandlers.cpp:    /* not reached */
./core/kernel/ihandlers.cpp:    /* not reached */
./core/kernel/Scheduler.cpp:    /* not reached */
./core/kernel/Process.cpp:    /* not reached */
./core/kernel/Process.cpp:    /* not reached */
./core/monapi/syscall.cpp:    /* not reached */