hanchenye-llvm-project/clang/test/SemaTemplate
Douglas Gregor 7c26c04ba9 Diagnose attempts to write a templated data member, from Stepan
Dyatkovskiy! Fixes PR10896.

llvm-svn: 140250
2011-09-21 14:40:46 +00:00
..
ackermann.cpp
address-spaces.cpp When comparing parameters of reference-to-qualified type during 2011-04-30 17:07:52 +00:00
alias-church-numerals.cpp Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
alias-nested-nontag.cpp Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
alias-template-template-param.cpp Implement support for C++0x alias templates. 2011-05-05 21:57:07 +00:00
alias-templates.cpp PR9908: Fix the broken fix for PR9902 to get the template argument lists in the right order. 2011-05-14 15:04:18 +00:00
ambiguous-ovl-print.cpp
anonymous-union.cpp When searching for an instantiated declaration requires instantiation 2010-11-05 23:22:45 +00:00
array-to-pointer-decay.cpp
atomics.cpp When type-checking a call to an overloaded, builtin atomic operation, 2011-09-09 16:51:10 +00:00
attributes.cpp Enhance the diagnostic for negative array sizes to include the 2011-01-04 04:44:35 +00:00
canonical-expr-type-0x.cpp
canonical-expr-type.cpp
class-template-ctor-initializer.cpp
class-template-decl.cpp PR10359: Template declarations which define classes are not permitted to also contain declarators. Previously we would accept code like this: 2011-07-14 21:35:26 +00:00
class-template-id-2.cpp
class-template-id.cpp
class-template-spec.cpp
constructor-template.cpp Improve our handling of C++ [class.copy]p3, which specifies that a 2010-11-08 17:16:59 +00:00
copy-ctor-assign.cpp
crash-8204126.cpp
current-instantiation.cpp The member classes of a current instantiation aren't necessarily a 2011-02-19 19:24:40 +00:00
deduction-crash.cpp It's considered poor form to create references to the overloaded 2011-05-21 22:16:50 +00:00
deduction.cpp Restore the C-style cast hack for enum template arguments, 2011-07-15 07:47:58 +00:00
default-arguments-cxx0x.cpp
default-arguments.cpp When performing substitution of default template template parameters 2011-06-15 14:20:42 +00:00
default-expr-arguments-2.cpp
default-expr-arguments.cpp Enhance the diagnostic for negative array sizes to include the 2011-01-04 04:44:35 +00:00
dependent-base-classes.cpp
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp Don't try to compute the value of a value-dependent expression when 2010-12-21 07:22:56 +00:00
dependent-names-no-std.cpp Hyphenate "argument-dependent". 2011-06-14 12:59:25 +00:00
dependent-names.cpp Fix PR10187: when diagnosing a two-phase-lookup-related failure, don't assert that any names we find are valid candidates for the call. 2011-06-26 22:19:54 +00:00
dependent-sized_array.cpp
dependent-template-recover.cpp When constructing source-location information for a 2011-03-04 18:53:13 +00:00
dependent-type-identity.cpp
destructor-template.cpp Diagnose destructor templates. Fixes PR7904. 2011-03-04 22:45:55 +00:00
elaborated-type-specifier.cpp Tag references shouldn't ever get template parameter lists. 2010-10-19 18:40:57 +00:00
enum-argument.cpp Clarify the logic for when to build an overloaded binop. In particular, 2010-12-06 05:26:58 +00:00
enum-forward.cpp
example-dynarray.cpp
example-typelist.cpp
explicit-instantiation.cpp Make the invalid declarator recovery when parsing members work the same as when parsing global decls. It's still rather broken (skipping much too far when the declarator belongs to a function definition), but at least not so broken as to mismatch braces. Tested by the removal of the fixme in the template test case. 2011-04-24 16:27:48 +00:00
explicit-specialization-member.cpp Instantiate class member template partial specialization declarations 2010-11-10 19:44:59 +00:00
ext-vector-type.cpp Eliminate a 'default' case in template argument deduction, where we 2011-06-15 16:02:29 +00:00
extern-templates.cpp
fibonacci.cpp
friend-template.cpp When parsing a template friend declaration we dropped the template 2011-05-03 18:35:10 +00:00
friend.cpp
fun-template-def.cpp
function-template-specialization.cpp Disallow function template partial specializations, from Hans 2011-01-24 18:54:39 +00:00
implicit-instantiation-1.cpp
inject-templated-friend-post.cpp Switch to using %clang_cc1 properly rather than manually passing the -cc1 flag. 2010-11-13 10:19:35 +00:00
inject-templated-friend.cpp Switch to using %clang_cc1 properly rather than manually passing the -cc1 flag. 2010-11-13 10:19:35 +00:00
injected-class-name.cpp
instantiate-anonymous-union.cpp When building a qualified reference to a member of an anonymous struct 2011-02-18 02:44:58 +00:00
instantiate-array.cpp
instantiate-attr.cpp
instantiate-c99.cpp
instantiate-call.cpp Hyphenate "argument-dependent". 2011-06-14 12:59:25 +00:00
instantiate-case.cpp
instantiate-cast.cpp Implement appropriate semantics for C++ casting and conversion when 2011-04-15 17:59:54 +00:00
instantiate-clang.cpp
instantiate-complete.cpp When we're type-checking the result of calling a conversion function 2010-11-13 19:36:57 +00:00
instantiate-decl-dtor.cpp
instantiate-decl-init.cpp
instantiate-declref-ice.cpp
instantiate-declref.cpp
instantiate-deeply.cpp
instantiate-default-assignment-operator.cpp Enhance the diagnostic for negative array sizes to include the 2011-01-04 04:44:35 +00:00
instantiate-dependent-nested-name.cpp
instantiate-elab-type-specifier.cpp
instantiate-enum-2.cpp
instantiate-enum.cpp
instantiate-exception-spec.cpp
instantiate-expr-1.cpp PR10864: make sure we correctly delay type-checking for inline asm tied operands with dependent type. Patch by Likai Liu. 2011-09-14 19:20:00 +00:00
instantiate-expr-2.cpp
instantiate-expr-3.cpp Properly diagnose using abstract and incomplete types in va_arg 2011-06-14 05:17:32 +00:00
instantiate-expr-4.cpp When we decide not to rebuild an instantiated C++ 'new' expression 2011-07-26 15:11:03 +00:00
instantiate-expr-5.cpp
instantiate-expr-basic.cpp
instantiate-field.cpp Before checking bitfield initialization, make sure that neither the 2011-02-04 13:09:01 +00:00
instantiate-friend-class.cpp
instantiate-function-1.cpp When determining whether we need to instantiate a function type, 2011-05-09 20:45:16 +00:00
instantiate-function-1.mm
instantiate-function-2.cpp Look through parenthesized declarators when determining whether an 2011-07-05 18:30:26 +00:00
instantiate-function-params.cpp
instantiate-init.cpp Improve the instantiation of static data members in 2011-06-03 14:28:43 +00:00
instantiate-invalid.cpp
instantiate-local-class.cpp For member pointer conversions potentially involving derived-to-base 2010-12-21 21:40:41 +00:00
instantiate-member-class.cpp Fix AST representations of alias-declarations which define tag types. Inside classes, the tag types need to have an associated access specifier, and inside function definitions, they need to be included in the declarations of the DeclStmt. These issues manifested as assertions during template instantiation, and also in a WIP constexpr patch. 2011-07-01 19:46:12 +00:00
instantiate-member-expr.cpp Enhance the diagnostic for negative array sizes to include the 2011-01-04 04:44:35 +00:00
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp Enhance the diagnostic for negative array sizes to include the 2011-01-04 04:44:35 +00:00
instantiate-member-template.cpp When transforming a dependent template specialization type, make sure 2011-03-07 02:33:33 +00:00
instantiate-method.cpp
instantiate-non-dependent-types.cpp
instantiate-non-type-template-parameter.cpp When we're creating an expression for an integral template argument of 2011-02-18 02:12:44 +00:00
instantiate-objc-1.mm
instantiate-overload-candidates.cpp
instantiate-overloaded-arrow.cpp
instantiate-static-var.cpp When printing a qualified type, look through a substituted template 2011-02-17 06:52:25 +00:00
instantiate-subscript.cpp
instantiate-template-template-parm.cpp Add test for PR8629 2011-01-25 18:11:52 +00:00
instantiate-try-catch.cpp Don't try to type-check a copy construction of an exception 2011-07-06 18:14:43 +00:00
instantiate-type.cpp
instantiate-typedef.cpp
instantiate-using-decl.cpp
instantiation-backtrace.cpp
instantiation-default-1.cpp
instantiation-default-2.cpp
instantiation-default-3.cpp
instantiation-depth.cpp
issue150.cpp When substituting in for a template name, do not produce a qualified 2011-03-05 20:06:51 +00:00
lookup-dependent-bases.cpp In Microsoft mode, if we are within a templated function and we can't resolve Identifier during BuildCXXNestedNameSpecifier, then extend the SS with Identifier. This will have the effect of resolving Identifier during template instantiation. The goal is to be able to resolve a function call whose nested-name-specifier is located inside a dependent base class. 2011-07-27 01:05:24 +00:00
member-access-ambig.cpp When we perform name lookup for a template, we may end up finding an 2010-10-22 17:36:51 +00:00
member-access-expr.cpp Clarify the logic for when to build an overloaded binop. In particular, 2010-12-06 05:26:58 +00:00
member-function-template.cpp
member-inclass-init-value-dependent.cpp Replace r134583's fix for PR10290 with one which also works for non-value-dependent cases. 2011-07-20 00:12:52 +00:00
member-initializers.cpp
member-template-access-expr.cpp
metafun-apply.cpp
missing-class-keyword-crash.cpp Fix a crash-on-invalid. 2011-08-25 23:22:24 +00:00
ms-function-specialization-class-scope.cpp fix typo in test. 2011-08-14 22:30:29 +00:00
ms-lookup-template-base-classes.cpp In Microsoft mode, if we are inside a template class member function and we can't resolve a function call then create a type-dependent CallExpr even if the function has no type dependent arguments. The goal is to postpone name lookup to instantiation time to be able to search into type dependent base classes. 2011-09-07 00:14:57 +00:00
nested-linkage.cpp
nested-name-spec-template.cpp Don't ask if a depenendent CXXRecordDecl has any dependent bases 2011-03-11 23:27:41 +00:00
nested-template.cpp Diagnose attempts to write a templated data member, from Stepan 2011-09-21 14:40:46 +00:00
operator-function-id-template.cpp
operator-template.cpp
overload-candidates.cpp
overload-uneval.cpp Whitelist operator== and operator!= as valid for unused value warnings, 2011-08-17 09:49:44 +00:00
partial-spec-instantiate.cpp When converting an integral template argument value to a non-type 2011-05-04 21:55:00 +00:00
qualified-id.cpp
qualified-names-diag.cpp
rdar9173693.cpp Fix a double free when parsing malformed code. Fixes rdar://9173693. 2011-05-03 18:45:38 +00:00
recovery-crash.cpp
recursive-template-instantiation.cpp
resolve-single-template-id.cpp Treating the unused equality comparisons as something other than part of 2011-08-17 09:34:37 +00:00
self-comparison.cpp
temp.cpp
temp_arg.cpp
temp_arg_nontype.cpp Don't assert on taking the address of a non-type template parameter. Fixes PR10766. 2011-08-26 20:28:17 +00:00
temp_arg_template.cpp Detect when the string "<::" is found in code after a cast or template name and is interpreted as "[:" because of the digraph "<:". When found, give an error with a fix-it to add whitespace between the "<" and "::". 2011-04-14 21:45:45 +00:00
temp_arg_type.cpp
temp_class_order.cpp
temp_class_spec.cpp
temp_class_spec_blocks.cpp
temp_class_spec_neg.cpp
temp_explicit.cpp
temp_explicit_cxx0x.cpp
temp_func_order.cpp
template-class-traits.cpp
template-decl-fail.cpp
template-id-expr.cpp
template-id-printing.cpp
typename-specifier-2.cpp
typename-specifier-3.cpp
typename-specifier-4.cpp When building a type for a typename specifier, check specifically for 2011-03-01 16:44:30 +00:00
typename-specifier.cpp Patch for PR 7409 - only error on definition of invalid typedefs. Suppress errors for additional uses of this invalid typedef. 2011-05-07 01:36:37 +00:00
typo-dependent-name.cpp
unresolved-construct.cpp Teach CXXUnresolvedConstructExpr when it should be an 2011-07-08 15:50:43 +00:00
unused-variables.cpp
value-dependent-null-pointer-constant.cpp
virtual-member-functions.cpp