LCOV - code coverage report
Current view: top level - lib/MC - MCAsmInfoCOFF.cpp (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 18 21 85.7 %
Date: 2018-07-13 00:08:38 Functions: 2 5 40.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===- MCAsmInfoCOFF.cpp - COFF asm properties ----------------------------===//
       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             : #include "llvm/MC/MCDirectives.h"
      17             : 
      18             : using namespace llvm;
      19             : 
      20           0 : void MCAsmInfoCOFF::anchor() {}
      21             : 
      22        1745 : MCAsmInfoCOFF::MCAsmInfoCOFF() {
      23             :   // MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
      24             :   // alignment.
      25        1745 :   COMMDirectiveAlignmentIsInBytes = false;
      26        1745 :   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
      27        1745 :   HasDotTypeDotSizeDirective = false;
      28        1745 :   HasSingleParameterDotFile = false;
      29        1745 :   WeakRefDirective = "\t.weak\t";
      30        1745 :   HasLinkOnceDirective = true;
      31             : 
      32             :   // Doesn't support visibility:
      33        1745 :   HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid;
      34        1745 :   ProtectedVisibilityAttr = MCSA_Invalid;
      35             : 
      36             :   // Set up DWARF directives
      37        1745 :   SupportsDebugInformation = true;
      38        1745 :   NeedsDwarfSectionOffsetDirective = true;
      39             : 
      40        1745 :   UseIntegratedAssembler = true;
      41             : 
      42             :   // At least MSVC inline-asm does AShr.
      43        1745 :   UseLogicalShr = false;
      44             : 
      45             :   // If this is a COFF target, assume that it supports associative comdats. It's
      46             :   // part of the spec.
      47        1745 :   HasCOFFAssociativeComdats = true;
      48        1745 : }
      49             : 
      50           0 : void MCAsmInfoMicrosoft::anchor() {}
      51             : 
      52             : MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() = default;
      53             : 
      54           0 : void MCAsmInfoGNUCOFF::anchor() {}
      55             : 
      56         316 : MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
      57             :   // If this is a GNU environment (mingw or cygwin), don't use associative
      58             :   // comdats for jump tables, unwind information, and other data associated with
      59             :   // a function.
      60         316 :   HasCOFFAssociativeComdats = false;
      61         316 : }

Generated by: LCOV version 1.13