xref: /freebsd/contrib/llvm-project/llvm/lib/MC/MCAsmInfoXCOFF.cpp (revision 480093f4440d54b30b3025afeac24b48f2ba7a2e)
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;
188bcb0991SDimitry Andric   COMMDirectiveAlignmentIsInBytes = false;
198bcb0991SDimitry Andric   LCOMMDirectiveAlignmentType = LCOMM::Log2Alignment;
208bcb0991SDimitry Andric   UseDotAlignForAlignment = true;
218bcb0991SDimitry Andric   AsciiDirective = nullptr; // not supported
228bcb0991SDimitry Andric   AscizDirective = nullptr; // not supported
238bcb0991SDimitry Andric   NeedsFunctionDescriptors = true;
248bcb0991SDimitry Andric   HasDotLGloblDirective = true;
258bcb0991SDimitry Andric   Data64bitsDirective = "\t.llong\t";
268bcb0991SDimitry Andric   SupportsQuotedNames = false;
278bcb0991SDimitry Andric }
288bcb0991SDimitry Andric 
29*480093f4SDimitry Andric bool MCAsmInfoXCOFF::isAcceptableChar(char C) const {
30*480093f4SDimitry Andric   // QualName is allowed for a MCSymbolXCOFF, and
31*480093f4SDimitry Andric   // QualName contains '[' and ']'.
32*480093f4SDimitry Andric   if (C == '[' || C == ']')
338bcb0991SDimitry Andric     return true;
348bcb0991SDimitry Andric 
35*480093f4SDimitry Andric   return MCAsmInfo::isAcceptableChar(C);
360b57cec5SDimitry Andric }
37