From: Douglas Gregor Date: Mon, 17 Nov 2008 17:14:10 +0000 (+0000) Subject: Add TODO item for adding more source-range information to declarators X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a26877fb7b54ba78fc35e244a4781cf22d114ec0;p=clang Add TODO item for adding more source-range information to declarators git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59446 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/TODO.txt b/TODO.txt index 111f747275..78f965b426 100644 --- a/TODO.txt +++ b/TODO.txt @@ -32,3 +32,24 @@ This specific diagnostic is implemented, but others should be updated. C++ (checker): For iterators, warn of the use of "iterator++" instead of "++iterator" when when the value returned by operator++(int) is ignored. + +//===---------------------------------------------------------------------===// + +We want to keep more source range information in Declarator to help +produce better diagnostics. Declarator::getSourceRange() should be +implemented to give a range for the whole declarator with all of its +specifiers, and DeclaratorChunk::ParamInfo should also have a source +range covering the whole parameter, so that an error message like this: + +overloaded-operator-decl.cpp:37:23: error: parameter of overloaded post-increment operator must have type 'int' (not 'float') +X operator++(X&, const float& f); + ^ +can be turned into something like this: + +overloaded-operator-decl.cpp:37:23: error: parameter of overloaded post-increment operator must have type 'int' (not 'float') +X operator++(X&, const float& f); + ^ ~~~~~~~~~~~~~~ + + + +