@@ -55,9 +55,9 @@ class MCAsmStreamer final : public MCStreamer {
5555 raw_svector_ostream CommentStream;
5656 raw_null_ostream NullStream;
5757
58- unsigned IsVerboseAsm : 1 ;
59- unsigned ShowInst : 1 ;
60- unsigned UseDwarfDirectory : 1 ;
58+ bool IsVerboseAsm = false ;
59+ bool ShowInst = false ;
60+ bool UseDwarfDirectory = false ;
6161
6262 void EmitRegisterName (int64_t Register);
6363 void PrintQuotedString (StringRef Data, raw_ostream &OS) const ;
@@ -72,24 +72,41 @@ class MCAsmStreamer final : public MCStreamer {
7272
7373public:
7474 MCAsmStreamer (MCContext &Context, std::unique_ptr<formatted_raw_ostream> os,
75- bool isVerboseAsm , bool useDwarfDirectory ,
76- MCInstPrinter *printer, std::unique_ptr<MCCodeEmitter> emitter,
77- std::unique_ptr<MCAsmBackend> asmbackend, bool showInst )
75+ bool , bool , MCInstPrinter *printer ,
76+ std::unique_ptr<MCCodeEmitter> emitter,
77+ std::unique_ptr<MCAsmBackend> asmbackend, bool )
7878 : MCStreamer(Context), OSOwner(std::move(os)), OS(*OSOwner),
7979 MAI (Context.getAsmInfo()), InstPrinter(printer),
8080 Assembler(std::make_unique<MCAssembler>(
8181 Context, std::move(asmbackend), std::move(emitter),
8282 (asmbackend) ? asmbackend->createObjectWriter(NullStream)
8383 : nullptr)),
84- CommentStream(CommentToEmit), IsVerboseAsm(isVerboseAsm),
85- ShowInst(showInst), UseDwarfDirectory(useDwarfDirectory) {
84+ CommentStream(CommentToEmit) {
8685 assert (InstPrinter);
87- if (IsVerboseAsm)
88- InstPrinter->setCommentStream (CommentStream);
8986 if (Assembler->getBackendPtr ())
9087 setAllowAutoPadding (Assembler->getBackend ().allowAutoPadding ());
9188
9289 Context.setUseNamesOnTempLabels (true );
90+
91+ auto *TO = Context.getTargetOptions ();
92+ if (!TO)
93+ return ;
94+ IsVerboseAsm = TO->AsmVerbose ;
95+ if (IsVerboseAsm)
96+ InstPrinter->setCommentStream (CommentStream);
97+ ShowInst = TO->ShowMCInst ;
98+ switch (TO->MCUseDwarfDirectory ) {
99+ case MCTargetOptions::DisableDwarfDirectory:
100+ UseDwarfDirectory = false ;
101+ break ;
102+ case MCTargetOptions::EnableDwarfDirectory:
103+ UseDwarfDirectory = true ;
104+ break ;
105+ case MCTargetOptions::DefaultDwarfDirectory:
106+ UseDwarfDirectory =
107+ Context.getAsmInfo ()->enableDwarfFileDirectoryDefault ();
108+ break ;
109+ }
93110 }
94111
95112 MCAssembler &getAssembler () { return *Assembler; }
0 commit comments