Laurent GUERBY wrote:
On Tue, 2010-04-06 at 12:02 -0700, Joe Buck wrote:
http://blog.llvm.org/2010/04/amazing-feats-of-clang-error-recovery.html
...As it happens, some C++ diagnostics are better than the
same diagnostic for C and viceversa.
On Tue, Apr 06, 2010 at 09:45:11AM -0700, Chris Lattner wrote:
I think all the C examples are also valid C++ code, they should apply equally
well, but I admit that I didn't try those on g++ to see how it does. I figured
it also didn't matter much because there has surely been significant progress
since gcc 4.2.
Yes, g++ does a better job for some of Chris's examples than gcc does.
For the second example we get
t.c:1: error: 'pid_t' has not been declared
For the third example:
t.c:2: error: 'int64' does not name a type
However, most of the criticisms do apply, and the spell checker is a
very good idea.
The Ada FE does it FWIW:
$ cat p.ads
pakage P is
subtype My_Count is Intger
end P;
$ gcc -c -gnatq p.ads
p.ads:1:01: incorrect spelling of keyword "package"
p.ads:2:23: "Intger" is undefined
p.ads:2:23: possible misspelling of "Integer"
p.ads:2:29: missing ";"
The algorithm used in the Ada compiler is in
g-speche.ads and it seems to be just right for
use by the compiler.
$
The checker is in gcc/ada/g-spchge.adb
Laurent