xref: /freebsd/contrib/llvm-project/llvm/lib/MC/MCAsmInfoXCOFF.cpp (revision 8bcb0991864975618c09697b1aca10683346d9f0)
10b57cec5SDimitry Andric //===- MC/MCAsmInfoXCOFF.cpp - XCOFF asm properties ------------ *- C++ -*-===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #include "llvm/MC/MCAsmInfoXCOFF.h"
100b57cec5SDimitry Andric 
110b57cec5SDimitry Andric using namespace llvm;
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric void MCAsmInfoXCOFF::anchor() {}
140b57cec5SDimitry Andric 
150b57cec5SDimitry Andric MCAsmInfoXCOFF::MCAsmInfoXCOFF() {
160b57cec5SDimitry Andric   IsLittleEndian = false;
170b57cec5SDimitry Andric   HasDotTypeDotSizeDirective = false;
18*8bcb0991SDimitry Andric   COMMDirectiveAlignmentIsInBytes = false;
19*8bcb0991SDimitry Andric   LCOMMDirectiveAlignmentType = LCOMM::Log2Alignment;
20*8bcb0991SDimitry Andric   UseDotAlignForAlignment = true;
21*8bcb0991SDimitry Andric   AsciiDirective = nullptr; // not supported
22*8bcb0991SDimitry Andric   AscizDirective = nullptr; // not supported
23*8bcb0991SDimitry Andric   NeedsFunctionDescriptors = true;
24*8bcb0991SDimitry Andric   HasDotLGloblDirective = true;
25*8bcb0991SDimitry Andric   Data64bitsDirective = "\t.llong\t";
26*8bcb0991SDimitry Andric   SupportsQuotedNames = false;
27*8bcb0991SDimitry Andric }
28*8bcb0991SDimitry Andric 
29*8bcb0991SDimitry Andric bool MCAsmInfoXCOFF::isValidUnquotedName(StringRef Name) const {
30*8bcb0991SDimitry Andric   // FIXME: Remove this function when we stop using "TOC[TC0]" as a symbol name.
31*8bcb0991SDimitry Andric   if (Name.equals("TOC[TC0]"))
32*8bcb0991SDimitry Andric     return true;
33*8bcb0991SDimitry Andric 
34*8bcb0991SDimitry Andric   return MCAsmInfo::isValidUnquotedName(Name);
350b57cec5SDimitry Andric }
36