llvm-project/clang/test/SemaTemplate
Richard Smith fcb90cbd3b Fix miscomputation of dependence for elaborated types that are
explicitly qualified as members of the current instantiation.

Despite the nested name specifier being fully-dependent in this case,
the elaborated type might only be instantiation-dependent, because the
type is a member of the current instantiation.
2021-02-04 13:14:15 -08:00
..
ackermann.cpp
address-spaces.cpp
address_space-dependent.cpp [OpenCL] Add global_device and global_host address spaces 2020-07-29 17:24:53 +03:00
alias-church-numerals.cpp
alias-nested-nontag.cpp
alias-template-nondependent.cpp PR46377: Fix dependence calculation for function types and typedef 2020-07-28 13:23:13 -07:00
alias-template-template-param.cpp
alias-templates.cpp When performing a substitution into a dependent alias template, mark the 2020-06-23 14:43:04 -07:00
alignas.cpp PR35028: Retain duplicate alignas attributes in template instantiation. 2018-01-04 01:02:18 +00:00
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 Don't assert if we find a dependently-typed variable in the 2020-06-16 19:41:13 -07:00
array-to-pointer-decay.cpp
atomics.cpp
attributes.cpp Allow dependent alias template specializations in the preferred_name 2021-01-05 15:33:51 -08:00
canonical-expr-type-0x.cpp
canonical-expr-type.cpp
class-template-ctor-initializer.cpp
class-template-decl.cpp Ensure that we transform types into the current instantiation even if 2020-12-17 23:23:05 -08:00
class-template-id-2.cpp
class-template-id.cpp Suppress printing template arguments that match default template 2020-11-11 15:05:51 -08:00
class-template-spec.cpp Suppress printing template arguments that match default template 2020-11-11 15:05:51 -08:00
concepts.cpp P0857R0: Parse a requires-clause after an explicit 2020-12-03 15:54:16 -08:00
constexpr-instantiate.cpp Customize the SFINAE diagnostics for enable_if to provide the failed condition. 2017-07-05 20:20:14 +00:00
constraints.cpp PR45589: Properly decompose overloaded `&&` and `||` operators in 2020-05-12 13:45:45 -07:00
constructor-template.cpp Consistent spelling in diagnostics: {l,r}value instead of {l,r}-value 2020-11-15 18:05:11 +01:00
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
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 PR30738: Implement two-phase name lookup for fold-expressions. 2020-08-06 16:56:39 -07:00
cxx1z-using-declaration.cpp PR48339: Improve diagnostics for invalid dependent unqualified function calls. 2020-12-02 17:54:55 -08: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] Transform constraints of non-template functions to ConstantEvaluated 2020-01-25 23:00:24 +02:00
cxx17-inline-variables.cpp In C++17, when instantiating an out-of-line definition of an inline static data 2018-01-10 23:08:26 +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-guide.cpp When performing a substitution into a dependent alias template, mark the 2020-06-23 14:43:04 -07:00
deduction.cpp [c++20] For P0732R2: permit class template argument deduction for non-type template parameters. 2020-10-21 15:03:22 -07:00
default-arguments-cxx0x.cpp PR46648: Do not eagerly instantiate default arguments for a generic 2020-07-09 17:24:20 -07: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 Re-commit r321223, which adds a printing policy to the ASTDumper. 2017-12-21 21:42:42 +00:00
default-expr-arguments-3.cpp Re-commit r321223, which adds a printing policy to the ASTDumper. 2017-12-21 21:42:42 +00:00
default-expr-arguments.cpp
default-member-init.cpp Fix assert on valid due to incorrect assumption that a field name must 2020-11-18 14:04:02 -08:00
defaulted.cpp Fix rejects-valid when referencing an implicit operator== from within a 2020-06-22 20:19:20 -07:00
delegating-constructors.cpp
dependent-base-classes.cpp Part of C++ DR 39: a class member lookup is not ambiguous if it finds the 2020-11-25 17:03:11 -08:00
dependent-base-member-init.cpp
dependent-class-member-operator.cpp
dependent-expr.cpp Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not 2021-01-19 12:48:40 -08:00
dependent-names-no-std.cpp
dependent-names.cpp PR48339: Improve diagnostics for invalid dependent unqualified function calls. 2020-12-02 17:54:55 -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
dependent-typos-recovery.cpp PR48339: Improve diagnostics for invalid dependent unqualified function calls. 2020-12-02 17:54:55 -08:00
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 Fix type-dependency of bitfields in templates 2020-02-12 13:31:41 -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 Don't instantiate lambda closure types in default member initializers 2020-10-20 17:37:07 -07:00
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-vector-type.cpp
ext_ms_template_spec.cpp Implement C++ DR727, which permits explicit specializations at class scope. 2018-03-16 13:36:56 +00:00
extension-sfinae.cpp
extern-templates.cpp [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +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 PR42513: Fix handling of function definitions lazily instantiated from 2020-10-30 18:35:12 -07: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-abbreviated-template.cpp [Concepts] Add null check for TemplateTypeParmType::getDecl() in GetContainedInventedTypeParmVisitor 2020-03-06 19:32:10 +02:00
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 [AST][RecoveryExpr] Preserve the AST for invalid conditions. 2020-07-20 14:58:36 +02: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 Implement P1766R1: diagnose giving non-C-compatible classes a typedef name for linkage purposes. 2020-02-07 11:47:37 -08:00
instantiate-function-params.cpp [AST][RecoveryExpr] Build recovery expressions by default for C++. 2020-06-12 15:21:38 +02: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 [AST][RecoveryExpr] Build recovery expressions by default for C++. 2020-06-12 15:21:38 +02:00
instantiate-invalid.cpp
instantiate-local-class.cpp Don't instantiate lambda closure types in default member initializers 2020-10-20 17:37:07 -07:00
instantiate-member-class.cpp [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
instantiate-member-expr.cpp [AST] Print a<b<c>> without extra spaces in C++11 or later. 2020-03-26 09:53:54 +01:00
instantiate-member-initializers.cpp
instantiate-member-pointers.cpp
instantiate-member-specialization.cpp Properly collect template arguments from a class-scope function template 2020-11-10 15:55:19 -08:00
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] Add missing CXXThisScope to function template constraint substitution 2020-02-05 01:10:35 +02:00
instantiate-requires-expr.cpp [Concepts] Fix incorrect DeclContext for transformed RequiresExprBodyDecl 2020-03-10 23:17:00 +02:00
instantiate-scope.cpp
instantiate-self.cpp Explain why the array bound is non-constant in VLA diagnostics. 2020-08-19 15:45:51 -07:00
instantiate-sizeof.cpp
instantiate-static-local.cpp Where possible, don't try to ask whether a template argument is 2020-12-17 23:23:05 -08:00
instantiate-static-var.cpp Attempt to complete an incomplete expression type when considering a 2021-01-08 15:19:28 -08:00
instantiate-subscript.cpp
instantiate-template-argument.cpp [Concepts] Correctly form initial parameter mapping for parameter packs, support substitution into SubstNonTypeTemplateParmExpr 2020-01-31 15:59:42 +02:00
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 [SemaTemplate] Stop passing insertion position around during VarTemplate instantiation 2020-10-12 16:48:50 -07:00
instantiation-backtrace.cpp
instantiation-default-1.cpp Suppress printing template arguments that match default template 2020-11-11 15:05:51 -08:00
instantiation-default-2.cpp
instantiation-default-3.cpp
instantiation-dependence.cpp Fix miscomputation of dependence for elaborated types that are 2021-02-04 13:14:15 -08:00
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
matrix-type.cpp [Matrix] Check non-dependent elt type before creating DepSizedMatrix. 2020-05-12 16:46:37 +01:00
member-access-ambig.cpp
member-access-expr.cpp Don't form a 'context-independent expr' reference to a member during 2020-07-27 19:38:22 -07: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 Improve error recovery from missing '>' in template argument list. 2020-03-27 18:59:01 -07: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 PR48339: Improve diagnostics for invalid dependent unqualified function calls. 2020-12-02 17:54:55 -08:00
ms-sizeof-missing-typename.cpp
nested-deduction-guides.cpp When instantiating a deduction guide, transform its name. 2017-12-21 19:43:39 +00:00
nested-incomplete-class.cpp
nested-linkage.cpp
nested-name-spec-template.cpp PR45294: Fix handling of assumed template names looked up in the lexical 2020-03-27 21:07:06 -07: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
nss-recovery.cpp [AST][RecoveryExpr] Avoid spurious 'missing typename' diagnostic when the NNS contains errors. 2020-06-30 16:18:32 +02:00
operator-function-id-template.cpp
operator-template.cpp CWG2445: For function template partial ordering, take reversal of 2020-02-10 06:07:48 -08:00
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 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 PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of 2021-01-18 21:05:01 -08:00
pr47676.cpp [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast 2020-10-01 15:57:01 -04: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 PR48339: Improve diagnostics for invalid dependent unqualified function calls. 2020-12-02 17:54:55 -08:00
recovery-tree-transform-crash.cpp [AST][RecoveryExpr] Fix the missing type when rebuilding RecoveryExpr in TreeTransform. 2020-08-07 11:15:19 +02:00
recovery-tree-transform.cpp [AST] Add RecoveryExpr to retain expressions on semantic errors 2020-03-24 09:20:37 +01: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 Fix check-all with -DLLVM_USE_SANITIZER=Address 2020-07-10 01:47:51 -07:00
stmt-expr.cpp Fix crash when trying to pack-expand a GNU statement expression. 2018-02-03 00:44:57 +00:00
subst-into-subst.cpp Teach TreeTransform to substitute into resolved TemplateArguments. 2020-03-19 12:43:11 -07:00
temp-param-subst-linear.cpp When substituting previously-checked template arguments into a template 2018-03-08 01:07:33 +00:00
temp.cpp Part of C++ DR 39: a class member lookup is not ambiguous if it finds the 2020-11-25 17:03:11 -08:00
temp_arg.cpp Improve recovery from invalid template-ids. 2020-03-27 17:11:04 -07:00
temp_arg_enum_printing.cpp [AST] Incorrectly qualified unscoped enumeration as template actual parameter. 2017-12-21 21:47:22 +00:00
temp_arg_enum_printing_more.cpp [AST] Incorrectly qualified unscoped enumeration as template actual parameter. 2017-12-21 21:47:22 +00:00
temp_arg_nontype.cpp Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types. 2020-12-15 12:00:57 -08:00
temp_arg_nontype_cxx1z.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01:00
temp_arg_nontype_cxx11.cpp When re-checking an already-substituted template argument, don't lose 2020-11-03 14:09:54 -08:00
temp_arg_nontype_cxx20.cpp Revert "Following up on PR48517, fix handling of template arguments that refer" 2021-01-20 15:55:35 +01: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.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 Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not 2021-01-19 12:48:40 -08: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 [clang] Do not crash when CXXRecordDecl has a non-CXXRecordDecl base. 2021-01-14 21:20:06 +01:00
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_explicit.cpp
temp_explicit_cxx0x.cpp
temp_func_order.cpp
template-class-traits.cpp
template-decl-fail.cpp PR46231: Promote diagnostic for 'template<...>;' from ExtWarn to Error. 2020-07-29 12:35:18 -07:00
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 Part of C++ DR 39: a class member lookup is not ambiguous if it finds the 2020-11-25 17:03:11 -08:00
typename-specifier.cpp
typo-dependent-name.cpp Revert "PR47805: Use a single object for a function parameter in the caller and" 2020-10-13 19:32:03 -07:00
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
typo-variadic.cpp [SemaTemplate] Fix uncorrected typos after pack expansion 2019-07-16 10:30:21 +00:00
undeclared-template.cpp PR45207: Fix crash if constrained-type-specifier annotation forms a 2020-03-17 13:18:23 -07:00
undefined-template.cpp Suppress undefined-template warnings when the pattern is declared in a system header. 2018-01-02 19:10:12 +00:00
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-bitfield-cond.cpp Fix type-dependency of bitfields in templates 2020-02-12 13:31:41 -08: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