Coverage Report

Created: 2019-05-19 14:56

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/lld/include/lld/Common/ErrorHandler.h
Line
Count
Source (jump to first uncovered line)
1
//===- ErrorHandler.h -------------------------------------------*- 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
// We designed lld's error handlers with the following goals in mind:
10
//
11
//  - Errors can occur at any place where we handle user input, but we don't
12
//    want them to affect the normal execution path too much. Ideally,
13
//    handling errors should be as simple as reporting them and exit (but
14
//    without actually doing exit).
15
//
16
//    In particular, the design to wrap all functions that could fail with
17
//    ErrorOr<T> is rejected because otherwise we would have to wrap a large
18
//    number of functions in lld with ErrorOr. With that approach, if some
19
//    function F can fail, not only F but all functions that transitively call
20
//    F have to be wrapped with ErrorOr. That seemed too much.
21
//
22
//  - Finding only one error at a time is not sufficient. We want to find as
23
//    many errors as possible with one execution of the linker. That means the
24
//    linker needs to keep running after a first error and give up at some
25
//    checkpoint (beyond which it would find cascading, false errors caused by
26
//    the previous errors).
27
//
28
//  - We want a simple interface to report errors. Unlike Clang, the data we
29
//    handle is compiled binary, so we don't need an error reporting mechanism
30
//    that's as sophisticated as the one that Clang has.
31
//
32
// The current lld's error handling mechanism is simple:
33
//
34
//  - When you find an error, report it using error() and continue as far as
35
//    you can. An internal error counter is incremented by one every time you
36
//    call error().
37
//
38
//    A common idiom to handle an error is calling error() and then returning
39
//    a reasonable default value. For example, if your function handles a
40
//    user-supplied alignment value, and if you find an invalid alignment
41
//    (e.g. 17 which is not 2^n), you may report it using error() and continue
42
//    as if it were alignment 1 (which is the simplest reasonable value).
43
//
44
//    Note that you should not continue with an invalid value; that breaks the
45
//    internal consistency. You need to maintain all variables have some sane
46
//    value even after an error occurred. So, when you have to continue with
47
//    some value, always use a dummy value.
48
//
49
//  - Find a reasonable checkpoint at where you want to stop the linker, and
50
//    add code to return from the function if errorCount() > 0. In most cases,
51
//    a checkpoint already exists, so you don't need to do anything for this.
52
//
53
// This interface satisfies all the goals that we mentioned above.
54
//
55
// You should never call fatal() except for reporting a corrupted input file.
56
// fatal() immediately terminates the linker, so the function is not desirable
57
// if you are using lld as a subroutine in other program, and with that you
58
// can find only one error at a time.
59
//
60
// warn() doesn't do anything but printing out a given message.
61
//
62
// It is not recommended to use llvm::outs() or llvm::errs() directly in lld
63
// because they are not thread-safe. The functions declared in this file are
64
// thread-safe.
65
//
66
//===----------------------------------------------------------------------===//
67
68
#ifndef LLD_COMMON_ERRORHANDLER_H
69
#define LLD_COMMON_ERRORHANDLER_H
70
71
#include "lld/Common/LLVM.h"
72
73
#include "llvm/ADT/STLExtras.h"
74
#include "llvm/Support/Error.h"
75
#include "llvm/Support/FileOutputBuffer.h"
76
77
namespace llvm {
78
class DiagnosticInfo;
79
}
80
81
namespace lld {
82
83
class ErrorHandler {
84
public:
85
  uint64_t ErrorCount = 0;
86
  uint64_t ErrorLimit = 20;
87
  StringRef ErrorLimitExceededMsg = "too many errors emitted, stopping now";
88
  StringRef LogName = "lld";
89
  llvm::raw_ostream *ErrorOS = &llvm::errs();
90
  bool ColorDiagnostics = llvm::errs().has_colors();
91
  bool ExitEarly = true;
92
  bool FatalWarnings = false;
93
  bool Verbose = false;
94
95
  void error(const Twine &Msg);
96
  LLVM_ATTRIBUTE_NORETURN void fatal(const Twine &Msg);
97
  void log(const Twine &Msg);
98
  void message(const Twine &Msg);
99
  void warn(const Twine &Msg);
100
101
  std::unique_ptr<llvm::FileOutputBuffer> OutputBuffer;
102
103
private:
104
  void print(StringRef S, raw_ostream::Colors C);
105
};
106
107
/// Returns the default error handler.
108
ErrorHandler &errorHandler();
109
110
2.70k
inline void error(const Twine &Msg) { errorHandler().error(Msg); }
111
0
inline LLVM_ATTRIBUTE_NORETURN void fatal(const Twine &Msg) {
112
0
  errorHandler().fatal(Msg);
113
0
}
114
16.0k
inline void log(const Twine &Msg) { errorHandler().log(Msg); }
115
282
inline void message(const Twine &Msg) { errorHandler().message(Msg); }
116
756
inline void warn(const Twine &Msg) { errorHandler().warn(Msg); }
117
217k
inline uint64_t errorCount() { return errorHandler().ErrorCount; }
118
119
LLVM_ATTRIBUTE_NORETURN void exitLld(int Val);
120
121
void diagnosticHandler(const llvm::DiagnosticInfo &DI);
122
void checkError(Error E);
123
124
// check functions are convenient functions to strip errors
125
// from error-or-value objects.
126
11
template <class T> T check(ErrorOr<T> E) {
127
11
  if (auto EC = E.getError())
128
0
    fatal(EC.message());
129
11
  return std::move(*E);
130
11
}
131
132
1.13M
template <class T> T check(Expected<T> E) {
133
1.13M
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
1.13M
  return std::move(*E);
136
1.13M
}
llvm::object::COFFSymbolRef lld::check<llvm::object::COFFSymbolRef>(llvm::Expected<llvm::object::COFFSymbolRef>)
Line
Count
Source
132
5.90k
template <class T> T check(Expected<T> E) {
133
5.90k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
5.90k
  return std::move(*E);
136
5.90k
}
llvm::object::COFFModuleDefinition lld::check<llvm::object::COFFModuleDefinition>(llvm::Expected<llvm::object::COFFModuleDefinition>)
Line
Count
Source
132
28
template <class T> T check(Expected<T> E) {
133
28
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
28
  return std::move(*E);
136
28
}
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > lld::check<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(llvm::Expected<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)
Line
Count
Source
132
1
template <class T> T check(Expected<T> E) {
133
1
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
1
  return std::move(*E);
136
1
}
std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > lld::check<std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > >(llvm::Expected<std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > >)
Line
Count
Source
132
252
template <class T> T check(Expected<T> E) {
133
252
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
252
  return std::move(*E);
136
252
}
std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > lld::check<std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > >(llvm::Expected<std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > >)
Line
Count
Source
132
103
template <class T> T check(Expected<T> E) {
133
103
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
103
  return std::move(*E);
136
103
}
std::__1::function<std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)> (unsigned int, llvm::StringRef)> lld::check<std::__1::function<std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)> (unsigned int, llvm::StringRef)> >(llvm::Expected<std::__1::function<std::__1::function<std::__1::unique_ptr<llvm::lto::NativeObjectStream, std::__1::default_delete<llvm::lto::NativeObjectStream> > (unsigned int)> (unsigned int, llvm::StringRef)> >)
Line
Count
Source
132
12
template <class T> T check(Expected<T> E) {
133
12
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
12
  return std::move(*E);
136
12
}
llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, true> > lld::check<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, true> > >(llvm::Expected<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, true> > >)
Line
Count
Source
132
762k
template <class T> T check(Expected<T> E) {
133
762k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
762k
  return std::move(*E);
136
762k
}
llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, false> > lld::check<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, false> > >(llvm::Expected<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)1, false> > >)
Line
Count
Source
132
8.61k
template <class T> T check(Expected<T> E) {
133
8.61k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
8.61k
  return std::move(*E);
136
8.61k
}
llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, false> > lld::check<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, false> > >(llvm::Expected<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, false> > >)
Line
Count
Source
132
4.48k
template <class T> T check(Expected<T> E) {
133
4.48k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
4.48k
  return std::move(*E);
136
4.48k
}
llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, true> > lld::check<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, true> > >(llvm::Expected<llvm::object::ELFFile<llvm::object::ELFType<(llvm::support::endianness)0, true> > >)
Line
Count
Source
132
12.8k
template <class T> T check(Expected<T> E) {
133
12.8k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
12.8k
  return std::move(*E);
136
12.8k
}
llvm::ArrayRef<unsigned char> lld::check<llvm::ArrayRef<unsigned char> >(llvm::Expected<llvm::ArrayRef<unsigned char> >)
Line
Count
Source
132
336k
template <class T> T check(Expected<T> E) {
133
336k
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
336k
  return std::move(*E);
136
336k
}
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >)
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >)
llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >)
Line
Count
Source
132
6
template <class T> T check(Expected<T> E) {
133
6
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
6
  return std::move(*E);
136
6
}
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_CGProfile_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >)
llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >)
Line
Count
Source
132
6
template <class T> T check(Expected<T> E) {
133
6
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
6
  return std::move(*E);
136
6
}
llvm::StringRef lld::check<llvm::StringRef>(llvm::Expected<llvm::StringRef>)
Line
Count
Source
132
71
template <class T> T check(Expected<T> E) {
133
71
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
71
  return std::move(*E);
136
71
}
llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >)
Line
Count
Source
132
5
template <class T> T check(Expected<T> E) {
133
5
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
5
  return std::move(*E);
136
5
}
llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >)
Line
Count
Source
132
40
template <class T> T check(Expected<T> E) {
133
40
  if (!E)
134
0
    fatal(llvm::toString(E.takeError()));
135
40
  return std::move(*E);
136
40
}
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Phdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >)
137
138
template <class T>
139
83
T check2(ErrorOr<T> E, llvm::function_ref<std::string()> Prefix) {
140
83
  if (auto EC = E.getError())
141
0
    fatal(Prefix() + ": " + EC.message());
142
83
  return std::move(*E);
143
83
}
std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> > lld::check2<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> > >(llvm::ErrorOr<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
139
38
T check2(ErrorOr<T> E, llvm::function_ref<std::string()> Prefix) {
140
38
  if (auto EC = E.getError())
141
0
    fatal(Prefix() + ": " + EC.message());
142
38
  return std::move(*E);
143
38
}
llvm::object::Archive::Child lld::check2<llvm::object::Archive::Child>(llvm::ErrorOr<llvm::object::Archive::Child>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
139
45
T check2(ErrorOr<T> E, llvm::function_ref<std::string()> Prefix) {
140
45
  if (auto EC = E.getError())
141
0
    fatal(Prefix() + ": " + EC.message());
142
45
  return std::move(*E);
143
45
}
144
145
template <class T>
146
466k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
466k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
466k
  return std::move(*E);
150
466k
}
std::__1::unique_ptr<llvm::object::Archive, std::__1::default_delete<llvm::object::Archive> > lld::check2<std::__1::unique_ptr<llvm::object::Archive, std::__1::default_delete<llvm::object::Archive> > >(llvm::Expected<std::__1::unique_ptr<llvm::object::Archive, std::__1::default_delete<llvm::object::Archive> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
264
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
264
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
264
  return std::move(*E);
150
264
}
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > lld::check2<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(llvm::Expected<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1
  return std::move(*E);
150
1
}
llvm::CachePruningPolicy lld::check2<llvm::CachePruningPolicy>(llvm::Expected<llvm::CachePruningPolicy>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
2.98k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
2.98k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
2.98k
  return std::move(*E);
150
2.98k
}
llvm::object::Archive::Child lld::check2<llvm::object::Archive::Child>(llvm::Expected<llvm::object::Archive::Child>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
258
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
258
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
258
  return std::move(*E);
150
258
}
llvm::MemoryBufferRef lld::check2<llvm::MemoryBufferRef>(llvm::Expected<llvm::MemoryBufferRef>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
149
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
149
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
149
  return std::move(*E);
150
149
}
std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > lld::check2<std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > >(llvm::Expected<std::__1::unique_ptr<llvm::object::Binary, std::__1::default_delete<llvm::object::Binary> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1.05k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1.05k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1.05k
  return std::move(*E);
150
1.05k
}
std::__1::unique_ptr<llvm::FileOutputBuffer, std::__1::default_delete<llvm::FileOutputBuffer> > lld::check2<std::__1::unique_ptr<llvm::FileOutputBuffer, std::__1::default_delete<llvm::FileOutputBuffer> > >(llvm::Expected<std::__1::unique_ptr<llvm::FileOutputBuffer, std::__1::default_delete<llvm::FileOutputBuffer> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
544
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
544
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
544
  return std::move(*E);
150
544
}
std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > lld::check2<std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > >(llvm::Expected<std::__1::unique_ptr<llvm::lto::InputFile, std::__1::default_delete<llvm::lto::InputFile> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
273
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
273
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
273
  return std::move(*E);
150
273
}
llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
456
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
456
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
456
  return std::move(*E);
150
456
}
llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
457
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
457
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
457
  return std::move(*E);
150
457
}
llvm::StringRef lld::check2<llvm::StringRef>(llvm::Expected<llvm::StringRef>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
363k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
363k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
363k
  return std::move(*E);
150
363k
}
llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
203
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
203
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
203
  return std::move(*E);
150
203
}
llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
203
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
203
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
203
  return std::move(*E);
150
203
}
llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
2.73k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
2.73k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
2.73k
  return std::move(*E);
150
2.73k
}
llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
2.79k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
2.79k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
2.79k
  return std::move(*E);
150
2.79k
}
llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
165
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
165
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
165
  return std::move(*E);
150
165
}
llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
165
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
165
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
165
  return std::move(*E);
150
165
}
llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const* lld::check2<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*>(llvm::Expected<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1
  return std::move(*E);
150
1
}
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const* lld::check2<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*>(llvm::Expected<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
2
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
2
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
2
  return std::move(*E);
150
2
}
unsigned int lld::check2<unsigned int>(llvm::Expected<unsigned int>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
87.8k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
87.8k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
87.8k
  return std::move(*E);
150
87.8k
}
llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)1, 1ul> > lld::check2<llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)1, 1ul> > >(llvm::Expected<llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)1, 1ul> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
78
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
78
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
78
  return std::move(*E);
150
78
}
llvm::ArrayRef<char> lld::check2<llvm::ArrayRef<char> >(llvm::Expected<llvm::ArrayRef<char> >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
9
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
9
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
9
  return std::move(*E);
150
9
}
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, true> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, true> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, true> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
5
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
5
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
5
  return std::move(*E);
150
5
}
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, false> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, false> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false>, false> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
345
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
345
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
345
  return std::move(*E);
150
345
}
Unexecuted instantiation: llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const* lld::check2<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*>(llvm::Expected<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Unexecuted instantiation: llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const* lld::check2<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*>(llvm::Expected<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Unexecuted instantiation: llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)0, 1ul> > lld::check2<llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)0, 1ul> > >(llvm::Expected<llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<unsigned int, (llvm::support::endianness)0, 1ul> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, true> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, true> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, true> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
13
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
13
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
13
  return std::move(*E);
150
13
}
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, false> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, false> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false>, false> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
83
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
83
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
83
  return std::move(*E);
150
83
}
llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const* lld::check2<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*>(llvm::Expected<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
65
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
65
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
65
  return std::move(*E);
150
65
}
llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const* lld::check2<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*>(llvm::Expected<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
71
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
71
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
71
  return std::move(*E);
150
71
}
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, true> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, true> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, true> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1.27k
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1.27k
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1.27k
  return std::move(*E);
150
1.27k
}
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, false> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, false> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true>, false> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1
  return std::move(*E);
150
1
}
Unexecuted instantiation: llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const* lld::check2<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*>(llvm::Expected<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Unexecuted instantiation: llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const* lld::check2<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*>(llvm::Expected<llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*>, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, true> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, true> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, true> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
112
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
112
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
112
  return std::move(*E);
150
112
}
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, false> > lld::check2<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, false> > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Rel_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true>, false> > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
61
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
61
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
61
  return std::move(*E);
150
61
}
Unexecuted instantiation: llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
24
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
24
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
24
  return std::move(*E);
150
24
}
llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1
  return std::move(*E);
150
1
}
llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
267
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
267
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
267
  return std::move(*E);
150
267
}
llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
13
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
13
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
13
  return std::move(*E);
150
13
}
llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Dyn_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
18
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
18
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
18
  return std::move(*E);
150
18
}
llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > lld::check2<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >(llvm::Expected<llvm::ArrayRef<llvm::object::Elf_Versym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > > >, llvm::function_ref<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > ()>)
Line
Count
Source
146
1
T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
147
1
  if (!E)
148
0
    fatal(Prefix() + ": " + toString(E.takeError()));
149
1
  return std::move(*E);
150
1
}
151
152
2
inline std::string toString(const Twine &S) { return S.str(); }
153
154
// To evaluate the second argument lazily, we use C macro.
155
466k
#define CHECK(E, S) check2((E), [&] 
{ return toString(S); }0
)
Unexecuted instantiation: Driver.cpp:lld::coff::parseModuleDefs(llvm::StringRef)::$_12::operator()() const
Unexecuted instantiation: Driver.cpp:lld::coff::parseOrderFile(llvm::StringRef)::$_13::operator()() const
Unexecuted instantiation: Driver.cpp:lld::coff::LinkerDriver::addBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer> >, bool)::$_0::operator()() const
Unexecuted instantiation: Driver.cpp:lld::coff::LinkerDriver::enqueueArchiveMember(llvm::object::Archive::Child const&, llvm::StringRef, llvm::StringRef)::$_4::operator()() const
Unexecuted instantiation: Driver.cpp:lld::coff::LinkerDriver::link(llvm::ArrayRef<char const*>)::$_8::operator()() const
Unexecuted instantiation: DriverUtils.cpp:lld::coff::createManifestXmlWithExternalMt(llvm::StringRef)::$_2::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::coff::ArchiveFile::parse()::$_0::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::coff::ArchiveFile::addMember(llvm::object::Archive::Symbol const*)::$_1::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::coff::getArchiveMembers(llvm::object::Archive*)::$_2::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::coff::getArchiveMembers(llvm::object::Archive*)::$_3::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::coff::ObjFile::parse()::$_4::operator()() const
Unexecuted instantiation: Writer.cpp:(anonymous namespace)::Writer::openFile(llvm::StringRef)::$_5::operator()() const
Unexecuted instantiation: Driver.cpp:getArchiveMembers(llvm::MemoryBufferRef)::$_3::operator()() const
Unexecuted instantiation: Driver.cpp:getArchiveMembers(llvm::MemoryBufferRef)::$_4::operator()() const
Unexecuted instantiation: Driver.cpp:getArchiveMembers(llvm::MemoryBufferRef)::$_5::operator()() const
Unexecuted instantiation: Driver.cpp:readConfigs(llvm::opt::InputArgList&)::$_7::operator()() const
Unexecuted instantiation: Driver.cpp:lld::elf::LinkerDriver::addFile(llvm::StringRef, bool)::$_1::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::elf::ArchiveFile::fetch(llvm::object::Archive::Symbol const&)::$_0::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::elf::ArchiveFile::fetch(llvm::object::Archive::Symbol const&)::$_1::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::elf::ArchiveFile::fetch(llvm::object::Archive::Symbol const&)::$_2::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::elf::BitcodeFile::BitcodeFile(llvm::MemoryBufferRef, llvm::StringRef, unsigned long long)::$_3::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda3'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda3'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda3'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::LazyObjFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda3'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)1, false> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)1, false>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)1, false>::Shdr const*)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)1, false> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)1, false>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)1, false>::Shdr const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::getSectionIndex(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&) const::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda2'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::initializeJustSymbols()::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, false> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, false> > const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)0, false> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)0, false>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)0, false>::Shdr const*)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)0, false> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)0, false>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)0, false>::Shdr const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::getSectionIndex(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&) const::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda2'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::initializeJustSymbols()::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, false> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, false> > const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)1, true> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)1, true>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)1, true>::Shdr const*)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)1, true> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)1, true>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)1, true>::Shdr const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::getSectionIndex(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&) const::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda2'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::initializeJustSymbols()::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)1, true> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)1, true> > const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)0, true> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)0, true>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)0, true>::Shdr const*)::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::ELFFileBase::initSymtab<llvm::object::ELFType<(llvm::support::endianness)0, true> >(llvm::ArrayRef<llvm::object::ELFType<(llvm::support::endianness)0, true>::Shdr>, llvm::object::ELFType<(llvm::support::endianness)0, true>::Shdr const*)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::getShtGroupSignature(llvm::ArrayRef<llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > >, llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::getSectionIndex(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&) const::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::initializeSections(llvm::DenseSet<llvm::CachedHashStringRef, llvm::DenseMapInfo<llvm::CachedHashStringRef> >&)::'lambda2'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::initializeJustSymbols()::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda0'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::createInputSection(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda1'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const&)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*)::'lambda'()::operator()() const
Unexecuted instantiation: lld::elf::ObjFile<llvm::object::ELFType<(llvm::support::endianness)0, true> >::createSymbol(llvm::object::Elf_Sym_Impl<llvm::object::ELFType<(llvm::support::endianness)0, true> > const*)::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, false> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, false> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)1, true> >()::'lambda2'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda0'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda1'()::operator()() const
Unexecuted instantiation: void lld::elf::SharedFile::parse<llvm::object::ELFType<(llvm::support::endianness)0, true> >()::'lambda2'()::operator()() const
Unexecuted instantiation: Symbols.cpp:lld::elf::LazyArchive::getMemberBuffer()::$_0::operator()() const
Unexecuted instantiation: Symbols.cpp:lld::elf::LazyArchive::getMemberBuffer()::$_1::operator()() const
Unexecuted instantiation: Driver.cpp:readConfigs(llvm::opt::InputArgList&)::$_4::operator()() const
Unexecuted instantiation: Driver.cpp:getArchiveMembers(llvm::MemoryBufferRef)::$_1::operator()() const
Unexecuted instantiation: Driver.cpp:getArchiveMembers(llvm::MemoryBufferRef)::$_2::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::wasm::ObjFile::parse(bool)::$_0::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::wasm::ArchiveFile::parse(bool)::$_1::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::wasm::ArchiveFile::addMember(llvm::object::Archive::Symbol const*)::$_2::operator()() const
Unexecuted instantiation: InputFiles.cpp:lld::wasm::ArchiveFile::addMember(llvm::object::Archive::Symbol const*)::$_3::operator()() const
156
157
} // namespace lld
158
159
#endif