teak-llvm/clang/test/SemaTemplate
Saar Raz 73eaf62463 [Concepts] Make constraint expressions unevaluated until satisfaction checking
As per P1980R0, constraint expressions are unevaluated operands, and their constituent atomic
constraints only become constant evaluated during satisfaction checking.

Change the evaluation context during parsing and instantiation of constraints to unevaluated.
2020-01-24 02:24:21 +02:00
..
ackermann.cpp
address_space-dependent.cpp Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr. 2019-12-18 10:41:12 -08:00
address-spaces.cpp
alias-church-numerals.cpp
alias-nested-nontag.cpp
alias-template-template-param.cpp
alias-templates.cpp Always deduce the lengths of contained parameter packs when deducing a 2020-01-06 17:24:29 -08:00
alignas.cpp
ambiguous-ovl-print.cpp
anonymous-union.cpp
argument-dependent-lookup.cpp [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default 2019-02-05 12:05:53 +00:00
array-redeclaration.cpp
array-to-pointer-decay.cpp
atomics.cpp
attributes.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
canonical-expr-type-0x.cpp
canonical-expr-type.cpp
class-template-ctor-initializer.cpp
class-template-decl.cpp [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default 2019-02-05 12:05:53 +00:00
class-template-id-2.cpp
class-template-id.cpp
class-template-spec.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
constexpr-instantiate.cpp
constructor-template.cpp
copy-ctor-assign.cpp
crash-8204126.cpp
crash-10438657.cpp
crash-unparsed-exception.cpp
crash.cpp
ctad.cpp PR41427: This has apparently been fixed already, just add a regression 2019-04-24 23:45:56 +00:00
current-instantiation.cpp
cxx1z-decomposition.cpp
cxx1z-fold-expressions.cpp PR41845: Detect and reject mismatched inner/outer pack expansion sizes 2019-05-13 08:31:14 +00:00
cxx1z-using-declaration.cpp When diagnosing an ambiguity, only note the candidates that contribute 2019-10-24 14:58:29 -07:00
cxx2a-constraint-caching.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
cxx2a-constraint-exprs.cpp [Concepts] Make constraint expressions unevaluated until satisfaction checking 2020-01-24 02:24:21 +02:00
cxx17-inline-variables.cpp
deduction-crash.cpp
deduction.cpp Fix pack deduction to only deduce the arity of packs that are actually 2020-01-15 16:21:08 -08:00
default-arguments-cxx0x.cpp Push lambda scope earlier when transforming lambda expression 2019-09-17 01:43:33 +00:00
default-arguments.cpp Mark declarations as referenced by a default argument in a 2019-06-11 23:51:46 +00:00
default-expr-arguments-2.cpp
default-expr-arguments-3.cpp
default-expr-arguments.cpp
delegating-constructors.cpp
dependent-base-classes.cpp [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp Fix crash when checking a dependently-typed reference that is 2019-06-17 21:46:17 +00:00
dependent-names-no-std.cpp
dependent-names.cpp Reapply "Fix crash on switch conditions of non-integer types in templates" 2019-12-03 15:27:19 -08:00
dependent-sized_array.cpp
dependent-template-recover.cpp Make tentative parsing to detect template-argument-lists less aggressive 2019-05-15 23:36:14 +00:00
dependent-type-identity.cpp
derived.cpp
destructor-template.cpp [Sema] Fixes a crash with a templated destructor 2019-11-07 21:22:27 +01:00
elaborated-type-specifier.cpp
enum-argument.cpp Reapply "Fix crash on switch conditions of non-integer types in templates" 2019-12-03 15:27:19 -08:00
enum-bool.cpp
enum-forward.cpp
example-typelist.cpp
exception-spec-crash.cpp P1286R2: Remove restriction that the exception specification of a 2019-05-06 05:04:56 +00:00
explicit-instantiation.cpp
explicit-specialization-member.cpp CWG issue 727: Fix numerous bugs in support for class-scope explicit 2019-05-03 23:51:38 +00:00
ext_ms_template_spec.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
ext-vector-type.cpp
extension-sfinae.cpp
extern-templates.cpp
fibonacci.cpp
friend-template.cpp
friend.cpp Remember to instantiate explicit template argument lists in a friend 2019-01-11 01:59:33 +00:00
fun-template-def.cpp
function-pointer-qualifier.cpp [Sema] Do not match function type with const T in template argument deduction 2018-05-03 01:43:23 +00:00
function-template-specialization-noreturn.cpp
function-template-specialization.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
implicit-instantiation-1.cpp
inject-templated-friend-post.cpp
inject-templated-friend.cpp
injected-class-name.cpp
instantiate-after-fatal-cxx17.cpp [c++17] Fix assertion on synthesizing deduction guides after a fatal error. 2018-05-14 22:49:44 +00:00
instantiate-anonymous-union.cpp
instantiate-array.cpp
instantiate-attr.cpp
instantiate-c99.cpp [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
instantiate-call.cpp
instantiate-case.cpp
instantiate-cast.cpp [Diagnostics] Improve some error messages related to bad use of dynamic_cast 2019-11-04 16:26:43 +01:00
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
instantiate-exception-spec-cxx11.cpp
instantiate-exception-spec.cpp
instantiate-expanded-type-constraint.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
instantiate-explicitly-after-fatal.cpp
instantiate-expr-1.cpp
instantiate-expr-2.cpp
instantiate-expr-3.cpp When diagnosing an ambiguity, only note the candidates that contribute 2019-10-24 14:58:29 -07:00
instantiate-expr-4.cpp Check for qualified function types after substituting into the operand 2019-10-03 18:55:23 +00:00
instantiate-expr-5.cpp
instantiate-expr-6.cpp
instantiate-expr-basic.cpp
instantiate-field.cpp
instantiate-friend-class.cpp
instantiate-friend-function.cpp PR43400: Add test that we can instantiate a friend function that is 2019-10-27 12:41:53 -07:00
instantiate-function-1.cpp
instantiate-function-1.mm
instantiate-function-2.cpp
instantiate-function-params.cpp Renamed and changed the wording of warn_cconv_ignored 2019-07-17 20:41:26 +00:00
instantiate-incomplete-typo-suggested-error-limit.cpp Fixes an assertion while instantiating a template with an incomplete typo-corrected type. 2019-09-07 20:14:09 +00:00
instantiate-init.cpp [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
instantiate-invalid.cpp
instantiate-local-class.cpp
instantiate-member-class.cpp
instantiate-member-expr.cpp
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp
instantiate-member-template.cpp
instantiate-method.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
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-requires-clause.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
instantiate-requires-expr.cpp [Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a 2020-01-24 00:48:59 +02:00
instantiate-scope.cpp
instantiate-self.cpp
instantiate-sizeof.cpp
instantiate-static-var.cpp
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 Update line number after previous patch added an additional unsupported 2019-12-12 14:45:05 -08:00
instantiation-depth-exception-spec.cpp
instantiation-depth-subst-2.cpp
instantiation-depth-subst.cpp
instantiation-depth.cpp
instantiation-order.cpp
issue150.cpp
lambda-capture-pack.cpp Add regression test for PR41576 (which is already fixed in trunk, 2019-06-25 18:42:53 +00:00
late-parsing-eager-instantiation.cpp [Diagnostics] Try to improve warning message for -Wreturn-type 2019-11-09 17:54:58 +01:00
lookup-dependent-bases.cpp
member-access-ambig.cpp
member-access-expr.cpp Reapply "Fix crash on switch conditions of non-integer types in templates" 2019-12-03 15:27:19 -08:00
member-function-template.cpp
member-inclass-init-value-dependent.cpp
member-initializers.cpp
member-specialization.cpp Fix crash if an in-class explicit function specialization has explicit 2018-12-04 22:26:32 +00:00
member-template-access-expr.cpp
metafun-apply.cpp Improve diagnostics and error recovery for template name lookup. 2018-05-11 02:43:08 +00:00
missing-class-keyword-crash.cpp
missing-typename.cpp [MS] Fix for Bug 8446, template instantiation without a 'typename' keyword 2019-02-26 02:22:17 +00:00
ms-class-specialization-class-scope.cpp
ms-class-specialization-duplicate.cpp
ms-delayed-default-template-args.cpp [Concepts] Placeholder constraints and abbreviated templates 2020-01-23 19:39:43 +02:00
ms-function-specialization-class-scope.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
ms-if-exists.cpp
ms-lookup-template-base-classes.cpp
ms-sizeof-missing-typename.cpp
nested-deduction-guides.cpp
nested-incomplete-class.cpp
nested-linkage.cpp
nested-name-spec-template.cpp Improve diagnostics and error recovery for template name lookup. 2018-05-11 02:43:08 +00:00
nested-template.cpp Fix a couple of places where we assumed that non-type template parameters are always rvalues. 2018-02-14 02:07:53 +00:00
non-integral-switch-cond.cpp Reapply "Fix crash on switch conditions of non-integer types in templates" 2019-12-03 15:27:19 -08:00
operator-function-id-template.cpp
operator-template.cpp
overload-candidates.cpp
overload-uneval.cpp
overloaded-functions.cpp
pack-deduction.cpp Always deduce the lengths of contained parameter packs when deducing a 2020-01-06 17:24:29 -08:00
partial-order.cpp
partial-spec-instantiate.cpp [Sema] Fix assertion when constructor is disabled with partially specialized template. 2018-05-16 18:28:58 +00:00
pragma-ms_struct.cpp
qualified-id.cpp
qualified-names-diag.cpp
rdar9173693.cpp Remove redundant CXXScopeSpec from TemplateIdAnnotation. 2020-01-17 15:47:21 -08:00
recovery-crash.cpp [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
recursive-template-instantiation.cpp
resolve-single-template-id.cpp Fix crash and rejects-valid when a later template parameter or default 2019-06-20 19:49:13 +00:00
self-comparison.cpp
sizeof-pack.cpp [c++20] P0780R2: Support pack-expansion of init-captures. 2019-05-21 20:10:50 +00:00
stack-exhaustion.cpp Disable stack exhaustion test on NetBSD, where either the detection or 2019-09-03 18:00:44 +00:00
stmt-expr.cpp
temp_arg_enum_printing_more.cpp
temp_arg_enum_printing.cpp
temp_arg_nontype_cxx1z.cpp PR42108 Consistently diagnose binding a reference template parameter to 2020-01-19 18:16:36 -08:00
temp_arg_nontype_cxx11.cpp PR42513: Enter the proper DeclContext before substituting into an 2019-08-24 02:30:00 +00:00
temp_arg_nontype.cpp When diagnosing an ambiguity, only note the candidates that contribute 2019-10-24 14:58:29 -07:00
temp_arg_pack.cpp PR39231: fix null dereference when diagnosing deduction failure due to 2018-10-09 18:49:22 +00:00
temp_arg_template_cxx1z.cpp
temp_arg_template.cpp
temp_arg_type.cpp
temp_arg.cpp
temp_class_order.cpp
temp_class_spec_blocks.cpp
temp_class_spec_neg.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
temp_class_spec.cpp
temp_explicit_cxx0x.cpp
temp_explicit.cpp
temp_func_order.cpp
temp-param-subst-linear.cpp When substituting previously-checked template arguments into a template 2018-03-08 01:07:33 +00:00
temp.cpp Fix implementation of [temp.local]p4. 2019-02-15 21:53:07 +00:00
template-class-traits.cpp
template-decl-fail.cpp
template-id-expr.cpp Improve diagnostics and error recovery for template name lookup. 2018-05-11 02:43:08 +00:00
template-id-printing.cpp
typename-specifier-2.cpp
typename-specifier-3.cpp PR12884: Add test (bug is already fixed). 2018-11-28 05:15:46 +00:00
typename-specifier-4.cpp
typename-specifier.cpp
typo-dependent-name.cpp [NFC] Explicitly add -std=c++14 option to tests that rely on the C++14 default 2019-02-05 12:05:53 +00:00
typo-template-name.cpp
typo-variadic.cpp [SemaTemplate] Fix uncorrected typos after pack expansion 2019-07-16 10:30:21 +00:00
undefined-template.cpp
unresolved-construct.cpp
unused-variables.cpp
using-decl.cpp Always rebuild a DeclRefExpr if its FoundDecl would change. 2019-09-26 22:28:32 +00:00
value-dependent-null-pointer-constant.cpp
virtual-member-functions.cpp
warn-thread-safety-analysis.cpp Fix some handling of AST nodes with diagnostics. 2018-03-28 04:16:13 +00:00