2b3c4937d643743717b13bd8a374a72bc0eb7542 |
|
10-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r196852: ------------------------------------------------------------------------ r196852 | majnemer | 2013-12-09 16:40:58 -0800 (Mon, 09 Dec 2013) | 10 lines Sema: Enforce C++11 pointer-to-member template arguments should rules The standard is pretty clear on what it allows inside of template arguments for non-type template parameters of pointer-to-member. They must be of the form &qualified-id and cannot come from sources like constexpr VarDecls or things of that nature. This fixes PR18192. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|
b2b5cc0cf908d516a107d373db963f692449a8a8 |
|
04-Jan-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Enhance the diagnostic for negative array sizes to include the declaration name of the array when present. This ensures that a poor-man's C++03 static_assert will include the user error message often embedded in the name. Update all the tests to reflect the new wording, and add a test for the name behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|
bb6e73fcf60fa5a4cc36c14744dc366b658443b5 |
|
11-May-2010 |
Douglas Gregor <dgregor@apple.com> |
A DeclRefExpr that refers to a member function or a static data member of the current instantiation is value-dependent. The C++ standard fails to enumerate this case and, therefore, we missed it. Chandler did all of the hard work of reducing the last remaining Boost.PtrContainer failure (which had to do with static initialization in the Serialization library) down to this simple little test. While I'm at it, clean up the dependence rules for template arguments that are declarations, and implement the dependence rules for template argument packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.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/instantiate-member-pointers.cpp
|
15755cb8399afa702575a21915daf2f6e56b5ac1 |
|
14-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Template argument deduction of a non-type template parameter from a template argument. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|
caddba07f82096ee0d0a0312727d4418ee7a8d36 |
|
12-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
Recognize (and check) pointer-to-member template arguments that are non-type template parameters or constants of pointer-to-member type. Once checked, be sure to retain those pointer-to-member constants as expressions if they are dependent, or as declarations if they are not dependent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|
231edff7907cf151f1d046f287d3ee4ad90037cc |
|
12-Nov-2009 |
Douglas Gregor <dgregor@apple.com> |
When instantiating a reference to a non-type template parameter of pointer to member type (e.g., T Class::*Member), build a pointer-to-member constant expression. Previously, we we just building a simple declaration reference expression, which meant that the expression was not treated as a pointer to member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@87000 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|
949bf69136e07fb7968d84bc21d9272ff343ffdb |
|
10-Jun-2009 |
Douglas Gregor <dgregor@apple.com> |
Handle member pointer types with dependent class types (e.g., int T::*) and implement template instantiation for member pointer types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaTemplate/instantiate-member-pointers.cpp
|