Fix logic for not emitting no-dead-strip for some
[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 #include "llvm/Target/ELFTargetAsmInfo.h"
20
21 namespace llvm {
22
23   // Forward declaration.
24   class PPCTargetMachine;
25
26   struct PPCTargetAsmInfo : public virtual TargetAsmInfo {
27     explicit PPCTargetAsmInfo(const PPCTargetMachine &TM);
28   };
29
30   struct PPCDarwinTargetAsmInfo : public PPCTargetAsmInfo,
31                                   public DarwinTargetAsmInfo {
32     explicit PPCDarwinTargetAsmInfo(const PPCTargetMachine &TM);
33     virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason,
34                                            bool Global) const;
35   };
36
37   struct PPCLinuxTargetAsmInfo : public PPCTargetAsmInfo,
38                                  public ELFTargetAsmInfo {
39     explicit PPCLinuxTargetAsmInfo(const PPCTargetMachine &TM);
40     virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason,
41                                            bool Global) const;
42   };
43
44 } // namespace llvm
45
46 #endif