MacOSX の HFS+ は case insensitive である
これには何度もハメられているのだが、たとえば xlc というファイルがあったとして、こいつは xlc としても xlC としてもオープンできてしまう。さすがに IBM は賢いもので、実行されてから argv[0] を見返して、実行されたとき xlc として実行されたのかそれとも xlC として実行されたのかを判別して挙動を変えている。
賢くないのは Apple の方で、 cc で gcc に symlink を張っているのだが、 gcc の側では cc として呼ばれたのか CC として呼ばれたのかなんて考慮しちゃいない。 C++ なら CC っと決め打ちする馬鹿がいると見事に引っかかるんだな、これが
/usr/bin/cc な shell script を置いて argv[0] をチェックする俺
[referer: [an error occurred while processing this directive]]