Coverage Report

Created: 2021-06-15 06:44

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/AST/EvaluatedExprVisitor.h
Line
Count
Source (jump to first uncovered line)
1
//===--- EvaluatedExprVisitor.h - Evaluated expression visitor --*- 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
//
9
//  This file defines the EvaluatedExprVisitor class template, which visits
10
//  the potentially-evaluated subexpressions of a potentially-evaluated
11
//  expression.
12
//
13
//===----------------------------------------------------------------------===//
14
#ifndef LLVM_CLANG_AST_EVALUATEDEXPRVISITOR_H
15
#define LLVM_CLANG_AST_EVALUATEDEXPRVISITOR_H
16
17
#include "clang/AST/DeclCXX.h"
18
#include "clang/AST/Expr.h"
19
#include "clang/AST/ExprCXX.h"
20
#include "clang/AST/StmtVisitor.h"
21
#include "llvm/ADT/STLExtras.h"
22
23
namespace clang {
24
25
class ASTContext;
26
27
/// Given a potentially-evaluated expression, this visitor visits all
28
/// of its potentially-evaluated subexpressions, recursively.
29
template<template <typename> class Ptr, typename ImplClass>
30
class EvaluatedExprVisitorBase : public StmtVisitorBase<Ptr, ImplClass, void> {
31
protected:
32
  const ASTContext &Context;
33
34
public:
35
  // Return whether this visitor should recurse into discarded statements for a
36
  // 'constexpr-if'.
37
47
  bool shouldVisitDiscardedStmt() const { return true; }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
6
  bool shouldVisitDiscardedStmt() const { return true; }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::shouldVisitDiscardedStmt() const
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::shouldVisitDiscardedStmt() const
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::shouldVisitDiscardedStmt() const
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
2
  bool shouldVisitDiscardedStmt() const { return true; }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
3
  bool shouldVisitDiscardedStmt() const { return true; }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::shouldVisitDiscardedStmt() const
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::shouldVisitDiscardedStmt() const
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
30
  bool shouldVisitDiscardedStmt() const { return true; }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::shouldVisitDiscardedStmt() const
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::shouldVisitDiscardedStmt() const
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::shouldVisitDiscardedStmt() const
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
2
  bool shouldVisitDiscardedStmt() const { return true; }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::shouldVisitDiscardedStmt() const
Line
Count
Source
37
4
  bool shouldVisitDiscardedStmt() const { return true; }
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::shouldVisitDiscardedStmt() const
38
#define PTR(CLASS) typename Ptr<CLASS>::type
39
40
9.25M
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
26
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
4.36k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
69
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
8.98k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
8.57M
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
24
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
481k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
33.7k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
121k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
182
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
17.7k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
90
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
220
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
23
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
17
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::EvaluatedExprVisitorBase(clang::ASTContext const&)
Line
Count
Source
40
10.1k
  explicit EvaluatedExprVisitorBase(const ASTContext &Context) : Context(Context) { }
41
42
  // Expressions that have no potentially-evaluated subexpressions (but may have
43
  // other sub-expressions).
44
14.3M
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
3.26k
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
61
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
14.2M
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitDeclRefExpr(clang::DeclRefExpr*)
Line
Count
Source
44
14.4k
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
18.2k
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitDeclRefExpr(clang::DeclRefExpr*)
Line
Count
Source
44
214
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
7
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitDeclRefExpr(clang::DeclRefExpr*)
Line
Count
Source
44
80
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitDeclRefExpr(clang::DeclRefExpr const*)
Line
Count
Source
44
10.3k
  void VisitDeclRefExpr(PTR(DeclRefExpr) E) { }
45
176
  void VisitOffsetOfExpr(PTR(OffsetOfExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Line
Count
Source
45
165
  void VisitOffsetOfExpr(PTR(OffsetOfExpr) E) { }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Line
Count
Source
45
11
  void VisitOffsetOfExpr(PTR(OffsetOfExpr) E) { }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitOffsetOfExpr(clang::OffsetOfExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitOffsetOfExpr(clang::OffsetOfExpr const*)
46
82.1k
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
Line
Count
Source
46
2
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
9
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
Line
Count
Source
46
60.1k
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
1
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
21.8k
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
15
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
40
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
Line
Count
Source
46
14
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
3
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
3
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
Line
Count
Source
46
21
  void VisitUnaryExprOrTypeTraitExpr(PTR(UnaryExprOrTypeTraitExpr) E) { }
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr const*)
47
17
  void VisitExpressionTraitExpr(PTR(ExpressionTraitExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Line
Count
Source
47
12
  void VisitExpressionTraitExpr(PTR(ExpressionTraitExpr) E) { }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Line
Count
Source
47
5
  void VisitExpressionTraitExpr(PTR(ExpressionTraitExpr) E) { }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitExpressionTraitExpr(clang::ExpressionTraitExpr const*)
48
2.84k
  void VisitBlockExpr(PTR(BlockExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitBlockExpr(clang::BlockExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitBlockExpr(clang::BlockExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitBlockExpr(clang::BlockExpr const*)
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitBlockExpr(clang::BlockExpr*)
Line
Count
Source
48
98
  void VisitBlockExpr(PTR(BlockExpr) E) { }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitBlockExpr(clang::BlockExpr const*)
Line
Count
Source
48
2.66k
  void VisitBlockExpr(PTR(BlockExpr) E) { }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitBlockExpr(clang::BlockExpr*)
Line
Count
Source
48
51
  void VisitBlockExpr(PTR(BlockExpr) E) { }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitBlockExpr(clang::BlockExpr*)
Line
Count
Source
48
18
  void VisitBlockExpr(PTR(BlockExpr) E) { }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitBlockExpr(clang::BlockExpr*)
Line
Count
Source
48
9
  void VisitBlockExpr(PTR(BlockExpr) E) { }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitBlockExpr(clang::BlockExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitBlockExpr(clang::BlockExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitBlockExpr(clang::BlockExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitBlockExpr(clang::BlockExpr*)
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitBlockExpr(clang::BlockExpr const*)
Line
Count
Source
48
1
  void VisitBlockExpr(PTR(BlockExpr) E) { }
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitBlockExpr(clang::BlockExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitBlockExpr(clang::BlockExpr const*)
49
193
  void VisitCXXUuidofExpr(PTR(CXXUuidofExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Line
Count
Source
49
128
  void VisitCXXUuidofExpr(PTR(CXXUuidofExpr) E) { }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Line
Count
Source
49
65
  void VisitCXXUuidofExpr(PTR(CXXUuidofExpr) E) { }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitCXXUuidofExpr(clang::CXXUuidofExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitCXXUuidofExpr(clang::CXXUuidofExpr const*)
50
2.47k
  void VisitCXXNoexceptExpr(PTR(CXXNoexceptExpr) E) { }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Line
Count
Source
50
510
  void VisitCXXNoexceptExpr(PTR(CXXNoexceptExpr) E) { }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Line
Count
Source
50
1.96k
  void VisitCXXNoexceptExpr(PTR(CXXNoexceptExpr) E) { }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitCXXNoexceptExpr(clang::CXXNoexceptExpr const*)
51
52
621k
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
621k
    return this->Visit(E->getBase());
55
621k
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitMemberExpr(clang::MemberExpr const*)
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitMemberExpr(clang::MemberExpr const*)
Line
Count
Source
52
860
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
860
    return this->Visit(E->getBase());
55
860
  }
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitMemberExpr(clang::MemberExpr const*)
Line
Count
Source
52
9
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
9
    return this->Visit(E->getBase());
55
9
  }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitMemberExpr(clang::MemberExpr const*)
Line
Count
Source
52
620k
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
620k
    return this->Visit(E->getBase());
55
620k
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitMemberExpr(clang::MemberExpr*)
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitMemberExpr(clang::MemberExpr const*)
Line
Count
Source
52
24
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
24
    return this->Visit(E->getBase());
55
24
  }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitMemberExpr(clang::MemberExpr*)
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitMemberExpr(clang::MemberExpr*)
Line
Count
Source
52
2
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
2
    return this->Visit(E->getBase());
55
2
  }
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitMemberExpr(clang::MemberExpr const*)
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitMemberExpr(clang::MemberExpr*)
Line
Count
Source
52
22
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
22
    return this->Visit(E->getBase());
55
22
  }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitMemberExpr(clang::MemberExpr const*)
Line
Count
Source
52
40
  void VisitMemberExpr(PTR(MemberExpr) E) {
53
    // Only the base matters.
54
40
    return this->Visit(E->getBase());
55
40
  }
56
57
49
  void VisitChooseExpr(PTR(ChooseExpr) E) {
58
    // Don't visit either child expression if the condition is dependent.
59
49
    if (E->getCond()->isValueDependent())
60
0
      return;
61
    // Only the selected subexpression matters; the other one is not evaluated.
62
49
    return this->Visit(E->getChosenSubExpr());
63
49
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitChooseExpr(clang::ChooseExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitChooseExpr(clang::ChooseExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitChooseExpr(clang::ChooseExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitChooseExpr(clang::ChooseExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitChooseExpr(clang::ChooseExpr const*)
Line
Count
Source
57
49
  void VisitChooseExpr(PTR(ChooseExpr) E) {
58
    // Don't visit either child expression if the condition is dependent.
59
49
    if (E->getCond()->isValueDependent())
60
0
      return;
61
    // Only the selected subexpression matters; the other one is not evaluated.
62
49
    return this->Visit(E->getChosenSubExpr());
63
49
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitChooseExpr(clang::ChooseExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitChooseExpr(clang::ChooseExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitChooseExpr(clang::ChooseExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitChooseExpr(clang::ChooseExpr const*)
64
65
428
  void VisitGenericSelectionExpr(PTR(GenericSelectionExpr) E) {
66
    // The controlling expression of a generic selection is not evaluated.
67
68
    // Don't visit either child expression if the condition is type-dependent.
69
428
    if (E->isResultDependent())
70
0
      return;
71
    // Only the selected subexpression matters; the other subexpressions and the
72
    // controlling expression are not evaluated.
73
428
    return this->Visit(E->getResultExpr());
74
428
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Line
Count
Source
65
428
  void VisitGenericSelectionExpr(PTR(GenericSelectionExpr) E) {
66
    // The controlling expression of a generic selection is not evaluated.
67
68
    // Don't visit either child expression if the condition is type-dependent.
69
428
    if (E->isResultDependent())
70
0
      return;
71
    // Only the selected subexpression matters; the other subexpressions and the
72
    // controlling expression are not evaluated.
73
428
    return this->Visit(E->getResultExpr());
74
428
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitGenericSelectionExpr(clang::GenericSelectionExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitGenericSelectionExpr(clang::GenericSelectionExpr const*)
75
76
24
  void VisitDesignatedInitExpr(PTR(DesignatedInitExpr) E) {
77
    // Only the actual initializer matters; the designators are all constant
78
    // expressions.
79
24
    return this->Visit(E->getInit());
80
24
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Line
Count
Source
76
10
  void VisitDesignatedInitExpr(PTR(DesignatedInitExpr) E) {
77
    // Only the actual initializer matters; the designators are all constant
78
    // expressions.
79
10
    return this->Visit(E->getInit());
80
10
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Line
Count
Source
76
14
  void VisitDesignatedInitExpr(PTR(DesignatedInitExpr) E) {
77
    // Only the actual initializer matters; the designators are all constant
78
    // expressions.
79
14
    return this->Visit(E->getInit());
80
14
  }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitDesignatedInitExpr(clang::DesignatedInitExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitDesignatedInitExpr(clang::DesignatedInitExpr const*)
81
82
2.95k
  void VisitCXXTypeidExpr(PTR(CXXTypeidExpr) E) {
83
2.95k
    if (E->isPotentiallyEvaluated())
84
113
      return this->Visit(E->getExprOperand());
85
2.95k
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Unexecuted instantiation: Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Line
Count
Source
82
1.53k
  void VisitCXXTypeidExpr(PTR(CXXTypeidExpr) E) {
83
1.53k
    if (E->isPotentiallyEvaluated())
84
91
      return this->Visit(E->getExprOperand());
85
1.53k
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Line
Count
Source
82
1.41k
  void VisitCXXTypeidExpr(PTR(CXXTypeidExpr) E) {
83
1.41k
    if (E->isPotentiallyEvaluated())
84
17
      return this->Visit(E->getExprOperand());
85
1.41k
  }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Line
Count
Source
82
3
  void VisitCXXTypeidExpr(PTR(CXXTypeidExpr) E) {
83
3
    if (E->isPotentiallyEvaluated())
84
2
      return this->Visit(E->getExprOperand());
85
3
  }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Line
Count
Source
82
3
  void VisitCXXTypeidExpr(PTR(CXXTypeidExpr) E) {
83
3
    if (E->isPotentiallyEvaluated())
84
3
      return this->Visit(E->getExprOperand());
85
3
  }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitCXXTypeidExpr(clang::CXXTypeidExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitCXXTypeidExpr(clang::CXXTypeidExpr const*)
86
87
131k
  void VisitCallExpr(PTR(CallExpr) CE) {
88
131k
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
131k
      return getDerived().VisitExpr(CE);
90
131k
  }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitCallExpr(clang::CallExpr const*)
Line
Count
Source
87
3
  void VisitCallExpr(PTR(CallExpr) CE) {
88
3
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
3
      return getDerived().VisitExpr(CE);
90
3
  }
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitCallExpr(clang::CallExpr const*)
Line
Count
Source
87
31
  void VisitCallExpr(PTR(CallExpr) CE) {
88
31
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
31
      return getDerived().VisitExpr(CE);
90
31
  }
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
84.9k
  void VisitCallExpr(PTR(CallExpr) CE) {
88
84.9k
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
84.9k
      return getDerived().VisitExpr(CE);
90
84.9k
  }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
11
  void VisitCallExpr(PTR(CallExpr) CE) {
88
11
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
11
      return getDerived().VisitExpr(CE);
90
11
  }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
40.6k
  void VisitCallExpr(PTR(CallExpr) CE) {
88
40.6k
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
40.5k
      return getDerived().VisitExpr(CE);
90
40.6k
  }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
225
  void VisitCallExpr(PTR(CallExpr) CE) {
88
225
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
225
      return getDerived().VisitExpr(CE);
90
225
  }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
1.05k
  void VisitCallExpr(PTR(CallExpr) CE) {
88
1.05k
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
1.05k
      return getDerived().VisitExpr(CE);
90
1.05k
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitCallExpr(clang::CallExpr const*)
Line
Count
Source
87
103
  void VisitCallExpr(PTR(CallExpr) CE) {
88
103
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
103
      return getDerived().VisitExpr(CE);
90
103
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
1
  void VisitCallExpr(PTR(CallExpr) CE) {
88
1
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
1
      return getDerived().VisitExpr(CE);
90
1
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
3
  void VisitCallExpr(PTR(CallExpr) CE) {
88
3
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
3
      return getDerived().VisitExpr(CE);
90
3
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
42
  void VisitCallExpr(PTR(CallExpr) CE) {
88
42
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
42
      return getDerived().VisitExpr(CE);
90
42
  }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitCallExpr(clang::CallExpr*)
Line
Count
Source
87
21
  void VisitCallExpr(PTR(CallExpr) CE) {
88
21
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
21
      return getDerived().VisitExpr(CE);
90
21
  }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitCallExpr(clang::CallExpr const*)
Line
Count
Source
87
4.82k
  void VisitCallExpr(PTR(CallExpr) CE) {
88
4.82k
    if (!CE->isUnevaluatedBuiltinCall(Context))
89
4.82k
      return getDerived().VisitExpr(CE);
90
4.82k
  }
91
92
11.8k
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
11.8k
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
11.8k
                                                 E = LE->capture_init_end();
96
20.8k
         I != E; 
++I8.94k
)
97
8.94k
      if (*I)
98
8.86k
        this->Visit(*I);
99
11.8k
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitLambdaExpr(clang::LambdaExpr const*)
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitLambdaExpr(clang::LambdaExpr const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitLambdaExpr(clang::LambdaExpr const*)
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitLambdaExpr(clang::LambdaExpr*)
Line
Count
Source
92
1.34k
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
1.34k
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
1.34k
                                                 E = LE->capture_init_end();
96
3.97k
         I != E; 
++I2.63k
)
97
2.63k
      if (*I)
98
2.63k
        this->Visit(*I);
99
1.34k
  }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitLambdaExpr(clang::LambdaExpr const*)
Line
Count
Source
92
7.26k
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
7.26k
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
7.26k
                                                 E = LE->capture_init_end();
96
12.3k
         I != E; 
++I5.04k
)
97
5.04k
      if (*I)
98
4.97k
        this->Visit(*I);
99
7.26k
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitLambdaExpr(clang::LambdaExpr*)
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitLambdaExpr(clang::LambdaExpr*)
Line
Count
Source
92
3.10k
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
3.10k
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
3.10k
                                                 E = LE->capture_init_end();
96
4.34k
         I != E; 
++I1.23k
)
97
1.23k
      if (*I)
98
1.23k
        this->Visit(*I);
99
3.10k
  }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitLambdaExpr(clang::LambdaExpr*)
Line
Count
Source
92
71
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
71
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
71
                                                 E = LE->capture_init_end();
96
94
         I != E; 
++I23
)
97
23
      if (*I)
98
23
        this->Visit(*I);
99
71
  }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitLambdaExpr(clang::LambdaExpr*)
Line
Count
Source
92
97
  void VisitLambdaExpr(PTR(LambdaExpr) LE) {
93
    // Only visit the capture initializers, and not the body.
94
97
    for (LambdaExpr::const_capture_init_iterator I = LE->capture_init_begin(),
95
97
                                                 E = LE->capture_init_end();
96
97
         I != E; 
++I0
)
97
0
      if (*I)
98
0
        this->Visit(*I);
99
97
  }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitLambdaExpr(clang::LambdaExpr const*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitLambdaExpr(clang::LambdaExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitLambdaExpr(clang::LambdaExpr*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitLambdaExpr(clang::LambdaExpr*)
Unexecuted instantiation: SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitLambdaExpr(clang::LambdaExpr const*)
Unexecuted instantiation: MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitLambdaExpr(clang::LambdaExpr*)
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitLambdaExpr(clang::LambdaExpr const*)
100
101
  /// The basis case walks all of the children of the statement or
102
  /// expression, assuming they are all potentially evaluated.
103
37.6M
  void VisitStmt(PTR(Stmt) S) {
104
37.6M
    for (auto *SubStmt : S->children())
105
35.4M
      if (SubStmt)
106
35.3M
        this->Visit(SubStmt);
107
37.6M
  }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
55
  void VisitStmt(PTR(Stmt) S) {
104
55
    for (auto *SubStmt : S->children())
105
78
      if (SubStmt)
106
78
        this->Visit(SubStmt);
107
55
  }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
14.8k
  void VisitStmt(PTR(Stmt) S) {
104
14.8k
    for (auto *SubStmt : S->children())
105
14.2k
      if (SubStmt)
106
14.2k
        this->Visit(SubStmt);
107
14.8k
  }
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
286
  void VisitStmt(PTR(Stmt) S) {
104
286
    for (auto *SubStmt : S->children())
105
372
      if (SubStmt)
106
372
        this->Visit(SubStmt);
107
286
  }
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
1.95M
  void VisitStmt(PTR(Stmt) S) {
104
1.95M
    for (auto *SubStmt : S->children())
105
2.44M
      if (SubStmt)
106
2.35M
        this->Visit(SubStmt);
107
1.95M
  }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
34.3M
  void VisitStmt(PTR(Stmt) S) {
104
34.3M
    for (auto *SubStmt : S->children())
105
32.0M
      if (SubStmt)
106
32.0M
        this->Visit(SubStmt);
107
34.3M
  }
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
98
  void VisitStmt(PTR(Stmt) S) {
104
98
    for (auto *SubStmt : S->children())
105
107
      if (SubStmt)
106
107
        this->Visit(SubStmt);
107
98
  }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
1.08M
  void VisitStmt(PTR(Stmt) S) {
104
1.08M
    for (auto *SubStmt : S->children())
105
914k
      if (SubStmt)
106
914k
        this->Visit(SubStmt);
107
1.08M
  }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
27.6k
  void VisitStmt(PTR(Stmt) S) {
104
27.6k
    for (auto *SubStmt : S->children())
105
9.70k
      if (SubStmt)
106
9.70k
        this->Visit(SubStmt);
107
27.6k
  }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
69.5k
  void VisitStmt(PTR(Stmt) S) {
104
69.5k
    for (auto *SubStmt : S->children())
105
44.7k
      if (SubStmt)
106
43.2k
        this->Visit(SubStmt);
107
69.5k
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
36.8k
  void VisitStmt(PTR(Stmt) S) {
104
36.8k
    for (auto *SubStmt : S->children())
105
37.4k
      if (SubStmt)
106
37.4k
        this->Visit(SubStmt);
107
36.8k
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
308
  void VisitStmt(PTR(Stmt) S) {
104
308
    for (auto *SubStmt : S->children())
105
388
      if (SubStmt)
106
388
        this->Visit(SubStmt);
107
308
  }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
606
  void VisitStmt(PTR(Stmt) S) {
104
606
    for (auto *SubStmt : S->children())
105
638
      if (SubStmt)
106
638
        this->Visit(SubStmt);
107
606
  }
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
47
  void VisitStmt(PTR(Stmt) S) {
104
47
    for (auto *SubStmt : S->children())
105
54
      if (SubStmt)
106
53
        this->Visit(SubStmt);
107
47
  }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitStmt(clang::Stmt*)
Line
Count
Source
103
318
  void VisitStmt(PTR(Stmt) S) {
104
318
    for (auto *SubStmt : S->children())
105
402
      if (SubStmt)
106
402
        this->Visit(SubStmt);
107
318
  }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitStmt(clang::Stmt const*)
Line
Count
Source
103
23.9k
  void VisitStmt(PTR(Stmt) S) {
104
23.9k
    for (auto *SubStmt : S->children())
105
24.1k
      if (SubStmt)
106
24.1k
        this->Visit(SubStmt);
107
23.9k
  }
108
109
1.70k
  void VisitIfStmt(PTR(IfStmt) If) {
110
1.70k
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
1.65k
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
3
        if (*SubStmt)
113
2
          this->Visit(*SubStmt);
114
3
        return;
115
3
      }
116
1.65k
    }
117
118
1.70k
    getDerived().VisitStmt(If);
119
1.70k
  }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::VisitIfStmt(clang::IfStmt const*)
Line
Count
Source
109
6
  void VisitIfStmt(PTR(IfStmt) If) {
110
6
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
6
    getDerived().VisitStmt(If);
119
6
  }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::VisitIfStmt(clang::IfStmt const*)
Unexecuted instantiation: AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::VisitIfStmt(clang::IfStmt const*)
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::VisitIfStmt(clang::IfStmt*)
Line
Count
Source
109
1.65k
  void VisitIfStmt(PTR(IfStmt) If) {
110
1.65k
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
1.65k
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
3
        if (*SubStmt)
113
2
          this->Visit(*SubStmt);
114
3
        return;
115
3
      }
116
1.65k
    }
117
118
1.65k
    getDerived().VisitStmt(If);
119
1.65k
  }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::VisitIfStmt(clang::IfStmt const*)
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::VisitIfStmt(clang::IfStmt*)
Line
Count
Source
109
2
  void VisitIfStmt(PTR(IfStmt) If) {
110
2
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
2
    getDerived().VisitStmt(If);
119
2
  }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::VisitIfStmt(clang::IfStmt*)
Line
Count
Source
109
3
  void VisitIfStmt(PTR(IfStmt) If) {
110
3
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
3
    getDerived().VisitStmt(If);
119
3
  }
Unexecuted instantiation: SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::VisitIfStmt(clang::IfStmt*)
Unexecuted instantiation: SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::VisitIfStmt(clang::IfStmt*)
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::VisitIfStmt(clang::IfStmt const*)
Line
Count
Source
109
30
  void VisitIfStmt(PTR(IfStmt) If) {
110
30
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
30
    getDerived().VisitStmt(If);
119
30
  }
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::VisitIfStmt(clang::IfStmt*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::VisitIfStmt(clang::IfStmt*)
Unexecuted instantiation: SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::VisitIfStmt(clang::IfStmt*)
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::VisitIfStmt(clang::IfStmt const*)
Line
Count
Source
109
2
  void VisitIfStmt(PTR(IfStmt) If) {
110
2
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
2
    getDerived().VisitStmt(If);
119
2
  }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::VisitIfStmt(clang::IfStmt*)
Line
Count
Source
109
4
  void VisitIfStmt(PTR(IfStmt) If) {
110
4
    if (!getDerived().shouldVisitDiscardedStmt()) {
111
0
      if (auto SubStmt = If->getNondiscardedCase(Context)) {
112
0
        if (*SubStmt)
113
0
          this->Visit(*SubStmt);
114
0
        return;
115
0
      }
116
0
    }
117
118
4
    getDerived().VisitStmt(If);
119
4
  }
Unexecuted instantiation: CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::VisitIfStmt(clang::IfStmt const*)
120
121
135k
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SideEffectFinder>::getDerived()
Line
Count
Source
121
15
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
Unexecuted instantiation: Expr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::NonTrivialCallFinder>::getDerived()
AnalysisBasedWarnings.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::ContainsReference>::getDerived()
Line
Count
Source
121
31
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
Sema.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeferredDiagnosticsEmitter>::getDerived()
Line
Count
Source
121
88.2k
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
Unexecuted instantiation: SemaChecking.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::SequenceChecker>::getDerived()
SemaChecking.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::FindCaptureVisitor>::getDerived()
Line
Count
Source
121
15
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaDecl.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::SelfReferenceChecker>::getDerived()
Line
Count
Source
121
40.5k
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaDeclCXX.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::UninitializedFieldVisitor>::getDerived()
Line
Count
Source
121
225
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaExpr.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::EvaluatedExprMarker>::getDerived()
Line
Count
Source
121
1.05k
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::BreakContinueFinder>::getDerived()
Line
Count
Source
121
163
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclExtractor>::getDerived()
Line
Count
Source
121
1
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::DeclMatcher>::getDerived()
Line
Count
Source
121
3
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaStmt.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CommaVisitor>::getDerived()
Line
Count
Source
121
42
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
SemaStmtAttr.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::CallExprFinder>::getDerived()
Line
Count
Source
121
4
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitorBase<std::__1::add_pointer, (anonymous namespace)::CheckOverflowOps>::getDerived()
Line
Count
Source
121
29
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
CGClass.cpp:clang::EvaluatedExprVisitorBase<llvm::make_const_ptr, (anonymous namespace)::DynamicThisUseChecker>::getDerived()
Line
Count
Source
121
4.82k
  ImplClass &getDerived() { return *static_cast<ImplClass *>(this); }
122
123
#undef PTR
124
};
125
126
/// EvaluatedExprVisitor - This class visits 'Expr *'s
127
template <typename ImplClass>
128
class EvaluatedExprVisitor
129
    : public EvaluatedExprVisitorBase<std::add_pointer, ImplClass> {
130
public:
131
  explicit EvaluatedExprVisitor(const ASTContext &Context)
132
646k
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
Sema.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::DeferredDiagnosticsEmitter>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
8.98k
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaChecking.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::FindCaptureVisitor>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
24
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaDecl.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::SelfReferenceChecker>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
481k
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaDeclCXX.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::UninitializedFieldVisitor>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
33.7k
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaExpr.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::EvaluatedExprMarker>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
121k
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaStmt.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::CommaVisitor>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
182
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaStmt.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::DeclExtractor>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
90
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
SemaStmt.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::DeclMatcher>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
220
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
MallocOverflowSecurityChecker.cpp:clang::EvaluatedExprVisitor<(anonymous namespace)::CheckOverflowOps>::EvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
132
17
      : EvaluatedExprVisitorBase<std::add_pointer, ImplClass>(Context) {}
133
};
134
135
/// ConstEvaluatedExprVisitor - This class visits 'const Expr *'s.
136
template <typename ImplClass>
137
class ConstEvaluatedExprVisitor
138
    : public EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass> {
139
public:
140
  explicit ConstEvaluatedExprVisitor(const ASTContext &Context)
141
8.60M
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
Expr.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::SideEffectFinder>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
26
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
Expr.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::NonTrivialCallFinder>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
4.36k
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
AnalysisBasedWarnings.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::ContainsReference>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
69
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
SemaChecking.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::SequenceChecker>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
8.57M
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
SemaStmt.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::BreakContinueFinder>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
17.7k
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
SemaStmtAttr.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::CallExprFinder>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
23
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
CGClass.cpp:clang::ConstEvaluatedExprVisitor<(anonymous namespace)::DynamicThisUseChecker>::ConstEvaluatedExprVisitor(clang::ASTContext const&)
Line
Count
Source
141
10.1k
      : EvaluatedExprVisitorBase<llvm::make_const_ptr, ImplClass>(Context) {}
142
};
143
}
144
145
#endif // LLVM_CLANG_AST_EVALUATEDEXPRVISITOR_H