llvm-project/clang/lib/Sema
Matheus Izvekov 3a0309c536
[clang] Improve diagnostics for expansion length mismatch
When checking parameter packs for expansion, instead of basing the diagnostic for
length mismatch for outer parameters only on the known number of expansions,
we should also analyze SubstTemplateTypeParmPackType and SubstNonTypeTemplateParmPackExpr
for unexpanded packs, so we can emit a diagnostic pointing to a concrete
outer parameter.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Differential Revision: https://reviews.llvm.org/D128095
2022-08-30 18:58:38 +02:00
..
AnalysisBasedWarnings.cpp Use the range-based overload of llvm::sort where possible 2022-07-23 15:13:25 +02:00
CMakeLists.txt [RISCV] Lazily add RVV C intrinsics. 2022-07-26 15:47:47 +08:00
CodeCompleteConsumer.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
CoroutineStmtBuilder.h
DeclSpec.cpp [clang] adds unary type transformations as compiler built-ins 2022-08-22 03:03:32 +00:00
DelayedDiagnostic.cpp
HLSLExternalSemaSource.cpp [HLSL] Add HLSLResource attribute 2022-07-28 20:54:51 -05:00
IdentifierResolver.cpp Reland "[Clang][Sema] Fix invalid redefinition error in if/switch/for statement" 2022-04-21 01:18:58 +08:00
JumpDiagnostics.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
MultiplexExternalSemaSource.cpp
OpenCLBuiltins.td [OpenCL] Fix atomic_fetch_add/sub half overloads 2022-06-17 09:53:45 +01:00
ParsedAttr.cpp [clang] Reject non-declaration C++11 attributes on declarations 2022-06-15 11:58:26 +02:00
Scope.cpp Use value instead of getValue (NFC) 2022-07-29 21:18:41 -07:00
ScopeInfo.cpp
Sema.cpp [C++20][Modules] Improve handing of Private Module Fragment diagnostics. 2022-08-21 10:19:46 +01:00
SemaAccess.cpp
SemaAttr.cpp [clang-cl] Handle some pragma alloc_text corner cases handled by MSVC 2022-06-29 06:45:59 -07:00
SemaAvailability.cpp [clang] Don't use Optional::getValue (NFC) 2022-06-20 22:59:26 -07:00
SemaCUDA.cpp [CUDA] remove duplicate condition 2022-07-22 11:27:19 -04:00
SemaCXXScopeSpec.cpp [C++20] [Module] Support reachable definition initially/partially 2022-06-29 12:48:48 +08:00
SemaCast.cpp [randstruct] Add randomize structure layout support 2022-04-09 13:15:36 -07:00
SemaChecking.cpp [clang] Fix -Warray-bound interaction with -fstrict-flex-arrays=1 2022-08-30 14:49:37 +02:00
SemaCodeComplete.cpp [clang] Apply FixIts to members declared via `using` in derived classes 2022-08-17 10:09:48 +02:00
SemaConcept.cpp Revert "Re-apply "Deferred Concept Instantiation Implementation""" 2022-08-19 12:47:34 -07:00
SemaConsumer.cpp
SemaCoroutine.cpp [NFC] [Coroutines] Add test for ambiguous allocation functions in 2022-06-06 14:23:35 +08:00
SemaDecl.cpp PotentiallyEvaluatedContext in a ImmediateFunctionContext. 2022-08-26 10:30:10 +02:00
SemaDeclAttr.cpp [HLSL] Support -E option for HLSL. 2022-08-04 16:54:19 -07:00
SemaDeclCXX.cpp [Clang] Implement P0848 (Conditionally Trivial Special Member Functions) 2022-08-26 00:52:52 +03:00
SemaDeclObjC.cpp Fixed a number of typos 2022-08-01 13:13:18 -04:00
SemaExceptionSpec.cpp [OpenMP] Initial parsing and semantic support for 'parallel masked taskloop simd' construct 2022-07-01 08:57:15 -07:00
SemaExpr.cpp PotentiallyEvaluatedContext in a ImmediateFunctionContext. 2022-08-26 10:30:10 +02:00
SemaExprCXX.cpp __has_trivial_copy should map to __is_trivially_copyable 2022-08-13 22:54:52 +03:00
SemaExprMember.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
SemaExprObjC.cpp [clang] Implement ElaboratedType sugaring for types written bare 2022-07-27 11:10:54 +02:00
SemaFixItUtils.cpp
SemaInit.cpp [clang] Improve diagnostics for uninitialized constexpr variables 2022-08-19 08:06:12 +02:00
SemaLambda.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
SemaLookup.cpp [C++20][Modules] Improve handing of Private Module Fragment diagnostics. 2022-08-21 10:19:46 +01:00
SemaModule.cpp [C++20][Modules] Improve handing of Private Module Fragment diagnostics. 2022-08-21 10:19:46 +01:00
SemaObjCProperty.cpp
SemaOpenMP.cpp [OpenMP][NFC] Use OMPInteropInfo in the OMPDeclareVariantAttr attribute 2022-08-22 10:41:16 -07:00
SemaOverload.cpp Revert "Re-apply "Deferred Concept Instantiation Implementation""" 2022-08-19 12:47:34 -07:00
SemaPseudoObject.cpp
SemaRISCVVectorLookup.cpp [RISCV][Clang] Support RVV policy functions. 2022-08-01 17:32:08 +00:00
SemaSYCL.cpp
SemaStmt.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
SemaStmtAsm.cpp [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC 2022-08-08 09:12:46 -07:00
SemaStmtAttr.cpp
SemaTemplate.cpp [Clang] Fix assert in Sema::LookupTemplateName so that it does not attempt an unconditional cast to TagType 2022-08-26 09:40:43 -07:00
SemaTemplateDeduction.cpp [clang] Improve diagnostics for expansion length mismatch 2022-08-30 18:58:38 +02:00
SemaTemplateInstantiate.cpp Revert "Clang: fix AST representation of expanded template arguments." 2022-08-26 13:09:55 +02:00
SemaTemplateInstantiateDecl.cpp [Clang] Implement P0848 (Conditionally Trivial Special Member Functions) 2022-08-26 00:52:52 +03:00
SemaTemplateVariadic.cpp [clang] Improve diagnostics for expansion length mismatch 2022-08-30 18:58:38 +02:00
SemaType.cpp [clang] Fix warning after D116203 2022-08-21 22:39:23 -07:00
TreeTransform.h Revert "Clang: fix AST representation of expanded template arguments." 2022-08-26 13:09:55 +02:00
TypeLocBuilder.cpp [clang] Implement ElaboratedType sugaring for types written bare 2022-07-27 11:10:54 +02:00
TypeLocBuilder.h [clang] Implement ElaboratedType sugaring for types written bare 2022-07-27 11:10:54 +02:00
UsedDeclVisitor.h