Convert MC command line option for fatal assembler warnings into a
authorJoerg Sonnenberger <joerg@bec.de>
Tue, 26 Aug 2014 18:39:50 +0000 (18:39 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Tue, 26 Aug 2014 18:39:50 +0000 (18:39 +0000)
proper flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216471 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCTargetAsmParser.h
include/llvm/MC/MCTargetOptions.h
lib/MC/MCParser/AsmParser.cpp
lib/MC/MCTargetOptions.cpp

index 976ed44fde707a68a3d0fa03e5b08b0af5372ef0..4197389a16e2e3ac5ae2eaf19301b1605f1aadb5 100644 (file)
@@ -114,6 +114,8 @@ public:
   bool isParsingInlineAsm () { return ParsingInlineAsm; }
   void setParsingInlineAsm (bool Value) { ParsingInlineAsm = Value; }
 
+  MCTargetOptions getTargetOptions() const { return MCOptions; }
+
   void setSemaCallback(MCAsmParserSemaCallback *Callback) {
     SemaCallback = Callback;
   }
index eb4348ed3ec28473aac780a3083c6fb8c0be5e77..de79bae8259934a59d78e6ea2ee624e2010dd397 100644 (file)
@@ -24,6 +24,7 @@ public:
 
   bool MCRelaxAll : 1;
   bool MCNoExecStack : 1;
+  bool MCFatalWarnings : 1;
   bool MCSaveTempLabels : 1;
   bool MCUseDwarfDirectory : 1;
   bool ShowMCEncoding : 1;
@@ -38,12 +39,13 @@ inline bool operator==(const MCTargetOptions &LHS, const MCTargetOptions &RHS) {
   return (ARE_EQUAL(SanitizeAddress) &&
           ARE_EQUAL(MCRelaxAll) &&
           ARE_EQUAL(MCNoExecStack) &&
+          ARE_EQUAL(MCFatalWarnings) &&
           ARE_EQUAL(MCSaveTempLabels) &&
           ARE_EQUAL(MCUseDwarfDirectory) &&
           ARE_EQUAL(ShowMCEncoding) &&
           ARE_EQUAL(ShowMCInst) &&
           ARE_EQUAL(AsmVerbose) &&
-         ARE_EQUAL(DwarfVersion));
+          ARE_EQUAL(DwarfVersion));
 #undef ARE_EQUAL
 }
 
index 5e44266e26ebc15242d7a217abc4bf1919ffcd19..bc98967eaa74f87cdf58fb62a9c941249eef7b09 100644 (file)
 #include <vector>
 using namespace llvm;
 
-static cl::opt<bool>
-FatalAssemblerWarnings("fatal-assembler-warnings",
-                       cl::desc("Consider warnings as error"));
-
 MCAsmParserSemaCallback::~MCAsmParserSemaCallback() {}
 
 namespace {
@@ -552,7 +548,7 @@ void AsmParser::Note(SMLoc L, const Twine &Msg, ArrayRef<SMRange> Ranges) {
 }
 
 bool AsmParser::Warning(SMLoc L, const Twine &Msg, ArrayRef<SMRange> Ranges) {
-  if (FatalAssemblerWarnings)
+  if (getTargetParser().getTargetOptions().MCFatalWarnings)
     return Error(L, Msg, Ranges);
   printMessage(L, SourceMgr::DK_Warning, Msg, Ranges);
   printMacroInstantiations();
index efd724a15df62daf9cf9b977cb2ec1ebd29816f0..3093ba2b87e88faec5f2a8b0de5c4620254d9e78 100644 (file)
@@ -13,8 +13,8 @@ namespace llvm {
 
 MCTargetOptions::MCTargetOptions()
     : SanitizeAddress(false), MCRelaxAll(false), MCNoExecStack(false),
-      MCSaveTempLabels(false), MCUseDwarfDirectory(false),
-      ShowMCEncoding(false), ShowMCInst(false), AsmVerbose(false),
-      DwarfVersion(0) {}
+      MCFatalWarnings(false), MCSaveTempLabels(false),
+      MCUseDwarfDirectory(false), ShowMCEncoding(false), ShowMCInst(false),
+      AsmVerbose(false), DwarfVersion(0) {}
 
 } // end namespace llvm