Coverage Report

Created: 2022-01-25 06:29

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/lib/Sema/TreeTransform.h
Line
Count
Source (jump to first uncovered line)
1
//===------- TreeTransform.h - Semantic Tree Transformation -----*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//===----------------------------------------------------------------------===//
7
//
8
//  This file implements a semantic tree transformation that takes a given
9
//  AST and rebuilds it, possibly transforming some nodes in the process.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_LIB_SEMA_TREETRANSFORM_H
14
#define LLVM_CLANG_LIB_SEMA_TREETRANSFORM_H
15
16
#include "CoroutineStmtBuilder.h"
17
#include "TypeLocBuilder.h"
18
#include "clang/AST/Decl.h"
19
#include "clang/AST/DeclObjC.h"
20
#include "clang/AST/DeclTemplate.h"
21
#include "clang/AST/Expr.h"
22
#include "clang/AST/ExprConcepts.h"
23
#include "clang/AST/ExprCXX.h"
24
#include "clang/AST/ExprObjC.h"
25
#include "clang/AST/ExprOpenMP.h"
26
#include "clang/AST/OpenMPClause.h"
27
#include "clang/AST/Stmt.h"
28
#include "clang/AST/StmtCXX.h"
29
#include "clang/AST/StmtObjC.h"
30
#include "clang/AST/StmtOpenMP.h"
31
#include "clang/Basic/DiagnosticParse.h"
32
#include "clang/Basic/OpenMPKinds.h"
33
#include "clang/Sema/Designator.h"
34
#include "clang/Sema/Lookup.h"
35
#include "clang/Sema/Ownership.h"
36
#include "clang/Sema/ParsedTemplate.h"
37
#include "clang/Sema/ScopeInfo.h"
38
#include "clang/Sema/SemaDiagnostic.h"
39
#include "clang/Sema/SemaInternal.h"
40
#include "llvm/ADT/ArrayRef.h"
41
#include "llvm/Support/ErrorHandling.h"
42
#include <algorithm>
43
44
using namespace llvm::omp;
45
46
namespace clang {
47
using namespace sema;
48
49
/// A semantic tree transformation that allows one to transform one
50
/// abstract syntax tree into another.
51
///
52
/// A new tree transformation is defined by creating a new subclass \c X of
53
/// \c TreeTransform<X> and then overriding certain operations to provide
54
/// behavior specific to that transformation. For example, template
55
/// instantiation is implemented as a tree transformation where the
56
/// transformation of TemplateTypeParmType nodes involves substituting the
57
/// template arguments for their corresponding template parameters; a similar
58
/// transformation is performed for non-type template parameters and
59
/// template template parameters.
60
///
61
/// This tree-transformation template uses static polymorphism to allow
62
/// subclasses to customize any of its operations. Thus, a subclass can
63
/// override any of the transformation or rebuild operators by providing an
64
/// operation with the same signature as the default implementation. The
65
/// overriding function should not be virtual.
66
///
67
/// Semantic tree transformations are split into two stages, either of which
68
/// can be replaced by a subclass. The "transform" step transforms an AST node
69
/// or the parts of an AST node using the various transformation functions,
70
/// then passes the pieces on to the "rebuild" step, which constructs a new AST
71
/// node of the appropriate kind from the pieces. The default transformation
72
/// routines recursively transform the operands to composite AST nodes (e.g.,
73
/// the pointee type of a PointerType node) and, if any of those operand nodes
74
/// were changed by the transformation, invokes the rebuild operation to create
75
/// a new AST node.
76
///
77
/// Subclasses can customize the transformation at various levels. The
78
/// most coarse-grained transformations involve replacing TransformType(),
79
/// TransformExpr(), TransformDecl(), TransformNestedNameSpecifierLoc(),
80
/// TransformTemplateName(), or TransformTemplateArgument() with entirely
81
/// new implementations.
82
///
83
/// For more fine-grained transformations, subclasses can replace any of the
84
/// \c TransformXXX functions (where XXX is the name of an AST node, e.g.,
85
/// PointerType, StmtExpr) to alter the transformation. As mentioned previously,
86
/// replacing TransformTemplateTypeParmType() allows template instantiation
87
/// to substitute template arguments for their corresponding template
88
/// parameters. Additionally, subclasses can override the \c RebuildXXX
89
/// functions to control how AST nodes are rebuilt when their operands change.
90
/// By default, \c TreeTransform will invoke semantic analysis to rebuild
91
/// AST nodes. However, certain other tree transformations (e.g, cloning) may
92
/// be able to use more efficient rebuild steps.
93
///
94
/// There are a handful of other functions that can be overridden, allowing one
95
/// to avoid traversing nodes that don't need any transformation
96
/// (\c AlreadyTransformed()), force rebuilding AST nodes even when their
97
/// operands have not changed (\c AlwaysRebuild()), and customize the
98
/// default locations and entity names used for type-checking
99
/// (\c getBaseLocation(), \c getBaseEntity()).
100
template<typename Derived>
101
class TreeTransform {
102
  /// Private RAII object that helps us forget and then re-remember
103
  /// the template argument corresponding to a partially-substituted parameter
104
  /// pack.
105
  class ForgetPartiallySubstitutedPackRAII {
106
    Derived &Self;
107
    TemplateArgument Old;
108
109
  public:
110
4.39k
    ForgetPartiallySubstitutedPackRAII(Derived &Self) : Self(Self) {
111
4.39k
      Old = Self.ForgetPartiallySubstitutedPack();
112
4.39k
    }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII(RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove&)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::TransformToPE&)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::TransformTypos&)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII(clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::CaptureVars&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::TransformExprToCaptures&)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::ExtractTypeForDeductionGuide&)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::CurrentInstantiationRebuilder&)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::SubstituteDeducedTypeTransform&)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII((anonymous namespace)::TemplateInstantiator&)
Line
Count
Source
110
4.39k
    ForgetPartiallySubstitutedPackRAII(Derived &Self) : Self(Self) {
111
4.39k
      Old = Self.ForgetPartiallySubstitutedPack();
112
4.39k
    }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::ForgetPartiallySubstitutedPackRAII::ForgetPartiallySubstitutedPackRAII(clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder&)
113
114
4.39k
    ~ForgetPartiallySubstitutedPackRAII() {
115
4.39k
      Self.RememberPartiallySubstitutedPack(Old);
116
4.39k
    }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
Line
Count
Source
114
4.39k
    ~ForgetPartiallySubstitutedPackRAII() {
115
4.39k
      Self.RememberPartiallySubstitutedPack(Old);
116
4.39k
    }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::ForgetPartiallySubstitutedPackRAII::~ForgetPartiallySubstitutedPackRAII()
117
  };
118
119
protected:
120
  Sema &SemaRef;
121
122
  /// The set of local declarations that have been transformed, for
123
  /// cases where we are forced to build new declarations within the transformer
124
  /// rather than in the subclass (e.g., lambda closure types).
125
  llvm::DenseMap<Decl *, Decl *> TransformedLocalDecls;
126
127
public:
128
  /// Initializes a new tree transformer.
129
10.0M
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TreeTransform(clang::Sema&)
Line
Count
Source
129
189
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TreeTransform(clang::Sema&)
Line
Count
Source
129
129
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TreeTransform(clang::Sema&)
Line
Count
Source
129
3.11k
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TreeTransform(clang::Sema&)
Line
Count
Source
129
470
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TreeTransform(clang::Sema&)
Line
Count
Source
129
392
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TreeTransform(clang::Sema&)
Line
Count
Source
129
48
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TreeTransform(clang::Sema&)
Line
Count
Source
129
2.47k
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TreeTransform(clang::Sema&)
Line
Count
Source
129
284k
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TreeTransform(clang::Sema&)
Line
Count
Source
129
59.9k
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TreeTransform(clang::Sema&)
Line
Count
Source
129
9.66M
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TreeTransform(clang::Sema&)
Line
Count
Source
129
17
  TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { }
130
131
  /// Retrieves a reference to the derived class.
132
190M
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::getDerived()
Line
Count
Source
132
4.03k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::getDerived()
Line
Count
Source
132
4.17k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::getDerived()
Line
Count
Source
132
12.9k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::getDerived()
Line
Count
Source
132
3.63k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::getDerived()
Line
Count
Source
132
4.16k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::getDerived()
Line
Count
Source
132
1.28k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::getDerived()
Line
Count
Source
132
77.7k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::getDerived()
Line
Count
Source
132
11.2M
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::getDerived()
Line
Count
Source
132
235k
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::getDerived()
Line
Count
Source
132
178M
  Derived &getDerived() { return static_cast<Derived&>(*this); }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::getDerived()
Line
Count
Source
132
934
  Derived &getDerived() { return static_cast<Derived&>(*this); }
133
134
  /// Retrieves a reference to the derived class.
135
  const Derived &getDerived() const {
136
    return static_cast<const Derived&>(*this);
137
  }
138
139
4
  static inline ExprResult Owned(Expr *E) { return E; }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::Owned(clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::Owned(clang::Expr*)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::Owned(clang::Expr*)
Line
Count
Source
139
2
  static inline ExprResult Owned(Expr *E) { return E; }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::Owned(clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::Owned(clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::Owned(clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::Owned(clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::Owned(clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::Owned(clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::Owned(clang::Expr*)
Line
Count
Source
139
2
  static inline ExprResult Owned(Expr *E) { return E; }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::Owned(clang::Expr*)
140
182
  static inline StmtResult Owned(Stmt *S) { return S; }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::Owned(clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::Owned(clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::Owned(clang::Stmt*)
Line
Count
Source
140
182
  static inline StmtResult Owned(Stmt *S) { return S; }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::Owned(clang::Stmt*)
141
142
  /// Retrieves a reference to the semantic analysis object used for
143
  /// this tree transform.
144
24.9M
  Sema &getSema() const { return SemaRef; }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::getSema() const
Line
Count
Source
144
604
  Sema &getSema() const { return SemaRef; }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::getSema() const
Line
Count
Source
144
869
  Sema &getSema() const { return SemaRef; }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::getSema() const
Line
Count
Source
144
1.36k
  Sema &getSema() const { return SemaRef; }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::getSema() const
Line
Count
Source
144
754
  Sema &getSema() const { return SemaRef; }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::getSema() const
Line
Count
Source
144
1.99k
  Sema &getSema() const { return SemaRef; }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::getSema() const
Line
Count
Source
144
304
  Sema &getSema() const { return SemaRef; }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::getSema() const
Line
Count
Source
144
841
  Sema &getSema() const { return SemaRef; }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::getSema() const
Line
Count
Source
144
334k
  Sema &getSema() const { return SemaRef; }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::getSema() const
Line
Count
Source
144
11.4k
  Sema &getSema() const { return SemaRef; }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::getSema() const
Line
Count
Source
144
24.6M
  Sema &getSema() const { return SemaRef; }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::getSema() const
Line
Count
Source
144
17
  Sema &getSema() const { return SemaRef; }
145
146
  /// Whether the transformation should always rebuild AST nodes, even
147
  /// if none of the children have changed.
148
  ///
149
  /// Subclasses may override this function to specify when the transformation
150
  /// should rebuild all AST nodes.
151
  ///
152
  /// We must always rebuild all AST nodes when performing variadic template
153
  /// pack expansion, in order to avoid violating the AST invariant that each
154
  /// statement node appears at most once in its containing declaration.
155
12.9M
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::AlwaysRebuild()
Line
Count
Source
155
1.07k
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::AlwaysRebuild()
Line
Count
Source
155
440
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::AlwaysRebuild()
Line
Count
Source
155
176
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::AlwaysRebuild()
Line
Count
Source
155
3.99k
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::AlwaysRebuild()
Line
Count
Source
155
498k
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::AlwaysRebuild()
Line
Count
Source
155
9.39k
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::AlwaysRebuild()
Line
Count
Source
155
12.4M
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::AlwaysRebuild()
Line
Count
Source
155
56
  bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; }
156
157
  /// Whether the transformation is forming an expression or statement that
158
  /// replaces the original. In this case, we'll reuse mangling numbers from
159
  /// existing lambdas.
160
2.53k
  bool ReplacingOriginal() { return false; }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::ReplacingOriginal()
Line
Count
Source
160
1
  bool ReplacingOriginal() { return false; }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::ReplacingOriginal()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::ReplacingOriginal()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::ReplacingOriginal()
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::ReplacingOriginal()
Line
Count
Source
160
2.53k
  bool ReplacingOriginal() { return false; }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::ReplacingOriginal()
161
162
  /// Wether CXXConstructExpr can be skipped when they are implicit.
163
  /// They will be reconstructed when used if needed.
164
  /// This is useful when the user that cause rebuilding of the
165
  /// CXXConstructExpr is outside of the expression at which the TreeTransform
166
  /// started.
167
3.99k
  bool AllowSkippingCXXConstructExpr() { return true; }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::AllowSkippingCXXConstructExpr()
Line
Count
Source
167
2
  bool AllowSkippingCXXConstructExpr() { return true; }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::AllowSkippingCXXConstructExpr()
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::AllowSkippingCXXConstructExpr()
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::AllowSkippingCXXConstructExpr()
Line
Count
Source
167
3.99k
  bool AllowSkippingCXXConstructExpr() { return true; }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::AllowSkippingCXXConstructExpr()
168
169
  /// Returns the location of the entity being transformed, if that
170
  /// information was not available elsewhere in the AST.
171
  ///
172
  /// By default, returns no source-location information. Subclasses can
173
  /// provide an alternative implementation that provides better location
174
  /// information.
175
29.6k
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::getBaseLocation()
Line
Count
Source
175
210
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::getBaseLocation()
Line
Count
Source
175
73
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::getBaseLocation()
Line
Count
Source
175
184
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::getBaseLocation()
Line
Count
Source
175
43
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::getBaseLocation()
Line
Count
Source
175
1
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::getBaseLocation()
Line
Count
Source
175
16
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::getBaseLocation()
Line
Count
Source
175
5.42k
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::getBaseLocation()
Line
Count
Source
175
23.6k
  SourceLocation getBaseLocation() { return SourceLocation(); }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::getBaseLocation()
Line
Count
Source
175
85
  SourceLocation getBaseLocation() { return SourceLocation(); }
176
177
  /// Returns the name of the entity being transformed, if that
178
  /// information was not available elsewhere in the AST.
179
  ///
180
  /// By default, returns an empty name. Subclasses can provide an alternative
181
  /// implementation with a more precise name.
182
59.6k
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::getBaseEntity()
Line
Count
Source
182
270
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::getBaseEntity()
Line
Count
Source
182
209
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::getBaseEntity()
Line
Count
Source
182
308
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::getBaseEntity()
Line
Count
Source
182
63
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::getBaseEntity()
Line
Count
Source
182
2
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::getBaseEntity()
Line
Count
Source
182
32
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::getBaseEntity()
Line
Count
Source
182
11.6k
  DeclarationName getBaseEntity() { return DeclarationName(); }
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::getBaseEntity()
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::getBaseEntity()
Line
Count
Source
182
31.1k
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::getBaseEntity()
Line
Count
Source
182
15.7k
  DeclarationName getBaseEntity() { return DeclarationName(); }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::getBaseEntity()
Line
Count
Source
182
158
  DeclarationName getBaseEntity() { return DeclarationName(); }
183
184
  /// Sets the "base" location and entity when that
185
  /// information is known based on another transformation.
186
  ///
187
  /// By default, the source location and entity are ignored. Subclasses can
188
  /// override this function to provide a customized implementation.
189
23.8k
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
269
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
129
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
278
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
51
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
2
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
32
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
10.8k
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
12.1k
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::setBase(clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
189
68
  void setBase(SourceLocation Loc, DeclarationName Entity) { }
190
191
  /// RAII object that temporarily sets the base location and entity
192
  /// used for reporting diagnostics in types.
193
  class TemporaryBase {
194
    TreeTransform &Self;
195
    SourceLocation OldLocation;
196
    DeclarationName OldEntity;
197
198
  public:
199
    TemporaryBase(TreeTransform &Self, SourceLocation Location,
200
10.2M
                  DeclarationName Entity) : Self(Self) {
201
10.2M
      OldLocation = Self.getDerived().getBaseLocation();
202
10.2M
      OldEntity = Self.getDerived().getBaseEntity();
203
204
10.2M
      if (Location.isValid())
205
10.1M
        Self.getDerived().setBase(Location, Entity);
206
10.2M
    }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TemporaryBase::TemporaryBase(clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
160
                  DeclarationName Entity) : Self(Self) {
201
160
      OldLocation = Self.getDerived().getBaseLocation();
202
160
      OldEntity = Self.getDerived().getBaseEntity();
203
204
160
      if (Location.isValid())
205
109
        Self.getDerived().setBase(Location, Entity);
206
160
    }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::TransformToPE>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
65
                  DeclarationName Entity) : Self(Self) {
201
65
      OldLocation = Self.getDerived().getBaseLocation();
202
65
      OldEntity = Self.getDerived().getBaseEntity();
203
204
65
      if (Location.isValid())
205
64
        Self.getDerived().setBase(Location, Entity);
206
65
    }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::TransformTypos>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
154
                  DeclarationName Entity) : Self(Self) {
201
154
      OldLocation = Self.getDerived().getBaseLocation();
202
154
      OldEntity = Self.getDerived().getBaseEntity();
203
204
154
      if (Location.isValid())
205
124
        Self.getDerived().setBase(Location, Entity);
206
154
    }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TemporaryBase::TemporaryBase(clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
31
                  DeclarationName Entity) : Self(Self) {
201
31
      OldLocation = Self.getDerived().getBaseLocation();
202
31
      OldEntity = Self.getDerived().getBaseEntity();
203
204
31
      if (Location.isValid())
205
20
        Self.getDerived().setBase(Location, Entity);
206
31
    }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::CaptureVars>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
1
                  DeclarationName Entity) : Self(Self) {
201
1
      OldLocation = Self.getDerived().getBaseLocation();
202
1
      OldEntity = Self.getDerived().getBaseEntity();
203
204
1
      if (Location.isValid())
205
1
        Self.getDerived().setBase(Location, Entity);
206
1
    }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
16
                  DeclarationName Entity) : Self(Self) {
201
16
      OldLocation = Self.getDerived().getBaseLocation();
202
16
      OldEntity = Self.getDerived().getBaseEntity();
203
204
16
      if (Location.isValid())
205
16
        Self.getDerived().setBase(Location, Entity);
206
16
    }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
5.41k
                  DeclarationName Entity) : Self(Self) {
201
5.41k
      OldLocation = Self.getDerived().getBaseLocation();
202
5.41k
      OldEntity = Self.getDerived().getBaseEntity();
203
204
5.41k
      if (Location.isValid())
205
5.41k
        Self.getDerived().setBase(Location, Entity);
206
5.41k
    }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
761k
                  DeclarationName Entity) : Self(Self) {
201
761k
      OldLocation = Self.getDerived().getBaseLocation();
202
761k
      OldEntity = Self.getDerived().getBaseEntity();
203
204
761k
      if (Location.isValid())
205
761k
        Self.getDerived().setBase(Location, Entity);
206
761k
    }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
11.7k
                  DeclarationName Entity) : Self(Self) {
201
11.7k
      OldLocation = Self.getDerived().getBaseLocation();
202
11.7k
      OldEntity = Self.getDerived().getBaseEntity();
203
204
11.7k
      if (Location.isValid())
205
402
        Self.getDerived().setBase(Location, Entity);
206
11.7k
    }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TemporaryBase::TemporaryBase(clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
9.43M
                  DeclarationName Entity) : Self(Self) {
201
9.43M
      OldLocation = Self.getDerived().getBaseLocation();
202
9.43M
      OldEntity = Self.getDerived().getBaseEntity();
203
204
9.43M
      if (Location.isValid())
205
9.39M
        Self.getDerived().setBase(Location, Entity);
206
9.43M
    }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TemporaryBase::TemporaryBase(clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>&, clang::SourceLocation, clang::DeclarationName)
Line
Count
Source
200
51
                  DeclarationName Entity) : Self(Self) {
201
51
      OldLocation = Self.getDerived().getBaseLocation();
202
51
      OldEntity = Self.getDerived().getBaseEntity();
203
204
51
      if (Location.isValid())
205
17
        Self.getDerived().setBase(Location, Entity);
206
51
    }
207
208
10.2M
    ~TemporaryBase() {
209
10.2M
      Self.getDerived().setBase(OldLocation, OldEntity);
210
10.2M
    }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
160
    ~TemporaryBase() {
209
160
      Self.getDerived().setBase(OldLocation, OldEntity);
210
160
    }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
65
    ~TemporaryBase() {
209
65
      Self.getDerived().setBase(OldLocation, OldEntity);
210
65
    }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
154
    ~TemporaryBase() {
209
154
      Self.getDerived().setBase(OldLocation, OldEntity);
210
154
    }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
31
    ~TemporaryBase() {
209
31
      Self.getDerived().setBase(OldLocation, OldEntity);
210
31
    }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
1
    ~TemporaryBase() {
209
1
      Self.getDerived().setBase(OldLocation, OldEntity);
210
1
    }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
16
    ~TemporaryBase() {
209
16
      Self.getDerived().setBase(OldLocation, OldEntity);
210
16
    }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
5.41k
    ~TemporaryBase() {
209
5.41k
      Self.getDerived().setBase(OldLocation, OldEntity);
210
5.41k
    }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
761k
    ~TemporaryBase() {
209
761k
      Self.getDerived().setBase(OldLocation, OldEntity);
210
761k
    }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
11.7k
    ~TemporaryBase() {
209
11.7k
      Self.getDerived().setBase(OldLocation, OldEntity);
210
11.7k
    }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
9.43M
    ~TemporaryBase() {
209
9.43M
      Self.getDerived().setBase(OldLocation, OldEntity);
210
9.43M
    }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TemporaryBase::~TemporaryBase()
Line
Count
Source
208
51
    ~TemporaryBase() {
209
51
      Self.getDerived().setBase(OldLocation, OldEntity);
210
51
    }
211
  };
212
213
  /// Determine whether the given type \p T has already been
214
  /// transformed.
215
  ///
216
  /// Subclasses can provide an alternative implementation of this routine
217
  /// to short-circuit evaluation when it is known that a given type will
218
  /// not change. For example, template instantiation need not traverse
219
  /// non-dependent types.
220
29.8k
  bool AlreadyTransformed(QualType T) {
221
29.8k
    return T.isNull();
222
29.8k
  }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
160
  bool AlreadyTransformed(QualType T) {
221
160
    return T.isNull();
222
160
  }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
79
  bool AlreadyTransformed(QualType T) {
221
79
    return T.isNull();
222
79
  }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
258
  bool AlreadyTransformed(QualType T) {
221
258
    return T.isNull();
222
258
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
66
  bool AlreadyTransformed(QualType T) {
221
66
    return T.isNull();
222
66
  }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
1
  bool AlreadyTransformed(QualType T) {
221
1
    return T.isNull();
222
1
  }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
48
  bool AlreadyTransformed(QualType T) {
221
48
    return T.isNull();
222
48
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
6.36k
  bool AlreadyTransformed(QualType T) {
221
6.36k
    return T.isNull();
222
6.36k
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
22.8k
  bool AlreadyTransformed(QualType T) {
221
22.8k
    return T.isNull();
222
22.8k
  }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::AlreadyTransformed(clang::QualType)
Line
Count
Source
220
68
  bool AlreadyTransformed(QualType T) {
221
68
    return T.isNull();
222
68
  }
223
224
  /// Transform a template parameter depth level.
225
  ///
226
  /// During a transformation that transforms template parameters, this maps
227
  /// an old template parameter depth to a new depth.
228
1
  unsigned TransformTemplateDepth(unsigned Depth) {
229
1
    return Depth;
230
1
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformTemplateDepth(unsigned int)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformTemplateDepth(unsigned int)
Line
Count
Source
228
1
  unsigned TransformTemplateDepth(unsigned Depth) {
229
1
    return Depth;
230
1
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformTemplateDepth(unsigned int)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformTemplateDepth(unsigned int)
231
232
  /// Determine whether the given call argument should be dropped, e.g.,
233
  /// because it is a default argument.
234
  ///
235
  /// Subclasses can provide an alternative implementation of this routine to
236
  /// determine which kinds of call arguments get dropped. By default,
237
  /// CXXDefaultArgument nodes are dropped (prior to transformation).
238
435k
  bool DropCallArgument(Expr *E) {
239
435k
    return E->isDefaultArgument();
240
435k
  }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
168
  bool DropCallArgument(Expr *E) {
239
168
    return E->isDefaultArgument();
240
168
  }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
38
  bool DropCallArgument(Expr *E) {
239
38
    return E->isDefaultArgument();
240
38
  }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
339
  bool DropCallArgument(Expr *E) {
239
339
    return E->isDefaultArgument();
240
339
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
139
  bool DropCallArgument(Expr *E) {
239
139
    return E->isDefaultArgument();
240
139
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::DropCallArgument(clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::DropCallArgument(clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::DropCallArgument(clang::Expr*)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
5
  bool DropCallArgument(Expr *E) {
239
5
    return E->isDefaultArgument();
240
5
  }
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::DropCallArgument(clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::DropCallArgument(clang::Expr*)
Line
Count
Source
238
434k
  bool DropCallArgument(Expr *E) {
239
434k
    return E->isDefaultArgument();
240
434k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::DropCallArgument(clang::Expr*)
241
242
  /// Determine whether we should expand a pack expansion with the
243
  /// given set of parameter packs into separate arguments by repeatedly
244
  /// transforming the pattern.
245
  ///
246
  /// By default, the transformer never tries to expand pack expansions.
247
  /// Subclasses can override this routine to provide different behavior.
248
  ///
249
  /// \param EllipsisLoc The location of the ellipsis that identifies the
250
  /// pack expansion.
251
  ///
252
  /// \param PatternRange The source range that covers the entire pattern of
253
  /// the pack expansion.
254
  ///
255
  /// \param Unexpanded The set of unexpanded parameter packs within the
256
  /// pattern.
257
  ///
258
  /// \param ShouldExpand Will be set to \c true if the transformer should
259
  /// expand the corresponding pack expansions into separate arguments. When
260
  /// set, \c NumExpansions must also be set.
261
  ///
262
  /// \param RetainExpansion Whether the caller should add an unexpanded
263
  /// pack expansion after all of the expanded arguments. This is used
264
  /// when extending explicitly-specified template argument packs per
265
  /// C++0x [temp.arg.explicit]p9.
266
  ///
267
  /// \param NumExpansions The number of separate arguments that will be in
268
  /// the expanded form of the corresponding pack expansion. This is both an
269
  /// input and an output parameter, which can be set by the caller if the
270
  /// number of expansions is known a priori (e.g., due to a prior substitution)
271
  /// and will be set by the callee when the number of expansions is known.
272
  /// The callee must set this value when \c ShouldExpand is \c true; it may
273
  /// set this value in other cases.
274
  ///
275
  /// \returns true if an error occurred (e.g., because the parameter packs
276
  /// are to be instantiated with arguments of different lengths), false
277
  /// otherwise. If false, \c ShouldExpand (and possibly \c NumExpansions)
278
  /// must be set.
279
  bool TryExpandParameterPacks(SourceLocation EllipsisLoc,
280
                               SourceRange PatternRange,
281
                               ArrayRef<UnexpandedParameterPack> Unexpanded,
282
                               bool &ShouldExpand,
283
                               bool &RetainExpansion,
284
56.0k
                               Optional<unsigned> &NumExpansions) {
285
56.0k
    ShouldExpand = false;
286
56.0k
    return false;
287
56.0k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Line
Count
Source
284
15
                               Optional<unsigned> &NumExpansions) {
285
15
    ShouldExpand = false;
286
15
    return false;
287
15
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Line
Count
Source
284
88
                               Optional<unsigned> &NumExpansions) {
285
88
    ShouldExpand = false;
286
88
    return false;
287
88
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Line
Count
Source
284
55.9k
                               Optional<unsigned> &NumExpansions) {
285
55.9k
    ShouldExpand = false;
286
55.9k
    return false;
287
55.9k
  }
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TryExpandParameterPacks(clang::SourceLocation, clang::SourceRange, llvm::ArrayRef<std::__1::pair<llvm::PointerUnion<clang::TemplateTypeParmType const*, clang::NamedDecl*>, clang::SourceLocation> >, bool&, bool&, llvm::Optional<unsigned int>&)
288
289
  /// "Forget" about the partially-substituted pack template argument,
290
  /// when performing an instantiation that must preserve the parameter pack
291
  /// use.
292
  ///
293
  /// This routine is meant to be overridden by the template instantiator.
294
0
  TemplateArgument ForgetPartiallySubstitutedPack() {
295
0
    return TemplateArgument();
296
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::ForgetPartiallySubstitutedPack()
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::ForgetPartiallySubstitutedPack()
297
298
  /// "Remember" the partially-substituted pack template argument
299
  /// after performing an instantiation that must preserve the parameter pack
300
  /// use.
301
  ///
302
  /// This routine is meant to be overridden by the template instantiator.
303
0
  void RememberPartiallySubstitutedPack(TemplateArgument Arg) { }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RememberPartiallySubstitutedPack(clang::TemplateArgument)
304
305
  /// Note to the derived class when a function parameter pack is
306
  /// being expanded.
307
0
  void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::ExpandingFunctionParameterPack(clang::ParmVarDecl*)
308
309
  /// Transforms the given type into another type.
310
  ///
311
  /// By default, this routine transforms a type by creating a
312
  /// TypeSourceInfo for it and delegating to the appropriate
313
  /// function.  This is expensive, but we don't mind, because
314
  /// this method is deprecated anyway;  all users should be
315
  /// switched to storing TypeSourceInfos.
316
  ///
317
  /// \returns the transformed type.
318
  QualType TransformType(QualType T);
319
320
  /// Transforms the given type-with-location into a new
321
  /// type-with-location.
322
  ///
323
  /// By default, this routine transforms a type by delegating to the
324
  /// appropriate TransformXXXType to build a new type.  Subclasses
325
  /// may override this function (to take over all type
326
  /// transformations) or some set of the TransformXXXType functions
327
  /// to alter the transformation.
328
  TypeSourceInfo *TransformType(TypeSourceInfo *DI);
329
330
  /// Transform the given type-with-location into a new
331
  /// type, collecting location information in the given builder
332
  /// as necessary.
333
  ///
334
  QualType TransformType(TypeLocBuilder &TLB, TypeLoc TL);
335
336
  /// Transform a type that is permitted to produce a
337
  /// DeducedTemplateSpecializationType.
338
  ///
339
  /// This is used in the (relatively rare) contexts where it is acceptable
340
  /// for transformation to produce a class template type with deduced
341
  /// template arguments.
342
  /// @{
343
  QualType TransformTypeWithDeducedTST(QualType T);
344
  TypeSourceInfo *TransformTypeWithDeducedTST(TypeSourceInfo *DI);
345
  /// @}
346
347
  /// The reason why the value of a statement is not discarded, if any.
348
  enum StmtDiscardKind {
349
    SDK_Discarded,
350
    SDK_NotDiscarded,
351
    SDK_StmtExprResult,
352
  };
353
354
  /// Transform the given statement.
355
  ///
356
  /// By default, this routine transforms a statement by delegating to the
357
  /// appropriate TransformXXXStmt function to transform a specific kind of
358
  /// statement or the TransformExpr() function to transform an expression.
359
  /// Subclasses may override this function to transform statements using some
360
  /// other mechanism.
361
  ///
362
  /// \returns the transformed statement.
363
  StmtResult TransformStmt(Stmt *S, StmtDiscardKind SDK = SDK_Discarded);
364
365
  /// Transform the given statement.
366
  ///
367
  /// By default, this routine transforms a statement by delegating to the
368
  /// appropriate TransformOMPXXXClause function to transform a specific kind
369
  /// of clause. Subclasses may override this function to transform statements
370
  /// using some other mechanism.
371
  ///
372
  /// \returns the transformed OpenMP clause.
373
  OMPClause *TransformOMPClause(OMPClause *S);
374
375
  /// Transform the given attribute.
376
  ///
377
  /// By default, this routine transforms a statement by delegating to the
378
  /// appropriate TransformXXXAttr function to transform a specific kind
379
  /// of attribute. Subclasses may override this function to transform
380
  /// attributed statements using some other mechanism.
381
  ///
382
  /// \returns the transformed attribute
383
  const Attr *TransformAttr(const Attr *S);
384
385
/// Transform the specified attribute.
386
///
387
/// Subclasses should override the transformation of attributes with a pragma
388
/// spelling to transform expressions stored within the attribute.
389
///
390
/// \returns the transformed attribute.
391
#define ATTR(X)
392
#define PRAGMA_SPELLING_ATTR(X)                                                \
393
0
  const X##Attr *Transform##X##Attr(const X##Attr *R) { return R; }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformInitSegAttr(clang::InitSegAttr const*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformLoopHintAttr(clang::LoopHintAttr const*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformOMPDeclareSimdDeclAttr(clang::OMPDeclareSimdDeclAttr const*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformOMPDeclareTargetDeclAttr(clang::OMPDeclareTargetDeclAttr const*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformOMPDeclareVariantAttr(clang::OMPDeclareVariantAttr const*)
394
#include "clang/Basic/AttrList.inc"
395
396
  /// Transform the given expression.
397
  ///
398
  /// By default, this routine transforms an expression by delegating to the
399
  /// appropriate TransformXXXExpr function to build a new expression.
400
  /// Subclasses may override this function to transform expressions using some
401
  /// other mechanism.
402
  ///
403
  /// \returns the transformed expression.
404
  ExprResult TransformExpr(Expr *E);
405
406
  /// Transform the given initializer.
407
  ///
408
  /// By default, this routine transforms an initializer by stripping off the
409
  /// semantic nodes added by initialization, then passing the result to
410
  /// TransformExpr or TransformExprs.
411
  ///
412
  /// \returns the transformed initializer.
413
  ExprResult TransformInitializer(Expr *Init, bool NotCopyInit);
414
415
  /// Transform the given list of expressions.
416
  ///
417
  /// This routine transforms a list of expressions by invoking
418
  /// \c TransformExpr() for each subexpression. However, it also provides
419
  /// support for variadic templates by expanding any pack expansions (if the
420
  /// derived class permits such expansion) along the way. When pack expansions
421
  /// are present, the number of outputs may not equal the number of inputs.
422
  ///
423
  /// \param Inputs The set of expressions to be transformed.
424
  ///
425
  /// \param NumInputs The number of expressions in \c Inputs.
426
  ///
427
  /// \param IsCall If \c true, then this transform is being performed on
428
  /// function-call arguments, and any arguments that should be dropped, will
429
  /// be.
430
  ///
431
  /// \param Outputs The transformed input expressions will be added to this
432
  /// vector.
433
  ///
434
  /// \param ArgChanged If non-NULL, will be set \c true if any argument changed
435
  /// due to transformation.
436
  ///
437
  /// \returns true if an error occurred, false otherwise.
438
  bool TransformExprs(Expr *const *Inputs, unsigned NumInputs, bool IsCall,
439
                      SmallVectorImpl<Expr *> &Outputs,
440
                      bool *ArgChanged = nullptr);
441
442
  /// Transform the given declaration, which is referenced from a type
443
  /// or expression.
444
  ///
445
  /// By default, acts as the identity function on declarations, unless the
446
  /// transformer has had to transform the declaration itself. Subclasses
447
  /// may override this function to provide alternate behavior.
448
416k
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
416k
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
416k
      = TransformedLocalDecls.find(D);
451
416k
    if (Known != TransformedLocalDecls.end())
452
1
      return Known->second;
453
454
416k
    return D;
455
416k
  }
SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
231
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
231
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
231
      = TransformedLocalDecls.find(D);
451
231
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
231
    return D;
455
231
  }
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
289
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
289
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
289
      = TransformedLocalDecls.find(D);
451
289
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
289
    return D;
455
289
  }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
687
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
687
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
687
      = TransformedLocalDecls.find(D);
451
687
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
687
    return D;
455
687
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
230
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
230
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
230
      = TransformedLocalDecls.find(D);
451
230
    if (Known != TransformedLocalDecls.end())
452
1
      return Known->second;
453
454
229
    return D;
455
230
  }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
264
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
264
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
264
      = TransformedLocalDecls.find(D);
451
264
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
264
    return D;
455
264
  }
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
96
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
96
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
96
      = TransformedLocalDecls.find(D);
451
96
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
96
    return D;
455
96
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
2.44k
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
2.44k
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
2.44k
      = TransformedLocalDecls.find(D);
451
2.44k
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
2.44k
    return D;
455
2.44k
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
411k
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
411k
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
411k
      = TransformedLocalDecls.find(D);
451
411k
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
411k
    return D;
455
411k
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
693
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
693
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
693
      = TransformedLocalDecls.find(D);
451
693
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
693
    return D;
455
693
  }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformDecl(clang::SourceLocation, clang::Decl*)
Line
Count
Source
448
39
  Decl *TransformDecl(SourceLocation Loc, Decl *D) {
449
39
    llvm::DenseMap<Decl *, Decl *>::iterator Known
450
39
      = TransformedLocalDecls.find(D);
451
39
    if (Known != TransformedLocalDecls.end())
452
0
      return Known->second;
453
454
39
    return D;
455
39
  }
456
457
  /// Transform the specified condition.
458
  ///
459
  /// By default, this transforms the variable and expression and rebuilds
460
  /// the condition.
461
  Sema::ConditionResult TransformCondition(SourceLocation Loc, VarDecl *Var,
462
                                           Expr *Expr,
463
                                           Sema::ConditionKind Kind);
464
465
  /// Transform the attributes associated with the given declaration and
466
  /// place them on the new declaration.
467
  ///
468
  /// By default, this operation does nothing. Subclasses may override this
469
  /// behavior to transform attributes.
470
8
  void transformAttrs(Decl *Old, Decl *New) { }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::transformAttrs(clang::Decl*, clang::Decl*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::transformAttrs(clang::Decl*, clang::Decl*)
Line
Count
Source
470
7
  void transformAttrs(Decl *Old, Decl *New) { }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::transformAttrs(clang::Decl*, clang::Decl*)
Line
Count
Source
470
1
  void transformAttrs(Decl *Old, Decl *New) { }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::transformAttrs(clang::Decl*, clang::Decl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::transformAttrs(clang::Decl*, clang::Decl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::transformAttrs(clang::Decl*, clang::Decl*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::transformAttrs(clang::Decl*, clang::Decl*)
471
472
  /// Note that a local declaration has been transformed by this
473
  /// transformer.
474
  ///
475
  /// Local declarations are typically transformed via a call to
476
  /// TransformDefinition. However, in some cases (e.g., lambda expressions),
477
  /// the transformer itself has to transform the declarations. This routine
478
  /// can be overridden by a subclass that keeps track of such mappings.
479
14.3k
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
14.3k
    assert(New.size() == 1 &&
481
14.3k
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
14.3k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
15
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
15
    assert(New.size() == 1 &&
481
15
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
15
  }
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
2
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
2
    assert(New.size() == 1 &&
481
2
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
2
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
4
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
4
    assert(New.size() == 1 &&
481
4
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
4
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
2
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
2
    assert(New.size() == 1 &&
481
2
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
2
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
14.2k
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
14.2k
    assert(New.size() == 1 &&
481
14.2k
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
14.2k
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
Line
Count
Source
479
79
  void transformedLocalDecl(Decl *Old, ArrayRef<Decl *> New) {
480
79
    assert(New.size() == 1 &&
481
79
           "must override transformedLocalDecl if performing pack expansion");
482
0
    TransformedLocalDecls[Old] = New.front();
483
79
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::transformedLocalDecl(clang::Decl*, llvm::ArrayRef<clang::Decl*>)
484
485
  /// Transform the definition of the given declaration.
486
  ///
487
  /// By default, invokes TransformDecl() to transform the declaration.
488
  /// Subclasses may override this function to provide alternate behavior.
489
0
  Decl *TransformDefinition(SourceLocation Loc, Decl *D) {
490
0
    return getDerived().TransformDecl(Loc, D);
491
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformDefinition(clang::SourceLocation, clang::Decl*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformDefinition(clang::SourceLocation, clang::Decl*)
492
493
  /// Transform the given declaration, which was the first part of a
494
  /// nested-name-specifier in a member access expression.
495
  ///
496
  /// This specific declaration transformation only applies to the first
497
  /// identifier in a nested-name-specifier of a member access expression, e.g.,
498
  /// the \c T in \c x->T::member
499
  ///
500
  /// By default, invokes TransformDecl() to transform the declaration.
501
  /// Subclasses may override this function to provide alternate behavior.
502
212
  NamedDecl *TransformFirstQualifierInScope(NamedDecl *D, SourceLocation Loc) {
503
212
    return cast_or_null<NamedDecl>(getDerived().TransformDecl(Loc, D));
504
212
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Line
Count
Source
502
170
  NamedDecl *TransformFirstQualifierInScope(NamedDecl *D, SourceLocation Loc) {
503
170
    return cast_or_null<NamedDecl>(getDerived().TransformDecl(Loc, D));
504
170
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Line
Count
Source
502
42
  NamedDecl *TransformFirstQualifierInScope(NamedDecl *D, SourceLocation Loc) {
503
42
    return cast_or_null<NamedDecl>(getDerived().TransformDecl(Loc, D));
504
42
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformFirstQualifierInScope(clang::NamedDecl*, clang::SourceLocation)
505
506
  /// Transform the set of declarations in an OverloadExpr.
507
  bool TransformOverloadExprDecls(OverloadExpr *Old, bool RequiresADL,
508
                                  LookupResult &R);
509
510
  /// Transform the given nested-name-specifier with source-location
511
  /// information.
512
  ///
513
  /// By default, transforms all of the types and declarations within the
514
  /// nested-name-specifier. Subclasses may override this function to provide
515
  /// alternate behavior.
516
  NestedNameSpecifierLoc
517
  TransformNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS,
518
                                  QualType ObjectType = QualType(),
519
                                  NamedDecl *FirstQualifierInScope = nullptr);
520
521
  /// Transform the given declaration name.
522
  ///
523
  /// By default, transforms the types of conversion function, constructor,
524
  /// and destructor names and then (if needed) rebuilds the declaration name.
525
  /// Identifiers and selectors are returned unmodified. Subclasses may
526
  /// override this function to provide alternate behavior.
527
  DeclarationNameInfo
528
  TransformDeclarationNameInfo(const DeclarationNameInfo &NameInfo);
529
530
  bool TransformRequiresExprRequirements(ArrayRef<concepts::Requirement *> Reqs,
531
      llvm::SmallVectorImpl<concepts::Requirement *> &Transformed);
532
  concepts::TypeRequirement *
533
  TransformTypeRequirement(concepts::TypeRequirement *Req);
534
  concepts::ExprRequirement *
535
  TransformExprRequirement(concepts::ExprRequirement *Req);
536
  concepts::NestedRequirement *
537
  TransformNestedRequirement(concepts::NestedRequirement *Req);
538
539
  /// Transform the given template name.
540
  ///
541
  /// \param SS The nested-name-specifier that qualifies the template
542
  /// name. This nested-name-specifier must already have been transformed.
543
  ///
544
  /// \param Name The template name to transform.
545
  ///
546
  /// \param NameLoc The source location of the template name.
547
  ///
548
  /// \param ObjectType If we're translating a template name within a member
549
  /// access expression, this is the type of the object whose member template
550
  /// is being referenced.
551
  ///
552
  /// \param FirstQualifierInScope If the first part of a nested-name-specifier
553
  /// also refers to a name within the current (lexical) scope, this is the
554
  /// declaration it refers to.
555
  ///
556
  /// By default, transforms the template name by transforming the declarations
557
  /// and nested-name-specifiers that occur within the template name.
558
  /// Subclasses may override this function to provide alternate behavior.
559
  TemplateName
560
  TransformTemplateName(CXXScopeSpec &SS, TemplateName Name,
561
                        SourceLocation NameLoc,
562
                        QualType ObjectType = QualType(),
563
                        NamedDecl *FirstQualifierInScope = nullptr,
564
                        bool AllowInjectedClassName = false);
565
566
  /// Transform the given template argument.
567
  ///
568
  /// By default, this operation transforms the type, expression, or
569
  /// declaration stored within the template argument and constructs a
570
  /// new template argument from the transformed result. Subclasses may
571
  /// override this function to provide alternate behavior.
572
  ///
573
  /// Returns true if there was an error.
574
  bool TransformTemplateArgument(const TemplateArgumentLoc &Input,
575
                                 TemplateArgumentLoc &Output,
576
                                 bool Uneval = false);
577
578
  /// Transform the given set of template arguments.
579
  ///
580
  /// By default, this operation transforms all of the template arguments
581
  /// in the input set using \c TransformTemplateArgument(), and appends
582
  /// the transformed arguments to the output list.
583
  ///
584
  /// Note that this overload of \c TransformTemplateArguments() is merely
585
  /// a convenience function. Subclasses that wish to override this behavior
586
  /// should override the iterator-based member template version.
587
  ///
588
  /// \param Inputs The set of template arguments to be transformed.
589
  ///
590
  /// \param NumInputs The number of template arguments in \p Inputs.
591
  ///
592
  /// \param Outputs The set of transformed template arguments output by this
593
  /// routine.
594
  ///
595
  /// Returns true if an error occurred.
596
  bool TransformTemplateArguments(const TemplateArgumentLoc *Inputs,
597
                                  unsigned NumInputs,
598
                                  TemplateArgumentListInfo &Outputs,
599
197k
                                  bool Uneval = false) {
600
197k
    return TransformTemplateArguments(Inputs, Inputs + NumInputs, Outputs,
601
197k
                                      Uneval);
602
197k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
599
24
                                  bool Uneval = false) {
600
24
    return TransformTemplateArguments(Inputs, Inputs + NumInputs, Outputs,
601
24
                                      Uneval);
602
24
  }
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
599
2
                                  bool Uneval = false) {
600
2
    return TransformTemplateArguments(Inputs, Inputs + NumInputs, Outputs,
601
2
                                      Uneval);
602
2
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
599
4.90k
                                  bool Uneval = false) {
600
4.90k
    return TransformTemplateArguments(Inputs, Inputs + NumInputs, Outputs,
601
4.90k
                                      Uneval);
602
4.90k
  }
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
599
192k
                                  bool Uneval = false) {
600
192k
    return TransformTemplateArguments(Inputs, Inputs + NumInputs, Outputs,
601
192k
                                      Uneval);
602
192k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformTemplateArguments(clang::TemplateArgumentLoc const*, unsigned int, clang::TemplateArgumentListInfo&, bool)
603
604
  /// Transform the given set of template arguments.
605
  ///
606
  /// By default, this operation transforms all of the template arguments
607
  /// in the input set using \c TransformTemplateArgument(), and appends
608
  /// the transformed arguments to the output list.
609
  ///
610
  /// \param First An iterator to the first template argument.
611
  ///
612
  /// \param Last An iterator one step past the last template argument.
613
  ///
614
  /// \param Outputs The set of transformed template arguments output by this
615
  /// routine.
616
  ///
617
  /// Returns true if an error occurred.
618
  template<typename InputIterator>
619
  bool TransformTemplateArguments(InputIterator First,
620
                                  InputIterator Last,
621
                                  TemplateArgumentListInfo &Outputs,
622
                                  bool Uneval = false);
623
624
  /// Fakes up a TemplateArgumentLoc for a given TemplateArgument.
625
  void InventTemplateArgumentLoc(const TemplateArgument &Arg,
626
                                 TemplateArgumentLoc &ArgLoc);
627
628
  /// Fakes up a TypeSourceInfo for a type.
629
0
  TypeSourceInfo *InventTypeSourceInfo(QualType T) {
630
0
    return SemaRef.Context.getTrivialTypeSourceInfo(T,
631
0
                       getDerived().getBaseLocation());
632
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::InventTypeSourceInfo(clang::QualType)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::InventTypeSourceInfo(clang::QualType)
633
634
#define ABSTRACT_TYPELOC(CLASS, PARENT)
635
#define TYPELOC(CLASS, PARENT)                                   \
636
  QualType Transform##CLASS##Type(TypeLocBuilder &TLB, CLASS##TypeLoc T);
637
#include "clang/AST/TypeLocNodes.def"
638
639
  template<typename Fn>
640
  QualType TransformFunctionProtoType(TypeLocBuilder &TLB,
641
                                      FunctionProtoTypeLoc TL,
642
                                      CXXRecordDecl *ThisContext,
643
                                      Qualifiers ThisTypeQuals,
644
                                      Fn TransformExceptionSpec);
645
646
  bool TransformExceptionSpec(SourceLocation Loc,
647
                              FunctionProtoType::ExceptionSpecInfo &ESI,
648
                              SmallVectorImpl<QualType> &Exceptions,
649
                              bool &Changed);
650
651
  StmtResult TransformSEHHandler(Stmt *Handler);
652
653
  QualType
654
  TransformTemplateSpecializationType(TypeLocBuilder &TLB,
655
                                      TemplateSpecializationTypeLoc TL,
656
                                      TemplateName Template);
657
658
  QualType
659
  TransformDependentTemplateSpecializationType(TypeLocBuilder &TLB,
660
                                      DependentTemplateSpecializationTypeLoc TL,
661
                                               TemplateName Template,
662
                                               CXXScopeSpec &SS);
663
664
  QualType TransformDependentTemplateSpecializationType(
665
      TypeLocBuilder &TLB, DependentTemplateSpecializationTypeLoc TL,
666
      NestedNameSpecifierLoc QualifierLoc);
667
668
  /// Transforms the parameters of a function type into the
669
  /// given vectors.
670
  ///
671
  /// The result vectors should be kept in sync; null entries in the
672
  /// variables vector are acceptable.
673
  ///
674
  /// Return true on error.
675
  bool TransformFunctionTypeParams(
676
      SourceLocation Loc, ArrayRef<ParmVarDecl *> Params,
677
      const QualType *ParamTypes,
678
      const FunctionProtoType::ExtParameterInfo *ParamInfos,
679
      SmallVectorImpl<QualType> &PTypes, SmallVectorImpl<ParmVarDecl *> *PVars,
680
      Sema::ExtParameterInfoBuilder &PInfos);
681
682
  /// Transforms a single function-type parameter.  Return null
683
  /// on error.
684
  ///
685
  /// \param indexAdjustment - A number to add to the parameter's
686
  ///   scope index;  can be negative
687
  ParmVarDecl *TransformFunctionTypeParam(ParmVarDecl *OldParm,
688
                                          int indexAdjustment,
689
                                          Optional<unsigned> NumExpansions,
690
                                          bool ExpectParameterPack);
691
692
  /// Transform the body of a lambda-expression.
693
  StmtResult TransformLambdaBody(LambdaExpr *E, Stmt *Body);
694
  /// Alternative implementation of TransformLambdaBody that skips transforming
695
  /// the body.
696
  StmtResult SkipLambdaBody(LambdaExpr *E, Stmt *Body);
697
698
  QualType TransformReferenceType(TypeLocBuilder &TLB, ReferenceTypeLoc TL);
699
700
  StmtResult TransformCompoundStmt(CompoundStmt *S, bool IsStmtExpr);
701
  ExprResult TransformCXXNamedCastExpr(CXXNamedCastExpr *E);
702
703
  TemplateParameterList *TransformTemplateParameterList(
704
8
        TemplateParameterList *TPL) {
705
8
    return TPL;
706
8
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::TransformTemplateParameterList(clang::TemplateParameterList*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::TransformTemplateParameterList(clang::TemplateParameterList*)
Line
Count
Source
704
7
        TemplateParameterList *TPL) {
705
7
    return TPL;
706
7
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::TransformTemplateParameterList(clang::TemplateParameterList*)
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::TransformTemplateParameterList(clang::TemplateParameterList*)
Line
Count
Source
704
1
        TemplateParameterList *TPL) {
705
1
    return TPL;
706
1
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::TransformTemplateParameterList(clang::TemplateParameterList*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::TransformTemplateParameterList(clang::TemplateParameterList*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::TransformTemplateParameterList(clang::TemplateParameterList*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::TransformTemplateParameterList(clang::TemplateParameterList*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::TransformTemplateParameterList(clang::TemplateParameterList*)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::TransformTemplateParameterList(clang::TemplateParameterList*)
707
708
  ExprResult TransformAddressOfOperand(Expr *E);
709
710
  ExprResult TransformDependentScopeDeclRefExpr(DependentScopeDeclRefExpr *E,
711
                                                bool IsAddressOfOperand,
712
                                                TypeSourceInfo **RecoveryTSI);
713
714
  ExprResult TransformParenDependentScopeDeclRefExpr(
715
      ParenExpr *PE, DependentScopeDeclRefExpr *DRE, bool IsAddressOfOperand,
716
      TypeSourceInfo **RecoveryTSI);
717
718
  StmtResult TransformOMPExecutableDirective(OMPExecutableDirective *S);
719
720
// FIXME: We use LLVM_ATTRIBUTE_NOINLINE because inlining causes a ridiculous
721
// amount of stack usage with clang.
722
#define STMT(Node, Parent)                        \
723
  LLVM_ATTRIBUTE_NOINLINE \
724
  StmtResult Transform##Node(Node *S);
725
#define VALUESTMT(Node, Parent)                   \
726
  LLVM_ATTRIBUTE_NOINLINE \
727
  StmtResult Transform##Node(Node *S, StmtDiscardKind SDK);
728
#define EXPR(Node, Parent)                        \
729
  LLVM_ATTRIBUTE_NOINLINE \
730
  ExprResult Transform##Node(Node *E);
731
#define ABSTRACT_STMT(Stmt)
732
#include "clang/AST/StmtNodes.inc"
733
734
#define GEN_CLANG_CLAUSE_CLASS
735
#define CLAUSE_CLASS(Enum, Str, Class)                                         \
736
  LLVM_ATTRIBUTE_NOINLINE                                                      \
737
  OMPClause *Transform##Class(Class *S);
738
#include "llvm/Frontend/OpenMP/OMP.inc"
739
740
  /// Build a new qualified type given its unqualified type and type location.
741
  ///
742
  /// By default, this routine adds type qualifiers only to types that can
743
  /// have qualifiers, and silently suppresses those qualifiers that are not
744
  /// permitted. Subclasses may override this routine to provide different
745
  /// behavior.
746
  QualType RebuildQualifiedType(QualType T, QualifiedTypeLoc TL);
747
748
  /// Build a new pointer type given its pointee type.
749
  ///
750
  /// By default, performs semantic analysis when building the pointer type.
751
  /// Subclasses may override this routine to provide different behavior.
752
  QualType RebuildPointerType(QualType PointeeType, SourceLocation Sigil);
753
754
  /// Build a new block pointer type given its pointee type.
755
  ///
756
  /// By default, performs semantic analysis when building the block pointer
757
  /// type. Subclasses may override this routine to provide different behavior.
758
  QualType RebuildBlockPointerType(QualType PointeeType, SourceLocation Sigil);
759
760
  /// Build a new reference type given the type it references.
761
  ///
762
  /// By default, performs semantic analysis when building the
763
  /// reference type. Subclasses may override this routine to provide
764
  /// different behavior.
765
  ///
766
  /// \param LValue whether the type was written with an lvalue sigil
767
  /// or an rvalue sigil.
768
  QualType RebuildReferenceType(QualType ReferentType,
769
                                bool LValue,
770
                                SourceLocation Sigil);
771
772
  /// Build a new member pointer type given the pointee type and the
773
  /// class type it refers into.
774
  ///
775
  /// By default, performs semantic analysis when building the member pointer
776
  /// type. Subclasses may override this routine to provide different behavior.
777
  QualType RebuildMemberPointerType(QualType PointeeType, QualType ClassType,
778
                                    SourceLocation Sigil);
779
780
  QualType RebuildObjCTypeParamType(const ObjCTypeParamDecl *Decl,
781
                                    SourceLocation ProtocolLAngleLoc,
782
                                    ArrayRef<ObjCProtocolDecl *> Protocols,
783
                                    ArrayRef<SourceLocation> ProtocolLocs,
784
                                    SourceLocation ProtocolRAngleLoc);
785
786
  /// Build an Objective-C object type.
787
  ///
788
  /// By default, performs semantic analysis when building the object type.
789
  /// Subclasses may override this routine to provide different behavior.
790
  QualType RebuildObjCObjectType(QualType BaseType,
791
                                 SourceLocation Loc,
792
                                 SourceLocation TypeArgsLAngleLoc,
793
                                 ArrayRef<TypeSourceInfo *> TypeArgs,
794
                                 SourceLocation TypeArgsRAngleLoc,
795
                                 SourceLocation ProtocolLAngleLoc,
796
                                 ArrayRef<ObjCProtocolDecl *> Protocols,
797
                                 ArrayRef<SourceLocation> ProtocolLocs,
798
                                 SourceLocation ProtocolRAngleLoc);
799
800
  /// Build a new Objective-C object pointer type given the pointee type.
801
  ///
802
  /// By default, directly builds the pointer type, with no additional semantic
803
  /// analysis.
804
  QualType RebuildObjCObjectPointerType(QualType PointeeType,
805
                                        SourceLocation Star);
806
807
  /// Build a new array type given the element type, size
808
  /// modifier, size of the array (if known), size expression, and index type
809
  /// qualifiers.
810
  ///
811
  /// By default, performs semantic analysis when building the array type.
812
  /// Subclasses may override this routine to provide different behavior.
813
  /// Also by default, all of the other Rebuild*Array
814
  QualType RebuildArrayType(QualType ElementType,
815
                            ArrayType::ArraySizeModifier SizeMod,
816
                            const llvm::APInt *Size,
817
                            Expr *SizeExpr,
818
                            unsigned IndexTypeQuals,
819
                            SourceRange BracketsRange);
820
821
  /// Build a new constant array type given the element type, size
822
  /// modifier, (known) size of the array, and index type qualifiers.
823
  ///
824
  /// By default, performs semantic analysis when building the array type.
825
  /// Subclasses may override this routine to provide different behavior.
826
  QualType RebuildConstantArrayType(QualType ElementType,
827
                                    ArrayType::ArraySizeModifier SizeMod,
828
                                    const llvm::APInt &Size,
829
                                    Expr *SizeExpr,
830
                                    unsigned IndexTypeQuals,
831
                                    SourceRange BracketsRange);
832
833
  /// Build a new incomplete array type given the element type, size
834
  /// modifier, and index type qualifiers.
835
  ///
836
  /// By default, performs semantic analysis when building the array type.
837
  /// Subclasses may override this routine to provide different behavior.
838
  QualType RebuildIncompleteArrayType(QualType ElementType,
839
                                      ArrayType::ArraySizeModifier SizeMod,
840
                                      unsigned IndexTypeQuals,
841
                                      SourceRange BracketsRange);
842
843
  /// Build a new variable-length array type given the element type,
844
  /// size modifier, size expression, and index type qualifiers.
845
  ///
846
  /// By default, performs semantic analysis when building the array type.
847
  /// Subclasses may override this routine to provide different behavior.
848
  QualType RebuildVariableArrayType(QualType ElementType,
849
                                    ArrayType::ArraySizeModifier SizeMod,
850
                                    Expr *SizeExpr,
851
                                    unsigned IndexTypeQuals,
852
                                    SourceRange BracketsRange);
853
854
  /// Build a new dependent-sized array type given the element type,
855
  /// size modifier, size expression, and index type qualifiers.
856
  ///
857
  /// By default, performs semantic analysis when building the array type.
858
  /// Subclasses may override this routine to provide different behavior.
859
  QualType RebuildDependentSizedArrayType(QualType ElementType,
860
                                          ArrayType::ArraySizeModifier SizeMod,
861
                                          Expr *SizeExpr,
862
                                          unsigned IndexTypeQuals,
863
                                          SourceRange BracketsRange);
864
865
  /// Build a new vector type given the element type and
866
  /// number of elements.
867
  ///
868
  /// By default, performs semantic analysis when building the vector type.
869
  /// Subclasses may override this routine to provide different behavior.
870
  QualType RebuildVectorType(QualType ElementType, unsigned NumElements,
871
                             VectorType::VectorKind VecKind);
872
873
  /// Build a new potentially dependently-sized extended vector type
874
  /// given the element type and number of elements.
875
  ///
876
  /// By default, performs semantic analysis when building the vector type.
877
  /// Subclasses may override this routine to provide different behavior.
878
  QualType RebuildDependentVectorType(QualType ElementType, Expr *SizeExpr,
879
                                           SourceLocation AttributeLoc,
880
                                           VectorType::VectorKind);
881
882
  /// Build a new extended vector type given the element type and
883
  /// number of elements.
884
  ///
885
  /// By default, performs semantic analysis when building the vector type.
886
  /// Subclasses may override this routine to provide different behavior.
887
  QualType RebuildExtVectorType(QualType ElementType, unsigned NumElements,
888
                                SourceLocation AttributeLoc);
889
890
  /// Build a new potentially dependently-sized extended vector type
891
  /// given the element type and number of elements.
892
  ///
893
  /// By default, performs semantic analysis when building the vector type.
894
  /// Subclasses may override this routine to provide different behavior.
895
  QualType RebuildDependentSizedExtVectorType(QualType ElementType,
896
                                              Expr *SizeExpr,
897
                                              SourceLocation AttributeLoc);
898
899
  /// Build a new matrix type given the element type and dimensions.
900
  QualType RebuildConstantMatrixType(QualType ElementType, unsigned NumRows,
901
                                     unsigned NumColumns);
902
903
  /// Build a new matrix type given the type and dependently-defined
904
  /// dimensions.
905
  QualType RebuildDependentSizedMatrixType(QualType ElementType, Expr *RowExpr,
906
                                           Expr *ColumnExpr,
907
                                           SourceLocation AttributeLoc);
908
909
  /// Build a new DependentAddressSpaceType or return the pointee
910
  /// type variable with the correct address space (retrieved from
911
  /// AddrSpaceExpr) applied to it. The former will be returned in cases
912
  /// where the address space remains dependent.
913
  ///
914
  /// By default, performs semantic analysis when building the type with address
915
  /// space applied. Subclasses may override this routine to provide different
916
  /// behavior.
917
  QualType RebuildDependentAddressSpaceType(QualType PointeeType,
918
                                            Expr *AddrSpaceExpr,
919
                                            SourceLocation AttributeLoc);
920
921
  /// Build a new function type.
922
  ///
923
  /// By default, performs semantic analysis when building the function type.
924
  /// Subclasses may override this routine to provide different behavior.
925
  QualType RebuildFunctionProtoType(QualType T,
926
                                    MutableArrayRef<QualType> ParamTypes,
927
                                    const FunctionProtoType::ExtProtoInfo &EPI);
928
929
  /// Build a new unprototyped function type.
930
  QualType RebuildFunctionNoProtoType(QualType ResultType);
931
932
  /// Rebuild an unresolved typename type, given the decl that
933
  /// the UnresolvedUsingTypenameDecl was transformed to.
934
  QualType RebuildUnresolvedUsingType(SourceLocation NameLoc, Decl *D);
935
936
  /// Build a new type found via an alias.
937
0
  QualType RebuildUsingType(UsingShadowDecl *Found, QualType Underlying) {
938
0
    return SemaRef.Context.getUsingType(Found, Underlying);
939
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildUsingType(clang::UsingShadowDecl*, clang::QualType)
940
941
  /// Build a new typedef type.
942
1.11M
  QualType RebuildTypedefType(TypedefNameDecl *Typedef) {
943
1.11M
    return SemaRef.Context.getTypeDeclType(Typedef);
944
1.11M
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildTypedefType(clang::TypedefNameDecl*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildTypedefType(clang::TypedefNameDecl*)
Line
Count
Source
942
9
  QualType RebuildTypedefType(TypedefNameDecl *Typedef) {
943
9
    return SemaRef.Context.getTypeDeclType(Typedef);
944
9
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildTypedefType(clang::TypedefNameDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildTypedefType(clang::TypedefNameDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildTypedefType(clang::TypedefNameDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildTypedefType(clang::TypedefNameDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildTypedefType(clang::TypedefNameDecl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildTypedefType(clang::TypedefNameDecl*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildTypedefType(clang::TypedefNameDecl*)
Line
Count
Source
942
1.11M
  QualType RebuildTypedefType(TypedefNameDecl *Typedef) {
943
1.11M
    return SemaRef.Context.getTypeDeclType(Typedef);
944
1.11M
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildTypedefType(clang::TypedefNameDecl*)
945
946
  /// Build a new MacroDefined type.
947
  QualType RebuildMacroQualifiedType(QualType T,
948
23
                                     const IdentifierInfo *MacroII) {
949
23
    return SemaRef.Context.getMacroQualifiedType(T, MacroII);
950
23
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Line
Count
Source
948
8
                                     const IdentifierInfo *MacroII) {
949
8
    return SemaRef.Context.getMacroQualifiedType(T, MacroII);
950
8
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
Line
Count
Source
948
15
                                     const IdentifierInfo *MacroII) {
949
15
    return SemaRef.Context.getMacroQualifiedType(T, MacroII);
950
15
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildMacroQualifiedType(clang::QualType, clang::IdentifierInfo const*)
951
952
  /// Build a new class/struct/union type.
953
31.5k
  QualType RebuildRecordType(RecordDecl *Record) {
954
31.5k
    return SemaRef.Context.getTypeDeclType(Record);
955
31.5k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildRecordType(clang::RecordDecl*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildRecordType(clang::RecordDecl*)
Line
Count
Source
953
32
  QualType RebuildRecordType(RecordDecl *Record) {
954
32
    return SemaRef.Context.getTypeDeclType(Record);
955
32
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildRecordType(clang::RecordDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildRecordType(clang::RecordDecl*)
SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildRecordType(clang::RecordDecl*)
Line
Count
Source
953
1
  QualType RebuildRecordType(RecordDecl *Record) {
954
1
    return SemaRef.Context.getTypeDeclType(Record);
955
1
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildRecordType(clang::RecordDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildRecordType(clang::RecordDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildRecordType(clang::RecordDecl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildRecordType(clang::RecordDecl*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildRecordType(clang::RecordDecl*)
Line
Count
Source
953
31.4k
  QualType RebuildRecordType(RecordDecl *Record) {
954
31.4k
    return SemaRef.Context.getTypeDeclType(Record);
955
31.4k
  }
SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildRecordType(clang::RecordDecl*)
Line
Count
Source
953
39
  QualType RebuildRecordType(RecordDecl *Record) {
954
39
    return SemaRef.Context.getTypeDeclType(Record);
955
39
  }
956
957
  /// Build a new Enum type.
958
103
  QualType RebuildEnumType(EnumDecl *Enum) {
959
103
    return SemaRef.Context.getTypeDeclType(Enum);
960
103
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildEnumType(clang::EnumDecl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildEnumType(clang::EnumDecl*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildEnumType(clang::EnumDecl*)
Line
Count
Source
958
103
  QualType RebuildEnumType(EnumDecl *Enum) {
959
103
    return SemaRef.Context.getTypeDeclType(Enum);
960
103
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildEnumType(clang::EnumDecl*)
961
962
  /// Build a new typeof(expr) type.
963
  ///
964
  /// By default, performs semantic analysis when building the typeof type.
965
  /// Subclasses may override this routine to provide different behavior.
966
  QualType RebuildTypeOfExprType(Expr *Underlying, SourceLocation Loc);
967
968
  /// Build a new typeof(type) type.
969
  ///
970
  /// By default, builds a new TypeOfType with the given underlying type.
971
  QualType RebuildTypeOfType(QualType Underlying);
972
973
  /// Build a new unary transform type.
974
  QualType RebuildUnaryTransformType(QualType BaseType,
975
                                     UnaryTransformType::UTTKind UKind,
976
                                     SourceLocation Loc);
977
978
  /// Build a new C++11 decltype type.
979
  ///
980
  /// By default, performs semantic analysis when building the decltype type.
981
  /// Subclasses may override this routine to provide different behavior.
982
  QualType RebuildDecltypeType(Expr *Underlying, SourceLocation Loc);
983
984
  /// Build a new C++11 auto type.
985
  ///
986
  /// By default, builds a new AutoType with the given deduced type.
987
  QualType RebuildAutoType(QualType Deduced, AutoTypeKeyword Keyword,
988
                           ConceptDecl *TypeConstraintConcept,
989
2.79k
                           ArrayRef<TemplateArgument> TypeConstraintArgs) {
990
    // Note, IsDependent is always false here: we implicitly convert an 'auto'
991
    // which has been deduced to a dependent type into an undeduced 'auto', so
992
    // that we'll retry deduction after the transformation.
993
2.79k
    return SemaRef.Context.getAutoType(Deduced, Keyword,
994
2.79k
                                       /*IsDependent*/ false, /*IsPack=*/false,
995
2.79k
                                       TypeConstraintConcept,
996
2.79k
                                       TypeConstraintArgs);
997
2.79k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Line
Count
Source
989
9
                           ArrayRef<TemplateArgument> TypeConstraintArgs) {
990
    // Note, IsDependent is always false here: we implicitly convert an 'auto'
991
    // which has been deduced to a dependent type into an undeduced 'auto', so
992
    // that we'll retry deduction after the transformation.
993
9
    return SemaRef.Context.getAutoType(Deduced, Keyword,
994
9
                                       /*IsDependent*/ false, /*IsPack=*/false,
995
9
                                       TypeConstraintConcept,
996
9
                                       TypeConstraintArgs);
997
9
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
Line
Count
Source
989
2.78k
                           ArrayRef<TemplateArgument> TypeConstraintArgs) {
990
    // Note, IsDependent is always false here: we implicitly convert an 'auto'
991
    // which has been deduced to a dependent type into an undeduced 'auto', so
992
    // that we'll retry deduction after the transformation.
993
2.78k
    return SemaRef.Context.getAutoType(Deduced, Keyword,
994
2.78k
                                       /*IsDependent*/ false, /*IsPack=*/false,
995
2.78k
                                       TypeConstraintConcept,
996
2.78k
                                       TypeConstraintArgs);
997
2.78k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildAutoType(clang::QualType, clang::AutoTypeKeyword, clang::ConceptDecl*, llvm::ArrayRef<clang::TemplateArgument>)
998
999
  /// By default, builds a new DeducedTemplateSpecializationType with the given
1000
  /// deduced type.
1001
  QualType RebuildDeducedTemplateSpecializationType(TemplateName Template,
1002
70
      QualType Deduced) {
1003
70
    return SemaRef.Context.getDeducedTemplateSpecializationType(
1004
70
        Template, Deduced, /*IsDependent*/ false);
1005
70
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
Line
Count
Source
1002
70
      QualType Deduced) {
1003
70
    return SemaRef.Context.getDeducedTemplateSpecializationType(
1004
70
        Template, Deduced, /*IsDependent*/ false);
1005
70
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDeducedTemplateSpecializationType(clang::TemplateName, clang::QualType)
1006
1007
  /// Build a new template specialization type.
1008
  ///
1009
  /// By default, performs semantic analysis when building the template
1010
  /// specialization type. Subclasses may override this routine to provide
1011
  /// different behavior.
1012
  QualType RebuildTemplateSpecializationType(TemplateName Template,
1013
                                             SourceLocation TemplateLoc,
1014
                                             TemplateArgumentListInfo &Args);
1015
1016
  /// Build a new parenthesized type.
1017
  ///
1018
  /// By default, builds a new ParenType type from the inner type.
1019
  /// Subclasses may override this routine to provide different behavior.
1020
5.38k
  QualType RebuildParenType(QualType InnerType) {
1021
5.38k
    return SemaRef.BuildParenType(InnerType);
1022
5.38k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildParenType(clang::QualType)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildParenType(clang::QualType)
Line
Count
Source
1020
16
  QualType RebuildParenType(QualType InnerType) {
1021
16
    return SemaRef.BuildParenType(InnerType);
1022
16
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildParenType(clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildParenType(clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildParenType(clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildParenType(clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildParenType(clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildParenType(clang::QualType)
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildParenType(clang::QualType)
Line
Count
Source
1020
204
  QualType RebuildParenType(QualType InnerType) {
1021
204
    return SemaRef.BuildParenType(InnerType);
1022
204
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildParenType(clang::QualType)
Line
Count
Source
1020
5.16k
  QualType RebuildParenType(QualType InnerType) {
1021
5.16k
    return SemaRef.BuildParenType(InnerType);
1022
5.16k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildParenType(clang::QualType)
1023
1024
  /// Build a new qualified name type.
1025
  ///
1026
  /// By default, builds a new ElaboratedType type from the keyword,
1027
  /// the nested-name-specifier and the named type.
1028
  /// Subclasses may override this routine to provide different behavior.
1029
  QualType RebuildElaboratedType(SourceLocation KeywordLoc,
1030
                                 ElaboratedTypeKeyword Keyword,
1031
                                 NestedNameSpecifierLoc QualifierLoc,
1032
25.0k
                                 QualType Named) {
1033
25.0k
    return SemaRef.Context.getElaboratedType(Keyword,
1034
25.0k
                                         QualifierLoc.getNestedNameSpecifier(),
1035
25.0k
                                             Named);
1036
25.0k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Line
Count
Source
1032
10
                                 QualType Named) {
1033
10
    return SemaRef.Context.getElaboratedType(Keyword,
1034
10
                                         QualifierLoc.getNestedNameSpecifier(),
1035
10
                                             Named);
1036
10
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Line
Count
Source
1032
9
                                 QualType Named) {
1033
9
    return SemaRef.Context.getElaboratedType(Keyword,
1034
9
                                         QualifierLoc.getNestedNameSpecifier(),
1035
9
                                             Named);
1036
9
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Line
Count
Source
1032
6
                                 QualType Named) {
1033
6
    return SemaRef.Context.getElaboratedType(Keyword,
1034
6
                                         QualifierLoc.getNestedNameSpecifier(),
1035
6
                                             Named);
1036
6
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Line
Count
Source
1032
34
                                 QualType Named) {
1033
34
    return SemaRef.Context.getElaboratedType(Keyword,
1034
34
                                         QualifierLoc.getNestedNameSpecifier(),
1035
34
                                             Named);
1036
34
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
Line
Count
Source
1032
24.9k
                                 QualType Named) {
1033
24.9k
    return SemaRef.Context.getElaboratedType(Keyword,
1034
24.9k
                                         QualifierLoc.getNestedNameSpecifier(),
1035
24.9k
                                             Named);
1036
24.9k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildElaboratedType(clang::SourceLocation, clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::QualType)
1037
1038
  /// Build a new typename type that refers to a template-id.
1039
  ///
1040
  /// By default, builds a new DependentNameType type from the
1041
  /// nested-name-specifier and the given type. Subclasses may override
1042
  /// this routine to provide different behavior.
1043
  QualType RebuildDependentTemplateSpecializationType(
1044
                                          ElaboratedTypeKeyword Keyword,
1045
                                          NestedNameSpecifierLoc QualifierLoc,
1046
                                          SourceLocation TemplateKWLoc,
1047
                                          const IdentifierInfo *Name,
1048
                                          SourceLocation NameLoc,
1049
                                          TemplateArgumentListInfo &Args,
1050
33.7k
                                          bool AllowInjectedClassName) {
1051
    // Rebuild the template name.
1052
    // TODO: avoid TemplateName abstraction
1053
33.7k
    CXXScopeSpec SS;
1054
33.7k
    SS.Adopt(QualifierLoc);
1055
33.7k
    TemplateName InstName = getDerived().RebuildTemplateName(
1056
33.7k
        SS, TemplateKWLoc, *Name, NameLoc, QualType(), nullptr,
1057
33.7k
        AllowInjectedClassName);
1058
1059
33.7k
    if (InstName.isNull())
1060
18
      return QualType();
1061
1062
    // If it's still dependent, make a dependent specialization.
1063
33.7k
    if (InstName.getAsDependentTemplateName())
1064
20.5k
      return SemaRef.Context.getDependentTemplateSpecializationType(Keyword,
1065
20.5k
                                          QualifierLoc.getNestedNameSpecifier(),
1066
20.5k
                                                                    Name,
1067
20.5k
                                                                    Args);
1068
1069
    // Otherwise, make an elaborated type wrapping a non-dependent
1070
    // specialization.
1071
13.1k
    QualType T =
1072
13.1k
    getDerived().RebuildTemplateSpecializationType(InstName, NameLoc, Args);
1073
13.1k
    if (T.isNull()) 
return QualType()13
;
1074
1075
13.1k
    if (Keyword == ETK_None && 
QualifierLoc.getNestedNameSpecifier() == nullptr10
)
1076
0
      return T;
1077
1078
13.1k
    return SemaRef.Context.getElaboratedType(Keyword,
1079
13.1k
                                       QualifierLoc.getNestedNameSpecifier(),
1080
13.1k
                                             T);
1081
13.1k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
1050
12
                                          bool AllowInjectedClassName) {
1051
    // Rebuild the template name.
1052
    // TODO: avoid TemplateName abstraction
1053
12
    CXXScopeSpec SS;
1054
12
    SS.Adopt(QualifierLoc);
1055
12
    TemplateName InstName = getDerived().RebuildTemplateName(
1056
12
        SS, TemplateKWLoc, *Name, NameLoc, QualType(), nullptr,
1057
12
        AllowInjectedClassName);
1058
1059
12
    if (InstName.isNull())
1060
0
      return QualType();
1061
1062
    // If it's still dependent, make a dependent specialization.
1063
12
    if (InstName.getAsDependentTemplateName())
1064
4
      return SemaRef.Context.getDependentTemplateSpecializationType(Keyword,
1065
4
                                          QualifierLoc.getNestedNameSpecifier(),
1066
4
                                                                    Name,
1067
4
                                                                    Args);
1068
1069
    // Otherwise, make an elaborated type wrapping a non-dependent
1070
    // specialization.
1071
8
    QualType T =
1072
8
    getDerived().RebuildTemplateSpecializationType(InstName, NameLoc, Args);
1073
8
    if (T.isNull()) 
return QualType()0
;
1074
1075
8
    if (Keyword == ETK_None && 
QualifierLoc.getNestedNameSpecifier() == nullptr0
)
1076
0
      return T;
1077
1078
8
    return SemaRef.Context.getElaboratedType(Keyword,
1079
8
                                       QualifierLoc.getNestedNameSpecifier(),
1080
8
                                             T);
1081
8
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
1050
1
                                          bool AllowInjectedClassName) {
1051
    // Rebuild the template name.
1052
    // TODO: avoid TemplateName abstraction
1053
1
    CXXScopeSpec SS;
1054
1
    SS.Adopt(QualifierLoc);
1055
1
    TemplateName InstName = getDerived().RebuildTemplateName(
1056
1
        SS, TemplateKWLoc, *Name, NameLoc, QualType(), nullptr,
1057
1
        AllowInjectedClassName);
1058
1059
1
    if (InstName.isNull())
1060
0
      return QualType();
1061
1062
    // If it's still dependent, make a dependent specialization.
1063
1
    if (InstName.getAsDependentTemplateName())
1064
1
      return SemaRef.Context.getDependentTemplateSpecializationType(Keyword,
1065
1
                                          QualifierLoc.getNestedNameSpecifier(),
1066
1
                                                                    Name,
1067
1
                                                                    Args);
1068
1069
    // Otherwise, make an elaborated type wrapping a non-dependent
1070
    // specialization.
1071
0
    QualType T =
1072
0
    getDerived().RebuildTemplateSpecializationType(InstName, NameLoc, Args);
1073
0
    if (T.isNull()) return QualType();
1074
1075
0
    if (Keyword == ETK_None && QualifierLoc.getNestedNameSpecifier() == nullptr)
1076
0
      return T;
1077
1078
0
    return SemaRef.Context.getElaboratedType(Keyword,
1079
0
                                       QualifierLoc.getNestedNameSpecifier(),
1080
0
                                             T);
1081
0
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
Line
Count
Source
1050
33.7k
                                          bool AllowInjectedClassName) {
1051
    // Rebuild the template name.
1052
    // TODO: avoid TemplateName abstraction
1053
33.7k
    CXXScopeSpec SS;
1054
33.7k
    SS.Adopt(QualifierLoc);
1055
33.7k
    TemplateName InstName = getDerived().RebuildTemplateName(
1056
33.7k
        SS, TemplateKWLoc, *Name, NameLoc, QualType(), nullptr,
1057
33.7k
        AllowInjectedClassName);
1058
1059
33.7k
    if (InstName.isNull())
1060
18
      return QualType();
1061
1062
    // If it's still dependent, make a dependent specialization.
1063
33.7k
    if (InstName.getAsDependentTemplateName())
1064
20.5k
      return SemaRef.Context.getDependentTemplateSpecializationType(Keyword,
1065
20.5k
                                          QualifierLoc.getNestedNameSpecifier(),
1066
20.5k
                                                                    Name,
1067
20.5k
                                                                    Args);
1068
1069
    // Otherwise, make an elaborated type wrapping a non-dependent
1070
    // specialization.
1071
13.1k
    QualType T =
1072
13.1k
    getDerived().RebuildTemplateSpecializationType(InstName, NameLoc, Args);
1073
13.1k
    if (T.isNull()) 
return QualType()13
;
1074
1075
13.1k
    if (Keyword == ETK_None && 
QualifierLoc.getNestedNameSpecifier() == nullptr10
)
1076
0
      return T;
1077
1078
13.1k
    return SemaRef.Context.getElaboratedType(Keyword,
1079
13.1k
                                       QualifierLoc.getNestedNameSpecifier(),
1080
13.1k
                                             T);
1081
13.1k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword, clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::IdentifierInfo const*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool)
1082
1083
  /// Build a new typename type that refers to an identifier.
1084
  ///
1085
  /// By default, performs semantic analysis when building the typename type
1086
  /// (or elaborated type). Subclasses may override this routine to provide
1087
  /// different behavior.
1088
  QualType RebuildDependentNameType(ElaboratedTypeKeyword Keyword,
1089
                                    SourceLocation KeywordLoc,
1090
                                    NestedNameSpecifierLoc QualifierLoc,
1091
                                    const IdentifierInfo *Id,
1092
                                    SourceLocation IdLoc,
1093
1.34M
                                    bool DeducedTSTContext) {
1094
1.34M
    CXXScopeSpec SS;
1095
1.34M
    SS.Adopt(QualifierLoc);
1096
1097
1.34M
    if (QualifierLoc.getNestedNameSpecifier()->isDependent()) {
1098
      // If the name is still dependent, just build a new dependent name type.
1099
524k
      if (!SemaRef.computeDeclContext(SS))
1100
496k
        return SemaRef.Context.getDependentNameType(Keyword,
1101
496k
                                          QualifierLoc.getNestedNameSpecifier(),
1102
496k
                                                    Id);
1103
524k
    }
1104
1105
852k
    if (Keyword == ETK_None || 
Keyword == ETK_Typename850k
) {
1106
852k
      return SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
1107
852k
                                       *Id, IdLoc, DeducedTSTContext);
1108
852k
    }
1109
1110
47
    TagTypeKind Kind = TypeWithKeyword::getTagTypeKindForKeyword(Keyword);
1111
1112
    // We had a dependent elaborated-type-specifier that has been transformed
1113
    // into a non-dependent elaborated-type-specifier. Find the tag we're
1114
    // referring to.
1115
47
    LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1116
47
    DeclContext *DC = SemaRef.computeDeclContext(SS, false);
1117
47
    if (!DC)
1118
0
      return QualType();
1119
1120
47
    if (SemaRef.RequireCompleteDeclContext(SS, DC))
1121
2
      return QualType();
1122
1123
45
    TagDecl *Tag = nullptr;
1124
45
    SemaRef.LookupQualifiedName(Result, DC);
1125
45
    switch (Result.getResultKind()) {
1126
4
      case LookupResult::NotFound:
1127
4
      case LookupResult::NotFoundInCurrentInstantiation:
1128
4
        break;
1129
1130
41
      case LookupResult::Found:
1131
41
        Tag = Result.getAsSingle<TagDecl>();
1132
41
        break;
1133
1134
0
      case LookupResult::FoundOverloaded:
1135
0
      case LookupResult::FoundUnresolvedValue:
1136
0
        llvm_unreachable("Tag lookup cannot find non-tags");
1137
1138
0
      case LookupResult::Ambiguous:
1139
        // Let the LookupResult structure handle ambiguities.
1140
0
        return QualType();
1141
45
    }
1142
1143
45
    if (!Tag) {
1144
      // Check where the name exists but isn't a tag type and use that to emit
1145
      // better diagnostics.
1146
10
      LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1147
10
      SemaRef.LookupQualifiedName(Result, DC);
1148
10
      switch (Result.getResultKind()) {
1149
6
        case LookupResult::Found:
1150
6
        case LookupResult::FoundOverloaded:
1151
6
        case LookupResult::FoundUnresolvedValue: {
1152
6
          NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1153
6
          Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1154
6
          SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag) << SomeDecl
1155
6
                                                               << NTK << Kind;
1156
6
          SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
1157
6
          break;
1158
6
        }
1159
4
        default:
1160
4
          SemaRef.Diag(IdLoc, diag::err_not_tag_in_scope)
1161
4
              << Kind << Id << DC << QualifierLoc.getSourceRange();
1162
4
          break;
1163
10
      }
1164
10
      return QualType();
1165
10
    }
1166
1167
35
    if (!SemaRef.isAcceptableTagRedeclaration(Tag, Kind, /*isDefinition*/false,
1168
35
                                              IdLoc, Id)) {
1169
4
      SemaRef.Diag(KeywordLoc, diag::err_use_with_wrong_tag) << Id;
1170
4
      SemaRef.Diag(Tag->getLocation(), diag::note_previous_use);
1171
4
      return QualType();
1172
4
    }
1173
1174
    // Build the elaborated-type-specifier type.
1175
31
    QualType T = SemaRef.Context.getTypeDeclType(Tag);
1176
31
    return SemaRef.Context.getElaboratedType(Keyword,
1177
31
                                         QualifierLoc.getNestedNameSpecifier(),
1178
31
                                             T);
1179
35
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Line
Count
Source
1093
339
                                    bool DeducedTSTContext) {
1094
339
    CXXScopeSpec SS;
1095
339
    SS.Adopt(QualifierLoc);
1096
1097
339
    if (QualifierLoc.getNestedNameSpecifier()->isDependent()) {
1098
      // If the name is still dependent, just build a new dependent name type.
1099
339
      if (!SemaRef.computeDeclContext(SS))
1100
337
        return SemaRef.Context.getDependentNameType(Keyword,
1101
337
                                          QualifierLoc.getNestedNameSpecifier(),
1102
337
                                                    Id);
1103
339
    }
1104
1105
2
    if (Keyword == ETK_None || Keyword == ETK_Typename) {
1106
2
      return SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
1107
2
                                       *Id, IdLoc, DeducedTSTContext);
1108
2
    }
1109
1110
0
    TagTypeKind Kind = TypeWithKeyword::getTagTypeKindForKeyword(Keyword);
1111
1112
    // We had a dependent elaborated-type-specifier that has been transformed
1113
    // into a non-dependent elaborated-type-specifier. Find the tag we're
1114
    // referring to.
1115
0
    LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1116
0
    DeclContext *DC = SemaRef.computeDeclContext(SS, false);
1117
0
    if (!DC)
1118
0
      return QualType();
1119
1120
0
    if (SemaRef.RequireCompleteDeclContext(SS, DC))
1121
0
      return QualType();
1122
1123
0
    TagDecl *Tag = nullptr;
1124
0
    SemaRef.LookupQualifiedName(Result, DC);
1125
0
    switch (Result.getResultKind()) {
1126
0
      case LookupResult::NotFound:
1127
0
      case LookupResult::NotFoundInCurrentInstantiation:
1128
0
        break;
1129
1130
0
      case LookupResult::Found:
1131
0
        Tag = Result.getAsSingle<TagDecl>();
1132
0
        break;
1133
1134
0
      case LookupResult::FoundOverloaded:
1135
0
      case LookupResult::FoundUnresolvedValue:
1136
0
        llvm_unreachable("Tag lookup cannot find non-tags");
1137
1138
0
      case LookupResult::Ambiguous:
1139
        // Let the LookupResult structure handle ambiguities.
1140
0
        return QualType();
1141
0
    }
1142
1143
0
    if (!Tag) {
1144
      // Check where the name exists but isn't a tag type and use that to emit
1145
      // better diagnostics.
1146
0
      LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1147
0
      SemaRef.LookupQualifiedName(Result, DC);
1148
0
      switch (Result.getResultKind()) {
1149
0
        case LookupResult::Found:
1150
0
        case LookupResult::FoundOverloaded:
1151
0
        case LookupResult::FoundUnresolvedValue: {
1152
0
          NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1153
0
          Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1154
0
          SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag) << SomeDecl
1155
0
                                                               << NTK << Kind;
1156
0
          SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
1157
0
          break;
1158
0
        }
1159
0
        default:
1160
0
          SemaRef.Diag(IdLoc, diag::err_not_tag_in_scope)
1161
0
              << Kind << Id << DC << QualifierLoc.getSourceRange();
1162
0
          break;
1163
0
      }
1164
0
      return QualType();
1165
0
    }
1166
1167
0
    if (!SemaRef.isAcceptableTagRedeclaration(Tag, Kind, /*isDefinition*/false,
1168
0
                                              IdLoc, Id)) {
1169
0
      SemaRef.Diag(KeywordLoc, diag::err_use_with_wrong_tag) << Id;
1170
0
      SemaRef.Diag(Tag->getLocation(), diag::note_previous_use);
1171
0
      return QualType();
1172
0
    }
1173
1174
    // Build the elaborated-type-specifier type.
1175
0
    QualType T = SemaRef.Context.getTypeDeclType(Tag);
1176
0
    return SemaRef.Context.getElaboratedType(Keyword,
1177
0
                                         QualifierLoc.getNestedNameSpecifier(),
1178
0
                                             T);
1179
0
  }
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Line
Count
Source
1093
37.3k
                                    bool DeducedTSTContext) {
1094
37.3k
    CXXScopeSpec SS;
1095
37.3k
    SS.Adopt(QualifierLoc);
1096
1097
37.3k
    if (QualifierLoc.getNestedNameSpecifier()->isDependent()) {
1098
      // If the name is still dependent, just build a new dependent name type.
1099
37.3k
      if (!SemaRef.computeDeclContext(SS))
1100
10.7k
        return SemaRef.Context.getDependentNameType(Keyword,
1101
10.7k
                                          QualifierLoc.getNestedNameSpecifier(),
1102
10.7k
                                                    Id);
1103
37.3k
    }
1104
1105
26.6k
    if (Keyword == ETK_None || 
Keyword == ETK_Typename26.6k
) {
1106
26.6k
      return SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
1107
26.6k
                                       *Id, IdLoc, DeducedTSTContext);
1108
26.6k
    }
1109
1110
2
    TagTypeKind Kind = TypeWithKeyword::getTagTypeKindForKeyword(Keyword);
1111
1112
    // We had a dependent elaborated-type-specifier that has been transformed
1113
    // into a non-dependent elaborated-type-specifier. Find the tag we're
1114
    // referring to.
1115
2
    LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1116
2
    DeclContext *DC = SemaRef.computeDeclContext(SS, false);
1117
2
    if (!DC)
1118
0
      return QualType();
1119
1120
2
    if (SemaRef.RequireCompleteDeclContext(SS, DC))
1121
0
      return QualType();
1122
1123
2
    TagDecl *Tag = nullptr;
1124
2
    SemaRef.LookupQualifiedName(Result, DC);
1125
2
    switch (Result.getResultKind()) {
1126
0
      case LookupResult::NotFound:
1127
0
      case LookupResult::NotFoundInCurrentInstantiation:
1128
0
        break;
1129
1130
2
      case LookupResult::Found:
1131
2
        Tag = Result.getAsSingle<TagDecl>();
1132
2
        break;
1133
1134
0
      case LookupResult::FoundOverloaded:
1135
0
      case LookupResult::FoundUnresolvedValue:
1136
0
        llvm_unreachable("Tag lookup cannot find non-tags");
1137
1138
0
      case LookupResult::Ambiguous:
1139
        // Let the LookupResult structure handle ambiguities.
1140
0
        return QualType();
1141
2
    }
1142
1143
2
    if (!Tag) {
1144
      // Check where the name exists but isn't a tag type and use that to emit
1145
      // better diagnostics.
1146
0
      LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1147
0
      SemaRef.LookupQualifiedName(Result, DC);
1148
0
      switch (Result.getResultKind()) {
1149
0
        case LookupResult::Found:
1150
0
        case LookupResult::FoundOverloaded:
1151
0
        case LookupResult::FoundUnresolvedValue: {
1152
0
          NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1153
0
          Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1154
0
          SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag) << SomeDecl
1155
0
                                                               << NTK << Kind;
1156
0
          SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
1157
0
          break;
1158
0
        }
1159
0
        default:
1160
0
          SemaRef.Diag(IdLoc, diag::err_not_tag_in_scope)
1161
0
              << Kind << Id << DC << QualifierLoc.getSourceRange();
1162
0
          break;
1163
0
      }
1164
0
      return QualType();
1165
0
    }
1166
1167
2
    if (!SemaRef.isAcceptableTagRedeclaration(Tag, Kind, /*isDefinition*/false,
1168
2
                                              IdLoc, Id)) {
1169
0
      SemaRef.Diag(KeywordLoc, diag::err_use_with_wrong_tag) << Id;
1170
0
      SemaRef.Diag(Tag->getLocation(), diag::note_previous_use);
1171
0
      return QualType();
1172
0
    }
1173
1174
    // Build the elaborated-type-specifier type.
1175
2
    QualType T = SemaRef.Context.getTypeDeclType(Tag);
1176
2
    return SemaRef.Context.getElaboratedType(Keyword,
1177
2
                                         QualifierLoc.getNestedNameSpecifier(),
1178
2
                                             T);
1179
2
  }
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Line
Count
Source
1093
8
                                    bool DeducedTSTContext) {
1094
8
    CXXScopeSpec SS;
1095
8
    SS.Adopt(QualifierLoc);
1096
1097
8
    if (QualifierLoc.getNestedNameSpecifier()->isDependent()) {
1098
      // If the name is still dependent, just build a new dependent name type.
1099
8
      if (!SemaRef.computeDeclContext(SS))
1100
8
        return SemaRef.Context.getDependentNameType(Keyword,
1101
8
                                          QualifierLoc.getNestedNameSpecifier(),
1102
8
                                                    Id);
1103
8
    }
1104
1105
0
    if (Keyword == ETK_None || Keyword == ETK_Typename) {
1106
0
      return SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
1107
0
                                       *Id, IdLoc, DeducedTSTContext);
1108
0
    }
1109
1110
0
    TagTypeKind Kind = TypeWithKeyword::getTagTypeKindForKeyword(Keyword);
1111
1112
    // We had a dependent elaborated-type-specifier that has been transformed
1113
    // into a non-dependent elaborated-type-specifier. Find the tag we're
1114
    // referring to.
1115
0
    LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1116
0
    DeclContext *DC = SemaRef.computeDeclContext(SS, false);
1117
0
    if (!DC)
1118
0
      return QualType();
1119
1120
0
    if (SemaRef.RequireCompleteDeclContext(SS, DC))
1121
0
      return QualType();
1122
1123
0
    TagDecl *Tag = nullptr;
1124
0
    SemaRef.LookupQualifiedName(Result, DC);
1125
0
    switch (Result.getResultKind()) {
1126
0
      case LookupResult::NotFound:
1127
0
      case LookupResult::NotFoundInCurrentInstantiation:
1128
0
        break;
1129
1130
0
      case LookupResult::Found:
1131
0
        Tag = Result.getAsSingle<TagDecl>();
1132
0
        break;
1133
1134
0
      case LookupResult::FoundOverloaded:
1135
0
      case LookupResult::FoundUnresolvedValue:
1136
0
        llvm_unreachable("Tag lookup cannot find non-tags");
1137
1138
0
      case LookupResult::Ambiguous:
1139
        // Let the LookupResult structure handle ambiguities.
1140
0
        return QualType();
1141
0
    }
1142
1143
0
    if (!Tag) {
1144
      // Check where the name exists but isn't a tag type and use that to emit
1145
      // better diagnostics.
1146
0
      LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1147
0
      SemaRef.LookupQualifiedName(Result, DC);
1148
0
      switch (Result.getResultKind()) {
1149
0
        case LookupResult::Found:
1150
0
        case LookupResult::FoundOverloaded:
1151
0
        case LookupResult::FoundUnresolvedValue: {
1152
0
          NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1153
0
          Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1154
0
          SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag) << SomeDecl
1155
0
                                                               << NTK << Kind;
1156
0
          SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
1157
0
          break;
1158
0
        }
1159
0
        default:
1160
0
          SemaRef.Diag(IdLoc, diag::err_not_tag_in_scope)
1161
0
              << Kind << Id << DC << QualifierLoc.getSourceRange();
1162
0
          break;
1163
0
      }
1164
0
      return QualType();
1165
0
    }
1166
1167
0
    if (!SemaRef.isAcceptableTagRedeclaration(Tag, Kind, /*isDefinition*/false,
1168
0
                                              IdLoc, Id)) {
1169
0
      SemaRef.Diag(KeywordLoc, diag::err_use_with_wrong_tag) << Id;
1170
0
      SemaRef.Diag(Tag->getLocation(), diag::note_previous_use);
1171
0
      return QualType();
1172
0
    }
1173
1174
    // Build the elaborated-type-specifier type.
1175
0
    QualType T = SemaRef.Context.getTypeDeclType(Tag);
1176
0
    return SemaRef.Context.getElaboratedType(Keyword,
1177
0
                                         QualifierLoc.getNestedNameSpecifier(),
1178
0
                                             T);
1179
0
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
Line
Count
Source
1093
1.31M
                                    bool DeducedTSTContext) {
1094
1.31M
    CXXScopeSpec SS;
1095
1.31M
    SS.Adopt(QualifierLoc);
1096
1097
1.31M
    if (QualifierLoc.getNestedNameSpecifier()->isDependent()) {
1098
      // If the name is still dependent, just build a new dependent name type.
1099
486k
      if (!SemaRef.computeDeclContext(SS))
1100
485k
        return SemaRef.Context.getDependentNameType(Keyword,
1101
485k
                                          QualifierLoc.getNestedNameSpecifier(),
1102
485k
                                                    Id);
1103
486k
    }
1104
1105
826k
    if (Keyword == ETK_None || 
Keyword == ETK_Typename824k
) {
1106
826k
      return SemaRef.CheckTypenameType(Keyword, KeywordLoc, QualifierLoc,
1107
826k
                                       *Id, IdLoc, DeducedTSTContext);
1108
826k
    }
1109
1110
45
    TagTypeKind Kind = TypeWithKeyword::getTagTypeKindForKeyword(Keyword);
1111
1112
    // We had a dependent elaborated-type-specifier that has been transformed
1113
    // into a non-dependent elaborated-type-specifier. Find the tag we're
1114
    // referring to.
1115
45
    LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1116
45
    DeclContext *DC = SemaRef.computeDeclContext(SS, false);
1117
45
    if (!DC)
1118
0
      return QualType();
1119
1120
45
    if (SemaRef.RequireCompleteDeclContext(SS, DC))
1121
2
      return QualType();
1122
1123
43
    TagDecl *Tag = nullptr;
1124
43
    SemaRef.LookupQualifiedName(Result, DC);
1125
43
    switch (Result.getResultKind()) {
1126
4
      case LookupResult::NotFound:
1127
4
      case LookupResult::NotFoundInCurrentInstantiation:
1128
4
        break;
1129
1130
39
      case LookupResult::Found:
1131
39
        Tag = Result.getAsSingle<TagDecl>();
1132
39
        break;
1133
1134
0
      case LookupResult::FoundOverloaded:
1135
0
      case LookupResult::FoundUnresolvedValue:
1136
0
        llvm_unreachable("Tag lookup cannot find non-tags");
1137
1138
0
      case LookupResult::Ambiguous:
1139
        // Let the LookupResult structure handle ambiguities.
1140
0
        return QualType();
1141
43
    }
1142
1143
43
    if (!Tag) {
1144
      // Check where the name exists but isn't a tag type and use that to emit
1145
      // better diagnostics.
1146
10
      LookupResult Result(SemaRef, Id, IdLoc, Sema::LookupTagName);
1147
10
      SemaRef.LookupQualifiedName(Result, DC);
1148
10
      switch (Result.getResultKind()) {
1149
6
        case LookupResult::Found:
1150
6
        case LookupResult::FoundOverloaded:
1151
6
        case LookupResult::FoundUnresolvedValue: {
1152
6
          NamedDecl *SomeDecl = Result.getRepresentativeDecl();
1153
6
          Sema::NonTagKind NTK = SemaRef.getNonTagTypeDeclKind(SomeDecl, Kind);
1154
6
          SemaRef.Diag(IdLoc, diag::err_tag_reference_non_tag) << SomeDecl
1155
6
                                                               << NTK << Kind;
1156
6
          SemaRef.Diag(SomeDecl->getLocation(), diag::note_declared_at);
1157
6
          break;
1158
6
        }
1159
4
        default:
1160
4
          SemaRef.Diag(IdLoc, diag::err_not_tag_in_scope)
1161
4
              << Kind << Id << DC << QualifierLoc.getSourceRange();
1162
4
          break;
1163
10
      }
1164
10
      return QualType();
1165
10
    }
1166
1167
33
    if (!SemaRef.isAcceptableTagRedeclaration(Tag, Kind, /*isDefinition*/false,
1168
33
                                              IdLoc, Id)) {
1169
4
      SemaRef.Diag(KeywordLoc, diag::err_use_with_wrong_tag) << Id;
1170
4
      SemaRef.Diag(Tag->getLocation(), diag::note_previous_use);
1171
4
      return QualType();
1172
4
    }
1173
1174
    // Build the elaborated-type-specifier type.
1175
29
    QualType T = SemaRef.Context.getTypeDeclType(Tag);
1176
29
    return SemaRef.Context.getElaboratedType(Keyword,
1177
29
                                         QualifierLoc.getNestedNameSpecifier(),
1178
29
                                             T);
1179
33
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool)
1180
1181
  /// Build a new pack expansion type.
1182
  ///
1183
  /// By default, builds a new PackExpansionType type from the given pattern.
1184
  /// Subclasses may override this routine to provide different behavior.
1185
  QualType RebuildPackExpansionType(QualType Pattern,
1186
                                    SourceRange PatternRange,
1187
                                    SourceLocation EllipsisLoc,
1188
219
                                    Optional<unsigned> NumExpansions) {
1189
219
    return getSema().CheckPackExpansion(Pattern, PatternRange, EllipsisLoc,
1190
219
                                        NumExpansions);
1191
219
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Line
Count
Source
1188
2
                                    Optional<unsigned> NumExpansions) {
1189
2
    return getSema().CheckPackExpansion(Pattern, PatternRange, EllipsisLoc,
1190
2
                                        NumExpansions);
1191
2
  }
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Line
Count
Source
1188
63
                                    Optional<unsigned> NumExpansions) {
1189
63
    return getSema().CheckPackExpansion(Pattern, PatternRange, EllipsisLoc,
1190
63
                                        NumExpansions);
1191
63
  }
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
Line
Count
Source
1188
154
                                    Optional<unsigned> NumExpansions) {
1189
154
    return getSema().CheckPackExpansion(Pattern, PatternRange, EllipsisLoc,
1190
154
                                        NumExpansions);
1191
154
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildPackExpansionType(clang::QualType, clang::SourceRange, clang::SourceLocation, llvm::Optional<unsigned int>)
1192
1193
  /// Build a new atomic type given its value type.
1194
  ///
1195
  /// By default, performs semantic analysis when building the atomic type.
1196
  /// Subclasses may override this routine to provide different behavior.
1197
  QualType RebuildAtomicType(QualType ValueType, SourceLocation KWLoc);
1198
1199
  /// Build a new pipe type given its value type.
1200
  QualType RebuildPipeType(QualType ValueType, SourceLocation KWLoc,
1201
                           bool isReadPipe);
1202
1203
  /// Build a bit-precise int given its value type.
1204
  QualType RebuildBitIntType(bool IsUnsigned, unsigned NumBits,
1205
                             SourceLocation Loc);
1206
1207
  /// Build a dependent bit-precise int given its value type.
1208
  QualType RebuildDependentBitIntType(bool IsUnsigned, Expr *NumBitsExpr,
1209
                                      SourceLocation Loc);
1210
1211
  /// Build a new template name given a nested name specifier, a flag
1212
  /// indicating whether the "template" keyword was provided, and the template
1213
  /// that the template name refers to.
1214
  ///
1215
  /// By default, builds the new template name directly. Subclasses may override
1216
  /// this routine to provide different behavior.
1217
  TemplateName RebuildTemplateName(CXXScopeSpec &SS,
1218
                                   bool TemplateKW,
1219
                                   TemplateDecl *Template);
1220
1221
  /// Build a new template name given a nested name specifier and the
1222
  /// name that is referred to as a template.
1223
  ///
1224
  /// By default, performs semantic analysis to determine whether the name can
1225
  /// be resolved to a specific template, then builds the appropriate kind of
1226
  /// template name. Subclasses may override this routine to provide different
1227
  /// behavior.
1228
  TemplateName RebuildTemplateName(CXXScopeSpec &SS,
1229
                                   SourceLocation TemplateKWLoc,
1230
                                   const IdentifierInfo &Name,
1231
                                   SourceLocation NameLoc, QualType ObjectType,
1232
                                   NamedDecl *FirstQualifierInScope,
1233
                                   bool AllowInjectedClassName);
1234
1235
  /// Build a new template name given a nested name specifier and the
1236
  /// overloaded operator name that is referred to as a template.
1237
  ///
1238
  /// By default, performs semantic analysis to determine whether the name can
1239
  /// be resolved to a specific template, then builds the appropriate kind of
1240
  /// template name. Subclasses may override this routine to provide different
1241
  /// behavior.
1242
  TemplateName RebuildTemplateName(CXXScopeSpec &SS,
1243
                                   SourceLocation TemplateKWLoc,
1244
                                   OverloadedOperatorKind Operator,
1245
                                   SourceLocation NameLoc, QualType ObjectType,
1246
                                   bool AllowInjectedClassName);
1247
1248
  /// Build a new template name given a template template parameter pack
1249
  /// and the
1250
  ///
1251
  /// By default, performs semantic analysis to determine whether the name can
1252
  /// be resolved to a specific template, then builds the appropriate kind of
1253
  /// template name. Subclasses may override this routine to provide different
1254
  /// behavior.
1255
  TemplateName RebuildTemplateName(TemplateTemplateParmDecl *Param,
1256
0
                                   const TemplateArgument &ArgPack) {
1257
0
    return getSema().Context.getSubstTemplateTemplateParmPack(Param, ArgPack);
1258
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildTemplateName(clang::TemplateTemplateParmDecl*, clang::TemplateArgument const&)
1259
1260
  /// Build a new compound statement.
1261
  ///
1262
  /// By default, performs semantic analysis to build the new statement.
1263
  /// Subclasses may override this routine to provide different behavior.
1264
  StmtResult RebuildCompoundStmt(SourceLocation LBraceLoc,
1265
                                       MultiStmtArg Statements,
1266
                                       SourceLocation RBraceLoc,
1267
189k
                                       bool IsStmtExpr) {
1268
189k
    return getSema().ActOnCompoundStmt(LBraceLoc, RBraceLoc, Statements,
1269
189k
                                       IsStmtExpr);
1270
189k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Line
Count
Source
1267
1
                                       bool IsStmtExpr) {
1268
1
    return getSema().ActOnCompoundStmt(LBraceLoc, RBraceLoc, Statements,
1269
1
                                       IsStmtExpr);
1270
1
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Line
Count
Source
1267
1
                                       bool IsStmtExpr) {
1268
1
    return getSema().ActOnCompoundStmt(LBraceLoc, RBraceLoc, Statements,
1269
1
                                       IsStmtExpr);
1270
1
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
Line
Count
Source
1267
189k
                                       bool IsStmtExpr) {
1268
189k
    return getSema().ActOnCompoundStmt(LBraceLoc, RBraceLoc, Statements,
1269
189k
                                       IsStmtExpr);
1270
189k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCompoundStmt(clang::SourceLocation, llvm::MutableArrayRef<clang::Stmt*>, clang::SourceLocation, bool)
1271
1272
  /// Build a new case statement.
1273
  ///
1274
  /// By default, performs semantic analysis to build the new statement.
1275
  /// Subclasses may override this routine to provide different behavior.
1276
  StmtResult RebuildCaseStmt(SourceLocation CaseLoc,
1277
                                   Expr *LHS,
1278
                                   SourceLocation EllipsisLoc,
1279
                                   Expr *RHS,
1280
518
                                   SourceLocation ColonLoc) {
1281
518
    return getSema().ActOnCaseStmt(CaseLoc, LHS, EllipsisLoc, RHS,
1282
518
                                   ColonLoc);
1283
518
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Line
Count
Source
1280
518
                                   SourceLocation ColonLoc) {
1281
518
    return getSema().ActOnCaseStmt(CaseLoc, LHS, EllipsisLoc, RHS,
1282
518
                                   ColonLoc);
1283
518
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCaseStmt(clang::SourceLocation, clang::Expr*, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
1284
1285
  /// Attach the body to a new case statement.
1286
  ///
1287
  /// By default, performs semantic analysis to build the new statement.
1288
  /// Subclasses may override this routine to provide different behavior.
1289
518
  StmtResult RebuildCaseStmtBody(Stmt *S, Stmt *Body) {
1290
518
    getSema().ActOnCaseStmtBody(S, Body);
1291
518
    return S;
1292
518
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
Line
Count
Source
1289
518
  StmtResult RebuildCaseStmtBody(Stmt *S, Stmt *Body) {
1290
518
    getSema().ActOnCaseStmtBody(S, Body);
1291
518
    return S;
1292
518
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCaseStmtBody(clang::Stmt*, clang::Stmt*)
1293
1294
  /// Build a new default statement.
1295
  ///
1296
  /// By default, performs semantic analysis to build the new statement.
1297
  /// Subclasses may override this routine to provide different behavior.
1298
  StmtResult RebuildDefaultStmt(SourceLocation DefaultLoc,
1299
                                      SourceLocation ColonLoc,
1300
52
                                      Stmt *SubStmt) {
1301
52
    return getSema().ActOnDefaultStmt(DefaultLoc, ColonLoc, SubStmt,
1302
52
                                      /*CurScope=*/nullptr);
1303
52
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1300
52
                                      Stmt *SubStmt) {
1301
52
    return getSema().ActOnDefaultStmt(DefaultLoc, ColonLoc, SubStmt,
1302
52
                                      /*CurScope=*/nullptr);
1303
52
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDefaultStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*)
1304
1305
  /// Build a new label statement.
1306
  ///
1307
  /// By default, performs semantic analysis to build the new statement.
1308
  /// Subclasses may override this routine to provide different behavior.
1309
  StmtResult RebuildLabelStmt(SourceLocation IdentLoc, LabelDecl *L,
1310
70
                              SourceLocation ColonLoc, Stmt *SubStmt) {
1311
70
    return SemaRef.ActOnLabelStmt(IdentLoc, L, ColonLoc, SubStmt);
1312
70
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1310
1
                              SourceLocation ColonLoc, Stmt *SubStmt) {
1311
1
    return SemaRef.ActOnLabelStmt(IdentLoc, L, ColonLoc, SubStmt);
1312
1
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1310
69
                              SourceLocation ColonLoc, Stmt *SubStmt) {
1311
69
    return SemaRef.ActOnLabelStmt(IdentLoc, L, ColonLoc, SubStmt);
1312
69
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildLabelStmt(clang::SourceLocation, clang::LabelDecl*, clang::SourceLocation, clang::Stmt*)
1313
1314
  /// Build a new attributed statement.
1315
  ///
1316
  /// By default, performs semantic analysis to build the new statement.
1317
  /// Subclasses may override this routine to provide different behavior.
1318
  StmtResult RebuildAttributedStmt(SourceLocation AttrLoc,
1319
                                   ArrayRef<const Attr *> Attrs,
1320
37
                                   Stmt *SubStmt) {
1321
37
    return SemaRef.BuildAttributedStmt(AttrLoc, Attrs, SubStmt);
1322
37
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
Line
Count
Source
1320
37
                                   Stmt *SubStmt) {
1321
37
    return SemaRef.BuildAttributedStmt(AttrLoc, Attrs, SubStmt);
1322
37
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildAttributedStmt(clang::SourceLocation, llvm::ArrayRef<clang::Attr const*>, clang::Stmt*)
1323
1324
  /// Build a new "if" statement.
1325
  ///
1326
  /// By default, performs semantic analysis to build the new statement.
1327
  /// Subclasses may override this routine to provide different behavior.
1328
  StmtResult RebuildIfStmt(SourceLocation IfLoc, IfStatementKind Kind,
1329
                           SourceLocation LParenLoc, Sema::ConditionResult Cond,
1330
                           SourceLocation RParenLoc, Stmt *Init, Stmt *Then,
1331
26.7k
                           SourceLocation ElseLoc, Stmt *Else) {
1332
26.7k
    return getSema().ActOnIfStmt(IfLoc, Kind, LParenLoc, Init, Cond, RParenLoc,
1333
26.7k
                                 Then, ElseLoc, Else);
1334
26.7k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1331
26.7k
                           SourceLocation ElseLoc, Stmt *Else) {
1332
26.7k
    return getSema().ActOnIfStmt(IfLoc, Kind, LParenLoc, Init, Cond, RParenLoc,
1333
26.7k
                                 Then, ElseLoc, Else);
1334
26.7k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildIfStmt(clang::SourceLocation, clang::IfStatementKind, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*, clang::Stmt*, clang::SourceLocation, clang::Stmt*)
1335
1336
  /// Start building a new switch statement.
1337
  ///
1338
  /// By default, performs semantic analysis to build the new statement.
1339
  /// Subclasses may override this routine to provide different behavior.
1340
  StmtResult RebuildSwitchStmtStart(SourceLocation SwitchLoc,
1341
                                    SourceLocation LParenLoc, Stmt *Init,
1342
                                    Sema::ConditionResult Cond,
1343
166
                                    SourceLocation RParenLoc) {
1344
166
    return getSema().ActOnStartOfSwitchStmt(SwitchLoc, LParenLoc, Init, Cond,
1345
166
                                            RParenLoc);
1346
166
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
Line
Count
Source
1343
166
                                    SourceLocation RParenLoc) {
1344
166
    return getSema().ActOnStartOfSwitchStmt(SwitchLoc, LParenLoc, Init, Cond,
1345
166
                                            RParenLoc);
1346
166
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildSwitchStmtStart(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::SourceLocation)
1347
1348
  /// Attach the body to the switch statement.
1349
  ///
1350
  /// By default, performs semantic analysis to build the new statement.
1351
  /// Subclasses may override this routine to provide different behavior.
1352
  StmtResult RebuildSwitchStmtBody(SourceLocation SwitchLoc,
1353
166
                                   Stmt *Switch, Stmt *Body) {
1354
166
    return getSema().ActOnFinishSwitchStmt(SwitchLoc, Switch, Body);
1355
166
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
Line
Count
Source
1353
166
                                   Stmt *Switch, Stmt *Body) {
1354
166
    return getSema().ActOnFinishSwitchStmt(SwitchLoc, Switch, Body);
1355
166
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildSwitchStmtBody(clang::SourceLocation, clang::Stmt*, clang::Stmt*)
1356
1357
  /// Build a new while statement.
1358
  ///
1359
  /// By default, performs semantic analysis to build the new statement.
1360
  /// Subclasses may override this routine to provide different behavior.
1361
  StmtResult RebuildWhileStmt(SourceLocation WhileLoc, SourceLocation LParenLoc,
1362
                              Sema::ConditionResult Cond,
1363
1.24k
                              SourceLocation RParenLoc, Stmt *Body) {
1364
1.24k
    return getSema().ActOnWhileStmt(WhileLoc, LParenLoc, Cond, RParenLoc, Body);
1365
1.24k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1363
1.24k
                              SourceLocation RParenLoc, Stmt *Body) {
1364
1.24k
    return getSema().ActOnWhileStmt(WhileLoc, LParenLoc, Cond, RParenLoc, Body);
1365
1.24k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildWhileStmt(clang::SourceLocation, clang::SourceLocation, clang::Sema::ConditionResult, clang::SourceLocation, clang::Stmt*)
1366
1367
  /// Build a new do-while statement.
1368
  ///
1369
  /// By default, performs semantic analysis to build the new statement.
1370
  /// Subclasses may override this routine to provide different behavior.
1371
  StmtResult RebuildDoStmt(SourceLocation DoLoc, Stmt *Body,
1372
                           SourceLocation WhileLoc, SourceLocation LParenLoc,
1373
553
                           Expr *Cond, SourceLocation RParenLoc) {
1374
553
    return getSema().ActOnDoStmt(DoLoc, Body, WhileLoc, LParenLoc,
1375
553
                                 Cond, RParenLoc);
1376
553
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
Line
Count
Source
1373
553
                           Expr *Cond, SourceLocation RParenLoc) {
1374
553
    return getSema().ActOnDoStmt(DoLoc, Body, WhileLoc, LParenLoc,
1375
553
                                 Cond, RParenLoc);
1376
553
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDoStmt(clang::SourceLocation, clang::Stmt*, clang::SourceLocation, clang::SourceLocation, clang::Expr*, clang::SourceLocation)
1377
1378
  /// Build a new for statement.
1379
  ///
1380
  /// By default, performs semantic analysis to build the new statement.
1381
  /// Subclasses may override this routine to provide different behavior.
1382
  StmtResult RebuildForStmt(SourceLocation ForLoc, SourceLocation LParenLoc,
1383
                            Stmt *Init, Sema::ConditionResult Cond,
1384
                            Sema::FullExprArg Inc, SourceLocation RParenLoc,
1385
60.2k
                            Stmt *Body) {
1386
60.2k
    return getSema().ActOnForStmt(ForLoc, LParenLoc, Init, Cond,
1387
60.2k
                                  Inc, RParenLoc, Body);
1388
60.2k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1385
60.2k
                            Stmt *Body) {
1386
60.2k
    return getSema().ActOnForStmt(ForLoc, LParenLoc, Init, Cond,
1387
60.2k
                                  Inc, RParenLoc, Body);
1388
60.2k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildForStmt(clang::SourceLocation, clang::SourceLocation, clang::Stmt*, clang::Sema::ConditionResult, clang::Sema::FullExprArg, clang::SourceLocation, clang::Stmt*)
1389
1390
  /// Build a new goto statement.
1391
  ///
1392
  /// By default, performs semantic analysis to build the new statement.
1393
  /// Subclasses may override this routine to provide different behavior.
1394
  StmtResult RebuildGotoStmt(SourceLocation GotoLoc, SourceLocation LabelLoc,
1395
34
                             LabelDecl *Label) {
1396
34
    return getSema().ActOnGotoStmt(GotoLoc, LabelLoc, Label);
1397
34
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Line
Count
Source
1395
1
                             LabelDecl *Label) {
1396
1
    return getSema().ActOnGotoStmt(GotoLoc, LabelLoc, Label);
1397
1
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
Line
Count
Source
1395
33
                             LabelDecl *Label) {
1396
33
    return getSema().ActOnGotoStmt(GotoLoc, LabelLoc, Label);
1397
33
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::LabelDecl*)
1398
1399
  /// Build a new indirect goto statement.
1400
  ///
1401
  /// By default, performs semantic analysis to build the new statement.
1402
  /// Subclasses may override this routine to provide different behavior.
1403
  StmtResult RebuildIndirectGotoStmt(SourceLocation GotoLoc,
1404
                                     SourceLocation StarLoc,
1405
2
                                     Expr *Target) {
1406
2
    return getSema().ActOnIndirectGotoStmt(GotoLoc, StarLoc, Target);
1407
2
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Line
Count
Source
1405
2
                                     Expr *Target) {
1406
2
    return getSema().ActOnIndirectGotoStmt(GotoLoc, StarLoc, Target);
1407
2
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildIndirectGotoStmt(clang::SourceLocation, clang::SourceLocation, clang::Expr*)
1408
1409
  /// Build a new return statement.
1410
  ///
1411
  /// By default, performs semantic analysis to build the new statement.
1412
  /// Subclasses may override this routine to provide different behavior.
1413
134k
  StmtResult RebuildReturnStmt(SourceLocation ReturnLoc, Expr *Result) {
1414
134k
    return getSema().BuildReturnStmt(ReturnLoc, Result);
1415
134k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Line
Count
Source
1413
1
  StmtResult RebuildReturnStmt(SourceLocation ReturnLoc, Expr *Result) {
1414
1
    return getSema().BuildReturnStmt(ReturnLoc, Result);
1415
1
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
Line
Count
Source
1413
134k
  StmtResult RebuildReturnStmt(SourceLocation ReturnLoc, Expr *Result) {
1414
134k
    return getSema().BuildReturnStmt(ReturnLoc, Result);
1415
134k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildReturnStmt(clang::SourceLocation, clang::Expr*)
1416
1417
  /// Build a new declaration statement.
1418
  ///
1419
  /// By default, performs semantic analysis to build the new statement.
1420
  /// Subclasses may override this routine to provide different behavior.
1421
  StmtResult RebuildDeclStmt(MutableArrayRef<Decl *> Decls,
1422
141k
                             SourceLocation StartLoc, SourceLocation EndLoc) {
1423
141k
    Sema::DeclGroupPtrTy DG = getSema().BuildDeclaratorGroup(Decls);
1424
141k
    return getSema().ActOnDeclStmt(DG, StartLoc, EndLoc);
1425
141k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1422
141k
                             SourceLocation StartLoc, SourceLocation EndLoc) {
1423
141k
    Sema::DeclGroupPtrTy DG = getSema().BuildDeclaratorGroup(Decls);
1424
141k
    return getSema().ActOnDeclStmt(DG, StartLoc, EndLoc);
1425
141k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDeclStmt(llvm::MutableArrayRef<clang::Decl*>, clang::SourceLocation, clang::SourceLocation)
1426
1427
  /// Build a new inline asm statement.
1428
  ///
1429
  /// By default, performs semantic analysis to build the new statement.
1430
  /// Subclasses may override this routine to provide different behavior.
1431
  StmtResult RebuildGCCAsmStmt(SourceLocation AsmLoc, bool IsSimple,
1432
                               bool IsVolatile, unsigned NumOutputs,
1433
                               unsigned NumInputs, IdentifierInfo **Names,
1434
                               MultiExprArg Constraints, MultiExprArg Exprs,
1435
                               Expr *AsmString, MultiExprArg Clobbers,
1436
                               unsigned NumLabels,
1437
9
                               SourceLocation RParenLoc) {
1438
9
    return getSema().ActOnGCCAsmStmt(AsmLoc, IsSimple, IsVolatile, NumOutputs,
1439
9
                                     NumInputs, Names, Constraints, Exprs,
1440
9
                                     AsmString, Clobbers, NumLabels, RParenLoc);
1441
9
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
Line
Count
Source
1437
9
                               SourceLocation RParenLoc) {
1438
9
    return getSema().ActOnGCCAsmStmt(AsmLoc, IsSimple, IsVolatile, NumOutputs,
1439
9
                                     NumInputs, Names, Constraints, Exprs,
1440
9
                                     AsmString, Clobbers, NumLabels, RParenLoc);
1441
9
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildGCCAsmStmt(clang::SourceLocation, bool, bool, unsigned int, unsigned int, clang::IdentifierInfo**, llvm::MutableArrayRef<clang::Expr*>, llvm::MutableArrayRef<clang::Expr*>, clang::Expr*, llvm::MutableArrayRef<clang::Expr*>, unsigned int, clang::SourceLocation)
1442
1443
  /// Build a new MS style inline asm statement.
1444
  ///
1445
  /// By default, performs semantic analysis to build the new statement.
1446
  /// Subclasses may override this routine to provide different behavior.
1447
  StmtResult RebuildMSAsmStmt(SourceLocation AsmLoc, SourceLocation LBraceLoc,
1448
                              ArrayRef<Token> AsmToks,
1449
                              StringRef AsmString,
1450
                              unsigned NumOutputs, unsigned NumInputs,
1451
                              ArrayRef<StringRef> Constraints,
1452
                              ArrayRef<StringRef> Clobbers,
1453
                              ArrayRef<Expr*> Exprs,
1454
1
                              SourceLocation EndLoc) {
1455
1
    return getSema().ActOnMSAsmStmt(AsmLoc, LBraceLoc, AsmToks, AsmString,
1456
1
                                    NumOutputs, NumInputs,
1457
1
                                    Constraints, Clobbers, Exprs, EndLoc);
1458
1
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
Line
Count
Source
1454
1
                              SourceLocation EndLoc) {
1455
1
    return getSema().ActOnMSAsmStmt(AsmLoc, LBraceLoc, AsmToks, AsmString,
1456
1
                                    NumOutputs, NumInputs,
1457
1
                                    Constraints, Clobbers, Exprs, EndLoc);
1458
1
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildMSAsmStmt(clang::SourceLocation, clang::SourceLocation, llvm::ArrayRef<clang::Token>, llvm::StringRef, unsigned int, unsigned int, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation)
1459
1460
  /// Build a new co_return statement.
1461
  ///
1462
  /// By default, performs semantic analysis to build the new statement.
1463
  /// Subclasses may override this routine to provide different behavior.
1464
  StmtResult RebuildCoreturnStmt(SourceLocation CoreturnLoc, Expr *Result,
1465
57
                                 bool IsImplicit) {
1466
57
    return getSema().BuildCoreturnStmt(CoreturnLoc, Result, IsImplicit);
1467
57
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
Line
Count
Source
1465
57
                                 bool IsImplicit) {
1466
57
    return getSema().BuildCoreturnStmt(CoreturnLoc, Result, IsImplicit);
1467
57
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCoreturnStmt(clang::SourceLocation, clang::Expr*, bool)
1468
1469
  /// Build a new co_await expression.
1470
  ///
1471
  /// By default, performs semantic analysis to build the new expression.
1472
  /// Subclasses may override this routine to provide different behavior.
1473
  ExprResult RebuildCoawaitExpr(SourceLocation CoawaitLoc, Expr *Result,
1474
498
                                bool IsImplicit) {
1475
498
    return getSema().BuildResolvedCoawaitExpr(CoawaitLoc, Result, IsImplicit);
1476
498
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Line
Count
Source
1474
20
                                bool IsImplicit) {
1475
20
    return getSema().BuildResolvedCoawaitExpr(CoawaitLoc, Result, IsImplicit);
1476
20
  }
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
Line
Count
Source
1474
478
                                bool IsImplicit) {
1475
478
    return getSema().BuildResolvedCoawaitExpr(CoawaitLoc, Result, IsImplicit);
1476
478
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCoawaitExpr(clang::SourceLocation, clang::Expr*, bool)
1477
1478
  /// Build a new co_await expression.
1479
  ///
1480
  /// By default, performs semantic analysis to build the new expression.
1481
  /// Subclasses may override this routine to provide different behavior.
1482
  ExprResult RebuildDependentCoawaitExpr(SourceLocation CoawaitLoc,
1483
                                         Expr *Result,
1484
114
                                         UnresolvedLookupExpr *Lookup) {
1485
114
    return getSema().BuildUnresolvedCoawaitExpr(CoawaitLoc, Result, Lookup);
1486
114
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
Line
Count
Source
1484
114
                                         UnresolvedLookupExpr *Lookup) {
1485
114
    return getSema().BuildUnresolvedCoawaitExpr(CoawaitLoc, Result, Lookup);
1486
114
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildDependentCoawaitExpr(clang::SourceLocation, clang::Expr*, clang::UnresolvedLookupExpr*)
1487
1488
  /// Build a new co_yield expression.
1489
  ///
1490
  /// By default, performs semantic analysis to build the new expression.
1491
  /// Subclasses may override this routine to provide different behavior.
1492
94
  ExprResult RebuildCoyieldExpr(SourceLocation CoyieldLoc, Expr *Result) {
1493
94
    return getSema().BuildCoyieldExpr(CoyieldLoc, Result);
1494
94
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Line
Count
Source
1492
10
  ExprResult RebuildCoyieldExpr(SourceLocation CoyieldLoc, Expr *Result) {
1493
10
    return getSema().BuildCoyieldExpr(CoyieldLoc, Result);
1494
10
  }
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
Line
Count
Source
1492
84
  ExprResult RebuildCoyieldExpr(SourceLocation CoyieldLoc, Expr *Result) {
1493
84
    return getSema().BuildCoyieldExpr(CoyieldLoc, Result);
1494
84
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCoyieldExpr(clang::SourceLocation, clang::Expr*)
1495
1496
189
  StmtResult RebuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs Args) {
1497
189
    return getSema().BuildCoroutineBodyStmt(Args);
1498
189
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
Line
Count
Source
1496
189
  StmtResult RebuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs Args) {
1497
189
    return getSema().BuildCoroutineBodyStmt(Args);
1498
189
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildCoroutineBodyStmt(clang::CoroutineBodyStmt::CtorArgs)
1499
1500
  /// Build a new Objective-C \@try statement.
1501
  ///
1502
  /// By default, performs semantic analysis to build the new statement.
1503
  /// Subclasses may override this routine to provide different behavior.
1504
  StmtResult RebuildObjCAtTryStmt(SourceLocation AtLoc,
1505
                                        Stmt *TryBody,
1506
                                        MultiStmtArg CatchStmts,
1507
1
                                        Stmt *Finally) {
1508
1
    return getSema().ActOnObjCAtTryStmt(AtLoc, TryBody, CatchStmts,
1509
1
                                        Finally);
1510
1
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
Line
Count
Source
1507
1
                                        Stmt *Finally) {
1508
1
    return getSema().ActOnObjCAtTryStmt(AtLoc, TryBody, CatchStmts,
1509
1
                                        Finally);
1510
1
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildObjCAtTryStmt(clang::SourceLocation, clang::Stmt*, llvm::MutableArrayRef<clang::Stmt*>, clang::Stmt*)
1511
1512
  /// Rebuild an Objective-C exception declaration.
1513
  ///
1514
  /// By default, performs semantic analysis to build the new declaration.
1515
  /// Subclasses may override this routine to provide different behavior.
1516
  VarDecl *RebuildObjCExceptionDecl(VarDecl *ExceptionDecl,
1517
2
                                    TypeSourceInfo *TInfo, QualType T) {
1518
2
    return getSema().BuildObjCExceptionDecl(TInfo, T,
1519
2
                                            ExceptionDecl->getInnerLocStart(),
1520
2
                                            ExceptionDecl->getLocation(),
1521
2
                                            ExceptionDecl->getIdentifier());
1522
2
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
Line
Count
Source
1517
2
                                    TypeSourceInfo *TInfo, QualType T) {
1518
2
    return getSema().BuildObjCExceptionDecl(TInfo, T,
1519
2
                                            ExceptionDecl->getInnerLocStart(),
1520
2
                                            ExceptionDecl->getLocation(),
1521
2
                                            ExceptionDecl->getIdentifier());
1522
2
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildObjCExceptionDecl(clang::VarDecl*, clang::TypeSourceInfo*, clang::QualType)
1523
1524
  /// Build a new Objective-C \@catch statement.
1525
  ///
1526
  /// By default, performs semantic analysis to build the new statement.
1527
  /// Subclasses may override this routine to provide different behavior.
1528
  StmtResult RebuildObjCAtCatchStmt(SourceLocation AtLoc,
1529
                                          SourceLocation RParenLoc,
1530
                                          VarDecl *Var,
1531
2
                                          Stmt *Body) {
1532
2
    return getSema().ActOnObjCAtCatchStmt(AtLoc, RParenLoc,
1533
2
                                          Var, Body);
1534
2
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
Line
Count
Source
1531
2
                                          Stmt *Body) {
1532
2
    return getSema().ActOnObjCAtCatchStmt(AtLoc, RParenLoc,
1533
2
                                          Var, Body);
1534
2
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildObjCAtCatchStmt(clang::SourceLocation, clang::SourceLocation, clang::VarDecl*, clang::Stmt*)
1535
1536
  /// Build a new Objective-C \@finally statement.
1537
  ///
1538
  /// By default, performs semantic analysis to build the new statement.
1539
  /// Subclasses may override this routine to provide different behavior.
1540
  StmtResult RebuildObjCAtFinallyStmt(SourceLocation AtLoc,
1541
1
                                            Stmt *Body) {
1542
1
    return getSema().ActOnObjCAtFinallyStmt(AtLoc, Body);
1543
1
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
Line
Count
Source
1541
1
                                            Stmt *Body) {
1542
1
    return getSema().ActOnObjCAtFinallyStmt(AtLoc, Body);
1543
1
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildObjCAtFinallyStmt(clang::SourceLocation, clang::Stmt*)
1544
1545
  /// Build a new Objective-C \@throw statement.
1546
  ///
1547
  /// By default, performs semantic analysis to build the new statement.
1548
  /// Subclasses may override this routine to provide different behavior.
1549
  StmtResult RebuildObjCAtThrowStmt(SourceLocation AtLoc,
1550
2
                                          Expr *Operand) {
1551
2
    return getSema().BuildObjCAtThrowStmt(AtLoc, Operand);
1552
2
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
Line
Count
Source
1550
2
                                          Expr *Operand) {
1551
2
    return getSema().BuildObjCAtThrowStmt(AtLoc, Operand);
1552
2
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildObjCAtThrowStmt(clang::SourceLocation, clang::Expr*)
1553
1554
  /// Build a new OpenMP Canonical loop.
1555
  ///
1556
  /// Ensures that the outermost loop in @p LoopStmt is wrapped by a
1557
  /// OMPCanonicalLoop.
1558
2
  StmtResult RebuildOMPCanonicalLoop(Stmt *LoopStmt) {
1559
2
    return getSema().ActOnOpenMPCanonicalLoop(LoopStmt);
1560
2
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPCanonicalLoop(clang::Stmt*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPCanonicalLoop(clang::Stmt*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPCanonicalLoop(clang::Stmt*)
Line
Count
Source
1558
2
  StmtResult RebuildOMPCanonicalLoop(Stmt *LoopStmt) {
1559
2
    return getSema().ActOnOpenMPCanonicalLoop(LoopStmt);
1560
2
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPCanonicalLoop(clang::Stmt*)
1561
1562
  /// Build a new OpenMP executable directive.
1563
  ///
1564
  /// By default, performs semantic analysis to build the new statement.
1565
  /// Subclasses may override this routine to provide different behavior.
1566
  StmtResult RebuildOMPExecutableDirective(OpenMPDirectiveKind Kind,
1567
                                           DeclarationNameInfo DirName,
1568
                                           OpenMPDirectiveKind CancelRegion,
1569
                                           ArrayRef<OMPClause *> Clauses,
1570
                                           Stmt *AStmt, SourceLocation StartLoc,
1571
91.2k
                                           SourceLocation EndLoc) {
1572
91.2k
    return getSema().ActOnOpenMPExecutableDirective(
1573
91.2k
        Kind, DirName, CancelRegion, Clauses, AStmt, StartLoc, EndLoc);
1574
91.2k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1571
91.2k
                                           SourceLocation EndLoc) {
1572
91.2k
    return getSema().ActOnOpenMPExecutableDirective(
1573
91.2k
        Kind, DirName, CancelRegion, Clauses, AStmt, StartLoc, EndLoc);
1574
91.2k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPExecutableDirective(llvm::omp::Directive, clang::DeclarationNameInfo, llvm::omp::Directive, llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)
1575
1576
  /// Build a new OpenMP 'if' clause.
1577
  ///
1578
  /// By default, performs semantic analysis to build the new OpenMP clause.
1579
  /// Subclasses may override this routine to provide different behavior.
1580
  OMPClause *RebuildOMPIfClause(OpenMPDirectiveKind NameModifier,
1581
                                Expr *Condition, SourceLocation StartLoc,
1582
                                SourceLocation LParenLoc,
1583
                                SourceLocation NameModifierLoc,
1584
                                SourceLocation ColonLoc,
1585
2.60k
                                SourceLocation EndLoc) {
1586
2.60k
    return getSema().ActOnOpenMPIfClause(NameModifier, Condition, StartLoc,
1587
2.60k
                                         LParenLoc, NameModifierLoc, ColonLoc,
1588
2.60k
                                         EndLoc);
1589
2.60k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1585
2.60k
                                SourceLocation EndLoc) {
1586
2.60k
    return getSema().ActOnOpenMPIfClause(NameModifier, Condition, StartLoc,
1587
2.60k
                                         LParenLoc, NameModifierLoc, ColonLoc,
1588
2.60k
                                         EndLoc);
1589
2.60k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPIfClause(llvm::omp::Directive, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1590
1591
  /// Build a new OpenMP 'final' clause.
1592
  ///
1593
  /// By default, performs semantic analysis to build the new OpenMP clause.
1594
  /// Subclasses may override this routine to provide different behavior.
1595
  OMPClause *RebuildOMPFinalClause(Expr *Condition, SourceLocation StartLoc,
1596
                                   SourceLocation LParenLoc,
1597
178
                                   SourceLocation EndLoc) {
1598
178
    return getSema().ActOnOpenMPFinalClause(Condition, StartLoc, LParenLoc,
1599
178
                                            EndLoc);
1600
178
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1597
178
                                   SourceLocation EndLoc) {
1598
178
    return getSema().ActOnOpenMPFinalClause(Condition, StartLoc, LParenLoc,
1599
178
                                            EndLoc);
1600
178
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPFinalClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1601
1602
  /// Build a new OpenMP 'num_threads' clause.
1603
  ///
1604
  /// By default, performs semantic analysis to build the new OpenMP clause.
1605
  /// Subclasses may override this routine to provide different behavior.
1606
  OMPClause *RebuildOMPNumThreadsClause(Expr *NumThreads,
1607
                                        SourceLocation StartLoc,
1608
                                        SourceLocation LParenLoc,
1609
856
                                        SourceLocation EndLoc) {
1610
856
    return getSema().ActOnOpenMPNumThreadsClause(NumThreads, StartLoc,
1611
856
                                                 LParenLoc, EndLoc);
1612
856
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1609
856
                                        SourceLocation EndLoc) {
1610
856
    return getSema().ActOnOpenMPNumThreadsClause(NumThreads, StartLoc,
1611
856
                                                 LParenLoc, EndLoc);
1612
856
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPNumThreadsClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1613
1614
  /// Build a new OpenMP 'safelen' clause.
1615
  ///
1616
  /// By default, performs semantic analysis to build the new OpenMP clause.
1617
  /// Subclasses may override this routine to provide different behavior.
1618
  OMPClause *RebuildOMPSafelenClause(Expr *Len, SourceLocation StartLoc,
1619
                                     SourceLocation LParenLoc,
1620
1.96k
                                     SourceLocation EndLoc) {
1621
1.96k
    return getSema().ActOnOpenMPSafelenClause(Len, StartLoc, LParenLoc, EndLoc);
1622
1.96k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1620
1.96k
                                     SourceLocation EndLoc) {
1621
1.96k
    return getSema().ActOnOpenMPSafelenClause(Len, StartLoc, LParenLoc, EndLoc);
1622
1.96k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPSafelenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1623
1624
  /// Build a new OpenMP 'simdlen' clause.
1625
  ///
1626
  /// By default, performs semantic analysis to build the new OpenMP clause.
1627
  /// Subclasses may override this routine to provide different behavior.
1628
  OMPClause *RebuildOMPSimdlenClause(Expr *Len, SourceLocation StartLoc,
1629
                                     SourceLocation LParenLoc,
1630
992
                                     SourceLocation EndLoc) {
1631
992
    return getSema().ActOnOpenMPSimdlenClause(Len, StartLoc, LParenLoc, EndLoc);
1632
992
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1630
992
                                     SourceLocation EndLoc) {
1631
992
    return getSema().ActOnOpenMPSimdlenClause(Len, StartLoc, LParenLoc, EndLoc);
1632
992
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPSimdlenClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1633
1634
  OMPClause *RebuildOMPSizesClause(ArrayRef<Expr *> Sizes,
1635
                                   SourceLocation StartLoc,
1636
                                   SourceLocation LParenLoc,
1637
12
                                   SourceLocation EndLoc) {
1638
12
    return getSema().ActOnOpenMPSizesClause(Sizes, StartLoc, LParenLoc, EndLoc);
1639
12
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1637
12
                                   SourceLocation EndLoc) {
1638
12
    return getSema().ActOnOpenMPSizesClause(Sizes, StartLoc, LParenLoc, EndLoc);
1639
12
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPSizesClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1640
1641
  /// Build a new OpenMP 'full' clause.
1642
  OMPClause *RebuildOMPFullClause(SourceLocation StartLoc,
1643
0
                                  SourceLocation EndLoc) {
1644
0
    return getSema().ActOnOpenMPFullClause(StartLoc, EndLoc);
1645
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPFullClause(clang::SourceLocation, clang::SourceLocation)
1646
1647
  /// Build a new OpenMP 'partial' clause.
1648
  OMPClause *RebuildOMPPartialClause(Expr *Factor, SourceLocation StartLoc,
1649
                                     SourceLocation LParenLoc,
1650
11
                                     SourceLocation EndLoc) {
1651
11
    return getSema().ActOnOpenMPPartialClause(Factor, StartLoc, LParenLoc,
1652
11
                                              EndLoc);
1653
11
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1650
11
                                     SourceLocation EndLoc) {
1651
11
    return getSema().ActOnOpenMPPartialClause(Factor, StartLoc, LParenLoc,
1652
11
                                              EndLoc);
1653
11
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPPartialClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1654
1655
  /// Build a new OpenMP 'allocator' clause.
1656
  ///
1657
  /// By default, performs semantic analysis to build the new OpenMP clause.
1658
  /// Subclasses may override this routine to provide different behavior.
1659
  OMPClause *RebuildOMPAllocatorClause(Expr *A, SourceLocation StartLoc,
1660
                                       SourceLocation LParenLoc,
1661
0
                                       SourceLocation EndLoc) {
1662
0
    return getSema().ActOnOpenMPAllocatorClause(A, StartLoc, LParenLoc, EndLoc);
1663
0
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPAllocatorClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1664
1665
  /// Build a new OpenMP 'collapse' clause.
1666
  ///
1667
  /// By default, performs semantic analysis to build the new OpenMP clause.
1668
  /// Subclasses may override this routine to provide different behavior.
1669
  OMPClause *RebuildOMPCollapseClause(Expr *Num, SourceLocation StartLoc,
1670
                                      SourceLocation LParenLoc,
1671
2.92k
                                      SourceLocation EndLoc) {
1672
2.92k
    return getSema().ActOnOpenMPCollapseClause(Num, StartLoc, LParenLoc,
1673
2.92k
                                               EndLoc);
1674
2.92k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1671
2.92k
                                      SourceLocation EndLoc) {
1672
2.92k
    return getSema().ActOnOpenMPCollapseClause(Num, StartLoc, LParenLoc,
1673
2.92k
                                               EndLoc);
1674
2.92k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPCollapseClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1675
1676
  /// Build a new OpenMP 'default' clause.
1677
  ///
1678
  /// By default, performs semantic analysis to build the new OpenMP clause.
1679
  /// Subclasses may override this routine to provide different behavior.
1680
  OMPClause *RebuildOMPDefaultClause(DefaultKind Kind, SourceLocation KindKwLoc,
1681
                                     SourceLocation StartLoc,
1682
                                     SourceLocation LParenLoc,
1683
452
                                     SourceLocation EndLoc) {
1684
452
    return getSema().ActOnOpenMPDefaultClause(Kind, KindKwLoc,
1685
452
                                              StartLoc, LParenLoc, EndLoc);
1686
452
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1683
452
                                     SourceLocation EndLoc) {
1684
452
    return getSema().ActOnOpenMPDefaultClause(Kind, KindKwLoc,
1685
452
                                              StartLoc, LParenLoc, EndLoc);
1686
452
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPDefaultClause(llvm::omp::DefaultKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1687
1688
  /// Build a new OpenMP 'proc_bind' clause.
1689
  ///
1690
  /// By default, performs semantic analysis to build the new OpenMP clause.
1691
  /// Subclasses may override this routine to provide different behavior.
1692
  OMPClause *RebuildOMPProcBindClause(ProcBindKind Kind,
1693
                                      SourceLocation KindKwLoc,
1694
                                      SourceLocation StartLoc,
1695
                                      SourceLocation LParenLoc,
1696
253
                                      SourceLocation EndLoc) {
1697
253
    return getSema().ActOnOpenMPProcBindClause(Kind, KindKwLoc,
1698
253
                                               StartLoc, LParenLoc, EndLoc);
1699
253
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1696
253
                                      SourceLocation EndLoc) {
1697
253
    return getSema().ActOnOpenMPProcBindClause(Kind, KindKwLoc,
1698
253
                                               StartLoc, LParenLoc, EndLoc);
1699
253
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPProcBindClause(llvm::omp::ProcBindKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1700
1701
  /// Build a new OpenMP 'schedule' clause.
1702
  ///
1703
  /// By default, performs semantic analysis to build the new OpenMP clause.
1704
  /// Subclasses may override this routine to provide different behavior.
1705
  OMPClause *RebuildOMPScheduleClause(
1706
      OpenMPScheduleClauseModifier M1, OpenMPScheduleClauseModifier M2,
1707
      OpenMPScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc,
1708
      SourceLocation LParenLoc, SourceLocation M1Loc, SourceLocation M2Loc,
1709
1.23k
      SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) {
1710
1.23k
    return getSema().ActOnOpenMPScheduleClause(
1711
1.23k
        M1, M2, Kind, ChunkSize, StartLoc, LParenLoc, M1Loc, M2Loc, KindLoc,
1712
1.23k
        CommaLoc, EndLoc);
1713
1.23k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1709
1.23k
      SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) {
1710
1.23k
    return getSema().ActOnOpenMPScheduleClause(
1711
1.23k
        M1, M2, Kind, ChunkSize, StartLoc, LParenLoc, M1Loc, M2Loc, KindLoc,
1712
1.23k
        CommaLoc, EndLoc);
1713
1.23k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseModifier, clang::OpenMPScheduleClauseKind, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1714
1715
  /// Build a new OpenMP 'ordered' clause.
1716
  ///
1717
  /// By default, performs semantic analysis to build the new OpenMP clause.
1718
  /// Subclasses may override this routine to provide different behavior.
1719
  OMPClause *RebuildOMPOrderedClause(SourceLocation StartLoc,
1720
                                     SourceLocation EndLoc,
1721
500
                                     SourceLocation LParenLoc, Expr *Num) {
1722
500
    return getSema().ActOnOpenMPOrderedClause(StartLoc, EndLoc, LParenLoc, Num);
1723
500
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
Line
Count
Source
1721
500
                                     SourceLocation LParenLoc, Expr *Num) {
1722
500
    return getSema().ActOnOpenMPOrderedClause(StartLoc, EndLoc, LParenLoc, Num);
1723
500
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPOrderedClause(clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::Expr*)
1724
1725
  /// Build a new OpenMP 'private' clause.
1726
  ///
1727
  /// By default, performs semantic analysis to build the new OpenMP clause.
1728
  /// Subclasses may override this routine to provide different behavior.
1729
  OMPClause *RebuildOMPPrivateClause(ArrayRef<Expr *> VarList,
1730
                                     SourceLocation StartLoc,
1731
                                     SourceLocation LParenLoc,
1732
4.51k
                                     SourceLocation EndLoc) {
1733
4.51k
    return getSema().ActOnOpenMPPrivateClause(VarList, StartLoc, LParenLoc,
1734
4.51k
                                              EndLoc);
1735
4.51k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1732
4.51k
                                     SourceLocation EndLoc) {
1733
4.51k
    return getSema().ActOnOpenMPPrivateClause(VarList, StartLoc, LParenLoc,
1734
4.51k
                                              EndLoc);
1735
4.51k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPPrivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1736
1737
  /// Build a new OpenMP 'firstprivate' clause.
1738
  ///
1739
  /// By default, performs semantic analysis to build the new OpenMP clause.
1740
  /// Subclasses may override this routine to provide different behavior.
1741
  OMPClause *RebuildOMPFirstprivateClause(ArrayRef<Expr *> VarList,
1742
                                          SourceLocation StartLoc,
1743
                                          SourceLocation LParenLoc,
1744
1.22k
                                          SourceLocation EndLoc) {
1745
1.22k
    return getSema().ActOnOpenMPFirstprivateClause(VarList, StartLoc, LParenLoc,
1746
1.22k
                                                   EndLoc);
1747
1.22k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1744
1.22k
                                          SourceLocation EndLoc) {
1745
1.22k
    return getSema().ActOnOpenMPFirstprivateClause(VarList, StartLoc, LParenLoc,
1746
1.22k
                                                   EndLoc);
1747
1.22k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPFirstprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1748
1749
  /// Build a new OpenMP 'lastprivate' clause.
1750
  ///
1751
  /// By default, performs semantic analysis to build the new OpenMP clause.
1752
  /// Subclasses may override this routine to provide different behavior.
1753
  OMPClause *RebuildOMPLastprivateClause(ArrayRef<Expr *> VarList,
1754
                                         OpenMPLastprivateModifier LPKind,
1755
                                         SourceLocation LPKindLoc,
1756
                                         SourceLocation ColonLoc,
1757
                                         SourceLocation StartLoc,
1758
                                         SourceLocation LParenLoc,
1759
1.35k
                                         SourceLocation EndLoc) {
1760
1.35k
    return getSema().ActOnOpenMPLastprivateClause(
1761
1.35k
        VarList, LPKind, LPKindLoc, ColonLoc, StartLoc, LParenLoc, EndLoc);
1762
1.35k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1759
1.35k
                                         SourceLocation EndLoc) {
1760
1.35k
    return getSema().ActOnOpenMPLastprivateClause(
1761
1.35k
        VarList, LPKind, LPKindLoc, ColonLoc, StartLoc, LParenLoc, EndLoc);
1762
1.35k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPLastprivateClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPLastprivateModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1763
1764
  /// Build a new OpenMP 'shared' clause.
1765
  ///
1766
  /// By default, performs semantic analysis to build the new OpenMP clause.
1767
  /// Subclasses may override this routine to provide different behavior.
1768
  OMPClause *RebuildOMPSharedClause(ArrayRef<Expr *> VarList,
1769
                                    SourceLocation StartLoc,
1770
                                    SourceLocation LParenLoc,
1771
1.41k
                                    SourceLocation EndLoc) {
1772
1.41k
    return getSema().ActOnOpenMPSharedClause(VarList, StartLoc, LParenLoc,
1773
1.41k
                                             EndLoc);
1774
1.41k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1771
1.41k
                                    SourceLocation EndLoc) {
1772
1.41k
    return getSema().ActOnOpenMPSharedClause(VarList, StartLoc, LParenLoc,
1773
1.41k
                                             EndLoc);
1774
1.41k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPSharedClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1775
1776
  /// Build a new OpenMP 'reduction' clause.
1777
  ///
1778
  /// By default, performs semantic analysis to build the new statement.
1779
  /// Subclasses may override this routine to provide different behavior.
1780
  OMPClause *RebuildOMPReductionClause(
1781
      ArrayRef<Expr *> VarList, OpenMPReductionClauseModifier Modifier,
1782
      SourceLocation StartLoc, SourceLocation LParenLoc,
1783
      SourceLocation ModifierLoc, SourceLocation ColonLoc,
1784
      SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec,
1785
      const DeclarationNameInfo &ReductionId,
1786
17.5k
      ArrayRef<Expr *> UnresolvedReductions) {
1787
17.5k
    return getSema().ActOnOpenMPReductionClause(
1788
17.5k
        VarList, Modifier, StartLoc, LParenLoc, ModifierLoc, ColonLoc, EndLoc,
1789
17.5k
        ReductionIdScopeSpec, ReductionId, UnresolvedReductions);
1790
17.5k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Line
Count
Source
1786
17.5k
      ArrayRef<Expr *> UnresolvedReductions) {
1787
17.5k
    return getSema().ActOnOpenMPReductionClause(
1788
17.5k
        VarList, Modifier, StartLoc, LParenLoc, ModifierLoc, ColonLoc, EndLoc,
1789
17.5k
        ReductionIdScopeSpec, ReductionId, UnresolvedReductions);
1790
17.5k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPReductionClause(llvm::ArrayRef<clang::Expr*>, clang::OpenMPReductionClauseModifier, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
1791
1792
  /// Build a new OpenMP 'task_reduction' clause.
1793
  ///
1794
  /// By default, performs semantic analysis to build the new statement.
1795
  /// Subclasses may override this routine to provide different behavior.
1796
  OMPClause *RebuildOMPTaskReductionClause(
1797
      ArrayRef<Expr *> VarList, SourceLocation StartLoc,
1798
      SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc,
1799
      CXXScopeSpec &ReductionIdScopeSpec,
1800
      const DeclarationNameInfo &ReductionId,
1801
1.24k
      ArrayRef<Expr *> UnresolvedReductions) {
1802
1.24k
    return getSema().ActOnOpenMPTaskReductionClause(
1803
1.24k
        VarList, StartLoc, LParenLoc, ColonLoc, EndLoc, ReductionIdScopeSpec,
1804
1.24k
        ReductionId, UnresolvedReductions);
1805
1.24k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Line
Count
Source
1801
1.24k
      ArrayRef<Expr *> UnresolvedReductions) {
1802
1.24k
    return getSema().ActOnOpenMPTaskReductionClause(
1803
1.24k
        VarList, StartLoc, LParenLoc, ColonLoc, EndLoc, ReductionIdScopeSpec,
1804
1.24k
        ReductionId, UnresolvedReductions);
1805
1.24k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPTaskReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
1806
1807
  /// Build a new OpenMP 'in_reduction' clause.
1808
  ///
1809
  /// By default, performs semantic analysis to build the new statement.
1810
  /// Subclasses may override this routine to provide different behavior.
1811
  OMPClause *
1812
  RebuildOMPInReductionClause(ArrayRef<Expr *> VarList, SourceLocation StartLoc,
1813
                              SourceLocation LParenLoc, SourceLocation ColonLoc,
1814
                              SourceLocation EndLoc,
1815
                              CXXScopeSpec &ReductionIdScopeSpec,
1816
                              const DeclarationNameInfo &ReductionId,
1817
1.12k
                              ArrayRef<Expr *> UnresolvedReductions) {
1818
1.12k
    return getSema().ActOnOpenMPInReductionClause(
1819
1.12k
        VarList, StartLoc, LParenLoc, ColonLoc, EndLoc, ReductionIdScopeSpec,
1820
1.12k
        ReductionId, UnresolvedReductions);
1821
1.12k
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
Line
Count
Source
1817
1.12k
                              ArrayRef<Expr *> UnresolvedReductions) {
1818
1.12k
    return getSema().ActOnOpenMPInReductionClause(
1819
1.12k
        VarList, StartLoc, LParenLoc, ColonLoc, EndLoc, ReductionIdScopeSpec,
1820
1.12k
        ReductionId, UnresolvedReductions);
1821
1.12k
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPInReductionClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, llvm::ArrayRef<clang::Expr*>)
1822
1823
  /// Build a new OpenMP 'linear' clause.
1824
  ///
1825
  /// By default, performs semantic analysis to build the new OpenMP clause.
1826
  /// Subclasses may override this routine to provide different behavior.
1827
  OMPClause *RebuildOMPLinearClause(ArrayRef<Expr *> VarList, Expr *Step,
1828
                                    SourceLocation StartLoc,
1829
                                    SourceLocation LParenLoc,
1830
                                    OpenMPLinearClauseKind Modifier,
1831
                                    SourceLocation ModifierLoc,
1832
                                    SourceLocation ColonLoc,
1833
534
                                    SourceLocation EndLoc) {
1834
534
    return getSema().ActOnOpenMPLinearClause(VarList, Step, StartLoc, LParenLoc,
1835
534
                                             Modifier, ModifierLoc, ColonLoc,
1836
534
                                             EndLoc);
1837
534
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1833
534
                                    SourceLocation EndLoc) {
1834
534
    return getSema().ActOnOpenMPLinearClause(VarList, Step, StartLoc, LParenLoc,
1835
534
                                             Modifier, ModifierLoc, ColonLoc,
1836
534
                                             EndLoc);
1837
534
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1838
1839
  /// Build a new OpenMP 'aligned' clause.
1840
  ///
1841
  /// By default, performs semantic analysis to build the new OpenMP clause.
1842
  /// Subclasses may override this routine to provide different behavior.
1843
  OMPClause *RebuildOMPAlignedClause(ArrayRef<Expr *> VarList, Expr *Alignment,
1844
                                     SourceLocation StartLoc,
1845
                                     SourceLocation LParenLoc,
1846
                                     SourceLocation ColonLoc,
1847
468
                                     SourceLocation EndLoc) {
1848
468
    return getSema().ActOnOpenMPAlignedClause(VarList, Alignment, StartLoc,
1849
468
                                              LParenLoc, ColonLoc, EndLoc);
1850
468
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1847
468
                                     SourceLocation EndLoc) {
1848
468
    return getSema().ActOnOpenMPAlignedClause(VarList, Alignment, StartLoc,
1849
468
                                              LParenLoc, ColonLoc, EndLoc);
1850
468
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPAlignedClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1851
1852
  /// Build a new OpenMP 'copyin' clause.
1853
  ///
1854
  /// By default, performs semantic analysis to build the new OpenMP clause.
1855
  /// Subclasses may override this routine to provide different behavior.
1856
  OMPClause *RebuildOMPCopyinClause(ArrayRef<Expr *> VarList,
1857
                                    SourceLocation StartLoc,
1858
                                    SourceLocation LParenLoc,
1859
128
                                    SourceLocation EndLoc) {
1860
128
    return getSema().ActOnOpenMPCopyinClause(VarList, StartLoc, LParenLoc,
1861
128
                                             EndLoc);
1862
128
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1859
128
                                    SourceLocation EndLoc) {
1860
128
    return getSema().ActOnOpenMPCopyinClause(VarList, StartLoc, LParenLoc,
1861
128
                                             EndLoc);
1862
128
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPCopyinClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1863
1864
  /// Build a new OpenMP 'copyprivate' clause.
1865
  ///
1866
  /// By default, performs semantic analysis to build the new OpenMP clause.
1867
  /// Subclasses may override this routine to provide different behavior.
1868
  OMPClause *RebuildOMPCopyprivateClause(ArrayRef<Expr *> VarList,
1869
                                         SourceLocation StartLoc,
1870
                                         SourceLocation LParenLoc,
1871
62
                                         SourceLocation EndLoc) {
1872
62
    return getSema().ActOnOpenMPCopyprivateClause(VarList, StartLoc, LParenLoc,
1873
62
                                                  EndLoc);
1874
62
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1871
62
                                         SourceLocation EndLoc) {
1872
62
    return getSema().ActOnOpenMPCopyprivateClause(VarList, StartLoc, LParenLoc,
1873
62
                                                  EndLoc);
1874
62
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPCopyprivateClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1875
1876
  /// Build a new OpenMP 'flush' pseudo clause.
1877
  ///
1878
  /// By default, performs semantic analysis to build the new OpenMP clause.
1879
  /// Subclasses may override this routine to provide different behavior.
1880
  OMPClause *RebuildOMPFlushClause(ArrayRef<Expr *> VarList,
1881
                                   SourceLocation StartLoc,
1882
                                   SourceLocation LParenLoc,
1883
30
                                   SourceLocation EndLoc) {
1884
30
    return getSema().ActOnOpenMPFlushClause(VarList, StartLoc, LParenLoc,
1885
30
                                            EndLoc);
1886
30
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1883
30
                                   SourceLocation EndLoc) {
1884
30
    return getSema().ActOnOpenMPFlushClause(VarList, StartLoc, LParenLoc,
1885
30
                                            EndLoc);
1886
30
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPFlushClause(llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1887
1888
  /// Build a new OpenMP 'depobj' pseudo clause.
1889
  ///
1890
  /// By default, performs semantic analysis to build the new OpenMP clause.
1891
  /// Subclasses may override this routine to provide different behavior.
1892
  OMPClause *RebuildOMPDepobjClause(Expr *Depobj, SourceLocation StartLoc,
1893
                                    SourceLocation LParenLoc,
1894
72
                                    SourceLocation EndLoc) {
1895
72
    return getSema().ActOnOpenMPDepobjClause(Depobj, StartLoc, LParenLoc,
1896
72
                                             EndLoc);
1897
72
  }
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<RemoveNestedImmediateInvocation(clang::Sema&, clang::Sema::ExpressionEvaluationContextRecord&, std::__1::reverse_iterator<llvm::PointerIntPair<clang::ConstantExpr*, 1u, unsigned int, llvm::PointerLikeTypeTraits<clang::ConstantExpr*>, llvm::PointerIntPairInfo<clang::ConstantExpr*, 1u, llvm::PointerLikeTypeTraits<clang::ConstantExpr*> > >*>)::ComplexRemove>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExpr.cpp:clang::TreeTransform<(anonymous namespace)::TransformToPE>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<(anonymous namespace)::TransformTypos>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaExprCXX.cpp:clang::TreeTransform<clang::Sema::CorrectDelayedTyposInExpr(clang::Expr*, clang::VarDecl*, bool, llvm::function_ref<clang::ActionResult<clang::Expr*, true> (clang::Expr*)>)::TyposReplace>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::CaptureVars>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaOpenMP.cpp:clang::TreeTransform<(anonymous namespace)::TransformExprToCaptures>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::ExtractTypeForDeductionGuide>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplate.cpp:clang::TreeTransform<(anonymous namespace)::CurrentInstantiationRebuilder>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Unexecuted instantiation: SemaTemplateDeduction.cpp:clang::TreeTransform<(anonymous namespace)::SubstituteDeducedTypeTransform>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
SemaTemplateInstantiate.cpp:clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
Line
Count
Source
1894
72
                                    SourceLocation EndLoc) {
1895
72
    return getSema().ActOnOpenMPDepobjClause(Depobj, StartLoc, LParenLoc,
1896
72
                                             EndLoc);
1897
72
  }
Unexecuted instantiation: SemaTemplateInstantiateDecl.cpp:clang::TreeTransform<clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool)::$_3::operator()() const::SpecialMemberTypeInfoRebuilder>::RebuildOMPDepobjClause(clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation)
1898
1899
  /// Build a new OpenMP 'depend' pseudo clause.
1900