//===- lib/MC/MCAsmStreamer.cpp - Text Assembly Output --------------------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===//#include"llvm/MC/MCStreamer.h"#include"llvm/ADT/OwningPtr.h"#include"llvm/ADT/SmallString.h"#include"llvm/ADT/StringExtras.h"#include"llvm/ADT/Twine.h"#include"llvm/MC/MCAsmBackend.h"#include"llvm/MC/MCAsmInfo.h"#include"llvm/MC/MCCodeEmitter.h"#include"llvm/MC/MCContext.h"#include"llvm/MC/MCExpr.h"#include"llvm/MC/MCFixupKindInfo.h"#include"llvm/MC/MCInst.h"#include"llvm/MC/MCInstPrinter.h"#include"llvm/MC/MCObjectFileInfo.h"#include"llvm/MC/MCRegisterInfo.h"#include"llvm/MC/MCSectionCOFF.h"#include"llvm/MC/MCSectionMachO.h"#include"llvm/MC/MCSymbol.h"#include"llvm/Support/ErrorHandling.h"#include"llvm/Support/Format.h"#include"llvm/Support/FormattedStream.h"#include"llvm/Support/MathExtras.h"#include"llvm/Support/PathV2.h"#include<cctype>usingnamespacellvm;namespace{classMCAsmStreamer:publicMCStreamer{protected:formatted_raw_ostream&OS;constMCAsmInfo&MAI;private:OwningPtr<MCInstPrinter>InstPrinter;OwningPtr<MCCodeEmitter>Emitter;OwningPtr<MCAsmBackend>AsmBackend;SmallString<128>CommentToEmit;raw_svector_ostreamCommentStream;unsignedIsVerboseAsm:1;unsignedShowInst:1;unsignedUseLoc:1;unsignedUseCFI:1;unsignedUseDwarfDirectory:1;enumEHSymbolFlags{EHGlobal=1,EHWeakDefinition=1<<1,EHPrivateExtern=1