MCAsmInfoDarwin.cpp revision 208599
150472Speter//===-- MCAsmInfoDarwin.cpp - Darwin asm properties -------------*- C++ -*-===//
218666Speter//
397433Speter//                     The LLVM Compiler Infrastructure
497433Speter//
597433Speter// This file is distributed under the University of Illinois Open Source
697433Speter// License. See LICENSE.TXT for details.
796340Sobrien//
897433Speter//===----------------------------------------------------------------------===//
997523Sobrien//
1018666Speter// This file defines target asm properties related what form asm statements
1145337Sobrien// should take in general on Darwin-based targets
1245337Sobrien//
1318666Speter//===----------------------------------------------------------------------===//
1496340Sobrien
1518666Speter#include "llvm/MC/MCAsmInfoDarwin.h"
1618666Speterusing namespace llvm;
1797433Speter
1897433SpeterMCAsmInfoDarwin::MCAsmInfoDarwin() {
1997433Speter  // Common settings for all Darwin targets.
2097433Speter  // Syntax:
2118666Speter  GlobalPrefix = "_";
2297433Speter  PrivateGlobalPrefix = "L";
2397433Speter  LinkerPrivateGlobalPrefix = "l";
2440204Speter  AllowQuotesInName = true;
2597433Speter  HasSingleParameterDotFile = false;
2696340Sobrien  HasSubsectionsViaSymbols = true;
2797433Speter
2896340Sobrien  AlignmentIsInBytes = false;
2996340Sobrien  COMMDirectiveAlignmentIsInBytes = false;
3096340Sobrien  InlineAsmStart = " InlineAsm Start";
3196340Sobrien  InlineAsmEnd = " InlineAsm End";
3296340Sobrien
3318666Speter  // Directives:
3496340Sobrien  WeakDefDirective = "\t.weak_definition ";
3596340Sobrien  WeakRefDirective = "\t.weak_reference ";
3696340Sobrien  ZeroDirective = "\t.space\t";  // ".space N" emits N zeros.
3797433Speter  HasMachoZeroFillDirective = true;  // Uses .zerofill
3897433Speter  HasMachoTBSSDirective = true; // Uses .tbss
3997433Speter  HasStaticCtorDtorReferenceInStaticMode = true;
4097433Speter
4197433Speter  HiddenVisibilityAttr = MCSA_PrivateExtern;
4297433Speter  // Doesn't support protected visibility.
4396340Sobrien  ProtectedVisibilityAttr = MCSA_Global;
4497433Speter
4597523Sobrien  HasDotTypeDotSizeDirective = false;
4618666Speter  HasNoDeadStrip = true;
4797433Speter}
4897433Speter
4997433Speter