Coverage Report

Created: 2021-01-23 06:44

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/Basic/PartialDiagnostic.h
Line
Count
Source (jump to first uncovered line)
1
//===- PartialDiagnostic.h - Diagnostic "closures" --------------*- 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
/// \file
10
/// Implements a partial diagnostic that can be emitted anwyhere
11
/// in a DiagnosticBuilder stream.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_CLANG_BASIC_PARTIALDIAGNOSTIC_H
16
#define LLVM_CLANG_BASIC_PARTIALDIAGNOSTIC_H
17
18
#include "clang/Basic/Diagnostic.h"
19
#include "clang/Basic/LLVM.h"
20
#include "clang/Basic/SourceLocation.h"
21
#include "llvm/ADT/SmallVector.h"
22
#include "llvm/ADT/StringRef.h"
23
#include <cassert>
24
#include <cstdint>
25
#include <string>
26
#include <type_traits>
27
#include <utility>
28
29
namespace clang {
30
31
class DeclContext;
32
class IdentifierInfo;
33
34
class PartialDiagnostic : public StreamingDiagnostic {
35
private:
36
  // NOTE: Sema assumes that PartialDiagnostic is location-invariant
37
  // in the sense that its bits can be safely memcpy'ed and destructed
38
  // in the new location.
39
40
  /// The diagnostic ID.
41
  mutable unsigned DiagID = 0;
42
public:
43
  struct NullDiagnostic {};
44
45
  /// Create a null partial diagnostic, which cannot carry a payload,
46
  /// and only exists to be swapped with a real partial diagnostic.
47
89.9k
  PartialDiagnostic(NullDiagnostic) {}
48
49
  PartialDiagnostic(unsigned DiagID, DiagStorageAllocator &Allocator_)
50
3.69M
      : StreamingDiagnostic(Allocator_), DiagID(DiagID) {}
51
52
  PartialDiagnostic(const PartialDiagnostic &Other)
53
2.04M
      : StreamingDiagnostic(), DiagID(Other.DiagID) {
54
2.04M
    Allocator = Other.Allocator;
55
2.04M
    if (Other.DiagStorage) {
56
104k
      DiagStorage = getStorage();
57
104k
      *DiagStorage = *Other.DiagStorage;
58
104k
    }
59
2.04M
  }
60
61
1.17M
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.17M
    const StreamingDiagnostic &DB = *this;
63
1.17M
    DB << V;
64
1.17M
    return *this;
65
1.17M
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AccessKinds>(clang::AccessKinds const&) const
Line
Count
Source
61
1.61k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.61k
    const StreamingDiagnostic &DB = *this;
63
1.61k
    DB << V;
64
1.61k
    return *this;
65
1.61k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<bool>(bool const&) const
Line
Count
Source
61
174k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
174k
    const StreamingDiagnostic &DB = *this;
63
174k
    DB << V;
64
174k
    return *this;
65
174k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::QualType>(clang::QualType const&) const
Line
Count
Source
61
226k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
226k
    const StreamingDiagnostic &DB = *this;
63
226k
    DB << V;
64
226k
    return *this;
65
226k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VarDecl const*>(clang::VarDecl const* const&) const
Line
Count
Source
61
604k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
604k
    const StreamingDiagnostic &DB = *this;
63
604k
    DB << V;
64
604k
    return *this;
65
604k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [31]>(char const (&) [31]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const
Line
Count
Source
61
15.2k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
15.2k
    const StreamingDiagnostic &DB = *this;
63
15.2k
    DB << V;
64
15.2k
    return *this;
65
15.2k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<int>(int const&) const
Line
Count
Source
61
5.28k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
5.28k
    const StreamingDiagnostic &DB = *this;
63
5.28k
    DB << V;
64
5.28k
    return *this;
65
5.28k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamedDecl const*>(clang::NamedDecl const* const&) const
Line
Count
Source
61
1.72k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.72k
    const StreamingDiagnostic &DB = *this;
63
1.72k
    DB << V;
64
1.72k
    return *this;
65
1.72k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FieldDecl*>(clang::FieldDecl* const&) const
Line
Count
Source
61
5
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
5
    const StreamingDiagnostic &DB = *this;
63
5
    DB << V;
64
5
    return *this;
65
5
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FieldDecl const*>(clang::FieldDecl const* const&) const
Line
Count
Source
61
392
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
392
    const StreamingDiagnostic &DB = *this;
63
392
    DB << V;
64
392
    return *this;
65
392
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CheckSubobjectKind>(clang::CheckSubobjectKind const&) const
Line
Count
Source
61
166
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
166
    const StreamingDiagnostic &DB = *this;
63
166
    DB << V;
64
166
    return *this;
65
166
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<unsigned int>(unsigned int const&) const
Line
Count
Source
61
571
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
571
    const StreamingDiagnostic &DB = *this;
63
571
    DB << V;
64
571
    return *this;
65
571
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXRecordDecl const*>(clang::CXXRecordDecl const* const&) const
Line
Count
Source
61
38
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
38
    const StreamingDiagnostic &DB = *this;
63
38
    DB << V;
64
38
    return *this;
65
38
  }
ExprConstant.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::DynAlloc::Kind>((anonymous namespace)::DynAlloc::Kind const&) const
Line
Count
Source
61
34
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
34
    const StreamingDiagnostic &DB = *this;
63
34
    DB << V;
64
34
    return *this;
65
34
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXMethodDecl const*>(clang::CXXMethodDecl const* const&) const
Line
Count
Source
61
4
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
4
    const StreamingDiagnostic &DB = *this;
63
4
    DB << V;
64
4
    return *this;
65
4
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXRecordDecl*>(clang::CXXRecordDecl* const&) const
Line
Count
Source
61
13
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
13
    const StreamingDiagnostic &DB = *this;
63
13
    DB << V;
64
13
    return *this;
65
13
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FunctionDecl const*>(clang::FunctionDecl const* const&) const
Line
Count
Source
61
31.3k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
31.3k
    const StreamingDiagnostic &DB = *this;
63
31.3k
    DB << V;
64
31.3k
    return *this;
65
31.3k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::RecordDecl const*>(clang::RecordDecl const* const&) const
Line
Count
Source
61
8
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
8
    const StreamingDiagnostic &DB = *this;
63
8
    DB << V;
64
8
    return *this;
65
8
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AccessSpecifier>(clang::AccessSpecifier const&) const
Line
Count
Source
61
8
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
8
    const StreamingDiagnostic &DB = *this;
63
8
    DB << V;
64
8
    return *this;
65
8
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FunctionDecl*>(clang::FunctionDecl* const&) const
Line
Count
Source
61
4.26k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
4.26k
    const StreamingDiagnostic &DB = *this;
63
4.26k
    DB << V;
64
4.26k
    return *this;
65
4.26k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SourceRange>(clang::SourceRange const&) const
Line
Count
Source
61
23.7k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
23.7k
    const StreamingDiagnostic &DB = *this;
63
23.7k
    DB << V;
64
23.7k
    return *this;
65
23.7k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXConstructorDecl const*>(clang::CXXConstructorDecl const* const&) const
Line
Count
Source
61
1.20k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.20k
    const StreamingDiagnostic &DB = *this;
63
1.20k
    DB << V;
64
1.20k
    return *this;
65
1.20k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::StringRef>(llvm::StringRef const&) const
Line
Count
Source
61
8.66k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
8.66k
    const StreamingDiagnostic &DB = *this;
63
8.66k
    DB << V;
64
8.66k
    return *this;
65
8.66k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ValueDecl const*>(clang::ValueDecl const* const&) const
Line
Count
Source
61
27.8k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
27.8k
    const StreamingDiagnostic &DB = *this;
63
27.8k
    DB << V;
64
27.8k
    return *this;
65
27.8k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FixItHint>(clang::FixItHint const&) const
Line
Count
Source
61
129
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
129
    const StreamingDiagnostic &DB = *this;
63
129
    DB << V;
64
129
    return *this;
65
129
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCMethodDecl const*>(clang::ObjCMethodDecl const* const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::threadSafety::LockKind>(clang::threadSafety::LockKind const&) const
Line
Count
Source
61
1.21k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.21k
    const StreamingDiagnostic &DB = *this;
63
1.21k
    DB << V;
64
1.21k
    return *this;
65
1.21k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallString<32u> >(llvm::SmallString<32u> const&) const
Line
Count
Source
61
17
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
17
    const StreamingDiagnostic &DB = *this;
63
17
    DB << V;
64
17
    return *this;
65
17
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [17]>(char const (&) [17]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [46]>(char const (&) [46]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [36]>(char const (&) [36]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [45]>(char const (&) [45]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [23]>(char const (&) [23]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [24]>(char const (&) [24]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [32]>(char const (&) [32]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [34]>(char const (&) [34]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [19]>(char const (&) [19]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [29]>(char const (&) [29]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [11]>(char const (&) [11]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [8]>(char const (&) [8]) const
Line
Count
Source
61
1
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1
    const StreamingDiagnostic &DB = *this;
63
1
    DB << V;
64
1
    return *this;
65
1
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [54]>(char const (&) [54]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [39]>(char const (&) [39]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [47]>(char const (&) [47]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [16]>(char const (&) [16]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [22]>(char const (&) [22]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [58]>(char const (&) [58]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [59]>(char const (&) [59]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [6]>(char const (&) [6]) const
Line
Count
Source
61
9
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
9
    const StreamingDiagnostic &DB = *this;
63
9
    DB << V;
64
9
    return *this;
65
9
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [57]>(char const (&) [57]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [48]>(char const (&) [48]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [42]>(char const (&) [42]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [43]>(char const (&) [43]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [56]>(char const (&) [56]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [20]>(char const (&) [20]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [75]>(char const (&) [75]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [25]>(char const (&) [25]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [53]>(char const (&) [53]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [38]>(char const (&) [38]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [35]>(char const (&) [35]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [28]>(char const (&) [28]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [71]>(char const (&) [71]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [92]>(char const (&) [92]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [67]>(char const (&) [67]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [49]>(char const (&) [49]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [77]>(char const (&) [77]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [150]>(char const (&) [150]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [69]>(char const (&) [69]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [87]>(char const (&) [87]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ValueDecl*>(clang::ValueDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [7]>(char const (&) [7]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::IdentifierInfo*>(clang::IdentifierInfo* const&) const
Line
Count
Source
61
529
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
529
    const StreamingDiagnostic &DB = *this;
63
529
    DB << V;
64
529
    return *this;
65
529
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [12]>(char const (&) [12]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [5]>(char const (&) [5]) const
Line
Count
Source
61
1
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1
    const StreamingDiagnostic &DB = *this;
63
1
    DB << V;
64
1
    return *this;
65
1
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [14]>(char const (&) [14]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [9]>(char const (&) [9]) const
Line
Count
Source
61
1.28k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.28k
    const StreamingDiagnostic &DB = *this;
63
1.28k
    DB << V;
64
1.28k
    return *this;
65
1.28k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamedDecl*>(clang::NamedDecl* const&) const
Line
Count
Source
61
17
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
17
    const StreamingDiagnostic &DB = *this;
63
17
    DB << V;
64
17
    return *this;
65
17
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ASTContext::SectionInfo>(clang::ASTContext::SectionInfo const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParsedAttr>(clang::ParsedAttr const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::IdentifierInfo const*>(clang::IdentifierInfo const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallVector<clang::FixItHint, 12u> >(llvm::SmallVector<clang::FixItHint, 12u> const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<CastType>(CastType const&) const
Line
Count
Source
61
50
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
50
    const StreamingDiagnostic &DB = *this;
63
50
    DB << V;
64
50
    return *this;
65
50
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [37]>(char const (&) [37]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallString<16u> >(llvm::SmallString<16u> const&) const
Line
Count
Source
61
2
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
2
    const StreamingDiagnostic &DB = *this;
63
2
    DB << V;
64
2
    return *this;
65
2
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::ArrayRef<clang::FixItHint> >(llvm::ArrayRef<clang::FixItHint> const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CharSourceRange>(clang::CharSourceRange const&) const
Line
Count
Source
61
3.56k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
3.56k
    const StreamingDiagnostic &DB = *this;
63
3.56k
    DB << V;
64
3.56k
    return *this;
65
3.56k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallString<4u> >(llvm::SmallString<4u> const&) const
Line
Count
Source
61
17
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
17
    const StreamingDiagnostic &DB = *this;
63
17
    DB << V;
64
17
    return *this;
65
17
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<AbsoluteValueKind>(AbsoluteValueKind const&) const
Unexecuted instantiation: SemaChecking.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::DiagnoseAlwaysNonNullPointer(clang::Expr*, clang::Expr::NullPointerConstantKind, bool, clang::SourceRange)::$_10>(clang::Sema::DiagnoseAlwaysNonNullPointer(clang::Expr*, clang::Expr::NullPointerConstantKind, bool, clang::SourceRange)::$_10 const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ConceptSpecializationExpr*>(clang::ConceptSpecializationExpr* const&) const
Unexecuted instantiation: SemaCoroutine.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<isValidCoroutineContext(clang::Sema&, clang::SourceLocation, llvm::StringRef)::InvalidFuncDiag>(isValidCoroutineContext(clang::Sema&, clang::SourceLocation, llvm::StringRef)::InvalidFuncDiag const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::LabelDecl*>(clang::LabelDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlignedAttr const*>(clang::AlignedAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlignedAttr*>(clang::AlignedAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DLLImportAttr const*>(clang::DLLImportAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NotTailCalledAttr*>(clang::NotTailCalledAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Attr const*>(clang::Attr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char const*>(char const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AnyX86NoCallerSavedRegistersAttr*>(clang::AnyX86NoCallerSavedRegistersAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VarDecl*>(clang::VarDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TypedefNameDecl*>(clang::TypedefNameDecl* const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TemplateName>(clang::TemplateName const&) const
Line
Count
Source
61
28
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
28
    const StreamingDiagnostic &DB = *this;
63
28
    DB << V;
64
28
    return *this;
65
28
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::InheritableAttr const*>(clang::InheritableAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<ShadowedDeclKind>(ShadowedDeclKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeclContext const*>(clang::DeclContext const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::StorageClass>(clang::StorageClass const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::NonTrivialCUnionContext>(clang::Sema::NonTrivialCUnionContext const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [1]>(char const (&) [1]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallVector<clang::FixItHint, 1u> >(llvm::SmallVector<clang::FixItHint, 1u> const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::UsedAttr*>(clang::UsedAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParmVarDecl*>(clang::ParmVarDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParmVarDecl const*>(clang::ParmVarDecl const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TypedefDecl*>(clang::TypedefDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TagTypeKind>(clang::TagTypeKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::NonTagKind>(clang::Sema::NonTagKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TagDecl*>(clang::TagDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CXXSpecialMember>(clang::Sema::CXXSpecialMember const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::RecordDecl*>(clang::RecordDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::EnumConstantDecl*>(clang::EnumConstantDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::EnumDecl*>(clang::EnumDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Mips16Attr const*>(clang::Mips16Attr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MicroMipsAttr const*>(clang::MicroMipsAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MipsInterruptAttr const*>(clang::MipsInterruptAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MipsShortCallAttr const*>(clang::MipsShortCallAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MipsLongCallAttr const*>(clang::MipsLongCallAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NotTailCalledAttr const*>(clang::NotTailCalledAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDASharedAttr const*>(clang::CUDASharedAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::HIPManagedAttr const*>(clang::HIPManagedAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDADeviceAttr const*>(clang::CUDADeviceAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDAHostAttr const*>(clang::CUDAHostAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDAGlobalAttr const*>(clang::CUDAGlobalAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDAConstantAttr const*>(clang::CUDAConstantAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDADeviceBuiltinTextureTypeAttr const*>(clang::CUDADeviceBuiltinTextureTypeAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDADeviceBuiltinSurfaceTypeAttr const*>(clang::CUDADeviceBuiltinSurfaceTypeAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::OwnershipAttr const*>(clang::OwnershipAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::HotAttr const*>(clang::HotAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ColdAttr const*>(clang::ColdAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DisableTailCallsAttr const*>(clang::DisableTailCallsAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VecReturnAttr*>(clang::VecReturnAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CFUnknownTransferAttr const*>(clang::CFUnknownTransferAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CFAuditedTransferAttr const*>(clang::CFAuditedTransferAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AttributeDeclKind>(clang::AttributeDeclKind const&) const
Unexecuted instantiation: SemaDeclAttr.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<handleXReturnsXRetainedAttr(clang::Sema&, clang::Decl*, clang::ParsedAttr const&)::$_3>(handleXReturnsXRetainedAttr(clang::Sema&, clang::Decl*, clang::ParsedAttr const&)::$_3 const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NoSpeculativeLoadHardeningAttr const*>(clang::NoSpeculativeLoadHardeningAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SpeculativeLoadHardeningAttr const*>(clang::SpeculativeLoadHardeningAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlwaysInlineAttr const*>(clang::AlwaysInlineAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NakedAttr const*>(clang::NakedAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::OwnerAttr const*>(clang::OwnerAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::PointerAttr const*>(clang::PointerAttr const* const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [4]>(char const (&) [4]) const
Line
Count
Source
61
3
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
3
    const StreamingDiagnostic &DB = *this;
63
3
    DB << V;
64
3
    return *this;
65
3
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NoDestroyAttr const*>(clang::NoDestroyAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlwaysDestroyAttr const*>(clang::AlwaysDestroyAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [18]>(char const (&) [18]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AttributeCommonInfo>(clang::AttributeCommonInfo const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::InternalLinkageAttr const*>(clang::InternalLinkageAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CommonAttr const*>(clang::CommonAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SwiftNameAttr const*>(clang::SwiftNameAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlwaysInlineAttr*>(clang::AlwaysInlineAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MinSizeAttr*>(clang::MinSizeAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParameterABIAttr*>(clang::ParameterABIAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DLLImportAttr*>(clang::DLLImportAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ReqdWorkGroupSizeAttr const*>(clang::ReqdWorkGroupSizeAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::WorkGroupSizeHintAttr const*>(clang::WorkGroupSizeHintAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VecTypeHintAttr const*>(clang::VecTypeHintAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::OpenCLIntelReqdSubGroupSizeAttr const*>(clang::OpenCLIntelReqdSubGroupSizeAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUFlatWorkGroupSizeAttr const*>(clang::AMDGPUFlatWorkGroupSizeAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUWavesPerEUAttr const*>(clang::AMDGPUWavesPerEUAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUNumSGPRAttr const*>(clang::AMDGPUNumSGPRAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUNumVGPRAttr const*>(clang::AMDGPUNumVGPRAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::AbstractDiagSelID>(clang::Sema::AbstractDiagSelID const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ClassTemplateDecl*>(clang::ClassTemplateDecl* const&) const
SemaDeclCXX.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::DefaultedComparisonSubobject::$_7>((anonymous namespace)::DefaultedComparisonSubobject::$_7 const&) const
Line
Count
Source
61
17
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
17
    const StreamingDiagnostic &DB = *this;
63
17
    DB << V;
64
17
    return *this;
65
17
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<TrivialSubobjectKind>(TrivialSubobjectKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXConstructorDecl*>(clang::CXXConstructorDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DecompositionDecl*>(clang::DecompositionDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Attr*>(clang::Attr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::InheritableAttr*>(clang::InheritableAttr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ClassTemplateSpecializationDecl*>(clang::ClassTemplateSpecializationDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TemplateDecl*>(clang::TemplateDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [15]>(char const (&) [15]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCMethodDecl*>(clang::ObjCMethodDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCInterfaceDecl const*>(clang::ObjCInterfaceDecl const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCCategoryDecl*>(clang::ObjCCategoryDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCProtocolDecl const*>(clang::ObjCProtocolDecl const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCMethodFamily>(clang::ObjCMethodFamily const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [10]>(char const (&) [10]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCProtocolDecl*>(clang::ObjCProtocolDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Selector>(clang::Selector const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCIvarDecl const*>(clang::ObjCIvarDecl const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CanQual<clang::Type> >(clang::CanQual<clang::Type> const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallString<40u> >(llvm::SmallString<40u> const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SourceLocation>(clang::SourceLocation const&) const
Line
Count
Source
61
58
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
58
    const StreamingDiagnostic &DB = *this;
63
58
    DB << V;
64
58
    return *this;
65
58
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<OriginalExprKind>(OriginalExprKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TypeAliasTemplateDecl*>(clang::TypeAliasTemplateDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::UsingPackDecl*>(clang::UsingPackDecl* const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::VariadicCallType>(clang::Sema::VariadicCallType const&) const
Line
Count
Source
61
1.50k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
1.50k
    const StreamingDiagnostic &DB = *this;
63
1.50k
    DB << V;
64
1.50k
    return *this;
65
1.50k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Expr*>(clang::Expr* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [2]>(char const (&) [2]) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::AssignmentAction>(clang::Sema::AssignmentAction const&) const
Line
Count
Source
61
12.9k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
12.9k
    const StreamingDiagnostic &DB = *this;
63
12.9k
    DB << V;
64
12.9k
    return *this;
65
12.9k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::ObjCLiteralKind>(clang::Sema::ObjCLiteralKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCBridgeCastKind>(clang::ObjCBridgeCastKind const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::OverloadingResult>(clang::OverloadingResult const&) const
Line
Count
Source
61
54
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
54
    const StreamingDiagnostic &DB = *this;
63
54
    DB << V;
64
54
    return *this;
65
54
  }
Unexecuted instantiation: SemaInit.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::ReferenceKind>((anonymous namespace)::ReferenceKind const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeclarationName>(clang::DeclarationName const&) const
Line
Count
Source
61
29.3k
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
29.3k
    const StreamingDiagnostic &DB = *this;
63
29.3k
    DB << V;
64
29.3k
    return *this;
65
29.3k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Qualifiers::ObjCLifetime>(clang::Qualifiers::ObjCLifetime const&) const
Unexecuted instantiation: SemaObjCProperty.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<SelectPropertyForSynthesisFromProtocols(clang::Sema&, clang::SourceLocation, clang::ObjCInterfaceDecl*, clang::ObjCPropertyDecl*)::MismatchKind>(SelectPropertyForSynthesisFromProtocols(clang::Sema&, clang::SourceLocation, clang::ObjCInterfaceDecl*, clang::ObjCPropertyDecl*)::MismatchKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCPropertyDecl*>(clang::ObjCPropertyDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCIvarDecl*>(clang::ObjCIvarDecl* const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<reportOriginalDsa(clang::Sema&, (anonymous namespace)::DSAStackTy const*, clang::ValueDecl const*, (anonymous namespace)::DSAStackTy::DSAVarData const&, bool)::$_33>(reportOriginalDsa(clang::Sema&, (anonymous namespace)::DSAStackTy const*, clang::ValueDecl const*, (anonymous namespace)::DSAStackTy::DSAVarData const&, bool)::$_33 const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<getPrivateItem(clang::Sema&, clang::Expr*&, clang::SourceLocation&, clang::SourceRange&, bool)::$_37>(getPrivateItem(clang::Sema&, clang::Expr*&, clang::SourceLocation&, clang::SourceRange&, bool)::$_37 const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<checkNestingOfRegions(clang::Sema&, (anonymous namespace)::DSAStackTy const*, llvm::omp::Directive, clang::DeclarationNameInfo const&, llvm::omp::Directive, clang::SourceLocation)::$_36>(checkNestingOfRegions(clang::Sema&, (anonymous namespace)::DSAStackTy const*, llvm::omp::Directive, clang::DeclarationNameInfo const&, llvm::omp::Directive, clang::SourceLocation)::$_36 const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::OpenMPAtomicUpdateChecker::ExprAnalysisErrorCode>((anonymous namespace)::OpenMPAtomicUpdateChecker::ExprAnalysisErrorCode const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [13]>(char const (&) [13]) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_20>(clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_20 const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_21>(clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_21 const&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_22>(clang::Sema::ActOnOpenMPAtomicDirective(llvm::ArrayRef<clang::OMPClause*>, clang::Stmt*, clang::SourceLocation, clang::SourceLocation)::$_22 const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [50]>(char const (&) [50]) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CCEKind>(clang::Sema::CCEKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Qualifiers>(clang::Qualifiers const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CUDAFunctionTarget>(clang::Sema::CUDAFunctionTarget const&) const
Line
Count
Source
61
5
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
5
    const StreamingDiagnostic &DB = *this;
63
5
    DB << V;
64
5
    return *this;
65
5
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TemplateArgument>(clang::TemplateArgument const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::SmallString<128u> >(llvm::SmallString<128u> const&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeclContext*>(clang::DeclContext* const&) const
Line
Count
Source
61
300
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
300
    const StreamingDiagnostic &DB = *this;
63
300
    DB << V;
64
300
    return *this;
65
300
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char [3]>(char const (&) [3]) const
Line
Count
Source
61
7
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
7
    const StreamingDiagnostic &DB = *this;
63
7
    DB << V;
64
7
    return *this;
65
7
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXMethodDecl*>(clang::CXXMethodDecl* const&) const
Line
Count
Source
61
14
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
14
    const StreamingDiagnostic &DB = *this;
63
14
    DB << V;
64
14
    return *this;
65
14
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::WarnUnusedResultAttr const*>(clang::WarnUnusedResultAttr const* const&) const
SemaStmt.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::BeginEndFunction>((anonymous namespace)::BeginEndFunction const&) const
Line
Count
Source
61
64
  template <typename T> const PartialDiagnostic &operator<<(const T &V) const {
62
64
    const StreamingDiagnostic &DB = *this;
63
64
    DB << V;
64
64
    return *this;
65
64
  }
Unexecuted instantiation: SemaStmtAsm.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<checkExprMemoryConstraintCompat(clang::Sema&, clang::Expr*, clang::TargetInfo::ConstraintInfo&, bool)::$_2>(checkExprMemoryConstraintCompat(clang::Sema&, clang::Expr*, clang::TargetInfo::ConstraintInfo&, bool)::$_2 const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::UnlikelyAttr const*>(clang::UnlikelyAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::LikelyAttr const*>(clang::LikelyAttr const* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamespaceDecl*>(clang::NamespaceDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NestedNameSpecifier*>(clang::NestedNameSpecifier* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ConceptDecl*>(clang::ConceptDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VarTemplateSpecializationDecl*>(clang::VarTemplateSpecializationDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TemplateTemplateParmDecl*>(clang::TemplateTemplateParmDecl* const&) const
Unexecuted instantiation: SemaTemplate.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CheckDependentFunctionTemplateSpecialization(clang::FunctionDecl*, clang::TemplateArgumentListInfo const&, clang::LookupResult&)::DiscardReason>(clang::Sema::CheckDependentFunctionTemplateSpecialization(clang::FunctionDecl*, clang::TemplateArgumentListInfo const&, clang::LookupResult&)::DiscardReason const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VarTemplateDecl*>(clang::VarTemplateDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeducedTemplateArgument>(clang::DeducedTemplateArgument const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MSPropertyDecl*>(clang::MSPropertyDecl* const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCInterfaceDecl*>(clang::ObjCInterfaceDecl* const&) const
Unexecuted instantiation: SemaType.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::QualifiedFunctionKind>((anonymous namespace)::QualifiedFunctionKind const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<TypeDiagSelector>(TypeDiagSelector const&) const
Unexecuted instantiation: SemaType.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<GetFullTypeForDeclarator((anonymous namespace)::TypeProcessingState&, clang::QualType, clang::TypeSourceInfo*)::$_7>(GetFullTypeForDeclarator((anonymous namespace)::TypeProcessingState&, clang::QualType, clang::TypeSourceInfo*)::$_7 const&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ArrayType::ArraySizeModifier>(clang::ArrayType::ArraySizeModifier const&) const
66
67
  // It is necessary to limit this to rvalue reference to avoid calling this
68
  // function with a bitfield lvalue argument since non-const reference to
69
  // bitfield is not allowed.
70
  template <typename T, typename = typename std::enable_if<
71
                            !std::is_lvalue_reference<T>::value>::type>
72
730k
  const PartialDiagnostic &operator<<(T &&V) const {
73
730k
    const StreamingDiagnostic &DB = *this;
74
730k
    DB << std::move(V);
75
730k
    return *this;
76
730k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::StringRef, void>(llvm::StringRef&&) const
Line
Count
Source
72
2.74k
  const PartialDiagnostic &operator<<(T &&V) const {
73
2.74k
    const StreamingDiagnostic &DB = *this;
74
2.74k
    DB << std::move(V);
75
2.74k
    return *this;
76
2.74k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXRecordDecl const*, void>(clang::CXXRecordDecl const*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::threadSafety::LockKind, void>(clang::threadSafety::LockKind&&) const
Line
Count
Source
72
34
  const PartialDiagnostic &operator<<(T &&V) const {
73
34
    const StreamingDiagnostic &DB = *this;
74
34
    DB << std::move(V);
75
34
    return *this;
76
34
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<unsigned int, void>(unsigned int&&) const
Line
Count
Source
72
63.3k
  const PartialDiagnostic &operator<<(T &&V) const {
73
63.3k
    const StreamingDiagnostic &DB = *this;
74
63.3k
    DB << std::move(V);
75
63.3k
    return *this;
76
63.3k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FixItHint, void>(clang::FixItHint&&) const
Line
Count
Source
72
120
  const PartialDiagnostic &operator<<(T &&V) const {
73
120
    const StreamingDiagnostic &DB = *this;
74
120
    DB << std::move(V);
75
120
    return *this;
76
120
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<bool, void>(bool&&) const
Line
Count
Source
72
10.9k
  const PartialDiagnostic &operator<<(T &&V) const {
73
10.9k
    const StreamingDiagnostic &DB = *this;
74
10.9k
    DB << std::move(V);
75
10.9k
    return *this;
76
10.9k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeclarationName, void>(clang::DeclarationName&&) const
Line
Count
Source
72
40.0k
  const PartialDiagnostic &operator<<(T &&V) const {
73
40.0k
    const StreamingDiagnostic &DB = *this;
74
40.0k
    DB << std::move(V);
75
40.0k
    return *this;
76
40.0k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AttributeDeclKind, void>(clang::AttributeDeclKind&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<int, void>(int&&) const
Line
Count
Source
72
61.0k
  const PartialDiagnostic &operator<<(T &&V) const {
73
61.0k
    const StreamingDiagnostic &DB = *this;
74
61.0k
    DB << std::move(V);
75
61.0k
    return *this;
76
61.0k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SourceRange, void>(clang::SourceRange&&) const
Line
Count
Source
72
222k
  const PartialDiagnostic &operator<<(T &&V) const {
73
222k
    const StreamingDiagnostic &DB = *this;
74
222k
    DB << std::move(V);
75
222k
    return *this;
76
222k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<char const*, void>(char const*&&) const
Line
Count
Source
72
601
  const PartialDiagnostic &operator<<(T &&V) const {
73
601
    const StreamingDiagnostic &DB = *this;
74
601
    DB << std::move(V);
75
601
    return *this;
76
601
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) const
Line
Count
Source
72
5.31k
  const PartialDiagnostic &operator<<(T &&V) const {
73
5.31k
    const StreamingDiagnostic &DB = *this;
74
5.31k
    DB << std::move(V);
75
5.31k
    return *this;
76
5.31k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<CastType, void>(CastType&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Expr*, void>(clang::Expr*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FunctionDecl*, void>(clang::FunctionDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ConceptDecl*, void>(clang::ConceptDecl*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::VarDecl*, void>(clang::VarDecl*&&) const
Line
Count
Source
72
9
  const PartialDiagnostic &operator<<(T &&V) const {
73
9
    const StreamingDiagnostic &DB = *this;
74
9
    DB << std::move(V);
75
9
    return *this;
76
9
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Attr const*, void>(clang::Attr const*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SourceLocation, void>(clang::SourceLocation&&) const
Line
Count
Source
72
1.88k
  const PartialDiagnostic &operator<<(T &&V) const {
73
1.88k
    const StreamingDiagnostic &DB = *this;
74
1.88k
    DB << std::move(V);
75
1.88k
    return *this;
76
1.88k
  }
Unexecuted instantiation: SemaDecl.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<CheckMultiVersionValue(clang::Sema&, clang::FunctionDecl const*)::ErrType, void>(CheckMultiVersionValue(clang::Sema&, clang::FunctionDecl const*)::ErrType&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ValueDecl*, void>(clang::ValueDecl*&&) const
Line
Count
Source
72
272
  const PartialDiagnostic &operator<<(T &&V) const {
73
272
    const StreamingDiagnostic &DB = *this;
74
272
    DB << std::move(V);
75
272
    return *this;
76
272
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NestedNameSpecifier*, void>(clang::NestedNameSpecifier*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::DeclContext*, void>(clang::DeclContext*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::RecordDecl const*, void>(clang::RecordDecl const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<ShadowedDeclKind, void>(ShadowedDeclKind&&) const
Unexecuted instantiation: SemaDecl.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::areMultiversionVariantFunctionsCompatible(clang::FunctionDecl const*, clang::FunctionDecl const*, clang::PartialDiagnostic const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, bool, bool, bool)::DoesntSupport, void>(clang::Sema::areMultiversionVariantFunctionsCompatible(clang::FunctionDecl const*, clang::FunctionDecl const*, clang::PartialDiagnostic const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, bool, bool, bool)::DoesntSupport&&) const
Unexecuted instantiation: SemaDecl.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::areMultiversionVariantFunctionsCompatible(clang::FunctionDecl const*, clang::FunctionDecl const*, clang::PartialDiagnostic const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, bool, bool, bool)::Different, void>(clang::Sema::areMultiversionVariantFunctionsCompatible(clang::FunctionDecl const*, clang::FunctionDecl const*, clang::PartialDiagnostic const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, std::__1::pair<clang::SourceLocation, clang::PartialDiagnostic> const&, bool, bool, bool)::Different&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamedDecl const*, void>(clang::NamedDecl const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CUDALaunchBoundsAttr const*, void>(clang::CUDALaunchBoundsAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUFlatWorkGroupSizeAttr const*, void>(clang::AMDGPUFlatWorkGroupSizeAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AMDGPUWavesPerEUAttr const*, void>(clang::AMDGPUWavesPerEUAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParsedAttr const*, void>(clang::ParsedAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<AttributeLangSupport::LANG, void>(AttributeLangSupport::LANG&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TypedefNameDecl*, void>(clang::TypedefNameDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::FieldDecl*, void>(clang::FieldDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AssumeAlignedAttr*, void>(clang::AssumeAlignedAttr*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AllocAlignAttr*, void>(clang::AllocAlignAttr*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AllocAlignAttr const*, void>(clang::AllocAlignAttr const*&&) const
Unexecuted instantiation: SemaDeclAttr.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::checkTargetAttr(clang::SourceLocation, llvm::StringRef)::FirstParam, void>(clang::Sema::checkTargetAttr(clang::SourceLocation, llvm::StringRef)::FirstParam&&) const
Unexecuted instantiation: SemaDeclAttr.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::checkTargetAttr(clang::SourceLocation, llvm::StringRef)::SecondParam, void>(clang::Sema::checkTargetAttr(clang::SourceLocation, llvm::StringRef)::SecondParam&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlignValueAttr*, void>(clang::AlignValueAttr*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AlignedAttr*, void>(clang::AlignedAttr*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::InternalLinkageAttr const*, void>(clang::InternalLinkageAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::SwiftNameAttr const*, void>(clang::SwiftNameAttr const*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AccessSpecifier, void>(clang::AccessSpecifier&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamespaceDecl*, void>(clang::NamespaceDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CanQual<clang::Type>, void>(clang::CanQual<clang::Type>&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<std::__1::pair<clang::NullabilityKind, bool>, void>(std::__1::pair<clang::NullabilityKind, bool>&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TagTypeKind, void>(clang::TagTypeKind&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ObjCMethodDecl const*, void>(clang::ObjCMethodDecl const*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::QualType, void>(clang::QualType&&) const
Line
Count
Source
72
308k
  const PartialDiagnostic &operator<<(T &&V) const {
73
308k
    const StreamingDiagnostic &DB = *this;
74
308k
    DB << std::move(V);
75
308k
    return *this;
76
308k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Selector, void>(clang::Selector&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::IdentifierInfo const*, void>(clang::IdentifierInfo const*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::IdentifierInfo*, void>(clang::IdentifierInfo*&&) const
Line
Count
Source
72
3
  const PartialDiagnostic &operator<<(T &&V) const {
73
3
    const StreamingDiagnostic &DB = *this;
74
3
    DB << std::move(V);
75
3
    return *this;
76
3
  }
Unexecuted instantiation: SemaExpr.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<$_14, void>($_14&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::NonTagKind, void>(clang::Sema::NonTagKind&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ValueDecl const*, void>(clang::ValueDecl const*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::AssignmentAction, void>(clang::Sema::AssignmentAction&&) const
Line
Count
Source
72
2
  const PartialDiagnostic &operator<<(T &&V) const {
73
2
    const StreamingDiagnostic &DB = *this;
74
2
    DB << std::move(V);
75
2
    return *this;
76
2
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::tok::TokenKind, void>(clang::tok::TokenKind&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::QualType const, void>(clang::QualType const&&) const
Unexecuted instantiation: SemaOpenMP.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::checkOpenMPDeclareVariantFunction(clang::OpaquePtr<clang::DeclGroupRef>, clang::Expr*, clang::OMPTraitInfo&, clang::SourceRange)::DoesntSupport, void>(clang::Sema::checkOpenMPDeclareVariantFunction(clang::OpaquePtr<clang::DeclGroupRef>, clang::Expr*, clang::OMPTraitInfo&, clang::SourceRange)::DoesntSupport&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::CXXRecordDecl*, void>(clang::CXXRecordDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::ParmVarDecl*, void>(clang::ParmVarDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::LangAS, void>(clang::LangAS&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Qualifiers::ObjCLifetime, void>(clang::Qualifiers::ObjCLifetime&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Qualifiers::GC, void>(clang::Qualifiers::GC&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::TemplateDecl*, void>(clang::TemplateDecl*&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::RefQualifierKind, void>(clang::RefQualifierKind&&) const
SemaOverload.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<$_0, void>($_0&&) const
Line
Count
Source
72
10.1k
  const PartialDiagnostic &operator<<(T &&V) const {
73
10.1k
    const StreamingDiagnostic &DB = *this;
74
10.1k
    DB << std::move(V);
75
10.1k
    return *this;
76
10.1k
  }
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Qualifiers, void>(clang::Qualifiers&&) const
Line
Count
Source
72
60
  const PartialDiagnostic &operator<<(T &&V) const {
73
60
    const StreamingDiagnostic &DB = *this;
74
60
    DB << std::move(V);
75
60
    return *this;
76
60
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::NamedDecl*, void>(clang::NamedDecl*&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CXXSpecialMember, void>(clang::Sema::CXXSpecialMember&&) const
Line
Count
Source
72
2.84k
  const PartialDiagnostic &operator<<(T &&V) const {
73
2.84k
    const StreamingDiagnostic &DB = *this;
74
2.84k
    DB << std::move(V);
75
2.84k
    return *this;
76
2.84k
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::MSPropertyDecl*, void>(clang::MSPropertyDecl*&&) const
Unexecuted instantiation: SemaStmt.cpp:clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<(anonymous namespace)::BeginEndFunction, void>((anonymous namespace)::BeginEndFunction&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<TypeDiagSelector, void>(TypeDiagSelector&&) const
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<llvm::IntegerType::'unnamed', void>(llvm::IntegerType::'unnamed'&&) const
clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::Sema::CUDAFunctionTarget, void>(clang::Sema::CUDAFunctionTarget&&) const
Line
Count
Source
72
240
  const PartialDiagnostic &operator<<(T &&V) const {
73
240
    const StreamingDiagnostic &DB = *this;
74
240
    DB << std::move(V);
75
240
    return *this;
76
240
  }
Unexecuted instantiation: clang::PartialDiagnostic const& clang::PartialDiagnostic::operator<<<clang::AttributeArgumentNType, void>(clang::AttributeArgumentNType&&) const
77
78
1.60M
  PartialDiagnostic(PartialDiagnostic &&Other) : DiagID(Other.DiagID) {
79
1.60M
    Allocator = Other.Allocator;
80
1.60M
    DiagStorage = Other.DiagStorage;
81
1.60M
    Other.DiagStorage = nullptr;
82
1.60M
  }
83
84
  PartialDiagnostic(const PartialDiagnostic &Other,
85
                    DiagnosticStorage *DiagStorage_)
86
97
      : DiagID(Other.DiagID) {
87
97
    Allocator = reinterpret_cast<DiagStorageAllocator *>(~uintptr_t(0));
88
97
    DiagStorage = DiagStorage_;
89
97
    if (Other.DiagStorage)
90
2
      *this->DiagStorage = *Other.DiagStorage;
91
97
  }
92
93
  PartialDiagnostic(const Diagnostic &Other, DiagStorageAllocator &Allocator_)
94
118k
      : DiagID(Other.getID()) {
95
118k
    Allocator = &Allocator_;
96
    // Copy arguments.
97
286k
    for (unsigned I = 0, N = Other.getNumArgs(); I != N; 
++I168k
) {
98
168k
      if (Other.getArgKind(I) == DiagnosticsEngine::ak_std_string)
99
50.5k
        AddString(Other.getArgStdStr(I));
100
118k
      else
101
118k
        AddTaggedVal(Other.getRawArg(I), Other.getArgKind(I));
102
168k
    }
103
104
    // Copy source ranges.
105
230k
    for (unsigned I = 0, N = Other.getNumRanges(); I != N; 
++I112k
)
106
112k
      AddSourceRange(Other.getRange(I));
107
108
    // Copy fix-its.
109
118k
    for (unsigned I = 0, N = Other.getNumFixItHints(); I != N; 
++I73
)
110
73
      AddFixItHint(Other.getFixItHint(I));
111
118k
  }
112
113
71.3k
  PartialDiagnostic &operator=(const PartialDiagnostic &Other) {
114
71.3k
    DiagID = Other.DiagID;
115
71.3k
    if (Other.DiagStorage) {
116
5.44k
      if (!DiagStorage)
117
5.44k
        DiagStorage = getStorage();
118
119
5.44k
      *DiagStorage = *Other.DiagStorage;
120
65.9k
    } else {
121
65.9k
      freeStorage();
122
65.9k
    }
123
124
71.3k
    return *this;
125
71.3k
  }
126
127
6.82k
  PartialDiagnostic &operator=(PartialDiagnostic &&Other) {
128
6.82k
    freeStorage();
129
130
6.82k
    DiagID = Other.DiagID;
131
6.82k
    DiagStorage = Other.DiagStorage;
132
6.82k
    Allocator = Other.Allocator;
133
134
6.82k
    Other.DiagStorage = nullptr;
135
6.82k
    return *this;
136
6.82k
  }
137
138
86.7k
  void swap(PartialDiagnostic &PD) {
139
86.7k
    std::swap(DiagID, PD.DiagID);
140
86.7k
    std::swap(DiagStorage, PD.DiagStorage);
141
86.7k
    std::swap(Allocator, PD.Allocator);
142
86.7k
  }
143
144
1.11M
  unsigned getDiagID() const { return DiagID; }
145
41
  void setDiagID(unsigned ID) { DiagID = ID; }
146
147
155k
  void Emit(const DiagnosticBuilder &DB) const {
148
155k
    if (!DiagStorage)
149
10.5k
      return;
150
151
    // Add all arguments.
152
502k
    
for (unsigned i = 0, e = DiagStorage->NumDiagArgs; 145k
i != e;
++i356k
) {
153
356k
      if ((DiagnosticsEngine::ArgumentKind)DiagStorage->DiagArgumentsKind[i]
154
356k
            == DiagnosticsEngine::ak_std_string)
155
29.9k
        DB.AddString(DiagStorage->DiagArgumentsStr[i]);
156
326k
      else
157
326k
        DB.AddTaggedVal(DiagStorage->DiagArgumentsVal[i],
158
326k
            (DiagnosticsEngine::ArgumentKind)DiagStorage->DiagArgumentsKind[i]);
159
356k
    }
160
161
    // Add all ranges.
162
145k
    for (const CharSourceRange &Range : DiagStorage->DiagRanges)
163
218k
      DB.AddSourceRange(Range);
164
165
    // Add all fix-its.
166
145k
    for (const FixItHint &Fix : DiagStorage->FixItHints)
167
221
      DB.AddFixItHint(Fix);
168
145k
  }
169
170
  void EmitToString(DiagnosticsEngine &Diags,
171
2.43k
                    SmallVectorImpl<char> &Buf) const {
172
    // FIXME: It should be possible to render a diagnostic to a string without
173
    //        messing with the state of the diagnostics engine.
174
2.43k
    DiagnosticBuilder DB(Diags.Report(getDiagID()));
175
2.43k
    Emit(DB);
176
2.43k
    Diagnostic(&Diags).FormatDiagnostic(Buf);
177
2.43k
    DB.Clear();
178
2.43k
    Diags.Clear();
179
2.43k
  }
180
181
  /// Clear out this partial diagnostic, giving it a new diagnostic ID
182
  /// and removing all of its arguments, ranges, and fix-it hints.
183
863k
  void Reset(unsigned DiagID = 0) {
184
863k
    this->DiagID = DiagID;
185
863k
    freeStorage();
186
863k
  }
187
188
97
  bool hasStorage() const { return DiagStorage != nullptr; }
189
190
  /// Retrieve the string argument at the given index.
191
19
  StringRef getStringArg(unsigned I) {
192
19
    assert(DiagStorage && "No diagnostic storage?");
193
19
    assert(I < DiagStorage->NumDiagArgs && "Not enough diagnostic args");
194
19
    assert(DiagStorage->DiagArgumentsKind[I]
195
19
             == DiagnosticsEngine::ak_std_string && "Not a string arg");
196
19
    return DiagStorage->DiagArgumentsStr[I];
197
19
  }
198
};
199
200
inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
201
0
                                           const PartialDiagnostic &PD) {
202
0
  PD.Emit(DB);
203
0
  return DB;
204
0
}
205
206
/// A partial diagnostic along with the source location where this
207
/// diagnostic occurs.
208
using PartialDiagnosticAt = std::pair<SourceLocation, PartialDiagnostic>;
209
210
} // namespace clang
211
212
#endif // LLVM_CLANG_BASIC_PARTIALDIAGNOSTIC_H