Home | History | Annotate | Download | only in ARM
      1 //===-- llvm/Target/ARMTargetObjectFile.h - ARM Object Info -----*- C++ -*-===//
      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 #ifndef LLVM_TARGET_ARM_TARGETOBJECTFILE_H
     11 #define LLVM_TARGET_ARM_TARGETOBJECTFILE_H
     12 
     13 #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
     14 
     15 namespace llvm {
     16 
     17 class MCContext;
     18 class TargetMachine;
     19 
     20 class ARMElfTargetObjectFile : public TargetLoweringObjectFileELF {
     21 protected:
     22   const MCSection *AttributesSection;
     23   bool isAAPCS_ABI;
     24 public:
     25   ARMElfTargetObjectFile() :
     26     TargetLoweringObjectFileELF(),
     27     AttributesSection(NULL)
     28   {}
     29 
     30   virtual void Initialize(MCContext &Ctx, const TargetMachine &TM);
     31 
     32   virtual const MCSection *getAttributesSection() const {
     33     return AttributesSection;
     34   }
     35 
     36   const MCSection * getStaticCtorSection(unsigned Priority) const;
     37   const MCSection * getStaticDtorSection(unsigned Priority) const;
     38 };
     39 
     40 } // end namespace llvm
     41 
     42 #endif
     43