c1826a52ea0e22c521795c4d4a0c2d486825a239 |
|
20-Jun-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Add test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
cddbc1d5872c96cd8c3ad3ddededa304757270d7 |
|
06-Sep-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Don't try to check override control for invalid member functions. Fixes a crash in a corner case. Patch by Olivier Goffart! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
ea9f54aefc0cbf963df8b79028775a39bcf7393f |
|
01-Nov-2011 |
Douglas Gregor <dgregor@apple.com> |
When we see an out-of-line definition of a member class template that does not match any declaration in the class (or class template), be sure to mark it as invalid. Fixes PR10924 / <rdar://problem/10119422>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143504 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
f250365ce65412d7d4e331fccf042b6e974c2f14 |
|
21-Sep-2011 |
Douglas Gregor <dgregor@apple.com> |
Diagnose attempts to write a templated data member, from Stepan Dyatkovskiy! Fixes PR10896. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 |
|
15-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
9148c3f5829f4d031249faeb1043e7be914539e8 |
|
11-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Before checking a template template argument against its corresponding template template parameter, substitute any prior template arguments into the template template parameter. This, for example, allows us to properly check the template template argument for a class such as: template<typename T, template<T Value> class X> struct Foo; The actual implementation of this feature was trivial; most of the change is dedicated to giving decent diagnostics when this substitution goes horribly wrong. We now get a note like: note: while substituting prior template arguments into template template parameter 'X' [with T = float] As part of this change, enabled some very pedantic checking when comparing template template parameter lists, which shook out a bug in our overly-eager checking of default arguments of template template parameters. We now perform only minimal checking of such default arguments when they are initially parsed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
9106ef78f8fcc9df1a60c7a5b64c7d967194207e |
|
11-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Instantiation of template template parameters for nested templates, e.g., template<typename T> struct X { template<template<T Value> class Y> struct Inner; }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
33642df30088f2ddb0b22c609523ab8df9dff595 |
|
24-Oct-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement template instantiation for non-type template parameters. Fixes PR5103. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
1cdcc579df30dba1b2e1e9909125bb9c61898e05 |
|
10-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
When re-entering a template scope, we may be entering a class template partial specialization rather than a subclass of TemplateDecl. Fixes a crash in libstdc++ 4.2's <map>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
dacd434c49658286c380c7b4c357d76d53cb4aa1 |
|
26-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve diagnostics and recovery when the nested-name-specifier of a qualified name does not actually refer into a class/class template/class template partial specialization. Improve printing of nested-name-specifiers to eliminate redudant qualifiers. Also, make it possible to output a nested-name-specifier through a DiagnosticBuilder, although there are relatively few places that will use this leeway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
bc047ba73376ac6ef78b3fba0efb8493f7843138 |
|
26-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Test out-of-line definition of a static data member of a member class of a nested class template. Phew git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
c131ebb5cb509838462f9dcf680948dbfaf89d0f |
|
26-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Test out-of-line definitions of static data members of nested member class templates git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
495c35d291da48c4f5655bbb54d15128ddde0d4d |
|
26-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Improve support for out-of-line definitions of nested templates and their members, including member class template, member function templates, and member classes and functions of member templates. To actually parse the nested-name-specifiers that qualify the name of an out-of-line definition of a member template, e.g., template<typename X> template<typename Y> X Outer<X>::Inner1<Y>::foo(Y) { return X(); } we need to look for the template names (e.g., "Inner1") as a member of the current instantiation (Outer<X>), even before we have entered the scope of the current instantiation. Since we can't do this in general (i.e., we should not be looking into all dependent nested-name-specifiers as if they were the current instantiation), we rely on the parser to tell us when it is parsing a declaration specifier sequence, and, therefore, when we should consider the current scope specifier to be a current instantiation. Printing of complicated, dependent nested-name-specifiers may be somewhat broken by this commit; I'll add tests for this issue and fix the problem (if it still exists) in a subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
05396e20d68535612f58c84e0dfc7647c75a7da1 |
|
25-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Implement out-of-line definitions of nested class templates. Most of the logic is there for out-of-line definitions with multiple levels of nested templates, but this is still a work-in-progress: we're having trouble determining when we should look into a dependent nested-name-specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80003 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
c3058338075a2132e057f1249a13b55a81fe021c |
|
25-Aug-2009 |
Douglas Gregor <dgregor@apple.com> |
Keep track of the template parameter depth properly when we have member templates declared inside other templates. This allows us to match out-of-line definitions of member function templates within class templates to the declarations within the class template. We still can't handle out-of-line definitions for member class templates, however. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
c19ee3eb08ce1d77504d5fc27f7c44b94543221b |
|
18-Jun-2009 |
Douglas Gregor <dgregor@apple.com> |
Diagnose class members that shadow a template parameter. Fixes <rdar://problem/6952203>. To do this, we actually remove a not-quite-correct optimization in the C++ name lookup routines. We'll revisit this optimization for the general case once more C++ is working. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|
551f48c2d96c8a519feb195d34a691c8b97b3994 |
|
27-Mar-2009 |
Douglas Gregor <dgregor@apple.com> |
Tests and fixes for templates declared within (non-template) classes. Test case from Anders Carlsson, fix from Piotr Rak! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/nested-template.cpp
|