MCAsmInfoDarwin.cpp revision 208599
1168404Spjd//===-- MCAsmInfoDarwin.cpp - Darwin asm properties -------------*- C++ -*-===//
2168404Spjd//
3168404Spjd//                     The LLVM Compiler Infrastructure
4168404Spjd//
5168404Spjd// This file is distributed under the University of Illinois Open Source
6168404Spjd// License. See LICENSE.TXT for details.
7168404Spjd//
8168404Spjd//===----------------------------------------------------------------------===//
9168404Spjd//
10168404Spjd// This file defines target asm properties related what form asm statements
11168404Spjd// should take in general on Darwin-based targets
12168404Spjd//
13168404Spjd//===----------------------------------------------------------------------===//
14168404Spjd
15168404Spjd#include "llvm/MC/MCAsmInfoDarwin.h"
16168404Spjdusing namespace llvm;
17168404Spjd
18168404SpjdMCAsmInfoDarwin::MCAsmInfoDarwin() {
19168404Spjd  // Common settings for all Darwin targets.
20168404Spjd  // Syntax:
21168404Spjd  GlobalPrefix = "_";
22219089Spjd  PrivateGlobalPrefix = "L";
23268651Sdelphij  LinkerPrivateGlobalPrefix = "l";
24168404Spjd  AllowQuotesInName = true;
25168404Spjd  HasSingleParameterDotFile = false;
26168404Spjd  HasSubsectionsViaSymbols = true;
27168404Spjd
28168404Spjd  AlignmentIsInBytes = false;
29168404Spjd  COMMDirectiveAlignmentIsInBytes = false;
30168404Spjd  InlineAsmStart = " InlineAsm Start";
31168404Spjd  InlineAsmEnd = " InlineAsm End";
32168404Spjd
33168404Spjd  // Directives:
34168404Spjd  WeakDefDirective = "\t.weak_definition ";
35168404Spjd  WeakRefDirective = "\t.weak_reference ";
36219089Spjd  ZeroDirective = "\t.space\t";  // ".space N" emits N zeros.
37219089Spjd  HasMachoZeroFillDirective = true;  // Uses .zerofill
38208047Smm  HasMachoTBSSDirective = true; // Uses .tbss
39263397Sdelphij  HasStaticCtorDtorReferenceInStaticMode = true;
40168404Spjd
41219089Spjd  HiddenVisibilityAttr = MCSA_PrivateExtern;
42168404Spjd  // Doesn't support protected visibility.
43219089Spjd  ProtectedVisibilityAttr = MCSA_Global;
44208047Smm
45208047Smm  HasDotTypeDotSizeDirective = false;
46208047Smm  HasNoDeadStrip = true;
47208047Smm}
48208047Smm
49208047Smm