MCAsmInfoDarwin.cpp revision 204961
141118Sjdp//===-- MCAsmInfoDarwin.cpp - Darwin asm properties -------------*- C++ -*-===//
241118Sjdp//
341118Sjdp//                     The LLVM Compiler Infrastructure
441118Sjdp//
541118Sjdp// This file is distributed under the University of Illinois Open Source
641118Sjdp// License. See LICENSE.TXT for details.
741118Sjdp//
841118Sjdp//===----------------------------------------------------------------------===//
941118Sjdp//
1041118Sjdp// This file defines target asm properties related what form asm statements
1141118Sjdp// should take in general on Darwin-based targets
1241118Sjdp//
1341118Sjdp//===----------------------------------------------------------------------===//
1441118Sjdp
1541118Sjdp#include "llvm/MC/MCAsmInfoDarwin.h"
1641118Sjdpusing namespace llvm;
1741118Sjdp
1841118SjdpMCAsmInfoDarwin::MCAsmInfoDarwin() {
1941118Sjdp  // Common settings for all Darwin targets.
2041118Sjdp  // Syntax:
2141118Sjdp  GlobalPrefix = "_";
2241118Sjdp  PrivateGlobalPrefix = "L";
2341118Sjdp  LinkerPrivateGlobalPrefix = "l";
2441118Sjdp  AllowQuotesInName = true;
2550476Speter  HasSingleParameterDotFile = false;
2641118Sjdp  HasSubsectionsViaSymbols = true;
2752709Sjdp
2841118Sjdp  AlignmentIsInBytes = false;
2979531Sru  COMMDirectiveAlignmentIsInBytes = false;
3041118Sjdp  InlineAsmStart = " InlineAsm Start";
3141118Sjdp  InlineAsmEnd = " InlineAsm End";
3241118Sjdp
3341118Sjdp  // Directives:
3441118Sjdp  WeakDefDirective = "\t.weak_definition ";
3541118Sjdp  WeakRefDirective = "\t.weak_reference ";
3641118Sjdp  ZeroDirective = "\t.space\t";  // ".space N" emits N zeros.
3741118Sjdp  HasMachoZeroFillDirective = true;  // Uses .zerofill
38131504Sru  HasStaticCtorDtorReferenceInStaticMode = true;
39131504Sru
4041118Sjdp  HiddenVisibilityAttr = MCSA_PrivateExtern;
4141118Sjdp  // Doesn't support protected visibility.
42131504Sru  ProtectedVisibilityAttr = MCSA_Global;
43131504Sru
4441118Sjdp  HasDotTypeDotSizeDirective = false;
4541118Sjdp  HasNoDeadStrip = true;
4641118Sjdp}
47243956Ssem
4852709Sjdp