mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
3c0d3eb4a9
Accepting quotes is a property of an assembler, not of an object file. For example, ELF can support any names for sections and symbols, but the gnu assembler only accepts quotes in some contexts and llvm-mc in a few more. LLVM should not produce different symbols based on a guess about which assembler will be reading the code it is printing. llvm-svn: 194575
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
//===-- MCAsmInfoCOFF.cpp - COFF asm properties -----------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines target asm properties related what form asm statements
|
|
// should take in general on COFF-based targets
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/MC/MCAsmInfoCOFF.h"
|
|
using namespace llvm;
|
|
|
|
void MCAsmInfoCOFF::anchor() { }
|
|
|
|
MCAsmInfoCOFF::MCAsmInfoCOFF() {
|
|
GlobalPrefix = "_";
|
|
// MingW 4.5 and later support .comm with log2 alignment, but .lcomm uses byte
|
|
// alignment.
|
|
COMMDirectiveAlignmentIsInBytes = false;
|
|
LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
|
|
HasDotTypeDotSizeDirective = false;
|
|
HasSingleParameterDotFile = false;
|
|
PrivateGlobalPrefix = "L"; // Prefix for private global symbols
|
|
WeakRefDirective = "\t.weak\t";
|
|
LinkOnceDirective = "\t.linkonce discard\n";
|
|
|
|
// Doesn't support visibility:
|
|
HiddenVisibilityAttr = HiddenDeclarationVisibilityAttr = MCSA_Invalid;
|
|
ProtectedVisibilityAttr = MCSA_Invalid;
|
|
|
|
// Set up DWARF directives
|
|
HasLEB128 = true; // Target asm supports leb128 directives (little-endian)
|
|
SupportsDebugInformation = true;
|
|
HasMicrosoftFastStdCallMangling = true;
|
|
NeedsDwarfSectionOffsetDirective = true;
|
|
}
|
|
|
|
void MCAsmInfoMicrosoft::anchor() { }
|
|
|
|
MCAsmInfoMicrosoft::MCAsmInfoMicrosoft() {
|
|
}
|
|
|
|
void MCAsmInfoGNUCOFF::anchor() { }
|
|
|
|
MCAsmInfoGNUCOFF::MCAsmInfoGNUCOFF() {
|
|
|
|
}
|