[llvm] r174298 - PPCDarwinAsmPrinter::EmitStartOfAsmFile(): Add checking range in CPUDirectives[].

NAKAMURA Takumi geek4civic at gmail.com
Sun Feb 3 16:47:38 PST 2013


Author: chapuni
Date: Sun Feb  3 18:47:38 2013
New Revision: 174298

URL: http://llvm.org/viewvc/llvm-project?rev=174298&view=rev
Log:
PPCDarwinAsmPrinter::EmitStartOfAsmFile(): Add checking range in CPUDirectives[].

Modified:
    llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp

Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=174298&r1=174297&r2=174298&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Sun Feb  3 18:47:38 2013
@@ -841,8 +841,11 @@ void PPCDarwinAsmPrinter::EmitStartOfAsm
   assert(Directive <= PPC::DIR_64 && "Directive out of range.");
   
   // FIXME: This is a total hack, finish mc'izing the PPC backend.
-  if (OutStreamer.hasRawTextSupport())
+  if (OutStreamer.hasRawTextSupport()) {
+    assert(Directive < sizeof(CPUDirectives) / sizeof(*CPUDirectives) &&
+           "CPUDirectives[] might not be up-to-date!");
     OutStreamer.EmitRawText("\t.machine " + Twine(CPUDirectives[Directive]));
+  }
 
   // Prime text sections so they are adjacent.  This reduces the likelihood a
   // large data or debug section causes a branch to exceed 16M limit.





More information about the llvm-commits mailing list