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