LLVM API Documentation

MCAsmInfoCOFF.cpp
Go to the documentation of this file.
00001 //===-- MCAsmInfoCOFF.cpp - COFF asm properties -----------------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file defines target asm properties related what form asm statements
00011 // should take in general on COFF-based targets
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #include "llvm/MC/MCAsmInfoCOFF.h"
00016 using namespace llvm;
00017 
00018 void MCAsmInfoCOFF::anchor() { }
00019 
00020 MCAsmInfoCOFF::MCAsmInfoCOFF() {
00021   // MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
00022   // alignment.
00023   COMMDirectiveAlignmentIsInBytes = false;
00024   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
00025   HasDotTypeDotSizeDirective = false;
00026   HasSingleParameterDotFile = false;
00027   WeakRefDirective = "\t.weak\t";
00028   HasLinkOnceDirective = true;
00029 
00030   // Doesn't support visibility:
00031   HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid;
00032   ProtectedVisibilityAttr = MCSA_Invalid;
00033 
00034   // Set up DWARF directives
00035   HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
00036   SupportsDebugInformation = true;
00037   NeedsDwarfSectionOffsetDirective = true;
00038 
00039   UseIntegratedAssembler = true;
00040 }
00041 
00042 void MCAsmInfoMicrosoft::anchor() { }
00043 
00044 MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
00045 }
00046 
00047 void MCAsmInfoGNUCOFF::anchor() { }
00048 
00049 MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
00050 
00051 }