1198090Srdivacky//===-- MCAsmInfoCOFF.cpp - COFF asm properties -----------------*- C++ -*-===// 2198090Srdivacky// 3198090Srdivacky// The LLVM Compiler Infrastructure 4198090Srdivacky// 5198090Srdivacky// This file is distributed under the University of Illinois Open Source 6198090Srdivacky// License. See LICENSE.TXT for details. 7198090Srdivacky// 8198090Srdivacky//===----------------------------------------------------------------------===// 9198090Srdivacky// 10198090Srdivacky// This file defines target asm properties related what form asm statements 11198090Srdivacky// should take in general on COFF-based targets 12198090Srdivacky// 13198090Srdivacky//===----------------------------------------------------------------------===// 14198090Srdivacky 15198090Srdivacky#include "llvm/MC/MCAsmInfoCOFF.h" 16198090Srdivackyusing namespace llvm; 17198090Srdivacky 18234353Sdimvoid MCAsmInfoCOFF::anchor() { } 19234353Sdim 20198090SrdivackyMCAsmInfoCOFF::MCAsmInfoCOFF() { 21198090Srdivacky GlobalPrefix = "_"; 22243830Sdim // MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte 23243830Sdim // alignment. 24203954Srdivacky COMMDirectiveAlignmentIsInBytes = false; 25243830Sdim LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment; 26198090Srdivacky HasDotTypeDotSizeDirective = false; 27198090Srdivacky HasSingleParameterDotFile = false; 28198090Srdivacky PrivateGlobalPrefix = "L"; // Prefix for private global symbols 29198090Srdivacky WeakRefDirective = "\t.weak\t"; 30266715Sdim HasLinkOnceDirective = true; 31239462Sdim 32202878Srdivacky // Doesn't support visibility: 33226633Sdim HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid; 34226633Sdim ProtectedVisibilityAttr = MCSA_Invalid; 35198090Srdivacky 36198090Srdivacky // Set up DWARF directives 37198090Srdivacky HasLEB128 = true; // Target asm supports leb128 directives (little-endian) 38198090Srdivacky SupportsDebugInformation = true; 39205218Srdivacky HasMicrosoftFastStdCallMangling = true; 40251662Sdim NeedsDwarfSectionOffsetDirective = true; 41198090Srdivacky} 42234353Sdim 43234353Sdimvoid MCAsmInfoMicrosoft::anchor() { } 44234353Sdim 45234353SdimMCAsmInfoMicrosoft::MCAsmInfoMicrosoft() { 46234353Sdim} 47234353Sdim 48234353Sdimvoid MCAsmInfoGNUCOFF::anchor() { } 49234353Sdim 50234353SdimMCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() { 51234353Sdim 52234353Sdim} 53