Home | History | Annotate | Download | only in MC
      1 //===-- MCAsmInfoCOFF.cpp - COFF 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 COFF-based targets
     12 //
     13 //===----------------------------------------------------------------------===//
     14 
     15 #include "llvm/MC/MCAsmInfoCOFF.h"
     16 using namespace llvm;
     17 
     18 void MCAsmInfoCOFF::anchor() { }
     19 
     20 MCAsmInfoCOFF::MCAsmInfoCOFF() {
     21   GlobalPrefix = "_";
     22   // MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
     23   // alignment.
     24   COMMDirectiveAlignmentIsInBytes = false;
     25   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
     26   HasDotTypeDotSizeDirective = false;
     27   HasSingleParameterDotFile = false;
     28   PrivateGlobalPrefix = "L";  // Prefix for private global symbols
     29   WeakRefDirective = "\t.weak\t";
     30   LinkOnceDirective = "\t.linkonce discard\n";
     31 
     32   // Doesn't support visibility:
     33   HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid;
     34   ProtectedVisibilityAttr = MCSA_Invalid;
     35 
     36   // Set up DWARF directives
     37   HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
     38   SupportsDebugInformation = true;
     39   HasMicrosoftFastStdCallMangling = true;
     40   NeedsDwarfSectionOffsetDirective = true;
     41 }
     42 
     43 void MCAsmInfoMicrosoft::anchor() { }
     44 
     45 MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
     46   AllowQuotesInName = true;
     47 }
     48 
     49 void MCAsmInfoGNUCOFF::anchor() { }
     50 
     51 MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
     52 
     53 }
     54