Coverage Report

Created: 2020-02-15 09:57

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