summaryrefslogtreecommitdiffstats
path: root/TODO.txt
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-11-17 17:14:10 +0000
committerDouglas Gregor <dgregor@apple.com>2008-11-17 17:14:10 +0000
commita26877fb7b54ba78fc35e244a4781cf22d114ec0 (patch)
treeb87c1b0b155f826938d7c4a52c5a0c03bc8de4c9 /TODO.txt
parentd7612e183bb09d04677d0ddde89ee29130ffb715 (diff)
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
Diffstat (limited to 'TODO.txt')
-rw-r--r--TODO.txt21
1 files changed, 21 insertions, 0 deletions
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);
+ ^ ~~~~~~~~~~~~~~
+
+
+
+