[llvm-commits] [PATCH]: fix platform dependency in AsmParser

Daniel Dunbar daniel at zuster.org
Mon Jan 14 10:53:30 PST 2013


LGTM

 - Daniel


On Mon, Jan 14, 2013 at 9:43 AM, Eli Bendersky <eliben at google.com> wrote:

> The aim of this patch is to fix the following piece of code in the
> platform-independent AsmParser:
>
> void AsmParser::CheckForValidSection() {
>   if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
>     TokError("expected section directive before assembly directive");
>     Out.SwitchSection(Ctx.getMachOSection(
>                         "__TEXT", "__text",
>                         MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
>                         0, SectionKind::getText()));
>   }
> }
>
> This was added for the "-n" option of llvm-mc.
>
> The proposed fix adds another virtual method to MCStreamer, called
> InitToTextSection. Conceptually, it's similar to the existing
> InitSections which initializes all common sections and switches to
> text. The new method is implemented by each platform streamer in a way
> that it sees fit. So AsmParser can now do this:
>
> void AsmParser::CheckForValidSection() {
>   if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
>     TokError("expected section directive before assembly directive");
>     Out.InitToTextSection();
>   }
> }
>
> Which is much more reasonable.
>
> Please take a look.
>
> P.S.: some streamers like the Asm streamer and Pure streamer still do
> the MachO-specific thing. This should also be fixed, but probably in a
> separate patch.
>
> Eli
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130114/38354206/attachment.html>


More information about the llvm-commits mailing list