Coverage Report

Created: 2024-09-11 07:09

/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)
34
      : position_(position),
35
        consumer_(consumer),
36
        disassembled_instruction_(disassembled_instruction),
37
1.44M
        error_(error) {}
38
39
  // Creates a DiagnosticStream from an expiring DiagnosticStream.
40
  // The new object takes the contents of the other, and prevents the
41
  // other from emitting anything during destruction.
42
  DiagnosticStream(DiagnosticStream&& other);
43
44
  // Destroys a DiagnosticStream.
45
  // If its status code is something other than SPV_FAILED_MATCH
46
  // then emit the accumulated message to the consumer.
47
  ~DiagnosticStream();
48
49
  // Adds the given value to the diagnostic message to be written.
50
  template <typename T>
51
4.63M
  DiagnosticStream& operator<<(const T& val) {
52
4.63M
    stream_ << val;
53
4.63M
    return *this;
54
4.63M
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [15]>(char const (&) [15])
Line
Count
Source
51
42.7k
  DiagnosticStream& operator<<(const T& val) {
52
42.7k
    stream_ << val;
53
42.7k
    return *this;
54
42.7k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [77]>(char const (&) [77])
Line
Count
Source
51
333
  DiagnosticStream& operator<<(const T& val) {
52
333
    stream_ << val;
53
333
    return *this;
54
333
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [35]>(char const (&) [35])
Line
Count
Source
51
59.6k
  DiagnosticStream& operator<<(const T& val) {
52
59.6k
    stream_ << val;
53
59.6k
    return *this;
54
59.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [41]>(char const (&) [41])
Line
Count
Source
51
412
  DiagnosticStream& operator<<(const T& val) {
52
412
    stream_ << val;
53
412
    return *this;
54
412
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [24]>(char const (&) [24])
Line
Count
Source
51
2.66k
  DiagnosticStream& operator<<(const T& val) {
52
2.66k
    stream_ << val;
53
2.66k
    return *this;
54
2.66k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [22]>(char const (&) [22])
Line
Count
Source
51
1.92k
  DiagnosticStream& operator<<(const T& val) {
52
1.92k
    stream_ << val;
53
1.92k
    return *this;
54
1.92k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [65]>(char const (&) [65])
Line
Count
Source
51
46
  DiagnosticStream& operator<<(const T& val) {
52
46
    stream_ << val;
53
46
    return *this;
54
46
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [31]>(char const (&) [31])
Line
Count
Source
51
7.72k
  DiagnosticStream& operator<<(const T& val) {
52
7.72k
    stream_ << val;
53
7.72k
    return *this;
54
7.72k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [47]>(char const (&) [47])
Line
Count
Source
51
11.3k
  DiagnosticStream& operator<<(const T& val) {
52
11.3k
    stream_ << val;
53
11.3k
    return *this;
54
11.3k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [54]>(char const (&) [54])
Line
Count
Source
51
152
  DiagnosticStream& operator<<(const T& val) {
52
152
    stream_ << val;
53
152
    return *this;
54
152
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned long>(unsigned long const&)
Line
Count
Source
51
379k
  DiagnosticStream& operator<<(const T& val) {
52
379k
    stream_ << val;
53
379k
    return *this;
54
379k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [26]>(char const (&) [26])
Line
Count
Source
51
473
  DiagnosticStream& operator<<(const T& val) {
52
473
    stream_ << val;
53
473
    return *this;
54
473
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <int>(int const&)
Line
Count
Source
51
30
  DiagnosticStream& operator<<(const T& val) {
52
30
    stream_ << val;
53
30
    return *this;
54
30
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [29]>(char const (&) [29])
Line
Count
Source
51
18.2k
  DiagnosticStream& operator<<(const T& val) {
52
18.2k
    stream_ << val;
53
18.2k
    return *this;
54
18.2k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char const*>(char const* const&)
Line
Count
Source
51
912k
  DiagnosticStream& operator<<(const T& val) {
52
912k
    stream_ << val;
53
912k
    return *this;
54
912k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [12]>(char const (&) [12])
Line
Count
Source
51
1.09k
  DiagnosticStream& operator<<(const T& val) {
52
1.09k
    stream_ << val;
53
1.09k
    return *this;
54
1.09k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [40]>(char const (&) [40])
Line
Count
Source
51
1.17k
  DiagnosticStream& operator<<(const T& val) {
52
1.17k
    stream_ << val;
53
1.17k
    return *this;
54
1.17k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned int>(unsigned int const&)
Line
Count
Source
51
157k
  DiagnosticStream& operator<<(const T& val) {
52
157k
    stream_ << val;
53
157k
    return *this;
54
157k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [36]>(char const (&) [36])
Line
Count
Source
51
5.67k
  DiagnosticStream& operator<<(const T& val) {
52
5.67k
    stream_ << val;
53
5.67k
    return *this;
54
5.67k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [3]>(char const (&) [3])
Line
Count
Source
51
394k
  DiagnosticStream& operator<<(const T& val) {
52
394k
    stream_ << val;
53
394k
    return *this;
54
394k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [55]>(char const (&) [55])
Line
Count
Source
51
115
  DiagnosticStream& operator<<(const T& val) {
52
115
    stream_ << val;
53
115
    return *this;
54
115
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [23]>(char const (&) [23])
Line
Count
Source
51
76.0k
  DiagnosticStream& operator<<(const T& val) {
52
76.0k
    stream_ << val;
53
76.0k
    return *this;
54
76.0k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [9]>(char const (&) [9])
Line
Count
Source
51
83.2k
  DiagnosticStream& operator<<(const T& val) {
52
83.2k
    stream_ << val;
53
83.2k
    return *this;
54
83.2k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [10]>(char const (&) [10])
Line
Count
Source
51
211
  DiagnosticStream& operator<<(const T& val) {
52
211
    stream_ << val;
53
211
    return *this;
54
211
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [49]>(char const (&) [49])
Line
Count
Source
51
22.2k
  DiagnosticStream& operator<<(const T& val) {
52
22.2k
    stream_ << val;
53
22.2k
    return *this;
54
22.2k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [104]>(char const (&) [104])
Line
Count
Source
51
304
  DiagnosticStream& operator<<(const T& val) {
52
304
    stream_ << val;
53
304
    return *this;
54
304
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [25]>(char const (&) [25])
Line
Count
Source
51
506k
  DiagnosticStream& operator<<(const T& val) {
52
506k
    stream_ << val;
53
506k
    return *this;
54
506k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [48]>(char const (&) [48])
Line
Count
Source
51
722
  DiagnosticStream& operator<<(const T& val) {
52
722
    stream_ << val;
53
722
    return *this;
54
722
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [38]>(char const (&) [38])
Line
Count
Source
51
135k
  DiagnosticStream& operator<<(const T& val) {
52
135k
    stream_ << val;
53
135k
    return *this;
54
135k
  }
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
51
561k
  DiagnosticStream& operator<<(const T& val) {
52
561k
    stream_ << val;
53
561k
    return *this;
54
561k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [2]>(char const (&) [2])
Line
Count
Source
51
324k
  DiagnosticStream& operator<<(const T& val) {
52
324k
    stream_ << val;
53
324k
    return *this;
54
324k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [11]>(char const (&) [11])
Line
Count
Source
51
30.3k
  DiagnosticStream& operator<<(const T& val) {
52
30.3k
    stream_ << val;
53
30.3k
    return *this;
54
30.3k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [32]>(char const (&) [32])
Line
Count
Source
51
10.6k
  DiagnosticStream& operator<<(const T& val) {
52
10.6k
    stream_ << val;
53
10.6k
    return *this;
54
10.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [51]>(char const (&) [51])
Line
Count
Source
51
2.31k
  DiagnosticStream& operator<<(const T& val) {
52
2.31k
    stream_ << val;
53
2.31k
    return *this;
54
2.31k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [33]>(char const (&) [33])
Line
Count
Source
51
7.93k
  DiagnosticStream& operator<<(const T& val) {
52
7.93k
    stream_ << val;
53
7.93k
    return *this;
54
7.93k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [8]>(char const (&) [8])
Line
Count
Source
51
15.0k
  DiagnosticStream& operator<<(const T& val) {
52
15.0k
    stream_ << val;
53
15.0k
    return *this;
54
15.0k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [7]>(char const (&) [7])
Line
Count
Source
51
664
  DiagnosticStream& operator<<(const T& val) {
52
664
    stream_ << val;
53
664
    return *this;
54
664
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [42]>(char const (&) [42])
Line
Count
Source
51
136
  DiagnosticStream& operator<<(const T& val) {
52
136
    stream_ << val;
53
136
    return *this;
54
136
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [30]>(char const (&) [30])
Line
Count
Source
51
21.6k
  DiagnosticStream& operator<<(const T& val) {
52
21.6k
    stream_ << val;
53
21.6k
    return *this;
54
21.6k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [37]>(char const (&) [37])
Line
Count
Source
51
81.8k
  DiagnosticStream& operator<<(const T& val) {
52
81.8k
    stream_ << val;
53
81.8k
    return *this;
54
81.8k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [63]>(char const (&) [63])
Line
Count
Source
51
892
  DiagnosticStream& operator<<(const T& val) {
52
892
    stream_ << val;
53
892
    return *this;
54
892
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [61]>(char const (&) [61])
Line
Count
Source
51
1.94k
  DiagnosticStream& operator<<(const T& val) {
52
1.94k
    stream_ << val;
53
1.94k
    return *this;
54
1.94k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [44]>(char const (&) [44])
Line
Count
Source
51
657
  DiagnosticStream& operator<<(const T& val) {
52
657
    stream_ << val;
53
657
    return *this;
54
657
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [69]>(char const (&) [69])
Line
Count
Source
51
274
  DiagnosticStream& operator<<(const T& val) {
52
274
    stream_ << val;
53
274
    return *this;
54
274
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [101]>(char const (&) [101])
Line
Count
Source
51
1.67k
  DiagnosticStream& operator<<(const T& val) {
52
1.67k
    stream_ << val;
53
1.67k
    return *this;
54
1.67k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [13]>(char const (&) [13])
Line
Count
Source
51
4.72k
  DiagnosticStream& operator<<(const T& val) {
52
4.72k
    stream_ << val;
53
4.72k
    return *this;
54
4.72k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [93]>(char const (&) [93])
Line
Count
Source
51
32
  DiagnosticStream& operator<<(const T& val) {
52
32
    stream_ << val;
53
32
    return *this;
54
32
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [52]>(char const (&) [52])
Line
Count
Source
51
332
  DiagnosticStream& operator<<(const T& val) {
52
332
    stream_ << val;
53
332
    return *this;
54
332
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [46]>(char const (&) [46])
Line
Count
Source
51
108
  DiagnosticStream& operator<<(const T& val) {
52
108
    stream_ << val;
53
108
    return *this;
54
108
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [53]>(char const (&) [53])
Line
Count
Source
51
136
  DiagnosticStream& operator<<(const T& val) {
52
136
    stream_ << val;
53
136
    return *this;
54
136
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [45]>(char const (&) [45])
Line
Count
Source
51
204
  DiagnosticStream& operator<<(const T& val) {
52
204
    stream_ << val;
53
204
    return *this;
54
204
  }
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
51
4
  DiagnosticStream& operator<<(const T& val) {
52
4
    stream_ << val;
53
4
    return *this;
54
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [67]>(char const (&) [67])
Line
Count
Source
51
89
  DiagnosticStream& operator<<(const T& val) {
52
89
    stream_ << val;
53
89
    return *this;
54
89
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [19]>(char const (&) [19])
Line
Count
Source
51
241k
  DiagnosticStream& operator<<(const T& val) {
52
241k
    stream_ << val;
53
241k
    return *this;
54
241k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [72]>(char const (&) [72])
Line
Count
Source
51
6
  DiagnosticStream& operator<<(const T& val) {
52
6
    stream_ << val;
53
6
    return *this;
54
6
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [28]>(char const (&) [28])
Line
Count
Source
51
196
  DiagnosticStream& operator<<(const T& val) {
52
196
    stream_ << val;
53
196
    return *this;
54
196
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [76]>(char const (&) [76])
Line
Count
Source
51
32
  DiagnosticStream& operator<<(const T& val) {
52
32
    stream_ << val;
53
32
    return *this;
54
32
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [34]>(char const (&) [34])
Line
Count
Source
51
59.1k
  DiagnosticStream& operator<<(const T& val) {
52
59.1k
    stream_ << val;
53
59.1k
    return *this;
54
59.1k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [39]>(char const (&) [39])
Line
Count
Source
51
146k
  DiagnosticStream& operator<<(const T& val) {
52
146k
    stream_ << val;
53
146k
    return *this;
54
146k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [43]>(char const (&) [43])
Line
Count
Source
51
100
  DiagnosticStream& operator<<(const T& val) {
52
100
    stream_ << val;
53
100
    return *this;
54
100
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [57]>(char const (&) [57])
Line
Count
Source
51
237
  DiagnosticStream& operator<<(const T& val) {
52
237
    stream_ << val;
53
237
    return *this;
54
237
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [16]>(char const (&) [16])
Line
Count
Source
51
17.0k
  DiagnosticStream& operator<<(const T& val) {
52
17.0k
    stream_ << val;
53
17.0k
    return *this;
54
17.0k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [17]>(char const (&) [17])
Line
Count
Source
51
31.9k
  DiagnosticStream& operator<<(const T& val) {
52
31.9k
    stream_ << val;
53
31.9k
    return *this;
54
31.9k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [58]>(char const (&) [58])
Line
Count
Source
51
134
  DiagnosticStream& operator<<(const T& val) {
52
134
    stream_ << val;
53
134
    return *this;
54
134
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [59]>(char const (&) [59])
Line
Count
Source
51
89
  DiagnosticStream& operator<<(const T& val) {
52
89
    stream_ << val;
53
89
    return *this;
54
89
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [64]>(char const (&) [64])
Line
Count
Source
51
7
  DiagnosticStream& operator<<(const T& val) {
52
7
    stream_ << val;
53
7
    return *this;
54
7
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [14]>(char const (&) [14])
Line
Count
Source
51
17.5k
  DiagnosticStream& operator<<(const T& val) {
52
17.5k
    stream_ << val;
53
17.5k
    return *this;
54
17.5k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [60]>(char const (&) [60])
Line
Count
Source
51
8
  DiagnosticStream& operator<<(const T& val) {
52
8
    stream_ << val;
53
8
    return *this;
54
8
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [62]>(char const (&) [62])
Line
Count
Source
51
76
  DiagnosticStream& operator<<(const T& val) {
52
76
    stream_ << val;
53
76
    return *this;
54
76
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [50]>(char const (&) [50])
Line
Count
Source
51
109
  DiagnosticStream& operator<<(const T& val) {
52
109
    stream_ << val;
53
109
    return *this;
54
109
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [27]>(char const (&) [27])
Line
Count
Source
51
1.16k
  DiagnosticStream& operator<<(const T& val) {
52
1.16k
    stream_ << val;
53
1.16k
    return *this;
54
1.16k
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [152]>(char const (&) [152])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [75]>(char const (&) [75])
Line
Count
Source
51
18
  DiagnosticStream& operator<<(const T& val) {
52
18
    stream_ << val;
53
18
    return *this;
54
18
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [68]>(char const (&) [68])
Line
Count
Source
51
73
  DiagnosticStream& operator<<(const T& val) {
52
73
    stream_ << val;
53
73
    return *this;
54
73
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [70]>(char const (&) [70])
Line
Count
Source
51
19
  DiagnosticStream& operator<<(const T& val) {
52
19
    stream_ << val;
53
19
    return *this;
54
19
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [98]>(char const (&) [98])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [56]>(char const (&) [56])
Line
Count
Source
51
370
  DiagnosticStream& operator<<(const T& val) {
52
370
    stream_ << val;
53
370
    return *this;
54
370
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [6]>(char const (&) [6])
Line
Count
Source
51
288
  DiagnosticStream& operator<<(const T& val) {
52
288
    stream_ << val;
53
288
    return *this;
54
288
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [112]>(char const (&) [112])
Line
Count
Source
51
3
  DiagnosticStream& operator<<(const T& val) {
52
3
    stream_ << val;
53
3
    return *this;
54
3
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [115]>(char const (&) [115])
Line
Count
Source
51
3
  DiagnosticStream& operator<<(const T& val) {
52
3
    stream_ << val;
53
3
    return *this;
54
3
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [18]>(char const (&) [18])
Line
Count
Source
51
22.9k
  DiagnosticStream& operator<<(const T& val) {
52
22.9k
    stream_ << val;
53
22.9k
    return *this;
54
22.9k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [81]>(char const (&) [81])
Line
Count
Source
51
8
  DiagnosticStream& operator<<(const T& val) {
52
8
    stream_ << val;
53
8
    return *this;
54
8
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [88]>(char const (&) [88])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [79]>(char const (&) [79])
Line
Count
Source
51
6
  DiagnosticStream& operator<<(const T& val) {
52
6
    stream_ << val;
53
6
    return *this;
54
6
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [89]>(char const (&) [89])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [91]>(char const (&) [91])
Line
Count
Source
51
10
  DiagnosticStream& operator<<(const T& val) {
52
10
    stream_ << val;
53
10
    return *this;
54
10
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [90]>(char const (&) [90])
Line
Count
Source
51
6
  DiagnosticStream& operator<<(const T& val) {
52
6
    stream_ << val;
53
6
    return *this;
54
6
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [92]>(char const (&) [92])
Line
Count
Source
51
39
  DiagnosticStream& operator<<(const T& val) {
52
39
    stream_ << val;
53
39
    return *this;
54
39
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [97]>(char const (&) [97])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [71]>(char const (&) [71])
Line
Count
Source
51
10
  DiagnosticStream& operator<<(const T& val) {
52
10
    stream_ << val;
53
10
    return *this;
54
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
51
2
  DiagnosticStream& operator<<(const T& val) {
52
2
    stream_ << val;
53
2
    return *this;
54
2
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [127]>(char const (&) [127])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [105]>(char const (&) [105])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [86]>(char const (&) [86])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [141]>(char const (&) [141])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [140]>(char const (&) [140])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [106]>(char const (&) [106])
Line
Count
Source
51
5
  DiagnosticStream& operator<<(const T& val) {
52
5
    stream_ << val;
53
5
    return *this;
54
5
  }
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
51
3
  DiagnosticStream& operator<<(const T& val) {
52
3
    stream_ << val;
53
3
    return *this;
54
3
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [109]>(char const (&) [109])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [99]>(char const (&) [99])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [108]>(char const (&) [108])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [87]>(char const (&) [87])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [20]>(char const (&) [20])
Line
Count
Source
51
765
  DiagnosticStream& operator<<(const T& val) {
52
765
    stream_ << val;
53
765
    return *this;
54
765
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [83]>(char const (&) [83])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [73]>(char const (&) [73])
Line
Count
Source
51
249
  DiagnosticStream& operator<<(const T& val) {
52
249
    stream_ << val;
53
249
    return *this;
54
249
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [78]>(char const (&) [78])
Line
Count
Source
51
22
  DiagnosticStream& operator<<(const T& val) {
52
22
    stream_ << val;
53
22
    return *this;
54
22
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [66]>(char const (&) [66])
Line
Count
Source
51
13
  DiagnosticStream& operator<<(const T& val) {
52
13
    stream_ << val;
53
13
    return *this;
54
13
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [21]>(char const (&) [21])
Line
Count
Source
51
123
  DiagnosticStream& operator<<(const T& val) {
52
123
    stream_ << val;
53
123
    return *this;
54
123
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [5]>(char const (&) [5])
Line
Count
Source
51
1.15k
  DiagnosticStream& operator<<(const T& val) {
52
1.15k
    stream_ << val;
53
1.15k
    return *this;
54
1.15k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [118]>(char const (&) [118])
Line
Count
Source
51
12
  DiagnosticStream& operator<<(const T& val) {
52
12
    stream_ << val;
53
12
    return *this;
54
12
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [126]>(char const (&) [126])
Line
Count
Source
51
14
  DiagnosticStream& operator<<(const T& val) {
52
14
    stream_ << val;
53
14
    return *this;
54
14
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [74]>(char const (&) [74])
Line
Count
Source
51
76
  DiagnosticStream& operator<<(const T& val) {
52
76
    stream_ << val;
53
76
    return *this;
54
76
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [129]>(char const (&) [129])
Line
Count
Source
51
4
  DiagnosticStream& operator<<(const T& val) {
52
4
    stream_ << val;
53
4
    return *this;
54
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [120]>(char const (&) [120])
Line
Count
Source
51
3
  DiagnosticStream& operator<<(const T& val) {
52
3
    stream_ << val;
53
3
    return *this;
54
3
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [114]>(char const (&) [114])
Line
Count
Source
51
8
  DiagnosticStream& operator<<(const T& val) {
52
8
    stream_ << val;
53
8
    return *this;
54
8
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [110]>(char const (&) [110])
Line
Count
Source
51
5
  DiagnosticStream& operator<<(const T& val) {
52
5
    stream_ << val;
53
5
    return *this;
54
5
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [196]>(char const (&) [196])
Line
Count
Source
51
47
  DiagnosticStream& operator<<(const T& val) {
52
47
    stream_ << val;
53
47
    return *this;
54
47
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [170]>(char const (&) [170])
Line
Count
Source
51
18
  DiagnosticStream& operator<<(const T& val) {
52
18
    stream_ << val;
53
18
    return *this;
54
18
  }
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 [130]>(char const (&) [130])
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 [80]>(char const (&) [80])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [4]>(char const (&) [4])
Line
Count
Source
51
1.79k
  DiagnosticStream& operator<<(const T& val) {
52
1.79k
    stream_ << val;
53
1.79k
    return *this;
54
1.79k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [85]>(char const (&) [85])
Line
Count
Source
51
21
  DiagnosticStream& operator<<(const T& val) {
52
21
    stream_ << val;
53
21
    return *this;
54
21
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [132]>(char const (&) [132])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [102]>(char const (&) [102])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <unsigned short>(unsigned short const&)
Line
Count
Source
51
183k
  DiagnosticStream& operator<<(const T& val) {
52
183k
    stream_ << val;
53
183k
    return *this;
54
183k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [305]>(char const (&) [305])
Line
Count
Source
51
5
  DiagnosticStream& operator<<(const T& val) {
52
5
    stream_ << val;
53
5
    return *this;
54
5
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [185]>(char const (&) [185])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [134]>(char const (&) [134])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <long>(long const&)
Line
Count
Source
51
224
  DiagnosticStream& operator<<(const T& val) {
52
224
    stream_ << val;
53
224
    return *this;
54
224
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char>(char const&)
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [100]>(char const (&) [100])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [147]>(char const (&) [147])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [107]>(char const (&) [107])
Line
Count
Source
51
17
  DiagnosticStream& operator<<(const T& val) {
52
17
    stream_ << val;
53
17
    return *this;
54
17
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [124]>(char const (&) [124])
Line
Count
Source
51
4
  DiagnosticStream& operator<<(const T& val) {
52
4
    stream_ << val;
53
4
    return *this;
54
4
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [163]>(char const (&) [163])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [146]>(char const (&) [146])
Line
Count
Source
51
4
  DiagnosticStream& operator<<(const T& val) {
52
4
    stream_ << val;
53
4
    return *this;
54
4
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [166]>(char const (&) [166])
Line
Count
Source
51
12
  DiagnosticStream& operator<<(const T& val) {
52
12
    stream_ << val;
53
12
    return *this;
54
12
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [136]>(char const (&) [136])
Line
Count
Source
51
10
  DiagnosticStream& operator<<(const T& val) {
52
10
    stream_ << val;
53
10
    return *this;
54
10
  }
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [111]>(char const (&) [111])
Unexecuted instantiation: spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [186]>(char const (&) [186])
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 [122]>(char const (&) [122])
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [116]>(char const (&) [116])
Line
Count
Source
51
4
  DiagnosticStream& operator<<(const T& val) {
52
4
    stream_ << val;
53
4
    return *this;
54
4
  }
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
51
14.7k
  DiagnosticStream& operator<<(const T& val) {
52
14.7k
    stream_ << val;
53
14.7k
    return *this;
54
14.7k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <char [131]>(char const (&) [131])
Line
Count
Source
51
1.70k
  DiagnosticStream& operator<<(const T& val) {
52
1.70k
    stream_ << val;
53
1.70k
    return *this;
54
1.70k
  }
spvtools::DiagnosticStream& spvtools::DiagnosticStream::operator<< <spv_operand_type_t>(spv_operand_type_t const&)
Line
Count
Source
51
199
  DiagnosticStream& operator<<(const T& val) {
52
199
    stream_ << val;
53
199
    return *this;
54
199
  }
55
56
  // Conversion operator to spv_result, returning the error code.
57
1.43M
  operator spv_result_t() { return error_; }
58
59
 private:
60
  std::ostringstream stream_;
61
  spv_position_t position_;
62
  MessageConsumer consumer_;  // Message consumer callback.
63
  std::string disassembled_instruction_;
64
  spv_result_t error_;
65
};
66
67
// Changes the MessageConsumer in |context| to one that updates |diagnostic|
68
// with the last message received.
69
//
70
// This function expects that |diagnostic| is not nullptr and its content is a
71
// nullptr.
72
void UseDiagnosticAsMessageConsumer(spv_context context,
73
                                    spv_diagnostic* diagnostic);
74
75
std::string spvResultToString(spv_result_t res);
76
77
}  // namespace spvtools
78
79
#endif  // SOURCE_DIAGNOSTIC_H_