ARMTargetObjectFile.h revision 234353
1243730Srwatson//===-- llvm/Target/ARMTargetObjectFile.h - ARM Object Info -----*- C++ -*-===//
2243730Srwatson//
3243730Srwatson//                     The LLVM Compiler Infrastructure
4243730Srwatson//
5243730Srwatson// This file is distributed under the University of Illinois Open Source
6243730Srwatson// License. See LICENSE.TXT for details.
7243730Srwatson//
8243730Srwatson//===----------------------------------------------------------------------===//
9243730Srwatson
10243730Srwatson#ifndef LLVM_TARGET_ARM_TARGETOBJECTFILE_H
11243730Srwatson#define LLVM_TARGET_ARM_TARGETOBJECTFILE_H
12243730Srwatson
13243730Srwatson#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
14243730Srwatson
15243730Srwatsonnamespace llvm {
16243730Srwatson
17243730Srwatsonclass MCContext;
18243730Srwatsonclass TargetMachine;
19243730Srwatson
20243730Srwatsonclass ARMElfTargetObjectFile : public TargetLoweringObjectFileELF {
21243730Srwatsonprotected:
22243730Srwatson  const MCSection *AttributesSection;
23243730Srwatson  bool isAAPCS_ABI;
24243730Srwatsonpublic:
25243730Srwatson  ARMElfTargetObjectFile() :
26243730Srwatson    TargetLoweringObjectFileELF(),
27243730Srwatson    AttributesSection(NULL)
28243730Srwatson  {}
29243730Srwatson
30243730Srwatson  virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
31243730Srwatson
32243730Srwatson  virtual const MCSection *getAttributesSection() const {
33243730Srwatson    return AttributesSection;
34243730Srwatson  }
35243730Srwatson
36243730Srwatson  const MCSection * getStaticCtorSection(unsigned Priority) const;
37243730Srwatson  const MCSection * getStaticDtorSection(unsigned Priority) const;
38243730Srwatson};
39243730Srwatson
40243730Srwatson} // end namespace llvm
41243730Srwatson
42243730Srwatson#endif
43243730Srwatson