#
5c85dd93 |
| 19-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Extra test for diagnostic in Sema::BuildCXXNestedNameSpecifier.
llvm-svn: 184381
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2 |
|
#
230826cc |
| 14-May-2013 |
Douglas Gregor <dgregor@apple.com> |
Don't mark a type specifier as "owned" if there is no declaration to own.
This simplifies error recovery elsewhere, eliminating the crash in <rdar://problem/13853540>.
llvm-svn: 181846
|
Revision tags: llvmorg-3.3.0-rc1, llvmorg-3.2.0, llvmorg-3.2.0-rc3, llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
43bc036e |
| 13-Sep-2012 |
Douglas Gregor <dgregor@apple.com> |
Promote the warning about extra qualification on a declaration from a warning to an error. C++ bans it, and both GCC and EDG diagnose it as an error. Microsoft allows it, so we still warn in Microsof
Promote the warning about extra qualification on a declaration from a warning to an error. C++ bans it, and both GCC and EDG diagnose it as an error. Microsoft allows it, so we still warn in Microsoft mode. Fixes <rdar://problem/11135644>.
llvm-svn: 163831
show more ...
|
#
4f605aff |
| 18-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR41111, PR5925, PR13210: Teach tentative parsing to annotate identifiers and nested names as id-expressions, using the annot_primary_expr annotation, where possible. This removes some redundant look
PR41111, PR5925, PR13210: Teach tentative parsing to annotate identifiers and nested names as id-expressions, using the annot_primary_expr annotation, where possible. This removes some redundant lookups, and also allows us to typo-correct within tentative parsing, and to carry on disambiguating past an identifier which we can determine will fail lookup as both a type and as a non-type, allowing us to disambiguate more declarations (and thus offer improved error recovery for such cases).
This also introduces to the parser the notion of a tentatively-declared name, which is an identifier which we *might* have seen a declaration for in a tentative parse (but only if we end up disambiguating the tokens as a declaration). This is necessary to correctly disambiguate cases where a variable is used within its own initializer.
llvm-svn: 162159
show more ...
|
#
389e9c2d |
| 07-Jun-2012 |
Kaelyn Uhrain <rikka@google.com> |
Ignore corrections to functions with bodies when deciding which correction to use for an invalid function redeclaration.
llvm-svn: 158177
|
#
493ea635 |
| 06-Jun-2012 |
Kaelyn Uhrain <rikka@google.com> |
Allow CorrectTypo to add/modify nested name qualifiers to typos that are otherwise too short to try to correct.
The TODOs added to two of the tests are for existing deficiencies in the typo correcti
Allow CorrectTypo to add/modify nested name qualifiers to typos that are otherwise too short to try to correct.
The TODOs added to two of the tests are for existing deficiencies in the typo correction code that could be exposed by using longer identifiers.
llvm-svn: 158109
show more ...
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
82269841 |
| 13-Apr-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
PR12500: Improve the wording of the diagnostic for a redefinition of a name in the wrong namespace scope. Patch by Jonathan Sauer!
llvm-svn: 154656
|
#
b7d17ddb |
| 28-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
Unify and fix our checking of C++ [dcl.meaning]p1's requirements concerning qualified declarator-ids. We now diagnose extraneous qualification at namespace scope (which we had previously missed) and
Unify and fix our checking of C++ [dcl.meaning]p1's requirements concerning qualified declarator-ids. We now diagnose extraneous qualification at namespace scope (which we had previously missed) and diagnose these qualification errors for all kinds of declarations; it was rather uneven before. Fixes <rdar://problem/11135644>.
llvm-svn: 153577
show more ...
|
#
31feb337 |
| 17-Mar-2012 |
Douglas Gregor <dgregor@apple.com> |
Diagnose tag and class template declarations with qualified declarator-ids that occur at class scope. Fixes PR8019.
llvm-svn: 153002
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
1a6eb99d |
| 10-Oct-2011 |
Kaelyn Uhrain <rikka@google.com> |
Give nicer note when a member redeclaration has or lacks 'const'
llvm-svn: 141555
|
#
7d9bc633 |
| 04-Aug-2011 |
Kaelyn Uhrain <rikka@google.com> |
Match type names and give more info for out-of-line function definition errors.
Having a function declaration and definition with different types for a parameter where the types have same (textual)
Match type names and give more info for out-of-line function definition errors.
Having a function declaration and definition with different types for a parameter where the types have same (textual) name can occur when an unqualified type name resolves to types in different namespaces in each location.
The error messages have been extended by adding notes that point to the first parameter of the function definition that doesn't match the declaration, instead of a generic "member declaration nearly matches". The generic message is still used in cases where the mismatch is not in the paramenter list, such as mismatched cv qualifiers on the member function itself.
llvm-svn: 136891
show more ...
|
#
1ee9fc02 |
| 27-Jun-2011 |
John McCall <rjmccall@apple.com> |
Update test for r133934.
llvm-svn: 133942
|
#
d8a27711 |
| 24-Jun-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Only do delayed diagnostics if there were no errors when parsing the decl.
Fixes crash in http://llvm.org/PR10109 & rdar://9584039.
llvm-svn: 133816
|
Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
d7295bad |
| 24-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
Test case for previous commit
llvm-svn: 126360
|
#
3d320867 |
| 05-Feb-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
When the out-of-line definition differs from the declaration in the return type, say "out-of-line definition differ from the declaration in the return type" instead of the silly "functions that diffe
When the out-of-line definition differs from the declaration in the return type, say "out-of-line definition differ from the declaration in the return type" instead of the silly "functions that differ only in their return type cannot be overloaded".
Addresses rdar://7980179.
llvm-svn: 124939
show more ...
|
#
a007d36c |
| 13-Oct-2010 |
Douglas Gregor <dgregor@apple.com> |
Generalize the checking for qualification of (non-friend) class members. Provide a hard error when the qualification doesn't match the current class type, or a warning + Fix-it if it does match the c
Generalize the checking for qualification of (non-friend) class members. Provide a hard error when the qualification doesn't match the current class type, or a warning + Fix-it if it does match the current class type. Fixes PR8159.
llvm-svn: 116445
show more ...
|
Revision tags: llvmorg-2.8.0 |
|
#
6d76e6cd |
| 01-Oct-2010 |
Francois Pichet <pichet2000@gmail.com> |
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' };
ll
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
show more ...
|
Revision tags: llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0 |
|
#
eeb3c841 |
| 16-Jul-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Make this grossness default to the error it should always be.
llvm-svn: 108511
|
#
9339605c |
| 16-Jul-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Butcher a perfectly reasonable diagnostic to pacify old versions of SWIG.
llvm-svn: 108505
|
#
f3d3ae66 |
| 14-May-2010 |
Douglas Gregor <dgregor@apple.com> |
Make sure to search semantic scopes and appropriate template-parameter scopes during unqualified name lookup that has fallen out to namespace scope. Fixes PR7133.
llvm-svn: 103766
|
Revision tags: llvmorg-2.7.0 |
|
#
3155f573 |
| 09-Apr-2010 |
John McCall <rjmccall@apple.com> |
Turn access control on by default in -cc1. Remove -faccess-control from -cc1; add -fno-access-control. Make the driver pass -fno-access-control by default. Update a bunch of tests to be correct under
Turn access control on by default in -cc1. Remove -faccess-control from -cc1; add -fno-access-control. Make the driver pass -fno-access-control by default. Update a bunch of tests to be correct under access control.
llvm-svn: 100880
show more ...
|
#
c76498d4 |
| 08-Apr-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Make CXXScopeSpec invalid when incomplete, and propagate that into any Declarator that depends on it. This fixes several redundant errors and bad recoveries.
llvm-svn: 100779
|
#
4e150f8d |
| 07-Apr-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix some redundant errors by changing CXXScopeSpec::isSet calls into isNotEmpty calls.
llvm-svn: 100722
|
#
f5af3584 |
| 31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Improve diagnostics when an elaborated-type-specifer containing a nested-name-specifier (e.g., "class T::foo") fails to find a tag member in the scope nominated by the nested-name-specifier. Previous
Improve diagnostics when an elaborated-type-specifer containing a nested-name-specifier (e.g., "class T::foo") fails to find a tag member in the scope nominated by the nested-name-specifier. Previously, we gave a bland
error: 'Nested' does not name a tag member in the specified scope
which didn't actually say where we were looking, which was rather horrible when the nested-name-specifier was instantiated. Now, we give something a bit better:
error: no class named 'Nested' in 'NoDepBase<T>'
llvm-svn: 100060
show more ...
|
#
85f90559 |
| 10-Mar-2010 |
John McCall <rjmccall@apple.com> |
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag).
Most of these testcase changes wer
When pretty-printing tag types, only print the tag if we're in C (and therefore not creating ElaboratedTypes, which are still pretty-printed with the written tag).
Most of these testcase changes were done by script, so don't feel too sorry for my fingers.
llvm-svn: 98149
show more ...
|