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   // MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
     22   // alignment.
     23   COMMDirectiveAlignmentIsInBytes = false;
     24   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
     25   HasDotTypeDotSizeDirective = false;
     26   HasSingleParameterDotFile = false;
     27   WeakRefDirective = "\t.weak\t";
     28   HasLinkOnceDirective = true;
     29 
     30   // Doesn't support visibility:
     31   HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid;
     32   ProtectedVisibilityAttr = MCSA_Invalid;
     33 
     34   // Set up DWARF directives
     35   HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
     36   SupportsDebugInformation = true;
     37   NeedsDwarfSectionOffsetDirective = true;
     38 
     39   UseIntegratedAssembler = true;
     40 }
     41 
     42 void MCAsmInfoMicrosoft::anchor() { }
     43 
     44 MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
     45 }
     46 
     47 void MCAsmInfoGNUCOFF::anchor() { }
     48 
     49 MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
     50 
     51 }
     52