RFC: c++ diagnostics

Robert Dewar dewar@adacore.com
Wed Apr 7 02:10:00 GMT 2010


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
> 



More information about the Libstdc++ mailing list