warning: muliti-line comments

 gccにはやっかい、かつ、いかにもな問題があります。簡単に言うとShift-JISを認識しないのです(EUCなら大丈夫みたい)。ですから、日本語を文字列に含んでいるソースコードは簡単には読めないのです。

 何故かといいますと、SJISの2バイト目のコードが"\(0xC0だったかな?)"の場合に、それがエスケープシーケンスとみなされる為か、大抵そこでエラーが出るわけです。エラーが出ないと更に厄介で、確実な文字化けが起きます。

 この2バイト目のコードが"\"である漢字の一つに「能」があります。コメントに「//〜〜〜〜の機能」とか書いてあると、最後の"\"が文連結記号(複数行のマクロを連結する為に使うアレ)とみなされ、上記の"muliti-line comments"警告が出ます。これ、ほっておくと次の行がコメントとして扱われる為、日本人にとっては警告ではなくかなり重い、正直コンパイラのバグとみなしたいくらいの、エラーです。

 この問題はずいぶん昔から議論されているようで、ネットでも様々な手段で回避策が練られています。gccを直接改変するのが一番よさげですが、何故この問題が本家に伝わらないのかが大変疑問です。日本ではgccに発言力を持つ人がいないんでしょうか?