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