1249259Sdim//===- lib/MC/MCELF.h - ELF MC --------------------------------------------===//
2249259Sdim//
3249259Sdim//                     The LLVM Compiler Infrastructure
4249259Sdim//
5249259Sdim// This file is distributed under the University of Illinois Open Source
6249259Sdim// License. See LICENSE.TXT for details.
7249259Sdim//
8249259Sdim//===----------------------------------------------------------------------===//
9249259Sdim//
10249259Sdim// This file contains some support functions used by the ELF Streamer and
11249259Sdim// ObjectWriter.
12249259Sdim//
13249259Sdim//===----------------------------------------------------------------------===//
14249259Sdim
15249259Sdim#ifndef LLVM_MC_MCELF_H
16249259Sdim#define LLVM_MC_MCELF_H
17249259Sdim
18249259Sdim#include "llvm/MC/MCExpr.h"
19249259Sdim
20249259Sdimnamespace llvm {
21249259Sdimclass MCSymbolData;
22249259Sdim
23249259Sdimclass MCELF {
24249259Sdim public:
25249259Sdim  static void SetBinding(MCSymbolData &SD, unsigned Binding);
26249259Sdim  static unsigned GetBinding(const MCSymbolData &SD);
27249259Sdim  static void SetType(MCSymbolData &SD, unsigned Type);
28249259Sdim  static unsigned GetType(const MCSymbolData &SD);
29249259Sdim  static void SetVisibility(MCSymbolData &SD, unsigned Visibility);
30249259Sdim  static unsigned GetVisibility(MCSymbolData &SD);
31249259Sdim  static void setOther(MCSymbolData &SD, unsigned Other);
32249259Sdim  static unsigned getOther(MCSymbolData &SD);
33249259Sdim};
34249259Sdim
35249259Sdim}
36249259Sdim
37249259Sdim#endif
38