mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
755dd8000d
llvm-svn: 116779
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
//===-- llvm/MC/MCObjectFormat.h - Object Format Info -----------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_MC_MCOBJECTFORMAT_H
|
|
#define LLVM_MC_MCOBJECTFORMAT_H
|
|
|
|
namespace llvm {
|
|
class MCSymbol;
|
|
|
|
class MCObjectFormat {
|
|
public:
|
|
virtual ~MCObjectFormat();
|
|
|
|
/// isAbsolute - Check if A - B is an absolute value
|
|
///
|
|
/// \param InSet - True if this expression is in a set. For example:
|
|
/// a:
|
|
/// ...
|
|
/// b:
|
|
/// tmp = a - b
|
|
/// .long tmp
|
|
/// \param A - LHS
|
|
/// \param B - RHS
|
|
virtual bool isAbsolute(bool InSet, const MCSymbol &A,
|
|
const MCSymbol &B) const = 0;
|
|
};
|
|
|
|
class MCELFObjectFormat : public MCObjectFormat {
|
|
public:
|
|
virtual bool isAbsolute(bool InSet, const MCSymbol &A,
|
|
const MCSymbol &B) const;
|
|
};
|
|
|
|
class MCMachOObjectFormat : public MCObjectFormat {
|
|
public:
|
|
virtual bool isAbsolute(bool InSet, const MCSymbol &A,
|
|
const MCSymbol &B) const;
|
|
};
|
|
|
|
class MCCOFFObjectFormat : public MCObjectFormat {
|
|
public:
|
|
virtual bool isAbsolute(bool InSet, const MCSymbol &A,
|
|
const MCSymbol &B) const;
|
|
};
|
|
|
|
} // End llvm namespace
|
|
|
|
#endif
|