Switch PPC/Darwin to new section handling stuff
[oota-llvm.git] / lib / Target / PowerPC / PPCTargetAsmInfo.h
1 //=====-- PPCTargetAsmInfo.h - PPC asm properties -------------*- 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 // This file contains the declaration of the DarwinTargetAsmInfo class.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef PPCTARGETASMINFO_H
15 #define PPCTARGETASMINFO_H
16
17 #include "llvm/Target/TargetAsmInfo.h"
18 #include "llvm/Target/DarwinTargetAsmInfo.h"
19
20 namespace llvm {
21
22   // Forward declaration.
23   class PPCTargetMachine;
24
25   struct PPCTargetAsmInfo : public virtual TargetAsmInfo {
26     explicit PPCTargetAsmInfo(const PPCTargetMachine &TM);
27   };
28
29   struct PPCDarwinTargetAsmInfo : public PPCTargetAsmInfo,
30                                   public DarwinTargetAsmInfo{
31     explicit PPCDarwinTargetAsmInfo(const PPCTargetMachine &TM);
32     virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason,
33                                            bool Global) const;
34   };
35
36   struct PPCLinuxTargetAsmInfo : public PPCTargetAsmInfo {
37     explicit PPCLinuxTargetAsmInfo(const PPCTargetMachine &TM);
38     virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason,
39                                            bool Global) const;
40   };
41
42 } // namespace llvm
43
44 #endif