hanchenye-llvm-project/clang/test/SemaTemplate
Alex Lorenz ddd279b90d [Sema] Fix an assert-on-invalid by avoiding function template specialisation
deduction for invalid functions

The fabricated template parameters cause an assertion because their depth
is invalid.

rdar://34109988

Differential Revision: https://reviews.llvm.org/D37341

llvm-svn: 316778
2017-10-27 18:13:31 +00:00
..
ackermann.cpp
address-spaces.cpp
address_space-dependent.cpp [OpenCL] Add LangAS::opencl_private to represent private address space in AST 2017-10-13 03:37:48 +00:00
alias-church-numerals.cpp
alias-nested-nontag.cpp
alias-template-template-param.cpp
alias-templates.cpp Give more accurate descriptions of what kind of template we found in diagnostics. 2017-01-14 02:19:59 +00:00
alignas.cpp
ambiguous-ovl-print.cpp
anonymous-union.cpp
array-redeclaration.cpp
array-to-pointer-decay.cpp
atomics.cpp
attributes.cpp
canonical-expr-type-0x.cpp
canonical-expr-type.cpp
class-template-ctor-initializer.cpp
class-template-decl.cpp
class-template-id-2.cpp
class-template-id.cpp
class-template-spec.cpp Partial revert of r290511. 2017-01-17 02:14:37 +00:00
constexpr-instantiate.cpp Customize the SFINAE diagnostics for enable_if to provide the failed condition. 2017-07-05 20:20:14 +00:00
constructor-template.cpp
copy-ctor-assign.cpp
crash-8204126.cpp
crash-10438657.cpp
crash-unparsed-exception.cpp [Sema] Prevent InstantiateClass from checking unrelated exception specs. 2017-09-21 19:54:12 +00:00
crash.cpp
current-instantiation.cpp
cxx1z-decomposition.cpp
cxx1z-fold-expressions.cpp
cxx1z-using-declaration.cpp PR31606: Generalize our tentative DR resolution for inheriting copy/move 2017-01-13 20:46:54 +00:00
cxx17-inline-variables.cpp Don't suppress instantiation of definitions for variables subject to explicit 2017-10-18 22:45:01 +00:00
deduction-crash.cpp [Sema] Fix an assert-on-invalid by avoiding function template specialisation 2017-10-27 18:13:31 +00:00
deduction.cpp PR33318: Add missing full-expression checking to static_assert expression. 2017-06-06 01:34:24 +00:00
default-arguments-cxx0x.cpp [Sema] Prevent InstantiateClass from checking unrelated exception specs. 2017-09-21 19:54:12 +00:00
default-arguments.cpp When instantiating a friend function template, don't forget to inherit default template arguments from other declarations. 2017-05-10 00:01:13 +00:00
default-expr-arguments-2.cpp
default-expr-arguments-3.cpp Extend -ast-dump for CXXRecordDecl to dump the flags from the DefinitionData. 2017-09-22 00:11:15 +00:00
default-expr-arguments.cpp
delegating-constructors.cpp
dependent-base-classes.cpp
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp
dependent-names-no-std.cpp
dependent-names.cpp
dependent-sized_array.cpp
dependent-template-recover.cpp Improve error recovery for missing 'template' keyword in contexts where the 2017-06-07 00:29:44 +00:00
dependent-type-identity.cpp
derived.cpp
destructor-template.cpp Fix PR 33189: Clang assertion on template destructor declaration 2017-06-30 22:43:54 +00:00
elaborated-type-specifier.cpp
enum-argument.cpp
enum-bool.cpp
enum-forward.cpp
example-typelist.cpp
exception-spec-crash.cpp
explicit-instantiation.cpp Improve diagnosis of unknown template name. 2017-05-10 21:32:16 +00:00
explicit-specialization-member.cpp [Sema] Fix an assert-on-invalid by avoiding function template specialisation 2017-10-27 18:13:31 +00:00
ext-vector-type.cpp
ext_ms_template_spec.cpp
extension-sfinae.cpp
extern-templates.cpp Don't suppress instantiation of definitions for variables subject to explicit 2017-10-18 22:45:01 +00:00
fibonacci.cpp
friend-template.cpp Revert "Address http://bugs.llvm.org/pr30994 so that a non-friend can properly replace a friend, and a visible friend can properly replace an invisible friend but not vice verse, and definitions are not replaced. This fixes the two FIXME in SemaTemplate/friend-template.cpp." 2017-04-17 20:57:40 +00:00
friend.cpp
fun-template-def.cpp
function-template-specialization-noreturn.cpp
function-template-specialization.cpp
implicit-instantiation-1.cpp
inject-templated-friend-post.cpp
inject-templated-friend.cpp
injected-class-name.cpp PR13403 (+duplicates): implement C++ DR1310 (http://wg21.link/cwg1310). 2017-01-19 21:00:13 +00:00
instantiate-anonymous-union.cpp
instantiate-array.cpp
instantiate-attr.cpp
instantiate-c99.cpp [Test] Make Lit tests C++11 compatible #9 2017-02-24 22:22:05 +00:00
instantiate-call.cpp
instantiate-case.cpp
instantiate-cast.cpp
instantiate-clang.cpp
instantiate-complete.cpp
instantiate-decl-dtor.cpp
instantiate-decl-init.cpp
instantiate-declref-ice.cpp
instantiate-declref.cpp
instantiate-deeply.cpp
instantiate-default-assignment-operator.cpp
instantiate-dependent-nested-name.cpp
instantiate-elab-type-specifier.cpp
instantiate-enum-2.cpp
instantiate-enum.cpp PR13403 (+duplicates): implement C++ DR1310 (http://wg21.link/cwg1310). 2017-01-19 21:00:13 +00:00
instantiate-exception-spec-cxx11.cpp
instantiate-exception-spec.cpp
instantiate-explicitly-after-fatal.cpp
instantiate-expr-1.cpp
instantiate-expr-2.cpp
instantiate-expr-3.cpp
instantiate-expr-4.cpp
instantiate-expr-5.cpp
instantiate-expr-6.cpp
instantiate-expr-basic.cpp
instantiate-field.cpp
instantiate-friend-class.cpp
instantiate-friend-function.cpp Regression test for PR10856 2017-07-26 14:58:55 +00:00
instantiate-function-1.cpp
instantiate-function-1.mm
instantiate-function-2.cpp
instantiate-function-params.cpp
instantiate-init.cpp PR23135: Don't instantiate constexpr functions referenced in unevaluated operands where possible. 2017-01-07 00:48:55 +00:00
instantiate-invalid.cpp
instantiate-local-class.cpp Only instantiate members of nested classes in local classes once, rather than once per enclosing class. 2017-01-04 23:45:01 +00:00
instantiate-member-class.cpp PR13403 (+duplicates): implement C++ DR1310 (http://wg21.link/cwg1310). 2017-01-19 21:00:13 +00:00
instantiate-member-expr.cpp
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp
instantiate-member-template.cpp
instantiate-method.cpp
instantiate-non-dependent-types.cpp
instantiate-non-type-template-parameter.cpp
instantiate-objc-1.mm
instantiate-overload-candidates.cpp
instantiate-overloaded-arrow.cpp
instantiate-partial-spec.cpp
instantiate-scope.cpp
instantiate-self.cpp
instantiate-sizeof.cpp
instantiate-static-var.cpp Don't warn about runtime behavior problems in variable initializers that we 2017-09-23 18:27:11 +00:00
instantiate-subscript.cpp
instantiate-template-template-parm.cpp
instantiate-try-catch.cpp
instantiate-type.cpp
instantiate-typedef.cpp
instantiate-typeof.cpp
instantiate-using-decl.cpp
instantiate-var-template.cpp
instantiation-backtrace.cpp
instantiation-default-1.cpp
instantiation-default-2.cpp
instantiation-default-3.cpp
instantiation-depth-defarg.cpp
instantiation-depth-default.cpp
instantiation-depth-exception-spec.cpp
instantiation-depth-subst-2.cpp
instantiation-depth-subst.cpp
instantiation-depth.cpp
instantiation-order.cpp
issue150.cpp
lookup-dependent-bases.cpp
member-access-ambig.cpp Print nested name specifiers for typedefs and type aliases 2017-03-10 15:04:58 +00:00
member-access-expr.cpp
member-function-template.cpp
member-inclass-init-value-dependent.cpp
member-initializers.cpp
member-template-access-expr.cpp
metafun-apply.cpp
missing-class-keyword-crash.cpp
ms-class-specialization-class-scope.cpp
ms-class-specialization-duplicate.cpp
ms-delayed-default-template-args.cpp
ms-function-specialization-class-scope.cpp
ms-if-exists.cpp
ms-lookup-template-base-classes.cpp Improve diagnosis of unknown template name. 2017-05-10 21:32:16 +00:00
ms-sizeof-missing-typename.cpp PR13403 (+duplicates): implement C++ DR1310 (http://wg21.link/cwg1310). 2017-01-19 21:00:13 +00:00
nested-incomplete-class.cpp
nested-linkage.cpp
nested-name-spec-template.cpp
nested-template.cpp
operator-function-id-template.cpp
operator-template.cpp
overload-candidates.cpp Fix test case in pre-C++11 mode; address Aaron Ballman's code review. 2017-07-05 21:12:37 +00:00
overload-uneval.cpp
overloaded-functions.cpp
pack-deduction.cpp
partial-order.cpp Revert r295277 to fix buildbot. 2017-02-16 04:22:56 +00:00
partial-spec-instantiate.cpp
pragma-ms_struct.cpp
qualified-id.cpp
qualified-names-diag.cpp
rdar9173693.cpp
recovery-crash.cpp
recursive-template-instantiation.cpp
resolve-single-template-id.cpp
self-comparison.cpp
temp.cpp
temp_arg.cpp PR0091R3: Implement parsing support for using templates as types. 2017-01-26 20:40:47 +00:00
temp_arg_enum_printing.cpp
temp_arg_nontype.cpp Revert r295277 to fix buildbot. 2017-02-16 04:22:56 +00:00
temp_arg_nontype_cxx1z.cpp Implement current CWG direction for support of arrays of unknown bounds in 2017-10-20 22:56:25 +00:00
temp_arg_nontype_cxx11.cpp Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
temp_arg_template.cpp PR10147: When substituting a template template argument, substitute in the most 2017-08-29 22:14:43 +00:00
temp_arg_template_cxx1z.cpp PR32185: Revert r291512 and add a testcase for PR32185. 2017-04-13 21:37:24 +00:00
temp_arg_type.cpp [c++1z] Support deducing B in noexcept(B). 2017-06-07 21:46:22 +00:00
temp_class_order.cpp
temp_class_spec.cpp
temp_class_spec_blocks.cpp
temp_class_spec_neg.cpp DR1315: a non-type template argument in a partial specialization is permitted 2016-12-28 02:37:25 +00:00
temp_explicit.cpp [Test] Make Lit tests C++11 compatible #9 2017-02-24 22:22:05 +00:00
temp_explicit_cxx0x.cpp
temp_func_order.cpp
template-class-traits.cpp
template-decl-fail.cpp
template-id-expr.cpp Recently a change was made to this test in r294639 which fails when the 2017-02-24 01:25:02 +00:00
template-id-printing.cpp
typename-specifier-2.cpp
typename-specifier-3.cpp PR0091R3: Implement parsing support for using templates as types. 2017-01-26 20:40:47 +00:00
typename-specifier-4.cpp
typename-specifier.cpp Print nested name specifiers for typedefs and type aliases 2017-03-10 15:04:58 +00:00
typo-dependent-name.cpp
typo-template-name.cpp When we see a '<' operator, check whether it's a probable typo for a template-id. 2017-05-10 02:30:28 +00:00
undefined-template.cpp -Wunused-func-template: do not warn on non-template function declarations that 2017-01-28 01:50:33 +00:00
unresolved-construct.cpp
unused-variables.cpp
value-dependent-null-pointer-constant.cpp [Test] Make Lit tests C++11 compatible #9 2017-02-24 22:22:05 +00:00
virtual-member-functions.cpp [Lit Test] Make tests C++11 compatible - Microsoft diagnostics 2017-02-06 19:32:38 +00:00