[PATCH] D65050: [SemaTemplate] Mark a function type as dependent when its parameter list contains pack expansion
S. B. Tam via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 30 13:46:26 PDT 2019
cpplearner added a comment.
In D65050#1606022 <https://reviews.llvm.org/D65050#1606022>, @aaron.ballman wrote:
> The noexcept specifier is part of the type these days, is that also handled properly?
I believe that it's properly handled in this section of `FunctionProtoType::FunctionProtoType`:
// If this is a canonical type, and its exception specification is dependent,
// then it's a dependent type. This only happens in C++17 onwards.
if (isCanonicalUnqualified()) {
if (getExceptionSpecType() == EST_Dynamic ||
getExceptionSpecType() == EST_DependentNoexcept) {
assert(hasDependentExceptionSpec() && "type should not be canonical");
setDependent();
}
} else if (getCanonicalTypeInternal()->isDependentType()) {
// Ask our canonical type whether our exception specification was dependent.
setDependent();
}
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65050/new/
https://reviews.llvm.org/D65050
More information about the cfe-commits
mailing list