This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Better GCC diagnostics


2008/8/15 Chris Lattner <clattner@apple.com>:
>> D) Printing Ranges. This requires:
>>
>>  *) Printing accurate column information. Similar to (B) above.
>>
>>  *) A location(s) -> source strings interface and machinery. Similar
>>     to (A.3) above.
>
> Ranges also require some way to get the end of a token (in addition to its
> beginning).  For example, a range for:
>
> X + some_long\
> _ident??/
> ifier
>
> The range should start at "X" and end at "r".  This is just a location like
> any other, but requires passing down like the begin loc.  You might instead
> decide to do some fuzzy matching or something, but clang at least gets this
> right.  This is important for other clients of the loc info, e.g.
> refactoring clients.

Oh yes. Well, there is a lot of fine-tunning to do but I think that
would be covered by A.1 and the binary_op expression would have at
least two locations begin/end pointing to X and r. If we are able to
print ({break;}), in the example I gave earlier, then we will be able
to print nice ranges most of the time.

Cheers,

Manuel.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]