Francois Pichet
4e7a2c09b2
Improve recovery (error + fix-it) when parsing type dependent template name without the "template" keyword.
...
For example:
typename C1<T>:: /*template*/ Iterator<0> pos;
Also the error is downgraded to an ExtWarn in Microsoft mode.
llvm-svn: 128387
2011-03-27 19:41:34 +00:00
Douglas Gregor
f05c0958e2
Remove the Fix-It for "main must return 'int'", which is not always
...
correct and is not worth fixing. Fixes PR8396.
llvm-svn: 126035
2011-02-19 19:04:23 +00:00
Argyrios Kyrtzidis
b5c7c51392
When we encounter a '==' in a context expecting a '=', assume the user made a typo:
...
t.c:1:7: error: invalid '==' at end of declaration; did you mean '='?
int x == 0;
^~
=
Implements rdar://8488464.
llvm-svn: 116035
2010-10-08 02:39:23 +00:00
Francois Pichet
6d76e6cd92
Better diagnostic for superfluous scope specifier inside a class definition for member functions. + Fixit.
...
Example:
class A {
void A::foo(); //warning: extra qualification on member 'foo'
};
llvm-svn: 115347
2010-10-01 21:19:28 +00:00
Gabor Greif
80c218386f
add a fixit when 'main' does ot return 'int'; review welcome
...
llvm-svn: 113324
2010-09-08 00:31:13 +00:00
Douglas Gregor
3465e26102
Improve diagnostic and recovery when missing a comma between base or
...
member initializers in a C++ constructor. Fixes <rdar://problem/7796492>.
llvm-svn: 113199
2010-09-07 14:35:10 +00:00
Nick Lewycky
784fad7a41
Teach clang -fixit to modify files in-place, or -fixit=suffix to create new
...
files with the additional suffix in the middle.
llvm-svn: 102230
2010-04-24 01:30:46 +00:00
Douglas Gregor
2fb18b746f
Thread a Scope pointer into BuildRecoveryCallExpr to help typo
...
correction find names when a call failed. Fixes
<rdar://problem/7853795>.
llvm-svn: 101278
2010-04-14 20:27:54 +00:00
Douglas Gregor
d6bc5e6bbc
When a declaration of a function is missing an exception specification
...
that was present in a prior declaration, emit a warning rather than a
hard error (which we did before, and still do with mismatched
exception specifications). Moreover, provide a fix-it hint with the
throw() clause that should be added, e.g.,
t.C:10:7: warning: 'operator new' is missing exception specification
'throw(std::bad_alloc)'
void *operator new(unsigned long sz)
^
throw(std::bad_alloc)
As part of this, disable the warning when we're missing an exception
specification on operator new, operator new[], operator delete, or
operator delete[] when exceptions are turned off (-fno-exceptions).
Fixes PR5957.
llvm-svn: 99388
2010-03-24 07:14:45 +00:00
Douglas Gregor
f1d70adfd1
Make this fix-it test case actually fail when there is a problem; add
...
a test for access declarations and remove a (broken) test for removal
of default arguments.
llvm-svn: 95032
2010-02-01 23:46:27 +00:00
Daniel Dunbar
8fbe78f6fc
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
...
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Daniel Dunbar
6c39d457fa
Update FixIt tests to make it more obvious they use a separate mode.
...
llvm-svn: 88758
2009-11-14 04:39:42 +00:00
Anders Carlsson
0b8ea554e5
If a function with a default argument is redefined and the new function also has a defualt argument then add a fixit hint that removes the default argument. Fixes PR5444.
...
llvm-svn: 86659
2009-11-10 03:24:44 +00:00
Douglas Gregor
68bc53967e
Move the fix-it tests into their own subdirectory
...
llvm-svn: 68325
2009-04-02 17:19:13 +00:00