Daniel Dunbar
a530841b4f
Switch XFAIL format to match LLVM.
...
llvm-svn: 85880
2009-11-03 07:25:45 +00:00
Anders Carlsson
7f84ed9287
Add CheckCallReturnType and start using it for regular call expressions. This will improve error messages. For
...
struct B;
B f();
void g() {
f();
}
We now get
t.cpp:6:3: error: calling 'f' with incomplete return type 'struct B'
f();
^~~
t.cpp:3:3: note: 'f' declared here
B f();
^
t.cpp:1:8: note: forward declaration of 'struct B'
struct B;
^
llvm-svn: 83692
2009-10-09 23:51:55 +00:00
John McCall
c3987485f2
Refactoring around friend class templates. Better error message for friend enums.
...
Don't create a new declaration for friend classes if a declaration already exists.
llvm-svn: 83505
2009-10-07 23:34:25 +00:00
Douglas Gregor
9acb690827
Fix name lookup for friend class templates to consider anything in a
...
scope *up to and including* the innermost namespace scope, rather than
just searching in the innermost namespace scope.
llvm-svn: 82849
2009-09-26 07:05:09 +00:00
Douglas Gregor
3dad842b35
Rework the Parse-Sema interaction for friends to better support friend
...
class templates. We now treat friend class templates much more like
normal class templates, except that they still get special name lookup
rules. Fixes PR5057 and eliminates a bunch of spurious diagnostics in
<iostream>.
llvm-svn: 82848
2009-09-26 06:47:28 +00:00
John McCall
1806c2795b
Track a class template specialization's point of instantiation separately
...
from its location. Initialize appropriately.
When implicitly creating a declaration of a class template specialization
after encountering the first reference to it, use the pattern class's
location instead of the location of the first reference.
llvm-svn: 81515
2009-09-11 07:25:08 +00:00
John McCall
e1f2ec28d8
When stringizing a NamedDecl for a diagnostic, treat the template
...
specialization types differently.
llvm-svn: 81512
2009-09-11 06:45:03 +00:00
John McCall
7f41d98928
Support elaborated dependent types and diagnose tag mismatches.
...
llvm-svn: 81504
2009-09-11 04:59:25 +00:00
Anders Carlsson
5a9c5acf0f
More work on using declarations.
...
llvm-svn: 80333
2009-08-28 03:35:18 +00:00
Anders Carlsson
59140b3b86
Many improvements to using declarations.
...
llvm-svn: 80332
2009-08-28 03:16:11 +00:00
Anders Carlsson
43171d6aeb
Add another test.
...
llvm-svn: 75324
2009-07-11 00:55:33 +00:00
Anders Carlsson
ae01993a12
Implement more of C++0x 'auto'. A variable with an auto type specifier must have an initializer. Also, move some tests around to match the C++0x draft better.
...
llvm-svn: 75322
2009-07-11 00:34:39 +00:00
Anders Carlsson
94ff77a356
More auto work.
...
llvm-svn: 74339
2009-06-26 22:18:59 +00:00
Anders Carlsson
364035d1a8
An auto variable can't appear in its own initializer.
...
llvm-svn: 74312
2009-06-26 19:16:07 +00:00
Anders Carlsson
ad6bd35b46
C++ decltype support (N2343)
...
llvm-svn: 74118
2009-06-24 21:24:56 +00:00
Daniel Dunbar
4be788c56a
Add some random C++ standard tests.
...
llvm-svn: 73287
2009-06-13 06:16:36 +00:00