Coverage Report

Created: 2026-11-12 06:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/spirv-tools/source/diagnostic.h
Line
Count
Source
1
// Copyright (c) 2015-2016 The Khronos Group Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#ifndef SOURCE_DIAGNOSTIC_H_
16
#define SOURCE_DIAGNOSTIC_H_
17
18
#include <sstream>
19
#include <string>
20
21
#include "spirv-tools/libspirv.hpp"
22
23
namespace spvtools {
24
25
// A DiagnosticStream remembers the current position of the input and an error
26
// code, and captures diagnostic messages via the left-shift operator.
27
// If the error code is not SPV_FAILED_MATCH, then captured messages are
28
// emitted during the destructor.
29
class DiagnosticStream {
30
 public:
31
  DiagnosticStream(spv_position_t position, const MessageConsumer& consumer,
32
                   const std::string& disassembled_instruction,
33
                   spv_result_t error, std::string shader_debug_info = "")
34
1.34M
      : position_(position),
35
1.34M
        consumer_(consumer),
36
1.34M
        disassembled_instruction_(disassembled_instruction),
37
1.34M
        error_(error),
38
1.34M
        shader_debug_info_(shader_debug_info) {}
39
40
  // Creates a DiagnosticStream from an expiring DiagnosticStream.
41
  // The new object takes the contents of the other, and prevents the
42
  // other from emitting anything during destruction.
43
  DiagnosticStream(DiagnosticStream&& other);
44
45
  // Destroys a DiagnosticStream.
46
  // If its status code is something other than SPV_FAILED_MATCH
47
  // then emit the accumulated message to the consumer.
48
  ~DiagnosticStream();
49
50
  // Adds the given value to the diagnostic message to be written.
51
  template <typename T>
52
4.48M
  DiagnosticStream& operator<<(const T& val) {
53
4.48M
    stream_ << val;
54
4.48M
    return *this;
55
4.48M
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [15]>(char const (&) [15])
Line
Count
Source
52
40.8k
  DiagnosticStream& operator<<(const T& val) {
53
40.8k
    stream_ << val;
54
40.8k
    return *this;
55
40.8k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [77]>(char const (&) [77])
Line
Count
Source
52
392
  DiagnosticStream& operator<<(const T& val) {
53
392
    stream_ << val;
54
392
    return *this;
55
392
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [35]>(char const (&) [35])
Line
Count
Source
52
74.6k
  DiagnosticStream& operator<<(const T& val) {
53
74.6k
    stream_ << val;
54
74.6k
    return *this;
55
74.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [41]>(char const (&) [41])
Line
Count
Source
52
421
  DiagnosticStream& operator<<(const T& val) {
53
421
    stream_ << val;
54
421
    return *this;
55
421
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [24]>(char const (&) [24])
Line
Count
Source
52
1.10k
  DiagnosticStream& operator<<(const T& val) {
53
1.10k
    stream_ << val;
54
1.10k
    return *this;
55
1.10k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [80]>(char const (&) [80])
Line
Count
Source
52
6
  DiagnosticStream& operator<<(const T& val) {
53
6
    stream_ << val;
54
6
    return *this;
55
6
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char>(char const&)
Line
Count
Source
52
44
  DiagnosticStream& operator<<(const T& val) {
53
44
    stream_ << val;
54
44
    return *this;
55
44
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [28]>(char const (&) [28])
Line
Count
Source
52
252
  DiagnosticStream& operator<<(const T& val) {
53
252
    stream_ << val;
54
252
    return *this;
55
252
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [27]>(char const (&) [27])
Line
Count
Source
52
2.80k
  DiagnosticStream& operator<<(const T& val) {
53
2.80k
    stream_ << val;
54
2.80k
    return *this;
55
2.80k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [71]>(char const (&) [71])
Line
Count
Source
52
18
  DiagnosticStream& operator<<(const T& val) {
53
18
    stream_ << val;
54
18
    return *this;
55
18
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [37]>(char const (&) [37])
Line
Count
Source
52
285k
  DiagnosticStream& operator<<(const T& val) {
53
285k
    stream_ << val;
54
285k
    return *this;
55
285k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [39]>(char const (&) [39])
Line
Count
Source
52
151k
  DiagnosticStream& operator<<(const T& val) {
53
151k
    stream_ << val;
54
151k
    return *this;
55
151k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [13]>(char const (&) [13])
Line
Count
Source
52
1.36k
  DiagnosticStream& operator<<(const T& val) {
53
1.36k
    stream_ << val;
54
1.36k
    return *this;
55
1.36k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [32]>(char const (&) [32])
Line
Count
Source
52
9.82k
  DiagnosticStream& operator<<(const T& val) {
53
9.82k
    stream_ << val;
54
9.82k
    return *this;
55
9.82k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [22]>(char const (&) [22])
Line
Count
Source
52
2.97k
  DiagnosticStream& operator<<(const T& val) {
53
2.97k
    stream_ << val;
54
2.97k
    return *this;
55
2.97k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [65]>(char const (&) [65])
Line
Count
Source
52
38
  DiagnosticStream& operator<<(const T& val) {
53
38
    stream_ << val;
54
38
    return *this;
55
38
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [31]>(char const (&) [31])
Line
Count
Source
52
2.43k
  DiagnosticStream& operator<<(const T& val) {
53
2.43k
    stream_ << val;
54
2.43k
    return *this;
55
2.43k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [47]>(char const (&) [47])
Line
Count
Source
52
10.9k
  DiagnosticStream& operator<<(const T& val) {
53
10.9k
    stream_ << val;
54
10.9k
    return *this;
55
10.9k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [18]>(char const (&) [18])
Line
Count
Source
52
21.9k
  DiagnosticStream& operator<<(const T& val) {
53
21.9k
    stream_ << val;
54
21.9k
    return *this;
55
21.9k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [54]>(char const (&) [54])
Line
Count
Source
52
97
  DiagnosticStream& operator<<(const T& val) {
53
97
    stream_ << val;
54
97
    return *this;
55
97
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned long>(unsigned long const&)
Line
Count
Source
52
417k
  DiagnosticStream& operator<<(const T& val) {
53
417k
    stream_ << val;
54
417k
    return *this;
55
417k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [26]>(char const (&) [26])
Line
Count
Source
52
569
  DiagnosticStream& operator<<(const T& val) {
53
569
    stream_ << val;
54
569
    return *this;
55
569
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <int>(int const&)
Line
Count
Source
52
292
  DiagnosticStream& operator<<(const T& val) {
53
292
    stream_ << val;
54
292
    return *this;
55
292
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [29]>(char const (&) [29])
Line
Count
Source
52
17.9k
  DiagnosticStream& operator<<(const T& val) {
53
17.9k
    stream_ << val;
54
17.9k
    return *this;
55
17.9k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char const*>(char const* const&)
Line
Count
Source
52
747k
  DiagnosticStream& operator<<(const T& val) {
53
747k
    stream_ << val;
54
747k
    return *this;
55
747k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [12]>(char const (&) [12])
Line
Count
Source
52
1.40k
  DiagnosticStream& operator<<(const T& val) {
53
1.40k
    stream_ << val;
54
1.40k
    return *this;
55
1.40k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [40]>(char const (&) [40])
Line
Count
Source
52
1.37k
  DiagnosticStream& operator<<(const T& val) {
53
1.37k
    stream_ << val;
54
1.37k
    return *this;
55
1.37k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned int>(unsigned int const&)
Line
Count
Source
52
170k
  DiagnosticStream& operator<<(const T& val) {
53
170k
    stream_ << val;
54
170k
    return *this;
55
170k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [36]>(char const (&) [36])
Line
Count
Source
52
7.44k
  DiagnosticStream& operator<<(const T& val) {
53
7.44k
    stream_ << val;
54
7.44k
    return *this;
55
7.44k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [3]>(char const (&) [3])
Line
Count
Source
52
171k
  DiagnosticStream& operator<<(const T& val) {
53
171k
    stream_ << val;
54
171k
    return *this;
55
171k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [55]>(char const (&) [55])
Line
Count
Source
52
83
  DiagnosticStream& operator<<(const T& val) {
53
83
    stream_ << val;
54
83
    return *this;
55
83
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [23]>(char const (&) [23])
Line
Count
Source
52
97.3k
  DiagnosticStream& operator<<(const T& val) {
53
97.3k
    stream_ << val;
54
97.3k
    return *this;
55
97.3k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [9]>(char const (&) [9])
Line
Count
Source
52
102k
  DiagnosticStream& operator<<(const T& val) {
53
102k
    stream_ << val;
54
102k
    return *this;
55
102k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [10]>(char const (&) [10])
Line
Count
Source
52
482
  DiagnosticStream& operator<<(const T& val) {
53
482
    stream_ << val;
54
482
    return *this;
55
482
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [49]>(char const (&) [49])
Line
Count
Source
52
21.4k
  DiagnosticStream& operator<<(const T& val) {
53
21.4k
    stream_ << val;
54
21.4k
    return *this;
55
21.4k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [104]>(char const (&) [104])
Line
Count
Source
52
332
  DiagnosticStream& operator<<(const T& val) {
53
332
    stream_ << val;
54
332
    return *this;
55
332
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [25]>(char const (&) [25])
Line
Count
Source
52
286k
  DiagnosticStream& operator<<(const T& val) {
53
286k
    stream_ << val;
54
286k
    return *this;
55
286k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [48]>(char const (&) [48])
Line
Count
Source
52
774
  DiagnosticStream& operator<<(const T& val) {
53
774
    stream_ << val;
54
774
    return *this;
55
774
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [38]>(char const (&) [38])
Line
Count
Source
52
201k
  DiagnosticStream& operator<<(const T& val) {
53
201k
    stream_ << val;
54
201k
    return *this;
55
201k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::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&)
Line
Count
Source
52
424k
  DiagnosticStream& operator<<(const T& val) {
53
424k
    stream_ << val;
54
424k
    return *this;
55
424k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [2]>(char const (&) [2])
Line
Count
Source
52
405k
  DiagnosticStream& operator<<(const T& val) {
53
405k
    stream_ << val;
54
405k
    return *this;
55
405k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [11]>(char const (&) [11])
Line
Count
Source
52
48.7k
  DiagnosticStream& operator<<(const T& val) {
53
48.7k
    stream_ << val;
54
48.7k
    return *this;
55
48.7k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [51]>(char const (&) [51])
Line
Count
Source
52
1.78k
  DiagnosticStream& operator<<(const T& val) {
53
1.78k
    stream_ << val;
54
1.78k
    return *this;
55
1.78k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [33]>(char const (&) [33])
Line
Count
Source
52
17.0k
  DiagnosticStream& operator<<(const T& val) {
53
17.0k
    stream_ << val;
54
17.0k
    return *this;
55
17.0k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [8]>(char const (&) [8])
Line
Count
Source
52
13.6k
  DiagnosticStream& operator<<(const T& val) {
53
13.6k
    stream_ << val;
54
13.6k
    return *this;
55
13.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [7]>(char const (&) [7])
Line
Count
Source
52
599
  DiagnosticStream& operator<<(const T& val) {
53
599
    stream_ << val;
54
599
    return *this;
55
599
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [42]>(char const (&) [42])
Line
Count
Source
52
89
  DiagnosticStream& operator<<(const T& val) {
53
89
    stream_ << val;
54
89
    return *this;
55
89
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [30]>(char const (&) [30])
Line
Count
Source
52
20.0k
  DiagnosticStream& operator<<(const T& val) {
53
20.0k
    stream_ << val;
54
20.0k
    return *this;
55
20.0k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [19]>(char const (&) [19])
Line
Count
Source
52
274k
  DiagnosticStream& operator<<(const T& val) {
53
274k
    stream_ << val;
54
274k
    return *this;
55
274k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
52
124
  DiagnosticStream& operator<<(const T& val) {
53
124
    stream_ << val;
54
124
    return *this;
55
124
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [16]>(char const (&) [16])
Line
Count
Source
52
23.2k
  DiagnosticStream& operator<<(const T& val) {
53
23.2k
    stream_ << val;
54
23.2k
    return *this;
55
23.2k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <std::__1::ios_base& (std::__1::ios_base&)>(std::__1::ios_base& ( const&)(std::__1::ios_base&))
Line
Count
Source
52
12.8k
  DiagnosticStream& operator<<(const T& val) {
53
12.8k
    stream_ << val;
54
12.8k
    return *this;
55
12.8k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned short>(unsigned short const&)
Line
Count
Source
52
236k
  DiagnosticStream& operator<<(const T& val) {
53
236k
    stream_ << val;
54
236k
    return *this;
55
236k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [17]>(char const (&) [17])
Line
Count
Source
52
39.8k
  DiagnosticStream& operator<<(const T& val) {
53
39.8k
    stream_ << val;
54
39.8k
    return *this;
55
39.8k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [34]>(char const (&) [34])
Line
Count
Source
52
74.1k
  DiagnosticStream& operator<<(const T& val) {
53
74.1k
    stream_ << val;
54
74.1k
    return *this;
55
74.1k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [20]>(char const (&) [20])
Line
Count
Source
52
504
  DiagnosticStream& operator<<(const T& val) {
53
504
    stream_ << val;
54
504
    return *this;
55
504
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [4]>(char const (&) [4])
Line
Count
Source
52
4.23k
  DiagnosticStream& operator<<(const T& val) {
53
4.23k
    stream_ << val;
54
4.23k
    return *this;
55
4.23k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [6]>(char const (&) [6])
Line
Count
Source
52
265
  DiagnosticStream& operator<<(const T& val) {
53
265
    stream_ << val;
54
265
    return *this;
55
265
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [131]>(char const (&) [131])
Line
Count
Source
52
3.20k
  DiagnosticStream& operator<<(const T& val) {
53
3.20k
    stream_ << val;
54
3.20k
    return *this;
55
3.20k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <spv_operand_type_t>(spv_operand_type_t const&)
Line
Count
Source
52
191
  DiagnosticStream& operator<<(const T& val) {
53
191
    stream_ << val;
54
191
    return *this;
55
191
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [14]>(char const (&) [14])
Line
Count
Source
52
23.6k
  DiagnosticStream& operator<<(const T& val) {
53
23.6k
    stream_ << val;
54
23.6k
    return *this;
55
23.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [45]>(char const (&) [45])
Line
Count
Source
52
211
  DiagnosticStream& operator<<(const T& val) {
53
211
    stream_ << val;
54
211
    return *this;
55
211
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <spvtools::opt::Instruction>(spvtools::opt::Instruction const&)
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [70]>(char const (&) [70])
Line
Count
Source
52
29
  DiagnosticStream& operator<<(const T& val) {
53
29
    stream_ << val;
54
29
    return *this;
55
29
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [5]>(char const (&) [5])
Line
Count
Source
52
899
  DiagnosticStream& operator<<(const T& val) {
53
899
    stream_ << val;
54
899
    return *this;
55
899
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [68]>(char const (&) [68])
Line
Count
Source
52
87
  DiagnosticStream& operator<<(const T& val) {
53
87
    stream_ << val;
54
87
    return *this;
55
87
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [64]>(char const (&) [64])
Line
Count
Source
52
12
  DiagnosticStream& operator<<(const T& val) {
53
12
    stream_ << val;
54
12
    return *this;
55
12
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [53]>(char const (&) [53])
Line
Count
Source
52
134
  DiagnosticStream& operator<<(const T& val) {
53
134
    stream_ << val;
54
134
    return *this;
55
134
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <long>(long const&)
Line
Count
Source
52
146
  DiagnosticStream& operator<<(const T& val) {
53
146
    stream_ << val;
54
146
    return *this;
55
146
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [66]>(char const (&) [66])
Line
Count
Source
52
15
  DiagnosticStream& operator<<(const T& val) {
53
15
    stream_ << val;
54
15
    return *this;
55
15
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [63]>(char const (&) [63])
Line
Count
Source
52
73
  DiagnosticStream& operator<<(const T& val) {
53
73
    stream_ << val;
54
73
    return *this;
55
73
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [61]>(char const (&) [61])
Line
Count
Source
52
1.66k
  DiagnosticStream& operator<<(const T& val) {
53
1.66k
    stream_ << val;
54
1.66k
    return *this;
55
1.66k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [44]>(char const (&) [44])
Line
Count
Source
52
530
  DiagnosticStream& operator<<(const T& val) {
53
530
    stream_ << val;
54
530
    return *this;
55
530
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [69]>(char const (&) [69])
Line
Count
Source
52
246
  DiagnosticStream& operator<<(const T& val) {
53
246
    stream_ << val;
54
246
    return *this;
55
246
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [113]>(char const (&) [113])
Line
Count
Source
52
2.63k
  DiagnosticStream& operator<<(const T& val) {
53
2.63k
    stream_ << val;
54
2.63k
    return *this;
55
2.63k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [93]>(char const (&) [93])
Line
Count
Source
52
42
  DiagnosticStream& operator<<(const T& val) {
53
42
    stream_ << val;
54
42
    return *this;
55
42
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [52]>(char const (&) [52])
Line
Count
Source
52
360
  DiagnosticStream& operator<<(const T& val) {
53
360
    stream_ << val;
54
360
    return *this;
55
360
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [87]>(char const (&) [87])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [46]>(char const (&) [46])
Line
Count
Source
52
120
  DiagnosticStream& operator<<(const T& val) {
53
120
    stream_ << val;
54
120
    return *this;
55
120
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [103]>(char const (&) [103])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [82]>(char const (&) [82])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [67]>(char const (&) [67])
Line
Count
Source
52
64
  DiagnosticStream& operator<<(const T& val) {
53
64
    stream_ << val;
54
64
    return *this;
55
64
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [90]>(char const (&) [90])
Line
Count
Source
52
10
  DiagnosticStream& operator<<(const T& val) {
53
10
    stream_ << val;
54
10
    return *this;
55
10
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [72]>(char const (&) [72])
Line
Count
Source
52
6
  DiagnosticStream& operator<<(const T& val) {
53
6
    stream_ << val;
54
6
    return *this;
55
6
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [76]>(char const (&) [76])
Line
Count
Source
52
35
  DiagnosticStream& operator<<(const T& val) {
53
35
    stream_ << val;
54
35
    return *this;
55
35
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [60]>(char const (&) [60])
Line
Count
Source
52
11
  DiagnosticStream& operator<<(const T& val) {
53
11
    stream_ << val;
54
11
    return *this;
55
11
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [133]>(char const (&) [133])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [59]>(char const (&) [59])
Line
Count
Source
52
33
  DiagnosticStream& operator<<(const T& val) {
53
33
    stream_ << val;
54
33
    return *this;
55
33
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [43]>(char const (&) [43])
Line
Count
Source
52
58
  DiagnosticStream& operator<<(const T& val) {
53
58
    stream_ << val;
54
58
    return *this;
55
58
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [101]>(char const (&) [101])
Line
Count
Source
52
5
  DiagnosticStream& operator<<(const T& val) {
53
5
    stream_ << val;
54
5
    return *this;
55
5
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [57]>(char const (&) [57])
Line
Count
Source
52
170
  DiagnosticStream& operator<<(const T& val) {
53
170
    stream_ << val;
54
170
    return *this;
55
170
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [58]>(char const (&) [58])
Line
Count
Source
52
201
  DiagnosticStream& operator<<(const T& val) {
53
201
    stream_ << val;
54
201
    return *this;
55
201
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [62]>(char const (&) [62])
Line
Count
Source
52
98
  DiagnosticStream& operator<<(const T& val) {
53
98
    stream_ << val;
54
98
    return *this;
55
98
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [50]>(char const (&) [50])
Line
Count
Source
52
94
  DiagnosticStream& operator<<(const T& val) {
53
94
    stream_ << val;
54
94
    return *this;
55
94
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [74]>(char const (&) [74])
Line
Count
Source
52
90
  DiagnosticStream& operator<<(const T& val) {
53
90
    stream_ << val;
54
90
    return *this;
55
90
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [171]>(char const (&) [171])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [75]>(char const (&) [75])
Line
Count
Source
52
13
  DiagnosticStream& operator<<(const T& val) {
53
13
    stream_ << val;
54
13
    return *this;
55
13
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [88]>(char const (&) [88])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [56]>(char const (&) [56])
Line
Count
Source
52
568
  DiagnosticStream& operator<<(const T& val) {
53
568
    stream_ << val;
54
568
    return *this;
55
568
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [112]>(char const (&) [112])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [83]>(char const (&) [83])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [91]>(char const (&) [91])
Line
Count
Source
52
12
  DiagnosticStream& operator<<(const T& val) {
53
12
    stream_ << val;
54
12
    return *this;
55
12
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [140]>(char const (&) [140])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [115]>(char const (&) [115])
Line
Count
Source
52
10
  DiagnosticStream& operator<<(const T& val) {
53
10
    stream_ << val;
54
10
    return *this;
55
10
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [81]>(char const (&) [81])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [79]>(char const (&) [79])
Line
Count
Source
52
8
  DiagnosticStream& operator<<(const T& val) {
53
8
    stream_ << val;
54
8
    return *this;
55
8
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [89]>(char const (&) [89])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [92]>(char const (&) [92])
Line
Count
Source
52
5
  DiagnosticStream& operator<<(const T& val) {
53
5
    stream_ << val;
54
5
    return *this;
55
5
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [97]>(char const (&) [97])
Line
Count
Source
52
10
  DiagnosticStream& operator<<(const T& val) {
53
10
    stream_ << val;
54
10
    return *this;
55
10
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [95]>(char const (&) [95])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [94]>(char const (&) [94])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [98]>(char const (&) [98])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [127]>(char const (&) [127])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [105]>(char const (&) [105])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [86]>(char const (&) [86])
Line
Count
Source
52
13
  DiagnosticStream& operator<<(const T& val) {
53
13
    stream_ << val;
54
13
    return *this;
55
13
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [141]>(char const (&) [141])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [106]>(char const (&) [106])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [207]>(char const (&) [207])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [84]>(char const (&) [84])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [109]>(char const (&) [109])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [99]>(char const (&) [99])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [108]>(char const (&) [108])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [107]>(char const (&) [107])
Line
Count
Source
52
14
  DiagnosticStream& operator<<(const T& val) {
53
14
    stream_ << val;
54
14
    return *this;
55
14
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [21]>(char const (&) [21])
Line
Count
Source
52
125
  DiagnosticStream& operator<<(const T& val) {
53
125
    stream_ << val;
54
125
    return *this;
55
125
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [146]>(char const (&) [146])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [73]>(char const (&) [73])
Line
Count
Source
52
387
  DiagnosticStream& operator<<(const T& val) {
53
387
    stream_ << val;
54
387
    return *this;
55
387
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [78]>(char const (&) [78])
Line
Count
Source
52
21
  DiagnosticStream& operator<<(const T& val) {
53
21
    stream_ << val;
54
21
    return *this;
55
21
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [118]>(char const (&) [118])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [121]>(char const (&) [121])
Line
Count
Source
52
57
  DiagnosticStream& operator<<(const T& val) {
53
57
    stream_ << val;
54
57
    return *this;
55
57
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [126]>(char const (&) [126])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [130]>(char const (&) [130])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [206]>(char const (&) [206])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [102]>(char const (&) [102])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [129]>(char const (&) [129])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [120]>(char const (&) [120])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [114]>(char const (&) [114])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [158]>(char const (&) [158])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [150]>(char const (&) [150])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [145]>(char const (&) [145])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [137]>(char const (&) [137])
Line
Count
Source
52
3
  DiagnosticStream& operator<<(const T& val) {
53
3
    stream_ << val;
54
3
    return *this;
55
3
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [85]>(char const (&) [85])
Line
Count
Source
52
18
  DiagnosticStream& operator<<(const T& val) {
53
18
    stream_ << val;
54
18
    return *this;
55
18
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [96]>(char const (&) [96])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [122]>(char const (&) [122])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [111]>(char const (&) [111])
Line
Count
Source
52
4
  DiagnosticStream& operator<<(const T& val) {
53
4
    stream_ << val;
54
4
    return *this;
55
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [136]>(char const (&) [136])
Line
Count
Source
52
13
  DiagnosticStream& operator<<(const T& val) {
53
13
    stream_ << val;
54
13
    return *this;
55
13
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [196]>(char const (&) [196])
Line
Count
Source
52
30
  DiagnosticStream& operator<<(const T& val) {
53
30
    stream_ << val;
54
30
    return *this;
55
30
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [170]>(char const (&) [170])
Line
Count
Source
52
6
  DiagnosticStream& operator<<(const T& val) {
53
6
    stream_ << val;
54
6
    return *this;
55
6
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [259]>(char const (&) [259])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [289]>(char const (&) [289])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [160]>(char const (&) [160])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [184]>(char const (&) [184])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [212]>(char const (&) [212])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [144]>(char const (&) [144])
Line
Count
Source
52
18
  DiagnosticStream& operator<<(const T& val) {
53
18
    stream_ << val;
54
18
    return *this;
55
18
  }
Unexecuted instantiation: validate_extensions.cpp:spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <$_13>($_13 const&)
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [134]>(char const (&) [134])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [116]>(char const (&) [116])
Line
Count
Source
52
3
  DiagnosticStream& operator<<(const T& val) {
53
3
    stream_ << val;
54
3
    return *this;
55
3
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [132]>(char const (&) [132])
Line
Count
Source
52
1
  DiagnosticStream& operator<<(const T& val) {
53
1
    stream_ << val;
54
1
    return *this;
55
1
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [100]>(char const (&) [100])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [147]>(char const (&) [147])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [154]>(char const (&) [154])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [148]>(char const (&) [148])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [142]>(char const (&) [142])
Line
Count
Source
52
38
  DiagnosticStream& operator<<(const T& val) {
53
38
    stream_ << val;
54
38
    return *this;
55
38
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [135]>(char const (&) [135])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [322]>(char const (&) [322])
Line
Count
Source
52
6
  DiagnosticStream& operator<<(const T& val) {
53
6
    stream_ << val;
54
6
    return *this;
55
6
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [185]>(char const (&) [185])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [256]>(char const (&) [256])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [143]>(char const (&) [143])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [224]>(char const (&) [224])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [223]>(char const (&) [223])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [228]>(char const (&) [228])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [124]>(char const (&) [124])
Line
Count
Source
52
2
  DiagnosticStream& operator<<(const T& val) {
53
2
    stream_ << val;
54
2
    return *this;
55
2
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [163]>(char const (&) [163])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [166]>(char const (&) [166])
Line
Count
Source
52
12
  DiagnosticStream& operator<<(const T& val) {
53
12
    stream_ << val;
54
12
    return *this;
55
12
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [123]>(char const (&) [123])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [153]>(char const (&) [153])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [110]>(char const (&) [110])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <float>(float const&)
56
57
  // Conversion operator to spv_result, returning the error code.
58
1.34M
  operator spv_result_t() { return error_; }
59
60
 private:
61
  std::ostringstream stream_;
62
  spv_position_t position_;
63
  MessageConsumer consumer_;  // Message consumer callback.
64
  std::string disassembled_instruction_;
65
  spv_result_t error_;
66
  // Provide way to pass optional information from ShaderDebugInfo
67
  std::string shader_debug_info_;
68
};
69
70
// Changes the MessageConsumer in |context| to one that updates |diagnostic|
71
// with the last message received.
72
//
73
// This function expects that |diagnostic| is not nullptr and its content is a
74
// nullptr.
75
void UseDiagnosticAsMessageConsumer(spv_context context,
76
                                    spv_diagnostic* diagnostic);
77
78
std::string spvResultToString(spv_result_t res);
79
80
}  // namespace spvtools
81
82
#endif  // SOURCE_DIAGNOSTIC_H_