mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
c944447e56
A linker normally has two stages: symbol resolution and "moving stuff". In lib/Linker there is the complication of lazy linking some globals, but it was still far more mixed than it needed to. This splits the linker into a lower level IRMover and the linker proper. The IRMover just takes a list of globals to move and a callback that lets the user control what is lazy linked. The main motivation is that now tools/gold (and soon lld) can use their own symbol resolution to instruct IRMover what to do. llvm-svn: 255254
26 lines
705 B
C++
26 lines
705 B
C++
//===- LinkDiagnosticInfo.h -------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIB_LINKER_LINK_DIAGNOSTIC_INFO_H
|
|
#define LLVM_LIB_LINKER_LINK_DIAGNOSTIC_INFO_H
|
|
|
|
#include "llvm/IR/DiagnosticInfo.h"
|
|
|
|
namespace llvm {
|
|
class LinkDiagnosticInfo : public DiagnosticInfo {
|
|
const Twine &Msg;
|
|
|
|
public:
|
|
LinkDiagnosticInfo(DiagnosticSeverity Severity, const Twine &Msg);
|
|
void print(DiagnosticPrinter &DP) const override;
|
|
};
|
|
}
|
|
|
|
#endif
|