diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp')
| -rw-r--r-- | contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp b/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp index 699e0985e595..015b0abaf0e5 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -4737,6 +4737,7 @@ namespace {      QualType Replacement;      bool ReplacementIsPack;      bool UseTypeSugar; +    using inherited = TreeTransform<SubstituteDeducedTypeTransform>;    public:      SubstituteDeducedTypeTransform(Sema &SemaRef, DependentAuto DA) @@ -4797,6 +4798,16 @@ namespace {        // Lambdas never need to be transformed.        return E;      } +    bool TransformExceptionSpec(SourceLocation Loc, +                                FunctionProtoType::ExceptionSpecInfo &ESI, +                                SmallVectorImpl<QualType> &Exceptions, +                                bool &Changed) { +      if (ESI.Type == EST_Uninstantiated) { +        ESI.instantiate(); +        Changed = true; +      } +      return inherited::TransformExceptionSpec(Loc, ESI, Exceptions, Changed); +    }      QualType Apply(TypeLoc TL) {        // Create some scratch storage for the transformed type locations.  | 
