LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MCAsmInfoDarwin.cpp
Go to the documentation of this file.
1 //===-- MCAsmInfoDarwin.cpp - Darwin 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 defines target asm properties related what form asm statements
11 // should take in general on Darwin-based targets
12 //
13 //===----------------------------------------------------------------------===//
14 
16 #include "llvm/MC/MCContext.h"
17 #include "llvm/MC/MCExpr.h"
18 #include "llvm/MC/MCStreamer.h"
19 using namespace llvm;
20 
21 void MCAsmInfoDarwin::anchor() { }
22 
24  // Common settings for all Darwin targets.
25  // Syntax:
26  GlobalPrefix = "_";
27  PrivateGlobalPrefix = "L";
31 
32  AlignmentIsInBytes = false;
35  InlineAsmStart = " InlineAsm Start";
36  InlineAsmEnd = " InlineAsm End";
37 
38  // Directives:
39  WeakDefDirective = "\t.weak_definition ";
40  WeakRefDirective = "\t.weak_reference ";
41  ZeroDirective = "\t.space\t"; // ".space N" emits N zeros.
42  HasMachoZeroFillDirective = true; // Uses .zerofill
43  HasMachoTBSSDirective = true; // Uses .tbss
45 
46  // FIXME: Darwin 10 and newer don't need this.
48 
49  // FIXME: Change this once MC is the system assembler.
51 
54 
55  // Doesn't support protected visibility.
57 
59  HasNoDeadStrip = true;
60 
62 }
bool HasSingleParameterDotFile
Definition: MCAsmInfo.h:255
LCOMM::LCOMMType LCOMMDirectiveAlignmentType
Definition: MCAsmInfo.h:247
bool HasSubsectionsViaSymbols
Definition: MCAsmInfo.h:67
Not a valid directive.
Definition: MCDirectives.h:20
const char * GlobalPrefix
Definition: MCAsmInfo.h:120
bool DwarfUsesRelocationsAcrossSections
Definition: MCAsmInfo.h:304
const char * ZeroDirective
Definition: MCAsmInfo.h:162
bool HasDotTypeDotSizeDirective
Definition: MCAsmInfo.h:251
bool AlignmentIsInBytes
Definition: MCAsmInfo.h:219
const char * PrivateGlobalPrefix
Definition: MCAsmInfo.h:125
bool HasNoDeadStrip
Definition: MCAsmInfo.h:263
bool HasAggressiveSymbolFolding
Definition: MCAsmInfo.h:239
MCSymbolAttr HiddenVisibilityAttr
Definition: MCAsmInfo.h:279
const char * InlineAsmStart
Definition: MCAsmInfo.h:134
bool COMMDirectiveAlignmentIsInBytes
Definition: MCAsmInfo.h:243
const char * WeakRefDirective
Definition: MCAsmInfo.h:267
const char * WeakDefDirective
Definition: MCAsmInfo.h:271
bool LinkerRequiresNonEmptyDwarfLines
Definition: MCAsmInfo.h:86
bool HasMachoZeroFillDirective
Definition: MCAsmInfo.h:71
bool HasStaticCtorDtorReferenceInStaticMode
Definition: MCAsmInfo.h:81
const char * InlineAsmEnd
Definition: MCAsmInfo.h:135
bool HasMachoTBSSDirective
Definition: MCAsmInfo.h:75
MCSymbolAttr ProtectedVisibilityAttr
Definition: MCAsmInfo.h:288
MCSymbolAttr HiddenDeclarationVisibilityAttr
Definition: MCAsmInfo.h:283
.private_extern (MachO)
Definition: MCDirectives.h:38
const char * LinkerPrivateGlobalPrefix
Definition: MCAsmInfo.h:130