mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Sketch streamer support for .align, .org functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74109 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -72,4 +72,32 @@ b:\n\
|
||||
");
|
||||
}
|
||||
|
||||
TEST(AsmStreamer, Align) {
|
||||
StringAsmStreamer S;
|
||||
MCSection *Sec0 = S.getContext().GetSection("foo");
|
||||
S.getStreamer().SwitchSection(Sec0);
|
||||
S.getStreamer().EmitValueToAlignment(4);
|
||||
S.getStreamer().EmitValueToAlignment(4, /*Value=*/12, /*ValueSize=*/2);
|
||||
S.getStreamer().EmitValueToAlignment(8, /*Value=*/12, /*ValueSize=*/4,
|
||||
/*MaxBytesToEmit=*/24);
|
||||
EXPECT_EQ(S.getString(), ".section foo\n\
|
||||
.p2align 2, 0\n\
|
||||
.p2alignw 2, 12\n\
|
||||
.p2alignl 3, 12, 24\n\
|
||||
");
|
||||
}
|
||||
|
||||
TEST(AsmStreamer, Org) {
|
||||
StringAsmStreamer S;
|
||||
MCSection *Sec0 = S.getContext().GetSection("foo");
|
||||
S.getStreamer().SwitchSection(Sec0);
|
||||
MCSymbol *A = S.getContext().CreateSymbol("a");
|
||||
S.getStreamer().EmitLabel(A);
|
||||
S.getStreamer().EmitValueToOffset(MCValue::get(A, 0, 4), 32);
|
||||
EXPECT_EQ(S.getString(), ".section foo\n\
|
||||
a:\n\
|
||||
.org a + 4, 32\n\
|
||||
");
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user