r266696 - in /trunk/gcc: ChangeLog cp/ChangeLog...
dmalcolm@gcc.gnu.org
dmalcolm@gcc.gnu.org
Fri Nov 30 22:51:00 GMT 2018
Author: dmalcolm
Date: Fri Nov 30 22:51:18 2018
New Revision: 266696
URL: https://gcc.gnu.org/viewcvs?rev=266696&root=gcc&view=rev
Log:
C++: fix-it hint for missing parentheses
Consider:
class t1
{
public:
double length () const { return m_length; }
private:
double m_length;
};
missing-parens-fixit.C: In function 'bool test_1(const t1&)':
missing-parens-fixit.C:14:15: error: invalid use of member function
'double t1::length() const' (did you forget the '()' ?)
14 | return inst.length > 0.0;
| ~~~~~^~~~~~
This patch adds a fix-it hint for the case where the member function
takes no parameters, suggesting the addition of the parentheses:
14 | return inst.length > 0.0;
| ~~~~~^~~~~~
| ()
so that an IDE can potentially apply the fix.
gcc/cp/ChangeLog:
* typeck2.c: Include "gcc-rich-location.h".
(cxx_incomplete_type_diagnostic): When complaining about possibly
missing parens, add a fix-it hint if the member function takes no
additional params.
gcc/ChangeLog:
* diagnostic-core.h (emit_diagnostic): New decl.
* diagnostic.c (emit_diagnostic): New overload, taking a
rich_location *.
gcc/testsuite/ChangeLog:
* g++.dg/parse/missing-parens-fixit.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/parse/missing-parens-fixit.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/typeck2.c
trunk/gcc/diagnostic-core.h
trunk/gcc/diagnostic.c
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list