[llvm-commits] [llvm] r74076 - in /llvm/trunk: lib/MC/MCAsmStreamer.cpp unittests/MC/AsmStreamerTest.cpp

Daniel Dunbar daniel at zuster.org
Wed Jun 24 09:05:41 PDT 2009


Author: ddunbar
Date: Wed Jun 24 11:05:35 2009
New Revision: 74076

URL: http://llvm.org/viewvc/llvm-project?rev=74076&view=rev
Log:
MCStreamer: Test printing values.

Modified:
    llvm/trunk/lib/MC/MCAsmStreamer.cpp
    llvm/trunk/unittests/MC/AsmStreamerTest.cpp

Modified: llvm/trunk/lib/MC/MCAsmStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmStreamer.cpp?rev=74076&r1=74075&r2=74076&view=diff

==============================================================================
--- llvm/trunk/lib/MC/MCAsmStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCAsmStreamer.cpp Wed Jun 24 11:05:35 2009
@@ -121,7 +121,7 @@
   default:
     assert(0 && "Invalid size for machine code value!");
   case 1: OS << ".byte"; break;
-  case 2: OS << ".hword"; break;
+  case 2: OS << ".short"; break;
   case 4: OS << ".long"; break;
   case 8: OS << ".quad"; break;
   }

Modified: llvm/trunk/unittests/MC/AsmStreamerTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/MC/AsmStreamerTest.cpp?rev=74076&r1=74075&r2=74076&view=diff

==============================================================================
--- llvm/trunk/unittests/MC/AsmStreamerTest.cpp (original)
+++ llvm/trunk/unittests/MC/AsmStreamerTest.cpp Wed Jun 24 11:05:35 2009
@@ -10,6 +10,7 @@
 #include "gtest/gtest.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCStreamer.h"
+#include "llvm/MC/MCValue.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
@@ -49,4 +50,28 @@
   EXPECT_EQ(S.getString(), ".section foo\n");
 }
 
+TEST(AsmStreamer, Values) {
+  StringAsmStreamer S;
+  MCSection *Sec0 = S.getContext().GetSection("foo");
+  MCSymbol *A = S.getContext().CreateSymbol(S.getContext().CreateAtom(Sec0),
+                                         "a");
+  MCSymbol *B = S.getContext().CreateSymbol(S.getContext().CreateAtom(Sec0),
+                                            "b");
+  S.getStreamer().SwitchSection(Sec0);
+  S.getStreamer().EmitLabel(A);
+  S.getStreamer().EmitLabel(B);
+  S.getStreamer().EmitValue(MCValue::get(A, B, 10), 1);
+  S.getStreamer().EmitValue(MCValue::get(A, B, 10), 2);
+  S.getStreamer().EmitValue(MCValue::get(A, B, 10), 4);
+  S.getStreamer().EmitValue(MCValue::get(A, B, 10), 8);
+  EXPECT_EQ(S.getString(), ".section foo\n\
+a:\n\
+b:\n\
+.byte a - b + 10\n\
+.short a - b + 10\n\
+.long a - b + 10\n\
+.quad a - b + 10\n\
+");
+}
+
 }





More information about the llvm-commits mailing list