1 //===- lib/MC/MCELF.h - ELF MC --------------------------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains some support functions used by the ELF Streamer and
11 // ObjectWriter.
12 //
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef LLVM_MC_MCELF_H
16 #define LLVM_MC_MCELF_H
17 
18 #include "llvm/MC/MCExpr.h"
19 
20 namespace llvm {
21 class MCSymbolData;
22 
23 class MCELF {
24  public:
25   static void SetBinding(MCSymbolData &SD, unsigned Binding);
26   static unsigned GetBinding(const MCSymbolData &SD);
27   static void SetType(MCSymbolData &SD, unsigned Type);
28   static unsigned GetType(const MCSymbolData &SD);
29   static void SetVisibility(MCSymbolData &SD, unsigned Visibility);
30   static unsigned GetVisibility(MCSymbolData &SD);
31   static void setOther(MCSymbolData &SD, unsigned Other);
32   static unsigned getOther(MCSymbolData &SD);
33 };
34 
35 }
36 
37 #endif
38