Hatena::ブログ(Diary)

C++でゲームプログラミング

2011-12-04

[][]clang 3.0 でエラーメッセージがパワーアップ

clang 2.9 でも『もしかして:〜』という機能があったんですが、clang 3.0 になって更にパワーアップしたらしいです。


[エラーコード]

typedef int Integer;

int
main(){
    integer* i = 0;        // Integer
    
    return 0;
}

[clang 2.9]

main.cpp:6:1: error: use of undeclared identifier 'integer'; did you mean 'Integer'?
        integer* i = 0;
        ^
main.cpp:6:10: error: use of undeclared identifier 'i'
        integer* i = 0;
                 ^
2 errors generated.

[clang 3.0]

main.cpp:5:2: error: unknown type name 'integer'; did you mean 'Integer'?
        integer* i = 0;
        ^~~~~~~
        Integer
main.cpp:1:13: note: 'Integer' declared here
typedef int Integer;
            ^
1 error generated.

こんな感じで宣言している位置も出力されるようになったみたいです。

clang カコイイ。


[参照]

http://llvm.org/releases/3.0/docs/ClangReleaseNotes.html#majorfeatures